0 Followers
0 Following
7 Posts

Reflections on Trusting Trust

https://nano.garden/post/3207232

Reflections on Trusting Trust - nano.garden

The linked paper was pointed out to me during a discussion about trusting executables built from source. Perhaps this paper is a well-known document in the hacking community, but I thought it was quite interesting and thought I’d share it. The document described how the author created a bugged C compiler that would compile UNIX code in which the “login” command would insert a backdoor. > The actual bug I planted in the compiler would match code in the UNIX “login” command. The re- placement code would miscompile the login command so that it would accept either the intended encrypted password or a particular known password. Thus if this code were installed in binary and the binary were used to compile the login command, I could log into that system as any user. The author also describes strategies to build such bugged compiler in a way that would be very difficult to detect. The document ends with a moral statement about hacking with a perspective from 1984 which is also an interesting read.

How can I prove that a downloadable executable is built from the published source?

https://nano.garden/post/3205999

How can I prove that a downloadable executable is built from the published source? - nano.garden

I have forked a project’s source code on GitHub. The program takes a private key as an input and that key must never leave the client. If I want to share a pre-built executable as a release it is essential that I can prove beyond reasonable doubt that it is built from the published source. I have learned about how to publish the releases by using a Workflow in the GitHub actions such that GitHub itself will build the project and then repare a release draft with the built files as well as the file hashes… However, I noticed that the release is first drafted, and at that point I have the option to manually swap the executable and the hashes. As far as I can tell, a user will not be able to tell if I swapped a file and its corresponding hashes. Or, is there a way to tell? One potential solution that I have found is that I can pipe the output of the hashing both to a file that is stored and also to the publicly visible logs by using “tee”. This will make it such that someone can look through the logs of the build process and confirm that the hashes match the hashes published in the release. Like this: [https://nano.garden/pictrs/image/9f902e0c-6ac7-4413-b2c7-85e9139558ae.png] I would like to know whether: - There is already some built-in method to confirm that a file is the product of a GitHub workflow - The Github Action logs can easily be tampered by the repo owner, and the hashes in the logs can be swapped, such that my approach is still not good enough evidence - If there is another, perhaps more standard method, to prove that the executable is built from a specific source code.

Canvas for Lemmy is available! Let's create an XNO flag!

https://nano.garden/post/3196840

Canvas for Lemmy is available! Let's create an XNO flag! - nano.garden

Canvas is available for Lemmy! This is similar to reddit’s /r/place. Each user gets to place a pixel on a canvas. The pixels are refreshed every 30 seconds. The website with the canvas is: https://canvas.toast.ooo/ [https://canvas.toast.ooo/] To log-in, you simply provide your instance’s name and your username, and you get a code to log-in. I have made a template for making an XNO flag. You can reach it by clicking here [https://canvas.toast.ooo/#x=951&y=476&scale=10.35&template=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAXgAAAHVCAYAAAD7H%2BCWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm%2B48GgAAIABJREFUeJzt3WmUZXV97%2F%2F3rnNqnrq6uqvnouemmQSRiAIiIihgIqLEgBoTriH5kxuVDESNhChkQpMbFUkuKv5VRK8YpjCIbYPMIDRD09VjdVV1zfN0qs6pOtO%2BDwqzzNPPdl3u%2Bt3Pay2Xjz5899n7tz%2FVVQ%2B%2BJ4K6LihVI0llgY1QirR8ZQSFWMsCpBegOKNlK6ohAkqL4uwYiuLnBkhFUBI%2Fe6oKymWIi1o%2BXYZihZYFSKehKM5OVUEpr89OlaEkXnuUhooV%2Bn2vrIBCgmeeBsTbRgqIgfIbMPuX80titgKIyxCL9z1dgOKkOByoTENBfVcqoVjQZyc5r0Sv58Uzl1pMQ7EK8mu1%2F0BVD5RTetFFZVhMaVkAYlgUrz3N0qGTb%2F6APhugehgW12jZdBbKdfrLHvXC4noxDMQTkG%2FTslXTkF%2Bhz65OcO0VQCqGgvjMUzGI%2Fx74T2q%2BkqXnrZZsDCT4uUpVgnwlS%2B%2BZel7JJ3vXKiZgUTyvFVOwuFKfneS8RkDVMCyu1vJVAwn%2BFWdmZv83c8GbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBiqB2Vt%2BomC4R0QBlcZtk0hWm6QLEGS0bVS5t2ENcBZpKQUld7Qek0lASP3xF5dK6YHW1YKoCSvJqv2QrfxOvC05y31MQN%2BtbDSshzuvrgqN0TKxuXk2xdN3qdu3E71qCfAoox8h3Ll2CWFwLDpCqhJL6nr%2BR5zUijmugqK4VL0csPTV1ZW%2BBs29Ks%2FoU7dHt%2B3GZkz6k%2FxZx%2BOE5tl%2FUIGVHO6CmuUzTem1%2B5yMDbH3POikL0PWzYTa%2FW1sDOro%2FS21LHY3ituED9%2FWy8%2F3tWhjoeXKCjee0itlpNp6zTJ598MFejr9Eu%2FbcFEz3xawRz%2Bue22NOv0ov%2BCMPw7aLtOyxJ6FlMzSJR%2B7oz2DLu7UswNHdsOV8LTu6H%2BpaoWGVlj94f47jf6tWCwP77prgpMu187rvrilOurxFnp3kvBZycN%2BHS%2Bj9LO9CNzOz%2F8u54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAhWxtGRaXIEaxWx8H9Su0PKZgZhGfeNulBmKt%2B%2FYOqhkszMTNcVyKWpqacsp%2Bb7uroZs1ao5JQvA%2FGAbDWu0xeTZqTSVNSWqm7Q90TO9aRrX6MvBZwfLNK6blLLzQ400bxB3%2BAMzfStp2qB97sXpiGK%2Bivo27bxOHolZvlVfFzzTF8srnjODEdWNMek6LT8%2FBo3aduql%2BUP6ut%2FcJKTrFqmqk%2Faip%2BZHKrZu2zKhDYfJge6m5es2zSrZwa6DjZn6TUnO6xoaxGdeLkYcviMijtUzF0fo3yCw5OybYPUpWrbrMdh8njw6te9%2FlYsH7pB%2BC%2Bns7GLfvgPlSy%2B9RMq%2F%2FdI%2FHXi28jz9p1PH3QVOvKxSyo4eiKldFsllcfC%2BEse%2FX90xDfvuynLS5VrTJN0Hf%2BihLDsu1mZP9UA%2BA6tO1ma%2FdDu8%2BSotC7DvR3DSb2vZ0X1Q3QLN4pE78ghse4%2BWBejcFbP1Aq1oRvfH1LVG6g%2BIdWO7e%2Ft%2F%2Fi%2Fy9xd8%2B9vfn%2Fj93%2F%2BItA%2F%2Bik98ZuqHM2fp%2B%2BAPP1hi%2ByXau7a0D14eDf4TjZlZsFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoNKJ%2Fwu5maVVpIrFBFmAwkLU3X1Mivb3DzI7m2FqalrKF4uFNPG8lAWgXKggL%2BaL2YhcGSrEx1coIM8GKBUiOV9arEj0zBfmUkz3atm5ASjF%2Bpkrl5Pdt3Ks5wsLUJHT8%2BXEzzzBtWehUCvn41KhUn1PAcbGJlJqT0xNTqUpJbhvC%2FMV8nktLuhzX5e84POZpaJWZCf1LFCqqIy2fOKerDZ7ouL%2Fe%2FMiURRJO9m3NBfSH39HUZsN%2FMneuZp46BVxn%2FsANK%2BPSFVpwxdmYgZfXtTCQHG%2ByNAr2mef6Y9Ytkm%2Bb1CspVwQoyVYzMCCWBalGA7er2UBZoeg%2B%2BdadnEWSkVo3azlJ7tiiPRd9hNHy1Q3Sd8hEM30xZ%2B5ojFet7Yonfef%2FTRX%2BcADj8hn5vPf2VPxmUfKWr7jYA3HSZuGl8QF5PNa1r%2By4ZeSF3zzeli%2BVcsOvqJnAcaOEC%2Ffou0Gr2rgvHetLn%2Fog%2B%2BT%2Fkw1OTk19cd%2F%2BFH5yX%2Fym68U4uPOSrIPHnkf%2FGRngY1n12phgHiO487SPntcnqZ1S6M8evxgzPItWjZKLf2DpHWblp8dhE3nalmAIw%2FDtou07Nzw0g%2BItadp%2BflR2HGJlgXYd1eJjWdXS9nR%2FfO%2F%2F9EP1G%2Fbpj23ydGh8Y997MMrpDBw1ddfmoiXb2mSwpW1Bdrfpo6G3FQkn9eC9F1E%2F4X%2FBm9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFqgI0FbW%2FlL7xVDbomUzg7DieH32dE%2FMso3aTs3CXLQpPZ5dt2WbtLJtbnyo%2Bncve5e8sPm6rz%2B8oty8Sbr38cxAKq6qi6hZpj27ic6I2hZ9F2l2MmL5Jm3d8FR3mpbNU%2FLsic5V1K%2FQ1t4uzEKqamkDqmLyKCzfrL8vE53QsknLLkxHFHPQtF6bP3YYWsWthkA0fqRcv36ntEi%2FPDNYe%2B0H31RobW2VztyP%2FuPx6nRzW17JAjz9i9dWxDXLpLXgzA6nWXuqvmZ5ujemdauWLxfg1Vvl0fDrWBfc%2FnZYfYqW3X83bBfXpwJ03BOx%2FSJt5e7cCN1DrzV0p98trRFtiR8duPbaP1onzQYmJ8eHb7zx86uV7Mf%2B8HMLdwydVEN1o3ZwigsxO96n3TeAPd%2BO2fbeeinb%2B2yZ9rdJnxuAcgl2XKxlc1Mw3QNrxJW7RLDlXfrLns%2BU2PaelJQd3QfVLdC8Tpsfl0tsvVCbDbTXz%2BV6nv4X6bndcss356%2B44rLm1tbl0uxvPnKwd3%2F6%2FHYpDLC%2BNqb9LO2zP%2FXPyTrq0IMRW87XsoVc4oL3n2jMzALlgjczC5QL3swsUC54M7NAueDNzALlgjczC5QL3swsUC54M7NAueDNzALlgjczC5QL3swsUC54M7NAueDNzALlgjczC1TydcGjHbAwo2XnJ2IO%2F0Rfvzo3queLWZjuqaCqVtqvPT3Zu%2Faf%2FunrfdJsoLOzp07NH%2BvqaqB%2FoESqStvpnhloZP9%2F6HvNFzMRPU%2BKe8k7Kpa%2BhkCUGY7pfU77DxTmITMMi1lt9kxvTM%2FT%2BsVnpyrofVa7b7kJyHfENK3X9prPDFTQ%2FZT4okKpOBWp5%2FUXv3ipbnp6Zra2tkY6r1MjQ3VMPN2rZAGY7moHcVNynIeep%2BXRZEb081ou6HNfl7zg207U98ETR2x8hz778E8itr9Xy86NQLkMx50l3fy4uMCf%2Fdkfb9CGw%2FXX3zSs5hfL6fknn2ysp7pRG37ogXl2vE%2Fb5w6w766Yjedoh3ZuBNrPlEeTG4%2FkfNJ98KWFiI1naVmAwmxE%2B9u07NwwzA5FrD1N%2B627uJBn09nN2nA4vqIkn9fX98G3qvvgb991pHeo8Sx9H3wv%2BpnrfYZEz3xxRj%2BvhRy8qI8G%2F4nGzCxYLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQybdJZgahqkHLzo%2FCZFeC2UPQK67yzE0tzT54r5af7OW6v%2FqHvBaGo4e6a59%2Ffo%2BUP9ZzLGKqIU9VnTZ8YaaSyaNaFmD6WMTB%2B7Xs1BH9ngNM90Lvk1p2MQuZ0aW1wYrJI3oWYGYQep%2FSsguzkB1fWnMtze6rYPKofF4HFwaqv%2Fe9Hy0q2Rde2BPlS3G%2BoaFBWpU81N%2FbTFunthoboO%2B5NFPieS9lSfSuzA7o57Wof%2BRfSl7wk136oR%2FpQF55C1BZB63btOxEJ2x%2FLzSu1vL5Rb708soqLQxtAy%2BXP7mQk%2FKb21eXv%2FPWtqrjjlsvzb7o6p%2FncyX5XYcVO2HDGVo2NwMb3q7PLhahdYeYXYR8Blq3a%2FnJXtiQYNVx%2FlF99vw4FBZiWrdJa5rrF0cyD%2F71W1q04fDTn87Nn3XWb1Qr2V%2B8cnDhzx5YqKJS%2FIPBQipNuSAudAdWngDrTteyr3wfkrwrNc3JzmtCyQv%2BuLP1ffDlEmx9jz77yC6ob9Oy82NLN1%2FNV1brWaC2obZ47rlnS9lisVzesGEN27drP9yqGr%2BXz63cKf9wYn5M%2F%2BypqkT3jcoaPV%2FIQVV9gmeeYHbSfFyGqqaY%2Bjap4KsalmXPPfdsueA7Og4vbt68UcqualtRoq5F%2F02%2FurHMyp16wecm9fteUQ0rd8qjmexOdl4T8t%2FgzcwC5YI3MwuUC97MLFAueDOzQLngzcwC5YI3MwuUC97MLFAueDOzQLngzcwC5YI3MwuUC97MLFAueDOzQLngzcwCFQHl1%2F9fice0XxJR16rFZ%2FtimjeIs4G50ZgGbbse82NQ1QjVTdrs2b6YJv3aU9Od8Rev%2Bc1BJdvb21dXW1udX7myTVoY%2FXe3P7p8vna9%2FsN9pqeKhlXaZ58%2BFrNcW3kLQGYgpmmdli8XYKoXlrVrs2f7YpZt1q99ujemaY2WLWRhZmiO1s2zSry%2BMF73uavOF5fJQ0fHgfoTT9wp7QX%2F2RPP1z%2FWlVokVaktOJ8bXktze4KeGNbPzGhHTNsJ%2BuyZvli%2B9nIB9t8eE8fq%2FDiNXO4AcUT7mfq64Fe%2BE3HiB%2FXxnbsitl6gZUc7oKYJmjaIs38asfVCLQuUX%2FoWn%2FvcteuU7O7dT2Q3bFjToq4LvvOJY70djeeLLcfSl6y0n6Vl9%2F04YudvyqM5eH%2FE8WK%2BkIOex2Hbe7V8x93Jrv3APbDzA9r7NjcMQ%2Fvq2fZu6QsUqoYeHVDPG8Ctt94%2BfM01V0n5curW%2BceqW5bJ64L331Nm52%2FqPdX7dCSf1%2FEjETsukUdz6KGIHRdr2UIOOr6VoJ%2BJ%2FCcaM7NAueDNzALlgjczC5QL3swsUC54M7NAueDNzALlgjczC5QL3swsUC54M7NAueDNzALlgjczC5QL3swsUC54M7NAueDNzAKVTvxfGDsAxUUtm52CgT367JnemL7ntXWa2QmYPgbLNmqzp7qhVNKyQLwwF9Wc8zejUnbmWPWfXLhhsq1tpbRfe3VqquEtq%2FdJswG%2B81JnG5F4dBZm4OCD6miY7o859KD2zEtFmBuA3udiKZ8ZhEMPSVEAZofL9D2n7WRfmEmfuWKysGP1vgUlfnhypPbmm78mP%2FO%2F%2Fe6T1X%2F6g14pX%2Bh8rInW7TEVVdrw7HjE4EtaFmCkA3LSGv2lPfz9L%2Bizp7piXr5DO6%2Bxdkx%2FVfKCX7lT3wc%2F%2FAqsO12fnZuM2PBWLTs3Aqkq2PpuLb%2F%2FbthxkZYFeGmExdWntynRqKI2e%2FXVlzWr%2B%2BDhq73XXfdJeR%2F8d37xWeT7Hpeg%2Fe3qaDj0gL6fu5CD7kdj2s%2FUXrjMQJkdF%2Bu%2F9e7%2F9xwbzpT2uTM3zHV%2FuLb6A5deIn1DzQ03%2FP3Addf9ibwP%2Fov3HBteXH36ainc%2F0qBLe%2BK5H3wB%2B6BtW%2FWsgDFnP79BaP7Yf0Z%2Buz5kYgd79OyhRx03aXPxn%2BiMTMLlgvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLVPJtkoMvL63eVcxPwqt36rMX56HnKS27MAWzA9BTo%2BUzQ%2FrsX85%2F9c6ClM2NV%2F3RtQfmW1eukNYFjwz0L2tpaZmRZgOMdjRTLmvZsQPIWYDZ%2Fpjux7VtkMUcjB6KWJjV9rBO90Xs%2FYG8wzWaH62u6HlCuu%2FxwlTlT37SHI%2BPTUrP%2FKnnX226%2FPf%2BXH7mub6XW5kY0M7rbG%2BKnqcgXa0Nnx2O6XlKe%2BYA4wehLD62Ui7Zez47oF97SVzD%2FiuSF%2Fza0%2FR1wZOH4U1X6rOP7IKNZ2vZ0Q5Yeyo0bdDy2VF9Niytzd10bqUU7XqUx1JnpJnXNs%2BuLezu%2FYM%2F%2BJi8Lri7u2fi7%2F7u%2BlYl%2B%2BbzPpZ7ecXZtepschOw6VwxOwUNq2HNqdoL13F3zImXyUWzove%2BxdHnv9SsZHfteoy1a9eUTzzxeOm37m8%2F%2BPLAj%2BfPldcFs5qYTedqn%2F3ZW5beFXVd8OJ0lOhdq4j0dcFDe5O957lx%2FdoLOXj5K%2Fps%2FCcaM7NgueDNzALlgjczC5QL3swsUC54M7NAueDNzALlgjczC5QL3swsUC54M7NAueDNzALlgjczC5QL3swsUC54M7NAueDNzAKVBmJAXIEaxYzsg%2Bykli%2BXY7p%2Bru95nu2POfqYlp%2FuhtrlUN2pzZ4b1WcDTPfGlEtafrIzZnFugsq6WSWeKw42fvWrt3VJs4HOzqPL1Px8ZnoFU7ukneYAzI3WcuSn2nLvQi6ikEkxL35%2FQWY45uhjJS0M83Pjlep96%2BnprauurmbNmlVZJT88ONBE6TH5mTN1bBMl8bHlpmJ6no7kffBzYzGdP0vQEwMxhbyWjxdjOn%2Bqz54bjencJfZjEaIoJo7V%2BXEaudwB4ohVJ%2Bn74LOjEZvfqY8%2FUojYcp6WPVYJLRuhab2Wnx%2FWZwN0Px7Je80jItadsYLqxhVKvHZsd%2B8nP3n1Zm04DA%2BPTKj55%2FZ2TR%2BeOWuZOpsD9%2Fey7UJtl31uCqb7Ytacop35zFDMlvPk71Co751dUO9b0n3wP3z04EB35XnyM6f7cX0Pf%2F9zERvPSrAPfipi67u1LEDv05G8Dz43EbH1Qn32gfsitl6gZQs52PuvCfqZyH%2BiMTMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlLwZ7z%2FNj8J0r5bNzy%2F9T1XMwfyYll2cgkwNlMtavlTQZwOU8vpnLy5CISvviivmFyu7u49ps4Fsdj41NTUtZfP5fEWiZ14uVMr5QhZKuQRnrhglufZyqVSh3rdMZo7%2B%2FkHq6mq1%2FPR0FZXiewqwmEn2ruazyItry%2BWEPbGo58vFZLOTXHtxQZ%2F7uuQFvzALCzNatiINT%2F%2BzPru%2BDWb6tOzYEUjVQUrcUZ3PwOyAlgXoew4mj2rZ7BQUFhZJ10gLusemu2u3%2FO4d8qk9sXAgtfYb35XyxcxoxV%2B%2BaUCefWvHcE2m%2BwktX1qMmOlJMT8uxdMLk%2BWL656Rf%2BudbJwpfUO8bwcPHqn4%2F1%2BtiKhr0%2FbR940tZ4P4ngJkBqDnCS1bKMIL%2F1OfnV%2BA0f16vrCgX3spB%2BMHE8wuxMwcE3fRa1978KuSF3zrVlh9spbNTcKpH9Nnd%2B6CtW%2FWspOHYeUOfR%2F86D5Yc6qWBRjpgFM%2FomW7HoV1Z1RT3Sj9dIoP3NfL6lO0nerA8Q2zE9dd98lWJfud79w5%2FfGPXynvg7%2Fzqb6JTOv52rUXctD9WIbtFzcq8cr%2BhpH7fvDlVdJs4F%2F%2B5daxT3%2F6GunA7dr1GN8eOFSmaZ32A2bsQIHVJ6ekLCy9q%2Bo%2B%2BMVZ2HGJvg%2F%2BwD2w8wNaFqD3aeR98L3PQPvb9dkH7o3YeamWLeTgvsf02fhv8GZmwXLBm5kFygVvZhYoF7yZWaBc8GZmgXLBm5kFygVvZhYoF7yZWaBc8GZmgXLBm5kFygVvZhYoF7yZWaBc8GZmgYqAZDspN38AGtdq2akeWLFNnz1%2BJGb5Zm0V57EnYdkmqKrTZs%2BNxaw6QVxwzdI2ybYTtHs%2Ffgia182QqluU8lNd1bRs1rLAitzB2pNPOiGnZEf6j9VdfeVFWXX2P33np9UTleula49L%2BVRx8lhV5cpt0rWnZ7pr%2F%2Bj9b5ayAD97rqOmecVaacn32OhYdUffDHH1Mu25zQ6upH65fl4X5yLqV2jZiUPQuG5pPbiikItZsV2%2F9smjsHzL%2F%2FkswNjhmKo6cV1wCbru0Wfz61gXvPZ0WH2Klu15Ejaeo88ulyK2XqBlJw7Btgv0dcEH7o3Y%2FC4tC5CdhC3naw8%2BimLWnbGMamnrLRx6sJdtF8jrgsf3zUw8VnG%2BtDY3xVPTn%2FrU1fLK3Uxmtvfzn%2F9z6doHBoZ49dXXMhdffKE0%2F%2FOf%2F9uRm276K%2FnaV7zj2v6JindpB65hGNYOlVl3mvZb9947y5xypV6S3Y%2Fr64KfvQVO%2FnCSdcHJ3rXpHuR8uibZuuBCNmLH%2B8RsLnHB%2B080ZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXq17AP%2FoP6Pvix%2FTErE%2BxUn%2B6JWbZRy%2BfnYOg5OO58bfZkZ8yyTfq1T3XFtIi77CePQu2yaVLV2m7y7Egty7bIe80Z319PU%2Fu8Ek1lx%2Br%2F%2FMq3SVmAzs6jNVu3bpF2qmcymdT09Gz1hg3rpH30Bw4crNu583h5l%2F0t%2F%2F5i7Xzteu2%2BF%2BaryQxFNKyWPjtzw6tZcbx%2BXicOx9S3afnhvbD%2BLZCq0mfXJNhlPzcKjWu0bHYCapvl0WSnYupatGsvl6D7Dd8Hf5q%2BD36mJ2KbuM8doHOXvg9%2BbgSG98G2C7X8gWzEjou0LEDH3Xq%2B61Fe3we%2FTMoferCXHRfJ%2B%2BApzE9w0oe0N6b3qel%2F%2BIe%2FFt82uOmmL%2F869sFL81%2FfBy9f%2BzefubZ%2FfpW4D35uGGaGyqw7rUXK7%2F1%2BnOhdS1dF8j74qW7Ycn6CffCFiJ2%2FpWUBXvsRnPzbWrb3mWT74A89kGwffMKC959ozMwC5YI3MwuUC97MLFAueDOzQLngzcwC5YI3MwuUC97MLFAueDOzQLngzcwC5YI3MwuUC97MLFAueDOzQLngzcwClXyb5GgHLM5p2dwMHLhfnz3dtbRxTVGYh8IsTHZr%2BcWMngXIz%2Bv57ARMHStTXa%2Btel6crWequ6QNh2hxtjpW8%2FOjlS%2B88JI8e3R0vF7Nj42Ns3%2F%2FofTKlSvUfE2Say%2FOTtVRpd63iYjcWKw%2Btyifq4iTnNfsuH5e4yJM90K6Vsvn38B3bW402eyFOT1fyutzX5e84BvWwIqtWnZ4L7Sfqc8ul%2FR8doLqwafK56Z%2FLv0Wc6TUvXjO%2BuXV2nB4eWwwd%2BlZGenEHz5cWbjggnWVW7dulmbfcUd3%2BaMffXNKCgO33fZafPXVWv7ee0fIZrPy7Lm5uZKaz2az5HILsZ5fKCe59t85c3n5iiu0%2B%2FaLX%2Bxh%2BfKt8dat2ncQfPazD2Ya0z9vVLIA%2B2aOFE%2FaMCv1xasV86Vix7%2Bl0mnt1k1P5wrrywcqpTDQNTQTx9kxbSd7ZjimqlbfRT%2FbC5PahmdKRXnsLyUv%2BLrlUN%2BmZVMpPQtQVafn45jW1tU88sjdUvwrX%2Fm38U996o%2FWacPh%2ButvmvniF%2F9KKvjdu58obNiwpnL79m3S7Oeffyl37rlnS1mARx55LK%2Fme3p6C0lmP%2FnkcwtqfmBgiLq6upKa37XrcflzA7z88l752vP5AmvXrolPPFH70o4LLnjn7Be%2B8Fm54G%2B99fbxa665arWSveWWby5cccVl9a2ty6XZN974paHrr%2F8L%2BfsLKs78TJkNZ2k%2FXV67C7a%2BRx0NpYKeL%2BTgtf%2Bpz8Z%2FgzczC5YL3swsUC54M7NAueDNzALlgjczC5QL3swsUC54M7NAueDNzALlgjczC5QL3swsUC54M7NAueDNzALlgjczC1QEaDvFl%2BIxWy6PqG%2FV4lOdMcs2J1jFORjTtFbL58aJSMfULhNn90HTBi0LMNMDzRu1bG4KinloXCXOHuDMM087poXh2OH9TcdtP2FWyU4NdDX96ccvlLIAzz33Yv2ZZ75lXsnOzGRS%2Ff39tSeeuFP6AoMnnnim8R3veHtGyQL86w8era9Z2S5d%2B8TYcG2amOaVa6QvQDjcsa81vbxdftfH%2B7sao2Xrykq2NH60gsb1kKrShs%2F0QXOCd224I47XnipdO2P7K2jbqXfUdD8sW6%2FlS0XYd1tMHMvzE64LjiPWnAKrT9Hir3wvYscl%2BvjOXRFbL9Cyox3ENU2RXNL77ybRtb%2FyfT0%2FdhDmhmHTO7X8gft4tnzGRi0MpBcmBsV8qrA4%2FQd%2F8Lvy7JGR0V41PzAwxKuvvpa5%2BOILVyj5Y8f6RpJc%2B2e%2F93L%2FhHrfq4dhZqhM%2BTTtt%2B70xByrzpfXBZNNwaZ3igvdb4etF0BVgzb7wD3J3rXxw7DtQq3rpntjtr5HL%2FhDDyVdF6zPxn%2BiMTMLlgvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQCdcFA8eeXlpfq8iMQffj%2BuzJrpijj2rrNGf7oFyEKnGD6txQzGs%2F0ld5Zkbg2a9r2XIe4gjmRrX8%2FFjM0UcntDC0ze%2BrPj1VGFeyA6nemltv%2FZaUBfjXHz%2FTfNP9fybly8V8BVNHKytWPiLlq2Y669au1a99S2qw8TdSj0r5kexI1UvjMSxM5aXhUz2tid618SMsfX2EIDu51BPpGi2fGYnpflx%2F10oLcHS3tgt%2FfjRKdN9mevVrL2mP%2BlclL%2FjjztL3wb%2F4Ddh0rj67lI%2FY8i4tO9oBNU36l3Z0%2FjRi64VaFmDP7XD6VVp27ODSw1fv%2B4H7Ira8S9qJDvCOhqqJu779j1L%2BO9%2B5c%2FrjH79Snv0PP36td7H1ne1SuJCDUjHDce%2BU5lf0RyPXXPPfxG9ZgXx%2Bsf%2FTn75mvZLdtesxLvzwSgkQAAAYd0lEQVTyoTJN67Tfusv5MpvOTbBbPNbf1cmjSz2h7oNfmIwS9cTgS7DlfO2zD%2B%2BLE923%2FLx%2B7YUcvPI1eTT4TzRmZsFywZuZBcoFb2YWKBe8mVmgXPBmZoFywZuZBcoFb2YWKBe8mVmgXPBmZoFywZuZBcoFb2YWKBe8mVmgXPBmZoFKvk1y%2FCCUilp2MQtDr%2BqzJ7vg8E%2B07NwINLQtrSxWzPTDwEtaFiA3A3t%2FqGUXZqC2Wb7v0fxYXDH88ow2HAaq%2ByrvvffBaSW7%2B7GnUi929EtZgOn%2Bww1MLGj5QjFitifFYe3aCzPHav%2Fkupvla%2B%2FvPly%2FcaM2%2B6WX9lZWjAzEUXZUeuil2YFmDj2sRJdMdsLskJbNDMDR3ZCq0vJzEzFDryZbFzzwsrYuuJCJOPigPJrsqH7tpUV97uuSF%2FyK4%2FW1tVNdsOZN%2Buz5Udh6gZadG4Hh12Ddm7X8TI%2BeBRjZC6f8jpYdO7hU8uL8ODsSFZ%2F862XacPjc526cuPTSS1qV7I8eeHL6lu6d8myqjvSy%2FRJtXXBuCmY2ZVh9ijS%2F2PHvI7d075TXBZ%2BRH%2Bq%2F9NJLpHXB9fV17P3wmvKJJx4v%2Fda95sz%2FNje84SJxXy9L39ugrr3dcztsOV9fF3z4oShRT3Q9CutO00q261E4%2FhJ99qEH9Gsv5PS5r%2FOfaMzMAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLVASUX%2F9%2FJR5z3PugfoWWn%2B6LWbZB3%2FOcGYppXKPlC1mi7FRM8zpt9swAchZgqhtaNmnZ3BSUStCwQsvPDfOFT5y3oIXh1Vf3Vb7pTScVlOyux1%2Bonkqv1XZzA2MDPSxfszGvZIv5XDQ9OZJesXqjdO3j%2FUerVrVvUaIAVGWHoksveIu05Ht8fCKVzeai9vb10j74b93zdOUYbdLnBsiN9dXQtEYLTxyFZe2QqtTys4PQtFbLAkwcJm49XuuJqa6Yls1vTEeVi3DouzFxrM6P08jlDhBHbHirvg9%2B310RJ3xAH9%2B5K0qyD%2F60yXviPc%2FfLv0W85Wv%2FNvApz71R3LDX3%2F9TcM33vj51Up29%2B4nshs2rKnbvn2bNPtv%2FuYf5q6%2F%2Fi%2Fk3eCf%2F%2Fzfxtdf%2FxfSdwmsW%2Fe9%2BKqrPib%2F5njjjV%2BKr7%2F%2BL2qV7Oxshm9963vxtddeI13717%2F%2BzfiP%2F%2FgT8vvyxS%2F%2Bo3ztR44c5cCBw%2FzWb10ktWRTU1P%2BU5%2F6Q2k2wK233j58zTVXSef1llu%2BOX%2FFFZfVt7Yul2bfeOOXeq%2B%2F%2Fi%2B07wAAord%2BBtrP0sJ7%2F1fECe9XRy%2Ftg9%2FxPi1byMHB7yToZyL%2FicbMLFAueDOzQLngzcwC5YI3MwuUC97MLFAueDOzQLngzcwC5YI3MwuUC97MLFAueDOzQLngzcwC5YI3MwuUC97MLFDSVr3%2FovcZmDyqZUf2Qc0yffZIB5SkzbGQH%2BLI0D4uueRyKf7aa53LX3hhjzYbGB2dre3uPiZlh4aGKhob65mampbyi4uFlJoF6OjYz%2B233yFlH3jgJ2SzOXn2N77xA%2B655z%2BkbD6fZ2xsiB%2F96G4p39NzjIceekTKAhw40MPhw51SdnZ2nrPPfivnnPM2Kb%2B4uBgleeaTk9Mp9bweO3as4o47fkRjo7bA9Oc%2Ff3ZZS8ttUhaAw%2F8Bvc9p2eluWJjSZy%2FOw%2Fq3atmivNH7PyUv%2BPqV0LJZy86NQn2bPrt2AJrWa9mFOjIr0hUPzbxJy1dFtd%2FvOU7LAgy%2B0rzlY9%2FNKNGK6e6KT7%2F3tfmVK1eVlPzevR3RDTf8o9yy9%2B4r1t471qOF%2Byaje0ZH1dFElZvoqztNC6czsHw4Gk1pa5ZpeC16aOZkLQtQzkbd6pnJTfLIF79c7u8flvbJHzp0pBTHkfzM%2F%2F77z1b99U%2FmpfPKRG99XD8PNdq64Ggwbnz0h%2FqZoW4NbHqnlh3dB20n6bOHXoqZ6tFW%2Fqr%2FeP0VyQu%2BdZu%2BD37iCKwRCxYgM6Tn50aWvjRDzWfHk1373AjxmlMblWg5VZW9%2BurL5H3wURT3XnfdJ%2BX92l9762f1zz5xONF9i2cHIjmfm4LqRlgt5hemkz3zsf0JzuswNT11fPWrfy%2FtdL%2Fhhr8f%2BMu%2F%2FBP5%2BwtuvPfYcLzmVGkfPKTKNLZBwyopHU%2F36M8cYGiPft8L88me%2BUxfxPozxNn6b7q%2F5L%2FBm5kFygVvZhYoF7yZWaBc8GZmgXLBm5kFygVvZhYoF7yZWaBc8GZmgXLBm5kFygVvZhYoF7yZWaBc8GZmgXLBm5kFKvk2ycE9MNOnZeeGofdpfXZmMKb3GW0V5%2BIsjB%2FW99HPDsT0Pq3NBpjqgcMPD0rZ7HjtvffWzq9f%2F1pBiR85crT%2Bzjvv1mYDjB9ZC7GWnR9f%2Bg4BVSbBfS%2FkllZU5%2Be12VM9UFmvZQEWMvq1L2bIzk%2FH6nM7dqy3NskzL48dqSWb1fJzw2vIrIKaZm34%2FJj%2BngNkp6D%2FRS072Y181gEy%2FTGHHx6SsuViBKzRh%2F86Cn7t6fq64P13Q%2FtZ%2BuzMaET727Xs3AjMjsD6t2j5xZko0bUvzsO2C9dK2dH92UsvvahFXRd89OjR3iuvvExeF%2FyRr7yAfN%2FjWM8C5Kb1%2B17IQc%2FP9fmlon5eAKY69WufG6Z88IHoyisvk87M2NjowJVXXiavC776a88Ms%2F5c7bwO7YXGVfK64KVnnuDMDOzRn1s5n%2By8Zqcitl%2Bk3bdCDvZ9Q5%2BN%2F0RjZhYsF7yZWaBc8GZmgXLBm5kFygVvZhYoF7yZWaBc8GZmgXLBm5kFygVvZhYoF7yZWaBc8GZmgXLBm5kFygVvZhYoF7yZWaAiEi07JmbTByOaVmvpic6Y1q36nueJrpjWzVo%2BPwcT%2B2DNmdrsqZ6Y2uXytUeZwfi0N%2B2U9muPDw%2FUv%2F%2FsbfmGhkZpH%2Fxdu16un6hcm1WyAFN9nWupX6mFM4PQqG1PBZZ2g9ev1O57dhzSdcjndbIzZnmS85rgvOfnYPSgvPY2mjoWf%2BYjb5X3wd%2F10z31TW3rpUX6L7%2F82tq4YXVEqkobPj%2Buv%2BcAU93QsknM9kDLRnk0E50xDau1a48LcOjOmKWeliTdBx%2Bx7jR9H3w%2BE7HtPfr0xR%2Fr%2BbkRmB1Fzh%2FdHbHlfC0LsOeb7Hnoa9J%2B7q9%2F%2FVvzH%2F7wpctWrGiVRt%2F%2F0qd7pxrPl%2FfBU2rQd2TvuwtOulwezaGHInZcrGV7n4HqRlh1spbfl%2FS8ziY4r8OQ0c9rfHR39Hd%2F93l5H3wqddPwjTdq%2BbZt7y6PnfD%2BiKoGbfiBe5Ld9%2B7HYdO5Wrb3mWT74Iu5iJ2XatlCDg7dqf9gw3%2BiMTMLlgvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLVNJtkrD%2FHuh%2BQsuOd0DXk%2Frs0hz0Pq9l4zI01ML8qJbPTerZ1%2Bd3dfVI0ZGR0dTTTz9Pc3OTlB%2FsO7ac4xJc%2B8KM%2FtmLC8nuWzGb4JkNQzGv52f64YVvaFmAsQOQGdGy8yOQ6YP%2FOKjlS1na2x%2FXssCyZfXLfv%2F3P6qNLhWXVjUXxA3V2elkZ6bnCRg%2FrGWnemDgJX326D7ofEzLxkk2uS9JXvCbzoO247Vs%2Fwuw%2Fgx99pGfwrYLtWx2Ap67den%2FFXGZ9o5%2F1rJAS0vrYl9ff42S7Rue4savdUJVvTZ8MV0vf25YWqE6Ib4wkz2QGdJnTx6Bww%2Fo%2BRMu1595ZS2c8H599rEVcNxZWnZ%2BHMaPwHFv0%2FJ9z9G3QfzuA6D%2FwP3VfX39Uvb3PnBevqvruZqmpkYp%2F73DFXGcndDX5q57C6w7XcsefgS2J1hV3LUSNp%2BnZYuLsOuP9dn8Ogq%2BdhnUt2nZqgY9C1CR1vPx63v0V%2B7U8rODHDvYoWWBW2%2B9ffrcc8%2BWvnni6V90lBhuXNptrqhs0D83wJYLYNM7tGzSffAH7kXer93x77CsXf%2Fsx55Mdl4r6xKc1%2FLSD3Q1X5kgCxDBueeeLUWLxVKpvf2jbNu2Rcp%2F76Srkp3X3GSC%2B1ab7L6lq%2FV8IafPfZ3%2FBm9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFqiE2ySjmIEXI2b6tPhMX0xxQV8Dmp2IOfSAli%2FkoJyHQw9J8WimL7755q%2FKe29fffW1urm5uUEl%2B70fPLSMuaaYqFJbGJ0djdh3lxQFYH48Jj%2Br3ffZQTj0oD57ejDmyCPa7PFOWJiFafG8Ls7q5w2WzvuhB8XzmoXxHohL2uypnphiTr%2F2hQw33%2FxV6bweOdJVt3x5y2hra0tRmj0ztEZ9T5fyfZCb0rKzA2%2FceS0VIIpi4lh%2BbgkLPo5Y9xZYfYoW73kyYuM5%2BvjcdMSO92nZuZGlLyrZcbEUj4%2Fujq677pNrteFw6623D19zzVVS%2Fo77nyyy4dKI6kbtwXfcDSdeJkUB6P55xKZ3atljT8Fx2tpZAA7cG7FN3M9d17q0vnXVyVo%2B06%2BfN4D990TsuETLzg1DPov82Y%2FujthyvpYFmPsm6nnfvfvx%2Bfb29cvUdcGf%2Be4rsfqeAtD7NLSLe%2FjfyPNayMG%2B2%2FQfyvhPNGZmwXLBm5kFygVvZhYoF7yZWaBc8GZmgXLBm5kFygVvZhYoF7yZWaBc8GZmgXLBm5kFygVvZhYoF7yZWaBc8GZmgXLBm5kFKgK0neK%2FtPkyaDlOy44dgZXb9NnDHTENK8X92gtEA8%2FGtImrjks5%2Fvwj7xjXwvClH728khXiZ%2B95EtadAZU1Wn70UEzbDn0Nad%2Fz0LJJy870Q%2FN6eTRzYzGrTtSuPTcB072QFu9bPgfLElx7bjZm5Vbt2mcGllYd16%2FQZo8fiVmxTX%2Fmg3thrfiuzA6wNT6y%2BIEPvG9Wid%2Fyw2dbF0jL1x6XSxENbVp44nCydcFjh2JWiu9aqQCv3KLPJvE%2BeGDtm%2FV98FGaRPvgMyMRJ39Yy86NUD%2B1L870Piz9FnPDDX8%2F8IUvfHadNhy%2B9Oifw6ZztfDAC0uHrrpRyy%2FMRGw6T8sCDL6CfN%2F33QUnXa7PPnBvxGbx2gs52HMbvPUaLf%2FibfrnBjj6M%2F2%2Bj%2B6D6hZoFo9cuZTsmU92oV%2F7AU5anqq%2B%2BeYvrlTiK1Z8tfe66z7Zrg2H6K2f0ffBP%2Fll%2FXMD5Of1%2B17IJS54%2F4nGzCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQybdJThzRFw5P9UC6Tp%2BdHYWhvVp2YZJSMc%2F99%2F9EWmF6250Pr7z59p%2Fqq5azcxG9z2nZ8iI89zUgJeYXYpra9dWx%2BQw8cbOWLU7C413yaErZmNFD4rWXIJ6Fx%2F9RixcX9SwAhaWNkIqRvZAdQ37m%2BTkYfFnLAhSyCT57nvsoxxVt2trdqJxff%2Fzx26X3FIDJ7iYqxc2rzEP%2FHnk0mZGYgZfEdcF5fe7rkhd8lEJu%2BFQltMhbQInGDsZXbuyRbt7w8Ci%2F8883cPLJO5uU%2FAhr4vjNH9BLsvdZaH%2Bblu15YmlNc1WDlj%2F6aMSyDVoW4LhzYP1vaNnnb9XX9QJ07o7Yer6WLS7AC7fC2%2F67lk%2FyzAAO3qef955HYedl0LRGyx9%2BGLZfpGUBOv4dTvyglh07TLwwEbFBu3dx16OR%2Bp4CXLQtnv%2FQh46rV7Kf%2BExtHLck%2BMfQRKf%2BrhUX5LG%2FlLzgl2%2FW98EvzkK9tCJ6SSrFHXd8Q4ru3v04q1a1sWmT%2BGUlFRFUSWdmSapSz6crobJOz6fSye57ujrBZ09639J6Pnr9L5LyfatKdu1E%2Bn1P1UBVrT6%2FoiLZtUcpPV9ZA8UEZyaV1t9T4LTTTl646qqPagX%2FuduSvStVNXq%2BkNPnvs5%2FgzczC5QL3swsUC54M7NAueDNzALlgjczC5QL3swsUC54M7NAueDNzALlgjczC5QL3swsUC54M7NAueDNzALlgjczC1QElF%2F%2FfyUes%2FE3oX6Fls8MxzSukVdxRtN98Q1%2FcP6Aku3vH6ypqqqK2tpWSCvbvnDb7nVxywZ9jWhmSP%2FsmeGYmuaIylpx9mCi%2B87scEyTmB89FNO2I8HsQX12bgpKpZgG8bxOdca0bNWvfbo%2FZtl6LV%2FIQtfTMTsu0PKzQzFNa%2FVrn%2ByKWb5ZvO%2BTMQuzES0bpXiUGYxvuOqd0nsO8MorrzWeeurJGSX7xVvuW1tetVP%2Fh%2FDsoH7fy0U4%2BN2YOFafWxyhf13HkrNv0tcF9zwJG8%2BRR0d7fxiXD31f%2BvCvrwsun3SS9vAqdvxOHJ%2FyEf2F6X4cNp2rZcf2Q00LNL5Bu8F7n4H2t%2F%2BfzwIcegh2XKxlB15cWnW86mQt%2F%2BJt8JartSzA3h%2FAKVdo2blheOwm%2BM1btPzR3bBF3KMPsOd2OP0qLTt6AChB20la%2FsjDxK%2FcqmWBv%2FqrGyf%2B9m%2Bvb1WyVevPiwtv%2B1P9PT%2F0AOx4n5Yt5OC%2BD8ujwX%2BiMTMLlgvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQ6cT%2FhdH9UFyQotH4oZiB5%2BTRlaVC%2Beabvyrtef72t7%2FbcLD67WkaVmrDc7MRQ69oWYCpHqhp1rLTPdD9KJwmrm%2BdG445%2FHCCveZ9sDAjZntIdN8WMjHjB8RrX4BiGjp%2FIg5PJ7v24qKe3%2F9j2Hmpnp8dSHbthayen%2BqBwV%2FAib8txaPZ4Tg6%2B0b9eyOOPLy8ubl5WsnuWFNV07Xnq9Xq7Fyxkrj%2FF1q4tAjyd3UsSQMDwDox38XKE5pZc4q0a7mG3Gj22S%2BvEmfzP%2F7HrUPXXnvNeiX75JNPcTC%2FE5qkOIx1wJpTtSxAdkLPp2ug%2Fxk9nxmK3rh98M9C%2B9v02YceiuR98IUcHLgHTrlSy794W8JnPq7nO3dB205oEl%2FVJOcNYPBFPZ%2BqhokDcj7ODEWJrr3rMa677pPLlGhb24rp3%2Fu9K2vU0e3v%2BnRvX%2BtvtEvhQg6iimHi8mpx%2FID%2FRGNmFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFigXvJlZoFzwZmaBcsGbmQXKBW9mFqgIGAZSYr7AhvemqV0urbRMz41UXXDOKXlxNkePdlVu2bK5oGSfePyp5nlqK0mJi%2BKKuZh0rb7Ks5CFyjpx9iIsTEODuIizlI1J1SW49hxU1mrZ%2FDxU1cujKc7HpOvFay9Dfg6qmsTZc5Bu0LJL%2BZh0g3bts31QvwZS4obvN%2Fq8EkG6SssnPK9RYS5%2B73lvnVCyXUc6azZv26rtQwcef%2BFwOtu8rSiFS%2FmI1%2F61gjguieNLaaAIqCt7u2g%2FW14XXOy4a%2BTh0nnyumDy%2Bf7DpfO0fb%2BnnrC0I3vtm7XZe78fccpHtCzAvh%2FDSR%2FSsmMH4dl%2FhAtu1PKHH%2F5%2Fd13wnm%2FAmf9dy794G7zlai0LsO%2BuiJMu17IPXwunXK6vCz66O2LL%2BVoWYM834fRPaNnRA1CYg3VnaPmE5zXuejR6uHTeCimcHZ86pGYB6rK9bHmXvi74tX8bhtjrgs3M7L9ywZuZBcoFb2YWKBe8mVmgXPBmZoFywZuZBcoFb2YWKBe8mVmgXPBmZoFywZuZBcoFb2YWKBe8mVmgXPBmZoFywZuZBSqCugkoikWfLpKqSkGs7WqOoyqiWN4HT1yRJipru5bLhWZiIlBXLf9y07KqEpBW2bO0vl%2B9biBKxcQlfTd4os%2Be8L4lvvYk970K0I8rUTomLorXXsnSfYvF4W%2F0eS0jX%2Fuv47ym0tNSNK6oJiovyqOTdBRElIoVUBBf9nQ5DcUc5MUl03RRyjdDUdoHD7UjkNP3wVPdD4vaPngqWDp46qGNAP25J8unWbp2MR%2FXRMmuPUYvuiRZEl57RKL7ligLxFGCa0%2BzdFbVH%2BwJ7zsVJLv2CPld%2B3Wc19L8Mi1bOwW5Fn12dS8savvgiYCqYch7H7yZmf1XLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQLngzs0C54M3MAuWCNzMLlAvezCxQEdR1Qalai6fnIK6GUqWWr6yAQlnLAqRjUNevRqugIvXGrQtOkq9gaTugvDo2wX2DZNeecNUxqRjeqFXHSVbmJs2nWVq5q74u%2F8%2Bf10ExWwnFBA89VYaS%2Bg%2Fp6PW8%2BNlTi%2F8bGoCvCfbSJwYAAAAASUVORK5CYII%3D&ox=940&oy=450&tw=23.5&title=nano&convert=nearestCustom]. In the settings there is a button that allows you to toggle the tample on/off. You can use that button to make sure that you are placing the pixel in an unoccupied spot. [https://nano.garden/pictrs/image/cf84387b-856f-4274-b74a-866006e00efe.png]

New update: The nano.garden faucet!

https://nano.garden/post/2812654

New update: The nano.garden faucet! - nano.garden

I’m running a little experiment… The nano.garden faucet! To participate: - Associate your nano address with your account in your profile settings - Make comments For every comment the faucet should deliver 0.01 XNO to your account! There is a cooldown period of 2 minutes between comments and a maximum amount of nano per account set to 0.5 XNO every 24 hours. This is a very alpha version… Let’s see how it goes ;-) The faucet address is: nano_1ex1zqsdyqc3heiifc9sqc8pd8zmamkp3awgd5gwfejx9teqownw5fxrhgg5

It is now possible to associate a nano address with your nano.garden account!

https://nano.garden/post/333678

It is now possible to associate a nano address with your nano.garden account! - nano.garden

If you go to your profile settings, you will see the field “Nano Address”. This field will allow you to fill in a public nano address that follows the standard format (nano_[60 alphanumeric characters]). The current behavior is the following: If a profile has an associated nano address, an XNO button appears in their profile, next to their comments, and next to their name in post listings. Clicking on that button will open a new tab to nano.to/nano_address, which provides you with the address and a QR code to send a tip to that address. If you visited nano.garden before this change, it may be necessary to delete the site’s saved history/cache for the changes to be visible. ---------------------------------------- The code changes can be pulled from github and compared to the 0.18.3 tag: lemmy-ui [https://github.com/nanogarden/nanogarden-lemmy-ui/tree/ng-0.18.3], lemmy [https://github.com/nanogarden/nanogarden-lemmy/tree/ng-lemmy-0.18.3]

New instance: nano.garden

https://nano.garden/post/1673

New instance: nano.garden - nano.garden

I have set up an instance to host an unofficial community centered around the cryptocurrency Nano (XNO): https://nano.garden [https://nano.garden] The purpose of the instance is to have a space in the lemmyverse to discuss the Nano cryptocurrency project and the community projects being built around it. I want to play around with the integration of nano into the fediverse, but I don’t want to do this in an invasive manner, so I’ve set up an instance to try to build some of these tools directly into the UI without inconveniencing others. Anyone else who needs an instance to try out their own nano-related inventions is more than welcome to try them out here. You may consider it a nano-playground in the Lemmyverse. I chose Nano for this because I know that there are many open source projects related to ‘tipping bots’ and faucets, transfers are very fast and free, and the community that I’ve encountered is nice. I also found out that there is already a nano tipping button implemented in a mastodon instance, and I may draw some inspiration from that: https://xno.social/home [https://xno.social/home]