@aztec/accounts 0.49.2 → 0.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"transpiled":true,"noir_version":"0.33.0+ccbef55cf6af6e8bab3e52daf967175465eb69a2","name":"EcdsaRAccount","functions":[{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+29CZwlWVXnH1ldW3d2Zld3LV17xat8XZVZWcvbspYWsR31j2zKKkuPI9VdVYIjNEszgPoHFYQBHbYBRxQEN3AQRhFhFIHBcQFUdAQHUAdwRB3Z5OOAfwVR/h2Z79T7vpPnRryIFydeZHbG51OV8SLujXvOudvvnHvuuVPRyjVzz7+p/v2W/t+t0epL0tzW/9sa72qX+K2WJ51Ta4TOTWuEzmvWCJ2bS6QzoW1LNHyVTe8WB7mWTePWNUDjtjVA4/Y1QOO1Ubn9R2jc3L+/7p5/0/f8uz5amcNWvSRjyeB4Tf990lGShphUdCLIa5E29PFTU4NvyfW/cb+v//frn/rUi8+Kn/CkS5efGd/19Lvju67Ed9z19CddehozHp4qmPFb8WNn/+/907M8rGhZjy6a8XuLZvy1ohk/nV8snyta1heKZjy1qWDGf31NwYx3Fs34Q0UzvrhoxlcVzfi6ohk/XjTjXxXN+NmiGb9SNONjtxTMeDcyNvp/L9599+UnPvnu+O674qc9/Y67n3rxzrvjZzzh7sfHd/27y0+98t13PYMfeFbRkr+6tWDGfdvGJPnwtoIlP3p7wYzfUTTjDxTN+KKiGV9ZNOOri2b806IZ/3fRjH9TNOM/Fs34b64rmPGZyFiosf+/RUt+17gl/07Rkn+/aMZ/QMaDq0m+eOlSmNprpwsWekPRjKemi1N7/6KFfmvRjE8cg9oXFi30FUUz/kTRjL82BpsfL1rotdcXL3Tv9QUL/ZaiGZ9dNOOrx2Bzz0zBQh87U7zQ7ypa6JOLZnzxGNS+sWihbyua8Z1FM/7pGGx+tWihJ2aLF/ofbyhY6JuRsdAs+stFS/6/45b8T0VLntpRMONJZMxbQ/ctWug3Fs14xxjUPrtooc8rmvGnx6D23UULfX/RjP+jaMa/HYPNnTcWLPS+NxYv9MFFC31u0YxvLZrxj8Zg84E3FSz0JTcVL/S1RQv9uaIZf3MMaj9RtNBPF834d0Uz3rCzOJu9nQUL/Y4xCv2tXQUL/TgyFppFP1m05CfsKZjxuXvGJPnfFy35feOW/EdFS/5I0Yybbh7c521Uu24uWOj+ohnPj0HtI4oW+tiiGZ85BrWvKFroa4tmfH3RjL81BpufKlrorr3FC53bW7DQxxTN+MKiGd8wBpuNfQULvbyveKFPL1ro9xbN+KoxqH1b0ULfUzTje4tm/Ksx2Lxuf8FCl/YXL/RByFtoMnxkUapvL5rx+WOw+2NFC/3JohnfOQa1Hy1a6MeLZvzKGNTuPVCw0LmiGU8UzfjNB4qz+cSihf7YGIW+oWihHyuaceZgwYyLB4uz+XNFC/3UGIV+qWihXy2a8dCh4tReOFSw0G8smvGBRTM+YQw2X1y00F8bo9DfL1roySMFM/4/yFho+n1g0ZJfN27J/7loyb9YNOOfImPeqv1s0UL/b9GMO+Li1J6MCxbaKZrxIWNQ+91FC31G0YzPLprx1XFxNn+jaKGfHaPQfypaaLtRMOPFohmf0yjO5peKFvq1R4sX+uCjBQt9eNGMTxmD2v9QtNAfK5rxtUUzvmsMNv+iaKEzc8UL3YW8hSbDvXMFqW4Wzbg0Brtfi7wj+qffVpTOB49B50Pz0/mIonReGoPO7x23+TyvKNUvKprxbWOw+96ihX6gaMbPjEHttmbBQmeKZlxsFqf2fkULfVjRjI8pmvEZY7D56qKFvneMQj9ctNDrbymY8T5FMz72luJs/nHRQvceK17o/LGChZ4umvFBY1D7+KKFPq1oxu8pmvHHxmDzXUUL/ZsxCv0q8haaDLcfL0j1bNGMF44XZ/eBRQt9aNGMd41B7Q8XLfRlRTP+4hjU/l7RQj9cNOPHimb8pzHYjOcLFvrA+eKFPrZooS8tmvE9RTN+fAw2H71QsNBXLxQv9E1FC/3lohn/xxjUfrZoof9QNOO/FM148ERxNr/+RMFCv3uMQp+GvIUmw2cUpfq5RTO+Ygx2X428Iyrsry1K55vGoPOX8tP51qJ0/uYYdP7hGHn/OD+PHynK48eKZty2WJzB6xdzM3jDYkE6dxfNeN+iGb+xaMY7cor0agiR7+pnxO7hqyFMbuv/bo1znW9d3ooCGBIluZJ4FJv77+TvVP/fdP89CUyeSSSCKTyTkCmb8Ey2/1+DZ7KzX8pK/mzz4Xtp+4Dscr/darUTXiRkjNA/jXu+OwgRbvbh9eJ2yLtkXntudXTP5VlHU6iHLf1vb8NvqZPrUP6UU/ny7etU+9iM+wNIy36apJF+KPQnOx2lL12Xkm+zyjeLNFuRb5vKtw3ySa5EXrLHJ/l73fZBWkmHPbxjy/BC6+ydd1y4s5t8Yxo0SL1dD1rl/fORLgZdbLsl1u9y293q8+3ltrMdPLKOtoK3a1B+eX2n3eP4HaEMXptxfw1ochnj+vHONjl9m/Max4ZplFdebMWlpVmUxzKuUfKV35tA0/UuNJ29TJquz0nTjA9Nd5CmmRw0jcPLrA8vV0jTbE6abnCh6dw50nRDRfLd4cJLp0WadlTAyzj1eaOLDM71SNONOWm6yYWms0Nj3U0F5Vu0PvPKYKeLDM5dIE07c9K0y4emof6yq6B8q6jPRAa7XWTQG6qX3Tlp2uND01Af3gMaBA8+HTQ44b+lId0fZURKLnIRy1iyuhnfKDNGMWV1M8rb6yKXFVweaht73ctvL+vi+314W9ZnDjjKTewgoovvN+R2COVPOZUv35ayDqIu5f6pSHtI1bfoB0J/gkvFWngoJd81Kt8s0uxDvv0qn/yWuknKf3z/3rOtjdLWk3Fc+vlu0OQzLrWW9VLaSqWMSNEpF/XSm31oqkwv3Y6/2PzsMpayTeWZ1yeVj/bY7Xgmti6p+6TvvODIIB3xfon11pmOBnp9hDIixZtc14P2WR+alqajYRtdFk2zoGnGh6a21m3L7juzhnwRB6rUviNlEdvOKtnK7xsg47WaL/ktbVzkO4088s6xTS/P6zco2kmz/JVnM6DJq93Rdis0bVfydCy/RdutlJH8/hmU7dSfl5LvXY8yiZdmIA9Jc3ZxkPYNSMf2JH9n1TPvOszqEzPRgCeOldOONOm1Ms51Ur7TWl0nL/biGpJP/++0uOY6Ck1V1JOfDXlFR/Np851W2ljKNe4d6pm2Z5bd5sXGJOOJlM+xlDa1Kafy5dtS1k2Qk9z/Rv/vbDQ8T0r+HUq+8vtG8PgO5NuuZD2t+Ja/nvIPtYkbQac15zvR1JlWNEkZkaIzUnRqG3fZ49CNOWi6CTTtcKFpZRzy4pf9Qni7Sck7kclOow52OfGbfE9sEDJW7DTkTbvtlFP58m0pazfkJPcf7f+dBZ0cK3Yq+crvXeDxj5BP98tp8M0xw1P+oTaxC3TKsx3+NLX03FA21tXtTfjYCRlImr9QfPPityTf9Up2M5AdbW27XfjrtHRfKfvbXvY4jjuUb6TkK5fweENfljchk3wnhrzXm/19D3iri/39H5BW29GlTmh/FzugpE0wt9jUaVvcNOI3x7HNf7Z/77gO1ZkCXXKk4R7Fb1L+QZ/yW7qtlN1WD0OebBf7wNsRlD/lVL58W8qS55txPzM1SIvARUPtSuhnW5W0yXgl7WdPgL+y5avHmQOKprQ0bFMhfg+A3/3Gt7PkNIs0+3OUx3zsewdVPvktbThpZ//Uv/fDzSuyv1nRIr+lTNrviPVunPKmr31lSpVJ+x31XUnzLycGaXf36ZuJhvVAzRP1Vi/dZyoa9l8lH1JmQqflD+6pjznpxEtpdpIbIQNJc2RqWBa8LBx/vSE73S489U0/HL/ybS+dKK9dQHgULLoFmeQ7MeTthKFb3j40Mo9LW71Z8a9x9pRT+fJtKWsf6kTue5jfNf6TOhH6Z6KBPiZpE8yp7QDEolnfnI1WY/W0eUTqLZHtAuYMHz1xBYsKXYJFdyp+k/L3+ZTfctTJhrCStNV9qi40zp6K/LAasYw8JzZ7ANqqxjzSroR+tlVJm4xX0n52BvgrW756nNmraEpLwzYV4ncv+L3Z+HaWnGaR5uYc5TEf+94+lU9+SxtO2tl59Fsn/64rxEjStqUszunk2WttZXP/21uUnIlZHjIiZtG87DS+9fCc+MdqSxb+8cF3w/Z2zZ+F7x6Twp83TvNci6IdPfm3zZCBpPk3UwN5Pa5/n4xvgvW4r/Au430EPniF1nE87YJOc6c5v+03eKvL/PaklPlN6pN2QZmj08b7XSofx23irZDtj1j2EtrcXRjDndYg2sRemh/OQ3tAozwTPZz9wdLRnfxJUnV07leWZ8QjTvpax3Ef/bKOTnsD62oLZCBpvi9jjtJ7tq31op1Knn71uTL2Tzt+28sml3evs/AoOvpOZJLvxJD3etN7aNury7zwspR5QeokTe/J0tGzvhmaM0bB+s+fkI4+rfh1XH9seeuQtOOzXVBH12s6HuXLt6Useb4Z929AW5V0kkbaFddPpH4kbVJv+3Fv8Ve2fPU4s1/RlJaGbSrEr7WX6vAI+bjuI2n25SiP+dj3Dqh8eu0r+c4rK8J3IZ8a4iGn8lv0u94J3t8E3n3WS1bsE/SL3Byt3oNA3fx3sBb1S336uBZFH0XtH38vW4vq1mkt6h05bTEba1GFro21KEMmxGhrYS3qD4Ed1tpa1G9NCOdurEWVX/4oOtlfpehkG2tRa2ct6kPotxtrUSvXZ0bELKOsRf1tTvyz1taivpjC371lLepLWBf4p/59aC3quk2r30fgg9fGWtTk5rdrNw3S1nEt6qtoc9Km6rgWRd03y1/U0y83pKPfBDrZT4Ump/WiZZqmFU3Thuy2GLLbbcjOZy/P8FgodMrvPaCzur1L6XYzKZNroFtqLLtZPPO3b6zQFNp7WJfyud+Rc6i139Gzf4baGNfZLXutk+x63uvX7C8Wv5uR5nR/zgnh2u1KdmLX43hr7XX3ikWUNt4yboxnzKiZaLWcIkWTXNf705TaF1n+dkeZ5IlZxXbi1e/zxkHh/Ow13+X1YeAc5zW3cS4dhSbasLx0jOloGKNm0cT9hl52velo2A6TRdP+CmhKGwurKj807lA3kn7ImF/SDzbhmbRDxutmbF1nfpbjw+0z5Oe531v7YslvrpnLfMP4MvQ9EDo9ba5Za+2zeDZdkey0jmztM9X+dpTd9TWUnWVDj8qjp0X5CD4kLY4+OMs2SfraUDaHUX7DpS66dyR1z73JUgYvjuEN0BS70LSy3/So07enwcMR8DKH8jaVVt5SdxblsYxGNCxf+X0UNDVdaFo5a0HKa+ak6RYXmlbOGJHybslJ0zEfOXVI07GcNB33kVObNB3PSdO8D03nSNN8TpoWfGhaIk0LOWk64ULTyjkvUt6JnDQtutB0bmh8WsxJ00kXms7eSZpO5qCp6BhSdDwcpz5PIX2JsrtEmk7lpOm0C03nhvri6YLyXSyYr6r6PIP0Jdbn0Bx0piAvCwXznSiYr2hdFaWzijquuh6SNtVC+hLb1FnS1CrIS9Hx9VjBfFW04UTmbaQvUeZD82y7IC9FZZ53Hui4yODcEP7pFOSl6PyRV8/pusjg7AXS1M1JU8+HpsukqVdQvvMF8xUdg4vSWTUurGrcWkL6EtvGedK0VJCXvO38rA8vQ3aPsxXwshb7VdFxuWi/qlqeTaQTu+tMf3HF0c565zToiVBGpGiXS+iYjuw+cg7f2FIana2hOfocyjvvIpeVtYBQ/Z13L797R/LtW314W/Y5/RpHud2n/y1Zs7jVkNvXovwpp/Ll21LWfVCXcn/dNYO0kk7SiB1e6E/W7y7070m/ztdQ+WaR5gLy3aryyW+pm+V1V4wBXm1tlLae+BxJPxfZ+a0Zrvian3P8ts94urKOw1jYUkak5CuX8Ch7Ajcjk3wnhrwv+NDtPiZI25Yx4YLiPylf91uP8uXbUtatqBO5jzEmSDpJI3Ui9Cdjgu4XCTaUfsP1wk0jfnMWadjnL6h88pvjxW738WL0udFzrfR8NHyl9THiLcnHNXSvdp8XW30N6Dxq0OnU95fp/JocdF4waIpKpGcW9Mj3GTeBe+na13jLp92yxq9ZRR/Hj/+EuAlLffqScUJ0O2mDM9HqcYL2lDJlSttRid9t0S43xnfb+kEEOWzCPcvKem+l7SLPkpEuuY4aac4HvntW5eE9fXYkz2a8/4Z+2wjt45O8Hv1d85zW3zcbNEVRubpdxyir68h/nnFZ6OC4TDp7jnR2c9DZM2iKonLH5a5RVtuRf8GHUkbSpx5xjbfsV/bkLqHMzaClB9lLmrsw5j/6Gm/ZtK/odbiyeT+jeBc+WuBd0nx7yjjGb0k+8Y2VbybzoLQrSZuMveKbyj6wPfKLt5jG9zaD70s5+d41It87Db6ZtoNnch9a8y+xPy7lHTfPgCavGDx+7WFl/Dmj5DuLZ5yfdF3L721GvumC+ToF8+0smI97xXxk3D2r/bVKrL/OtOJXyoiUDOQ6CX59xtaV9urE71JSX9dGg7Z6UtUtxxjhs+PE5xRkKHKW3x2U7xVnL/m203nUyzGRpO/rc1Gnwa+keX7GPNFVctL9luN8F7LjfqLbyuGtFSneOoqvpFyvM+K1P2nZdXYCfG0GH4uQvaR5SUadncBv1hnPshfZMe2JFNlO4ZnYCrsq32ak+flrBt96JTCnU59uOWL95fo5DdmQzzZ4lzQ/nlE/p/Gb9UPsJLKVtJ66jPatLVt2J5XshI9TkIGk+akM2Z0MyI64VWQmaamrdfFsyZAx59YS7fzLsVVFN2tBHv8FfcPDBpbFO8fsjg/vbfLeCfDu1La7ee0U7YA8yu5vXhhuGjywbjnmjFxWr93pdNu9c3ecPd86v9S6dOf5zuXzF5eWLl5Y6lzqXeK4kee7VzqtztLZK5dbSxe6ly70LtzzuV77zov3vGhdvONKe4k4NBe9Shb6QQQ5bIpWjxOjvLfSnkKeM0a6RG+ROqH+20Yay45RVL6ti+fvPNe5fLZ1qXXPf1eWLp1v9ZZ6Fy71zl/ptnor9VaoPZxt91p3XDh/+dK59rmLF+5Y6nYuXjnbbd3ZXuq2zl0Ywki5vjtCvVHGcs+yst5baVnXJ410rDfqRaPUG7FimfMIaVpEefTxLVtPpa4kZURKBpGS6RrFK8vj52lVn7N4Rh9IjeP0eMB8XHue96F9ea7jeCFlRIpOueZBk1P7aXvyq/eMltnuE12J2EF4kDYh5Yq8r4EsPX0bQm2O7eusT/ktvW+4zLpMvif+sKInCB/HwK+k+USGnnCLkpPUk3yT69u3QHZO/LX13vSyZTenZCd8NCEDSfPXGbKbC8juGGQnMpuD7Jz46zj663TpLySyEz64nippPpchu0ZAdk3ITmQmaYlZGO9A/LL0vCJ5JO1plccxzkSX8yP5jhTfcsX9v55zdjJWJzFYRM8V3VZ0Tt3Ptdw4dt/iRONUNFx/bBscf5zW680x4qySE8eIf845Rmh8FBojPHFqHuxDnDrnSFOevkI5efptzOWgib4UPj7Pw/ahUWiiX+6SD01d2s1GoWkJNHnhP8dxvU2bIOXLOEcllbWsw0pZR8DPkpKt/I77f8vMlzw7pfidRp5TkIFTG1ueE2JFu/xeAp3y7Lw/Tb284yjbfewkJx1LzKvdU2/P084OTyhfIhfu57gtKiSTrn5Aeg6BRo1Dp0EL51PP/qLP+JPf7C/yLMYzmfPO4pnMObSjeWKBPHNcVZgpDxZgHXv2xzyYiX3Bq92xnY9CE8dEp7iVXY5bo9B0ADR5xahMvu0ZN/eAId+94LGkspbjjkhZPAMpFH+TMWrl2ZEx83F8En55FixxuWds1NDZI4yNKs8Yh1TGlVMG7XM1pD3GMxl/juGZ9H+ZKxId+ts2D+4ftXnAk9Pabjfv3giuR3muxTj59La59kS/vEJrounXcp+XsminCvkJ0n+4hLXqVRfpOZmDHisfxxL6dUkejiVefglTUdi/l+ts2p/H0e+ul9cHd7ECOSXfPuH07WnwwPYiz9jOFpUM5PeJCeVL5LKANLdFhWRi6jpS1gJolDmKfvFCC+cvp7a53F+0H6f8XgSd8oxjvVP7aXE9lL6iz8Hc5+mDSd+xzaCFPpiS5lvmB2mf26ePfpUy5tFfqqpxMMt/hP65HAe95nDKVstRyuQc0q2x7OgfQ39aeTYH2s+oZ55rVGnz3ynQaeELL3w1Kp4Q+bRrLDtiB/YjeXYYz7T/l+M4vrxv7yTo5rofy6T/GvllXknz09A73rJ5wL/VPy2MV5d66uDZWm1jjv2zRV30TEAGUyWXd1jxzDZm9SfqPyXTM7RmLt8+qeTBfvF29IuHbrHlVdW8yTZj9Ut53wvIsSrfA+qI8oy69iT34IXGBXnPccErHkNaHTP2gjzjuOCEg1ocG7mX5L3A4U71tuxHovcX6vGc2Pw64PDf86dvSEehvvAH/jpKN6+O8l+PD9J+EGOsvKeO0lLPJo0LiamJt+T+NJ6lYTDi8UX1zNMWMorNIaFT7wvwtEc5+p/2aL+IUEakZCDXMfC74FQHnvwmPoHJHmXtu3pC8cp69Zx/F5Sc5XeWjVbeV4Xf9f5K+U08I89oG5hT8qVtgP3ZE0+EbAPEE/KMtj5rv4eMVcTdTvN57lgQFdj6unn3/Vh2Wo/xwjOek2VLLSF+3KqLdlv2h5C9l/2srHyWLss+y3bvOQeH+izXC3SfdWwHQ/iRcb2u2+Jedm78+Gzgx9k+fcSPXLuw7Iqe80gIP9LWaeFHba+qo648Y/BTlTynUuS5galtmnRbqbr80Bi3CJnIvWAR4kFrDZJ9wWu+TZtbiJ/0vBny/5H3bIuTXtuwfCWkDkLto0wbp+Vb5Di+Dc1vjMvS2+JeJ13WiZ7fzhj1dB/Mb+cxv63VNdy1vA5p2XHWsm17w7ZsXt1R9WGusaxlm6Xn+p1jP+4S12g7vBVX6/Z+Xe2IVl/8luTrGLLTc6W3Pm7pYY+roR72mWODtJcKzFOefSI0T7FeR52ntH5RBz3MmrvknusNkoc+H1XoQVrnYJmCobdGw9iaPh+S5ukp/dfLB9kxvspyHxObvPQxkdlx8C9pvieDf6+4JI4yWG4nTfDKMYUykDTP2TKQ1w/075N+KW2E67IvNd5H4INXaN2n4cN3y3OvaPK9I5DD5mj1OcrcN1m2Psfy5dtS1hHIW+5fsmWQ9pCqE6lPoT8ZxyQmCenX+RZUvlmkYRyVhsonv+P+34S0H0Kbeynm3nl8p+z6Oxrgh37PkiZNb7f8mbx1Ky2XeVU+dSbhK6Qzee2xTJtbqdvJs3nQ5BWXgnqpfFvbgkM6m7wnLvFsnz0lu56Sk2W7c8R5uffxkiYvf/28a5r0c/eMfdLOQRP7old7YvsdhSb2RS/dchrljEITx1bPtV/PPed6rOP4Rx0nz7g5bj6Od0IX96JXZS8MxVzgnCbPFvxp6uUd79g+vdqQ5xqSpXvnbWeLE8rH+BVRcZmY+/b0Pg76NFhroFWtfYfWQNlf5Bn96D33EVh+HZz7p0ouT+a0Cvbx5o6twrbp1A46bHej0MQxystHjuPIKDRxH4DneYd5Yhowpn3Th6bcZwY0QZNn/NijjnXQNOQbg8eSyurNoqwY/DSVbOW38Mx8J8fMF1q3lDzE/U5tzLRzyO8m6JRnjEWifXpI+2INabcwLv379PpDYmb6J9idvgK702kfnrp5dUOuI3it33iurzDOFudo+vuUVFaPtjmuf5xWspXfXF8sIebDqov0LOSgx8pnYZ2Q375T20312yc21nsnHe0avWlFk5QRKTrlmq9ATp5rObSZsL3IM7azeSUD+X18QvmIW6KoXB1NyrLmL57PJbRw/vK04R6PhmUiv2n/kWcc653az5BfnpSRTHvNrYOyvezH9BNI88uTNL/bHKSd79MX8new4g94joMh3zbuR7R04Un6YOSJ3TBJ2dG+Ql8RebYI2i0fa09/i9D8R79zC194+q+Mgie0baqOsiN2YD+SZ4yzI3loz3Aax1v0oRH/CSmfZcqzTdGwrxvzSpr79cez5fiOWwf8W/3Twnh1qSfu/VqrbczTD96yZ2sZlG0T1Wfuso1Z/Umvp5Xtp6J51XuS2S9uR7/4/7ba8qpq3mSbsfplnffIVBXPLTT3ZI0L1tmCnv7voTqm/7s847jghINaHBuljKTNfzfavKffsY6tosdzYvPnA4c/2Z++4N7Yp/nrKN28OkoXsnkGxljtf007WFX7VbJwITE18Zbc09c5DYMRj8+rZ95+rVk2h4ROGR9p+/GyRzmun/Rov4hQRqRkINdR8LsG14uuxlY5ofg5rnhlvXrOv8eUnOV3lo1W3leF30MxYIhn5JkVn/k4aNc6tzeeCNkGiCfkGW19lo+GjFXE3U7zeSevHboCW1/uMxQtO63HeOEZx9+ypRL7lVRWi3Zb9oeQvZf9rKx8li7LPst27zkHh/os1wt0n/X0QyJ+5D7SX6whfvzy3CDtWw38yLULy67oOY+E8CNtnRZ+1PaqOurKMwY/VclzKkWeG5japkm3larLD41x85BJ2h4caw2SfcFrvk2bW4if9LxJPMhYe3rvUx3WNixfCWtPEdtHmTZOYs0KdJGh+U3KSOaPP9nqXidd1ome304a9fSrmN8+tg7WcNfyOqRlx1nLtu0N27J5dUfVh7nGspZtlp7rd479uEtco+3wjB981Z6zbeVPKLaKtvu0DdnpudJbH7f0sC3b3MvOrYd9J+apa7cN5GX1ibqtx7NPWGM95ym9x70q3C60a9xOnYe6mdxzvUHj66pws3xb+xgmz5v9e4mtckzxtxlp9qf0X9ZDFJU7fjnZ55f7WKP/LeljIrOj4F/SHMngv+FEp6MMlttJDF6JIykDSdPcNpDXsf4998VwzFoy3kfggxftuA3I1Gkf6nK7OuQo04OQw2bwQd54pu+UU/nybSnrIOQt971tg7T6DGapT8aIkpgspF/na6p8s5F95nNoz7TUTSK/E2hzS5h7nc6gH4pNo/mhTVjS0Bf6lJFO5gBiFs/4/lou8tvSmYQv7i+sSmcKxXRcMGTHPfyesVU0DtJ6ZMgvX94Tl3i2z1BsFe57l2fE4n11KXow+tQD0Kc84vgTRzNe4DP6HYg4dQYyPaWeeetuoT36WXH0hL7rQftJ9Syh3SvuQRrGXgSdFj+kT57J/RY8k/vdeCb3e/BM7vfhux4x91jGFtBShY/qFOS6uf9toYVrMT5rHN07qAdFKINXaF3cS1fy1GW45sA5tInyNpVW3lKX6wksI2sdQo/55dF0rkea5nLSdNSFprNXSNPRnDQ1fOTUIU2NnDTFPnJqk6Y4J01HfGg6R5qO5KTpsA9NS6TpcE6aDrnQ1BnykzmUk6aDLjSdGxqfDuak6YALTWfvJE0HctBUdAwpOh6OU5/7kb5E2V0iTftz0rTXhaZzQ31xb0H5HiyYr6r6vBnpS6zPoTno5oK8HC6Y71DBfEXrqiidVdRx1fWQtKldSF9imzpLmnYV5KXo+NoomK+KNpzIfCfSlyjzoXl2Z0Feiso87zxwk4sMzg3hn5sK8lJ0/sir59zoIoOzF0jTjTlp2uFD02XStKOgfI8UzFd0DC5KZ9W4sKpx6wakL7FtnCdNNxTkJW87n/XhZcjuMVsBL2uxXxUdl4v2q6rlOYd0V9dX+kZqRzvrndPR8J45KSNStMsldExHdh+Zxje2lEbn8F6eaZS3zUUu6T7Z29zL796xPRrIvWTelv0CrnGU26b+t8QvYLMhN65vTjmVL9+WsjahLq/SuH2QVq83MiZMciVrP1v796Rf5zuu8nGdcivybVb55LfUzXLsy77QPNvaKG09Gdekn98nGtC0z4WmTkuPJWV/22c8XVnHWYyGr7TxVHhMMMzuaLDGl2SS78SQ91Yfut3HBOFZxoStiv+kfN1vPcqXb3MskL9yfwBjgqSTNFInQn8yJki/2IS/0m+4XrhpxG/OIg37/FaVT35zvNgBzDDpudFzrXRbNHyl9THiLcnHNXSvdp8XW10DOo8ZdDr1/WU6r8lB51aDpqhEemZBD8vywkP0C+M4dQp9ycd3vL3sZ6HPbtWxwejrch4+8O0+ffQjl/Y9E60eg8hHmfVFH7oSv9sqyd+6rR9Qtpui1XECR3lvpV1AnkUjXXIdM9JsC3z3pMrDe/oD0Y9d3n9dv22E/Lglr8dYonlOG0t2GzRF5dEzFHeYZXn5fOYd8+kHesyg02vPSl7/Kmv/fRSVO+YvGGV54nR9vmrSpx7iPuZ3hnzr0sZ8SbMDY/4j3G1C7Sva76xs3ucU78JHE7xLmsekjGP8luQTH1v5JvcpSdpk7BUfV/aB7ZFX3KR0vtsG34/LyffMiHyfMvi2YkVwL1fI96/E/riUd9ykr/yMD01tv/awMv7MKfnO4hnnJ13X+txT5jtTMN98wXynCuajT7aPjLtntb9jifWX+5zVGPz6jK0r7dWJ36XEPnVtNGirUo7UHccY4dNzz6rIUOQsv+dRvtN5bi3HPdHL5y/o/ebCB/dES5ofzJgn9N5e3W85zlv7zaMS5RYp3uYVX9oXuOy+4bTPcrnOuJdvM/g4DNlLmh/OqDN9hrvUmXyTdca0h1JkO4VnYodcUPk2I83Pbh9862XAnF7x4Bz7q9mn9B4n9qkfLdinGH9GxsUKzsBtO461Hdp69XhEu4OkeU2G7I4HZMfxSGTG9V59LhzXWUL7ZUpcQ2gx3k4T8ngj+oZHDMss3hlD/owP723yfibAu5M9pcuYUxHK4GXZU9Zofxuyy3BeLHQmV6/d6XTbvXN3nD3fOr/UunTn+c7l8xeXli5eWOpc6l1if8nz3SudVmfp7JXLraUL3UsXehfu+VyvfefFe160Lt5xpb1EPTEXvUoW+kEUDdtP5Z5lZb230jaR57iRjrYp2lyy4qYUlW/r4vk7z3Uun21dat3z35WlS+dbvaXehUu981e6rd5KvRVqD2fbvdYdF85fvnSufe7ihTuWup2LV852W3e2l7qtcxeG4oTn+u4I9UYZyz3LynpvpWVdzxnpWG+0W4xSb/QbK3MeIU1HUZ7TWmknrz2eth4vG7mnDkw7kvBtradOReFY8U0jH9e1nXSUbt4YMkdAk2cscC9+PXWyxF5B7KDjmEi5Iu9rIEvP+AuhNsd1fie/Dc94QMtxpnQ8IOGD+qWk+bMMPeGgkpPUE9e3RWYHITuveEfJtw84ym6/kp3wcQAykDR/kSG7/QHZHYLsRGb7ITsn/jp+foIrsturZCd87IMMJM2nMmS3NyC7A5CdyEzSErNwT5P4eul5RfJI2mMqT0Ii9/KVPcfkWWcROjzn7GSsTtYDRM/VMa11P9dy49jtGeMxZHPmerVTzKvU8ZW+S5LmSznHV41zGPOR+2a5Rpv826PybY9Wx2W7rRwZDM2fU4qPpsHLqf5mmuW4PtcO6POy3dNWQ1nzYt+ifu9l+8xrP2HcTi8cxLhXo9BEbOQVXyrv2UAVxGbt5vUlp/7qqbt5+uTMG/ItZOvIuOgXxjFlXslWfnN/Xln5GPuP8X8lD89+9VxLDflyU3+WZwv+NPXyjqNs915t09tmITwwfmWedtacUL6SbL1d/YD0MN6jzGUiJ9pMOJ9O0vdgNlodS9Vz7ZQxWUOYomwbpsyVxAtO/SP3uX1sm17ronltdSHbstc4MgpNtD83HGk6moOmBmjytLM2ctBEO2vsJCdHW+hyHRwx5EvfkZLK6jJmNG1xOta09o9hvmNj5uP4JPxOIw/1CS9/o6koHPf7COiUZzGeybjSMWhv1pB2znFebZh4gHUvY4vMQ4mu/9hrB/e3Q+930h1z+yhQt/H0UfDc46LPdCL2jqJyxxN95vFUNKwXb45sXyAvvVHKOpaDHisfxymejSV5qrB7pK2HL4JOeUa857QXoJd3b9JcBXLyxkja75++8mxnIR/7xoTyERNFUbn6n5QVg0aZ/0ROxHKWTurRXxpKJvKbeqo841jv1H6GfASljGTuey7mPk/fWvoEbgYt9K2VNNdfP0j7gj59M9Hqc+9oI65qHAydjcDzBbTfsOccTtlqOfL8Wn1eZB1lZ9koeF5DE7RrP1tPLDMVjXYOtV6T9F5rDOGJE5CnyOdUjWU3G60+L5tri0fxzPLDc/JratHuLWuZUj7L5J5+8su8kub10Dvedu2Af6t/6rXtOtXTGTxbq23MsX8O2aZPBGRQtr31qOKZbczqT3otpOx1eM3rcSUP9ot3oF888jpbXlXNm2wzVr+0dC+vNaU03YvrhtZ+AK/zYNPmnqxxQd5zXPA8Ay5Ux1xD0+eAO+KgoT1CjO/we/6+J8v+QTx3jOMk941KmvdND9L+oT99QzoK9YUP+uso3bw6ytMhmw9jjNXn99IOFjqTq2pcSExNvKXjEWVhMOJx7b/orV+HfKTnQKcVe9YJK/Yc7do92n4ilBEpGch1GPw2nOrAk9/E1zM5Z2BB8TOneGW9es6/IVsO51/LRivvq8LvIR8d4hl5RttAU8mXtgH2Z088EbINEE/IM9ojtS8YcTBxt9N83uF8HqGMSPETKTodx8fcPoG0jXuOF142MI6PlK9HfIq8cXTYz8rKZ+my7LNs955zcKjP0sat+6xjOxjCj1zrnb3Ovezc+PE+wI839ekjfpQ6ZF8O2RGqwo+0dVr4Udur6qgrz0T2OnAV8pxKkecGprZp0m2l6vJDY9wxyMTaSyztnf1Y5Mi+4DXf5l3PJX6y1k/lPdvipNc2tM+H5Z+s20eZNk5izQp0kaH5jfF2zl/nXidd1sko8Ui/fN0g7X0wv63VNdy1vA5p2XHWsm17w7ZsXt1R9WGusaxlm6Xn+p1jP+4S12g7PM8TkjTf0a+rUeOlnTFkp+dKb33c0sMu1VAP+8+Ypx5fYJ7y7BOheYr1Ouo8pfWLOuhh1tyl4x5R56DPRxV6kNY5WKZg6K3RMLamz4ekeVZK/3XyiW557o1Jvic2eeljIrMj4F/SPDuDf6d1hK6jDJbbCWPWcEyhDCTNczHO/FD/nn6pXJd9hfE+Ah+8Qus+TnFaltvVfkeZ7oMcNoMP8sZzlKecypdvS1mMEyP3//G6QVodE0bqkzFhJA4F6df5GirfLNIwZsYBlU9+M0bQC9HmXoG5N8Z3yq6/gwF+uJ9B0mTte9f+TJ77IqcMuchvS2cSvrh3sap1PilPZKzlRNnFoMkzZpnGQdoWHNLZ5D1xSexI50klu5NKTiHbncTQpQ3kTD92DHEY9xIT+3JMoK+NpHkz+uoXMnSzuvmFEnNaNgfiUH2OS1X2Y6Fd24+tWNIW5qSdt4o90bTfyrf1/g2OWYJDNZ7gOPbuFBw2g3Rsa9Z+WK/4ecSVQrv8Zlw6vb/XkSYzplZH0bQZad6boavr+THu33fAn/DFmIUHHfnT5xLMqfKJYz+QgeW96sFRBm3iKcHypwwZSJoPYqz+Y2B1aZe0P3zSeB+BD17E8ocgU6e4iC2NpcuW6c2QA3EzeeMZg1NO5cu3paybIW+5/wtg+d2qTqQ+hX7GdyT9Ot8RlW8WaahD7VP55DdjVn4Ube6TFWH5/QF+6N8habjfXuYKSR+aRzxtOKF5hLSnxVUg9pP3xCyedoVY0R4rec7iGTG/YBXqVXp9kvjS0wZMO6zwoe2wxJZbozBGljT/mDL3hHzHLwFL6zWNuvqnpNlFiaXXgn+I5R8xE62Oxe84li1jHOk7GsPF4EfSXNf3zQphOB1vRq/7JfwJDmdcIC87p4XhhBbrbKkdKfx5Yziv2C/E1oLhThgykDS74X93c/+eGI16/jHjfQQ+eIUwnJPNtOWID9u0T0q72m/wpnGWR/nybSlrL+Qt97dMD9JKOkkj9Sn0J31U8Dzp1/mOqHyzSEMbu8ZK8pv27ANoc9KmvDHcgQA/9FGQNDJmefvfaHuSjm86Fa1eX7N8jSTN6ZTxLIRHJW9Vdo1GNMyz/D4EOuVZjGcyt9MXT97XEY+OatPnXhNdt/RpW+s+0dpvcq3YQD33ytG2qfHKMdApaR6Qgce0n6vInHhMr+F77r8hVtb8cQ+bpHlIBh5zqoeut77QAK+0qVEGkuaRmBsfBbylff+S91eM9xH44EU8Rh9dp/Gy5Y1xQ2fIkjfPsxUOqW9LWbSFy/1l4DFt99a+Elx/IP0634LKx/XkGPmyYoIux31Em7sCPOaJfeIAP8RjkqYKXz1rfrDsNFJfGo/R30nSPCkDj2n7Bn13OZ97zokh311iFe27G/K/n10HvrQhrLLW/AZpY5I89CU8ZvDYMHiMHXkM6QIx6EyLoeiBx/LYx16U0z4mMk+zj5Fn9p0j6pl33YTmjRh0al9Hb9ul9rW06kbSvDKjbvS6iMicdaPnyigatv1atk2vOK9p/M8Z/L86A0t7xazwxtIxeKVtkzKQND8FXPMzGbbNXzbeR+CDF7E0fS+c1uVbjn6sQ+ub0q4OGrxpf1CP8uXbUtZ+yFvu3wIsrdeLpT6F/qQPCwYn/TrfEZVvNlq9Rm9hcPktdZPI7w1oc78MLN3Ad7x0Ic0PsbSkoX40adum0JJm25Q07xjRtsm4M9Z5sZ46aWhdkD4BV8/bwzPBW7TLrrW4M5bP7XHwY9k2P2jENKbfqN6/JHl51hd1s7LHpY76tpYJ2+wfoN9vuX41X+tln28d9aC0OBJpehB16ygqd76OfWRiruFLv4ghJ0nziQwc6Hleeezz7SG/JsGBZwwZSJq/RN/8a+A8jfmT939vvI/ABy/iQOoA6w0Hkre64MAvpuBAqc+8OFD7+46DAz+NNvf3E8KBwg9jhWgcSOzEtUhtv6tTDAHiD5mHuJfGsmPV7YyLUbET8YQ3BuwoPnRMXGKJrZGNyYgvruvTHfJT1Hl1/F+ndewOMViEMiLFv1zcd+eF0zxxFHEb9Q7GR5dy88Qh4RqFE+2dKUVnaM1F0uxLaXMWfyIP2v10/HPiSeJ4S7+8t8YlE5p0+ZxfFmosO+rm1C3W8jqJJ9YYJaaayOdYjWXHuZn9SJ5RV6SuVDb2jdW39RmkpGkeNHn6UjN+A2XHMuXZpv7vuP+beSXNL+A8q/vARnLKkHXDUdaL6ttSlmX7oKzjyE/WDSVrKT9G+Z7tT9vRdPuz6npRyY11/UzU9f1S6pq8PgB5ngHM6+TzUbmdRtcp7TTfmoJb1pOd5rghA0nzCNT/t/Xv6TdCHHjZeB+BD14bdprJ2WkuXT9Iq+0tUp957TR6nW8cO81j0eYuY8zxxE6HAvxQN5M0XH8RrEw/rDqfrVAEC3qug4SwIG0yGgt66iW0AbE8pzi9rdA+2GegD7zRmKu5hiKyoi9Z1bhU+/5qXLoZaZ6TMa+ulz1+xw0ZSJrnoX6fj3kz7r/nvPpK430EPnhxXt3Y41de+fLttD1+r8C8qvfqSX3m3eMXq3zj7PF7EdrcKzGveu7POhDgh/OQpOH5gFXOlzKmskyhb6tKY8XQfE3KeEaMEPf/hvwNPPFNyN+A9SDPuH/Bwgjyvip7UZbf62xkx/9IizlBP8M3ol/cd2bAkyfuCWE24h7LRmv563u2m5C/PtvNopKzt/9JyM7JerbarbW3sS64vAJs2+K4wz2O77zeXR7mGQ163GX7+tTMIO17QJ9TnxySDen8zRrK5kchm/dCN9BjQ0gXXasxDbmmwrWfWD2b9J5z6l8xaIp9aOo52rZ6eX3vD4BfL13Lk98bopXzPecUP0cUrzH49Jx/Q7HCOP9aNih5X9VabkPRqW02tONw/msq+Yb8WT2xWMi/glhMn/c6akwzTz8MrtlHKCNS/ESKTs+1C845o9BUQQyqtifO4/hI+RI3l1RWi3oO+0NIP2I/Kyuf5ZPBPltBHIPUPkvdVfdZx3YwhB9pu/tqDfHjtwM/XtO/p21544zMYZr03JO2t4G4dOOMzOwzMi2c76kDe859xGs6XrV19szN/b633s+eWTRkIGkOYiw63L8nfj0FeZ4y3kfggxcxxsbZM+WVL99OO3vm5MwgrT5DRupzkmfPHEWbOwV7b4zveK0Nan6oH0kay79A0of2gXjqR6F9IMSEeq9XnviAnvpzrGiPlTxDMY28ME6eWNj3BTYbNXZP3eIMVrWPVr6tyw/tQ6+b7LiOkrXfd1E9q0O9V3iW7NCYJN+2xqSmkmcdZcd65/q3Z0y1UWLfC01pse8lze0pOHY6smPfP/falXvqc9ZaHfUUT90ptG5B3Slt3YL9s6Ge1XUvihNNZsyuND/rf5vSfvgtyScy5zgpfNGe6KnnxQH+qONImqdk6HmxE53eep72I18wZCBp/h0w9zOhx0m7pP3qBcb7CHzwop4XRwOZrjc/8hi81cWP/PnQ88qK+1Tmfv/vQ5t7AfQ8T/tlaL+/5UfOsdgTg+j5wfJ30/O99g9jnb4kZTzj+gBjF+g53ntODOGuGHRqv6Vpg2/a8NeLjwWxivanmPQeVdqDib3knv4hkof+IbHB42GDx3vROZE9jpcar1jnRP5CBh4LnRNJPKbPiSTP7DsH1TPvugnNG6ybWNHuuSeBNsu0upE0b8+om9CZKqwbPVdG0bCdzDrj0wlH9tL4P2Lw/64MLO3lF1T1mskxQwaS5r8D1/wWsLI+uzx5/yHjfQQ+eBFL049rvZ3xSd7qcsbnB4Gl9VmdUp95z/g8qPKNc8bn+9DmPgQs7bmfan+AH2JpSRNHA5o88b1eY9f7Qmgb0Fia58dImj/LwNKWb5/k5ZzpqZPG0TDP8ptrcfLM8u07CNrXmm8f1+cEZzbAj65b+oxTX5gHjzp2krVmwvZU9rikY23ofQnUlz6Pfn9sdjVfG3pQMdo99SDq1lFU7nxd5Vn2aTpK1G+LIRzodSa9t36iz3pfMGRwFS/PDuS1rX9Pf1TaVPcY7yPwwYs4kDrAesOB5K0uOHD37CCtxnNSn5M8630abU7aVNU4UOu0Fg4Mna1p+bPWEX/IPETbpGXHqmJ9R2g/rOTJc+oZW3AU7EQ8UfUavGX/FjlrzL6IfFf36KbMPaF9hO9EDId2/znj7p+BLJzW/lvJ97h+n/zb0/8tZSbln0T5ZY+Fe9S3tW8Oabpj50A+S/7y6dC3LkIZvDg3hmRWNk2nctBUxbg2jXJGoYl6jdfZclxjGoUmxsmd96FpeS/UiRw0MVaP13joaR+ZBg/WWYlReWW1rDOcp/BMZGv5WpaVj36vPP9Z8tCfy6mNperB86BT6/iONPXyjqNs915tM/l20+nbbPf03c7TzpoTyke/uqi4TLr6QQgHylxGX1yhhfOpZ39pRsMykd/sLxp/e+Iy6ioV4LAWfR+IF5z6Ryfv3My26dQOOmx3o9DEMeqoD01D48goNNHe13Ck6WgOmhqgyXOPeSMHTRWchdr2tIHQZkf50tespLJ63PNNO2fWmeXMd2zMfByfuNYieahP1MX+EeOZjCtnDNrraLvhHOfVhokHWPcytsg8lOj6L4GN8aXQ+510x25eHZu6jZPe7x6zQngg3qAeUVJZy+OJlEVsr88i1eeme+qNUtaxHPRY+aw9W7QxV2H3SLMx84wxy+7tdS72tKJJyogUnXLNVSAnb4wkPLC9yDO2s1HOaKkyX0lrxab+J2XFoFHmP+4JFlosndSjvzSUTOS3FauKY71T+2nRXsL1kV/F3OdlX06+xxgLm6PVe425HvL1Nw7SvhP+ILKmQT8ly6/Fa74kH5pmKZP7VDnvVbnXUpfPOaRdY9lZtpvQ/uQT6pn3+l7W3D0DPtifPefkk4omXX5of3LdZEfcw34kz7j3Qp/vTAznsZbJWNzEPSxTnm2KhnGedU7hn0Hv+PTsgH+rf8p32D/rUk+0Qa/VNubYP4ds0ycCMijb3npU8cw2ZvUnvRZS9jq85vW4kgf7xefRL150gy2vquZNK24C+6Wle00yXh11L64Hep4ZHJp7ssYFec9xoe1IZ6iO26DTinXkhINaHBtpj4rQ5p3qbdn/tY0yOU7SN0bS/PMOpPWnr0W/Jcbx2IaynXB0d0qVSTmcgmwkzRshm+k+fVaMGvqxVGWrycKFxNTEW3I/j2dpGIx4/F4eh7LnaNfu0fYToYxIyUAu7vdtONWBJ78SH137rM4pXiuIf51qy+H8q+Mr0UenKvye5ywQ2gaaSr60DbA/e+KJkG2AeELHTSDGpg1BxqoK1lA6ef3vKrCNd/P6TtI27jleeNnAOD5SvsR+JZU1ZHNmfwjZwNnPyspn6bLss2z3nnNwqM9avlhcC/DycSJ+pL35G2qIH58C/Hg/Az/S19OyK3rOIyH8aMXgtOx1xL5105VnDH6qkudUijw3MLVNU1Zsd+/yQ2OcFVuevp3S3tmPdRw6z/k273ou8ZO1firv2RYnvbYhz9L853X7KNPGSaxZgS4yNL8x/soTb3Cvky7rRM9vJ4x6OoP57SmY39bqGu5aXoe07Dhr2ba9YVs2r+6o+jDXWNayzdJz/c6xH3eJa7QdnvFRJM0r+nUVisem7T5nDNnpudJbH7f0sFfVUA/7+A2DtK8pME959onQPMV6HXWesmIiTVoPs+Yuued6g95rWJUepHUOlikYWvby6/OhaSf+Lyn918knuvIzqKxYgpLmrRn8r5czqM4YMpA0v4px5h39e/qlcl32/cb7CHzwCq37bJxBNV758u20M6jed8MgrT5LSupzkmdQvRtt7v2Ye2N8p+z6C51Bxf0MOoZoaN+79mfy1q1i9e1YlR/aM2bpTF77N9PmVup28iwGTZ4xiDQO0rbgPGflxI50Snkiu0Ulp5DtTs6XoQ3kPf3BnTiMe4m1z7v2bSGm+wv01fkdq79LHFo3v1BiTsvmQByq4yJWZT8W2vPGb6QvjHWGaBX2W/m2tB+WGffvBYdqPMFx7AspOGwG6djWrP2w96K49mbMyLaiaTPSfCVDVw/FtW+DPys2ulesSeJYfZ7sQdApaTbtCPPnWQ+OMjBjYp4yZCBptsG2fW3/nvvnaX/Ya7yPwAcvYvlDkOl6i4lJ3nSsNo/y5dtSlhUT8+Ydg7SSTtJIfVoxMUm/zmfFxJQ0eWNizqDNSZvyxkqhmJj075A03G8vcwVjYlq2s7r4k8V4JriE2E/eE7N42hViRXus5BmKhS5YJevM13m0nyr3JWo7LLHl1iiMka/GEUiZe0K+46+CTdeKc19H/5Q0uyix9FrwD7H8I2aQh1g69qF9GePosyKlrcTgR9J8XUo747ckn173S/gTHM64QF52TgvDCS08P1HSfNMEMZxnDGdiNY4blIGkeQDm0wcZGI16/u0lYDgnm2nLER+2aZ+UdrXf4E3jLI/y5dtS1l7IW+4fCwwn6SSN1KfQn/RRwfOkX+c7ovLNIg1t7BoryW/asx+CNnd7RRgudFYXfRQkjYxZ3uuaDUWT9iNK0kh9aVzQQD5Jc2fKeBbCo5Z/g6ddI+TfcAh0yrMYz2Rupy+evK8jHh3Vps+9Jrpu6dO21n2itd/kWrGBeu6Vo21T4xWeXyVpnpOBx7Sfq8iceEyv4XvuvyFW1vxxD5uk+aEMPOZUD11vfYFjNXVwykDSvAhz448Ab2nfv+T9TxjvI/DBi3iMPrpO42XLG+NqnH/E4I120imn8uXb+mxT6hk/Djym7d7aV4LrD6Rf59Pnv3M9OUa+rJigy3Ef0eZ+AnjM0/c4DvBDPCZpqvDVs+YHy04j9aXxGP2dJM3PZOAxbd+g764V078K25T8tuLuc4+d5X//Dets/z+xylrzG6SNSfLQl/CYwWPD4DF25FHrP/I7Bp1pMRQ98Fge+9h/y2kfE5mn2cfIM/uOPmfOu25C80YMOrWvo7ftUvtaWnUjaX43o270+rrInHWj58ooGrb9WrZNrzivafzPGfz/UQaW9opZ4Y2lY/BK2yZlIGk+DFzz0Qzb5v8paNuk74XTunzL0Y91aH1T2tVBgzftD+pRvnxbytoPecv9XwNL6/ViqU+hP+nDgsFJv853ROWbjVav0VsYXH5fPSP0nn//C23u/wBLN/AdL11I80MsLWmoH3liL71Glse2SduHpPn8iLZNxp2x8KanThrCm/QJ0GfP0LZp+QkQi9U57gzX3wVn8jxNXbeMZ8Z9RvQb1fuXpO20IRPqZmWPS231bS0TttlrbhzQeuuNq/laL/t866gHpcWRSNODqFtHUbnzdewjE3MNX/pFDDlJml39thjCgV57o7z1E65l024R47mk2Ye+eaB/zzgU3HN0wngfgQ9exIHUAdYbDiRvdcGBCzcO0mo8J/WZFwdqf99xcOARtDlpU1XjQOGHsUI0DiR24lqktt/VKYYA8YfMQ9xLY9mx6nLGBeMRjIKdiCe8MWA7GuZDx8Qlltga2ZiM+OLrUuaeaSOvjv/rtI7dyRsXkPvuPM/M8TwrWJ9JNKv4knLzxCEhDneivUOa9Jkp1rkC35LS5iz+dLxu4l4LTxLHH1PP6uh3OmmfCs4vCzWW3SyeUbdYy+sknlhjlJhqIp9jNZYd52b2I3lGXZG6UtnYN1bf1meQkqZ50OTpS834DZQdy5Rnm/q/4/5v5pU0fw5M/BTYSE4asm44yvqE+rbGZqSJso4jP1k3lKy1D6R3+9PnX+v2Z9W1jr3Lun4z6vr7UuqavD4Hed4EzOtkG6vcTqPrlHaa591L7DTHDRlImhei/n8Ydhjt55C8/3HjfQQ+eG3YaSZnp3lVip1G6jOvneaEyjeOneYlaHM/PiE7jR5HaafhOpEVj6POZysUwYJV7rdoKHlaWNBTL6ENiOU5xelthfbBvgl94BPGXM01FOscnKpxqfb91bh0M9L8Ssa8ul72+B03ZCBpfg31++uYN+P+e86rv2u8j8AHL86rG3v8yitfvp22x+/9mFf1Xj2pz7x7/GKVb5w9fv8Nbe53Ma967s86EOCH85CkkXnVe/1ar73r+LNJGqmvrSoN47RKmg+mjGfECHH/b8gPZpJ7xOgHw/0LFkaQ91XZi7L8XmcjO/6HzH3EazJHMt70J9AvnnbTgCdP3BPCbMQ9lo3Wiq/miYtD8dXYf/WZwt79N2Tn5HqI1W6tvY11weUVYNsWxx3ucfy7G93l0WVb0rYXxhW/Ghdh5yDt34M+r5jq1r7dpOx/rKFsfu+mQdqvQDewzjiydNG1GtOQaypc+4nVs0nvOaf+FYOm2IemnqNtq5fX9/4A+PXStTz5lfM95xQ/RxSvMfj0nH9DMSc5/1o2KHlf1VpuQ9GpbTa043D+ayr5hvxZPbFYyL+CWEyf9zpqTDNPPwyu2UcoI1L8RIpOz7ULzjmj0FRBDKq2J87j+Ej5EjeXVFaLeg77Q0g/Yj8rK5/lk8E+W0Ecg9Q+S91V91nHdjCEH2m7693kXnZu/Phy4Mfz/fu1HIPQW48LxY/fOCMzm6asMzJDscu9dGDPuY94Tcerts6eeVC/7633s2dOGDKQNA/FWPTw/j3xK/cD32G8j8AHL2KMjbNnyitfvp129szFmwZp9RkyUp+TPHvmUWhzd2B+jvEdr7VBzQ/1I0lj+RdI+jqe9ZYVrzorPqCn/hwr2mMlz1BMIy+MkycW9tOAzXSd1/WsFSv2YRXxhOTb1lnMIp9TNZYd11Gy4h7V8VxfPSZUNSbJt60xqankWUfZsd65/l3l3nMdS4x0b1VpThm8vDQFx04beZOx7VdnV+6pz1lrddRTPHWn0LoFdae0dQv2z4Z6Vte9KE40mTG70vysX5fSfvgtyScy5zgpfNGe6KnnxQH+qONImtdn6HmxE53eep72I18wZCBpfgGY+83Q4/R+6OT9O433EfjgRT0vjgYyXW9+5DF4q4sf+a9Dz8vyB5/Efv+3oM29E3qep/0ytN/f8iPnWOyJQfT8oG3D1nx/UtHIOv2tlPGM6wOMXaDneO85MYS7YtCp/ZamDb5pw18vPhbEKtqfYtJ7VGkPJvaSe/qHSB76h8QGj4cNHu9F50T2OF5qvGKdE/nnGXgsdE4k8Zg+J5I8s+8cVM+86yY0b7BuYkW7554E2izT6kbSfCajbkJnqrBu9FwZRcN2MuuMTycc2Uvj/4jB///NwNJefkFVr5kcM2Qgaf4BuOZLwMr67PLk/fadq99H4IMXsTT9uNbbGZ/krS5nfG7bOUirz+qU+sx7xudBlW+cMz7/GW1O2pT3fqr9AX6IpSVNHA1o8sResaJJaGGZUl8aS8fIJ2l29GWZtXcka3+pp04awptci7N82wVvHQTta823j+tzgjMb4EfXLX3GqS/Mg0cdO8laM6GOWva4pGNt6LqjvtSEH/7tO1fztaEHFaPdUw+ibh1F5c7XVZ5ln6ajLKWMm472v663fqLPel8wZCBpbkXfvA9wnvbZTN4/0HgfgQ9exIHUAdYbDiRvdcGBD0jBgVKfkzzr/Ta0uQdOCAdqndbCgaGzNS1/1jriD5mHaJu07FhVrO8I7YeVPGfxjLEFR8FOxBNVr8Fb9u8QZj+BfJLmcSlzT2gf4d8ZsbOi8vhsJd/g+vqW/j3jgMn7dx4apLuyczVdJddBhz5rEcrgxTlH6EhoWnSk6WQOmqoYL6ZRzig0VXG+bN5YXvTJd1pn63IcH4Um+vXNO8nJU9ehbkX5NsFjSWW1qMs3wc8oMWXLykd/Uis+bVVxQkL7Kei3Kc/m/Wnq5R1HKzgvue3pl8V2T5/oPO1sbkL5ErkcRZrbokIy6eoHpOcoaNTxaWjT4Hw66bgc8ox+AF6xRKkDhDDFVMnlWX7FTv2jk3duZtv03JOcx2eLY1TDh6Z23j3JDdAUO9LUyEFTDJq89oXljS9H3wUvPdTT3kadOgYvXCctqawudWXaJrN8RZivOWY+jk9x/+808lCfqOKceKFdftP+Ic9oa5Bx5ZRB+1wNaecc59WGiQdY9zK2yDyU6Prvge3uN/xtL91xznRx0vvbnjqgdaYLsXcUlTue6JgLafZG6ideeqNe2x2FHiuftRdqGnmqsHtMoTyhXX5zjVueEe8d9aGpN61okjIiRadcRyuQkzdGEh7YXuQZ29lRJQP5HU8oHzFRFJWr/0lZ1twociKWs3RSj/4SR8Mykd/UU+UZx/rYh6YW7SVSRjL3fQpzn5d9OfkeYxfQ/r4IGUmanzgwSPs5+FnoM5qt9QXP+ZJ8aJqlTO7/5Lw3yfNzOYe0ayw7y3bDfb/cQ7GgnnlimVHm7plodYxa7zl5UdGky+dYeLLGsiPuYT+SZw080/ECiOHKHjNp9xYfFCmfZcqzTdEwzmNeSXP9rpW/y2f97hrwb/VPvT5ep3qiDXqttjHH/tmy/EC1DMq2tzYUz2xjVn/SayEl0jOkM8i3jyl5sF/E6Be/vsuWV1XzJtuM1S8t3cvTtzOke1l+JlwPPOVIU2juyRoX5D3HBc9zm0N1zHObrRhCTjioZfldJW2+jTbvVG/LfqU8y5jjJGNZSJpHAYcv+dO3LJu2omc5LiPKdsLR3SlVJuVg+Q1thmzugzFWx16hH0tVtposXGjFtyR+pX94GgYjHm+qZ976tZQnPMpv7n+1Yk46YcWeo127R9tPhDIiJQO5eB5Q7FQHnvxK3PF5xc9RxSvrtcp9TvKb86+OW0Qfnarwe8hHh3hGntE2MKfkS9sA+7MnngjZBogn9P4iYmzaEGSsqmANpZPX/64C23g3r++ktVfGY7zwsoFxfKR8if1KKmvI5sz+ELKBs5+Vlc/SZdln2e495+BQn7V8sWLQ5OXjRPxIe/PdNcSPv7d/kPaZBn6kr6dlV/ScR0L4kbZOCz9qe1UddeUZg5+q5DmVIs8NTG3TpNtK1eWHxrgmZCL39O3UsS05R7EvxI6051nPJX6y1k/lPdvipNc25Fma/7xuH2XaOIk1K9BFhuY3xkb+yV3uddJlnej5bcGopxdifvtpzG9rdQ13La9DWnactWzb3rAtm1d3VH2Yayxr2WbpuX7n2I+7xDXaDj8PGUia3+7XVSjOmbb7nDJkp+dKb33c0sN+t4Z62HnMU39QYJ7y7BNZ51Tnmae0flEHPcyau+Se6w16r2FVepDWOVhm3L/fGg1ja/p8SJpPpPRf1kMUlTt+ee2NSb4nNnnpYyIzxsGWNH+Zwb9XHB1HGQzFz9wcDY8plIGk+RT8Gz7Tv6dfKtdlv2y8j8AHr9C6j9P5S8vtyin2zbJMGV9lM/ggbzqGjEf58m0pay/kLfdf2jVIK+kkjdSn0J+MYxKriPTrfLHKN4s0jGun48DIb56N9Xm0uS9j7vWMk3IgwE8T/EiarH3vMgfQTtdwpF3LRX5bOlPc/8u9i1Wt80l5ImMtJ8qugjMghvRS+bZ1Bqmls8l74pLYkc7QOa8x6NRnvzri1dzrh/Qp99xLnWevGuvOq43l3UvNdh870pQnflwMmpzGsdz7lhugySuWj+d4yPE37v/l+EcdJ8+4OW4+rtHG/b/Uwzi2eM5pIT2Mc5pl83OiqZd3vGP79GpDnmtIbJ9cu8jTzpoTypfIhbEibosKycTctydlcc1M2ze4Bsp5z7O/NKNhmchv9hd5RlzqGbfFil3DuX+q5PIsTObUPzp551C2Tad20GG7G4UmjlFePnIcR0ahifsAvNZAuOYyCk1t0OQVk5i251FoquBck+X5xSsm/TR4oHwZv7aksno8l5k2oKzzx5jv2Jj5OD5x3VLyEPc7tTHTziG/eVabPGMsEhlXFgzamzWk3cK49O/Ta66Jreny7sH9ld0DnuoYW2Wt6jxWbJUSsJq+etRjGCdtlNgqHusaRWO9WPk4llixVTiW1CW2CnU0J/tP7tgqVfiEea750bbE9qLjM05F4biORyeUj/atKCpXR5OyYtCodR/6NXL+8jyf+mg0LBP5bcVYr8AXfsgvT8pI5r4XY+5zmmfM2Crad4G+AzfvHaR9eZ8++jvwfIBF9cxzvpyKwj5AUmbIB2jSMUssPFo32VnxX+kX1ATt1rlUk/Zp1P7U3nNy6Mxc60yvxRrLjriH/Ujv+7Z8b4jhyh4zk+8dB93EPSxTnm2KhnEe80qat0DveM/uAf9W/9Trk3WqJ+79WqttzLF/tkJ7PCmDsm2iOjYI25jVn6iPlUyPGVvFOrdO0vw2+sXj9tjyqmreZJux+qWle3nGaQ/pXlyXkGdVxXMLzT1Z44Lem+Rp+02rY/q/Wz6zTjhoKLYKzxv6MHC4p99xKLYK/Y4lzYduHqT9U3/6gntjP4ayvfYlpOkoi5CNpPl+yOZ/Y4zVZ2EnPJ1QzyaNC4mpibfkvoFnaRiMeNza8+ipX4fiSPDsTX12jSNWdI+tkseviH6oXvYoT35DsVXmFK+sV8/5N2TL4fxr2WjlfVX4PXTGDfGMtfeqqeRL2wD7syeeCNkGiCfkGe2RMlbRhqD3FnnatvL6ClVgG+9yzhmFpir27nvawDg+Ur4e5zZavi5pNnBrz/q4+SxdNhSDw3MODvVZ2rh1n3VsB0P4kfvA9+1xLzs3frwf8OOhPn3Ej1x7t+yKnvNICD/S1mnhR22vqqOuPGPwU5U8p1LkuYGpbZp0W6m6/NAYxz2ici9YxNqfwTmKfcFzj2ie9VziJ2v9VN6zLU56bUOeEYdLHYTaR5k2TmLNCnSRoflNykjmj2/Y414nXdZJWmyVq2kwv90P89taXcNdy+uQlh1nLdu2N2zL5tUdVR/mGstatll6rt859uMucU1abBVJ8139ugrFVtF2HysGh54rvfVxSw+7q4Z62K/sGaR9WoF5qs4x0jlPaf2iDnpYWmwVrjdIngZor0IP0joHyxQMLbFV9NnZtBM/L6X/sh6iqNzxq8rYKiIzK7bKCzP4Xy+xVU4aMpA0L8Y489L+Pf1SuS77WuN9BD54hdZ9NmKrjFe+fDsttspP7hmkLSu2ylGVb5zYKq9Am3st5t4Y3ym7/g4E+OF+BkmTprdb/kzeulWsvh2r8qkzCV8hncnzHILQ3ErdTp7FoGnSsVUsnU3eE5fEjnQWia2S0Hmmf08byLv7gxJxWAO0E/tyTKCvjaT5VfTVf8nQzermF5oVz5U41Ip9XIX9WGjX9mNiTmJTjTlp56X/ZBX2W/m23r/BMUvH+GuDZ0nz/hQcNoN0bGuH1LOEZ899n4dAEzHkQdAp+OqQP01dzmm6HxP/SZoPZujqodhjbfAnfB0Af057s7vEscLfnCqfOPajGVjeqx4cZdAmnhIsv2jIQNJ8DGP1J4DVpV3S/vC3xvsIfPAiluee/70+fLc0li5bpnsgB+Jm8rYb5U85lS/flrL2QN5y/zlgeUknaaQ+hf6kjwrOJv0632GVbxZpqEPtVfnkt9RNIr9Pos39bUVYfl+AH/p3SBrGD5C5QtKH5hFPG05oHiHt8izGM8ElxH7ynpjF064QK9pjJc/ZyNZNBKtQr9Lrk8SXnjZga31E22GJLbdGYYwsaa7pdwhr7gn5jt8FLK3XNOrqn5JmFyWWXgv+IZZ/xAzyEEvHPrQvYxzpOxrDxeBH0uxOaWf8luTT634Jf4LDD4M/LzunheGElkOg82rsmhT+vDGcV/wiYmvBcAuGDCRNDP+Eo/17YjTq+W3jfQQ+eIUwnJPNtOWID9u0T0q72mfwpnGWR/nybSnrZshb7ls3D9JKOkkj9Sn0J31U8Dzp1/kOq3yzSEMbu8ZK8pv27GNoc9KmvDHc/gA/9FGQNPTR9fS/0fYkHQvCWl+zfI0kzYWU8SyERyVvVXaNo4pn+c14VvIsxjOZ2+mLJ+/riEdHtelzr4muW/q0rXWfaO03uVZsoI409Wjb1HiFZ5NImkdm4DHt56rPDCMu5V4Xr/03xMqaP+5hkzS3Z+Axp3roeusLR8ErbWqUgaR5HObGO4C3tO9f8v4pxvsIfPAiHqOPrtN42fLGuBrnHzZ4o510yql8+baOy0g948nAY9rurX0luP5A+nW+eZWP68kx8mkdTa8ZLMd9RJt7CvCYJ/aJA/wQj0maKnz1rPnBstNIfWk8Rn8nSfOsDDym7Rv03eV87jknhnx3iVW0727I/37fOvClDWGVteY32MAzyUNfwmMGj0cNHmNHHkO6QAw602IoeuCxPPaxV+a0j4nM0+xj5Jl957B65l03oXkjBp3a19Hbdql9La26kTSvy6gbvS4iMmfd6LkyioZtv5Zt0yvOaxr/cwb/b8jA0l4xK7yxdAxeadukDCTNm4Br/kuGbfNdBW2b9L1wWpdvOfqxDq1vSrs6YPCm/UE9ypdvS1n7IG+5fyewtF4vlvoU+pM+LBic9Ot8h1W+2Wj1Gr2FweW31E0iv19Gm3sXsLSnf9TBAD/E0jo2fx1sm0JLmm3z6rnKI9o2GXdG8nLO9NRJQ+uC9AmQZ1bcGdpl11rcGa6/C848Dn4s2+bHjJjGDfCo9y9JXp6dQd2s7HGprb6tZcI2+yfo9zv2ruZrvezzraMelBZHIk0Pom4dReXO17GPTMw1fH12HeeAT2fgQK+9Ud76CdeyabeI8VzSfB598++A8zTmT97LxM/3EfjgRRxIHWC94UDyVhcc+NUUHCj1mRcHan/fcXDg36PNyUeqxoHCD2OFpJ3RxLVIbb9LaK9LDAHiD5mHuJfGsmPV5YwLxiMYBTsRT3hjwLbiQ8fEJZbYGtmYjPhid5/ukJ+izqvj/zqtY3doi45QRqT4l4v77jzPzPHCUcRtbH/kS8rNwlvMt4j8TrR3SJO2e1nnCjRT2pzFn7VGruOfE08Sx1v65b01LpnQpMvn/DJfY9lRN6dusZbXSarYkyc0WTHVRD7Haiw7zs3sR/KMuiJ1pbKxb6y+fVjJkzQ1QJOnLzXjN1B2LFOeber/jvu/mVfSvB3nWd0PNpIThqyPOsp6QX1bYzMrBry3Tq99hKT8GOV7tr8T6tu6/Vl1rWPvsq6fi7p+WEpdk9dHIs8PAvN6nUFRtZ1G1yntNI9NwS3ryU5z3JCBpPkO1P9F2GG0n0Py/snG+wh88Nqw00zOTnPX3kFabW+R+sxrp1lQ+cax01xGm3vyhOw0ehylnYbrL1Y8jjqfrVAEC3r6g4WwIO1jGgt66iW0AbE8pzi9rdA+2B9EH3ibMVdzDcU6B6dqXKp9fzUu3Yw0L8qYV9fLHr/jhgwkzUtQvy/DvBn333NefZ3xPgIfvDivbuzxK698+XbaHr/XYl7Ve/WkPvPu8YtVvnH2+L0Sbe51mFc992ftD/DDeUjS8HzAKudLvVbNeWmrSmPF0Pz5lPGMGCHu/w35XXvim5DfNetBnnH/goUR5H1V9qIsv9fZyI7/IXOfFXOCPi9vQ7+4/74BT564J4TZiHssG60VX82z3YTiq7Hd6DOFvf1PQnZO1rPVbq29jXXB5RVg2xbHHe5xfO9ed3l02Za07WUeMpI0X9w3SPt7oM8rprq1bzcp+w9qKJufgmw+CN3AOuPI0kXXakxDrqlw7SdWz7wxjZQnPMpv7hfRaxqee2QcbVu9vL73+8Gvl67lya+c7zmn+DmseI3Bp+f8G4oVxvnXskHJ+6rWckN2HMvfhvNfU8k35M/qicXmFe3zSp70r6DfeBq+rODMpQ7X7COUESl+IkWn59oF55xRaKogBlXbE+dxfKR8iZtLKqtFPYf9IaQfsZ+Vlc/yyWCfrSCOQWqfpe6q+6xjOxjCj7TdXbfPvezc+PHxwI+z/fu1HIPQW48LxY+3fNGISzfOyMw+IzMUu9xLB/ac+4jXdLxq6+yZo/2+t97PnlkwZCBpjmMsWujfE79yP/B5430EPngRY2ycPVNe+fLttLNnzu0bpNVnyEh9TvLsmVNoc+cxP8f4jtfaoOaH+pGksfwLJH1oH4infhTaB0JMqPd65YkP6Kk/x4r2WMkzFNPIC+PkiYV9f2CztXLWihX7sIp4QvJt6yxmax963WTHdZSsuEd1PNfXipFVxZgk37bGpKaSZx1lx3rn+rfn3vNQ7HuWmSf2/ZUUHBuKff9ixBmQ71hrddRTPHWn0LoFdae0dQv2z7rtp6hDzK40P+t/l9J++C3JJzLnOCl80Z7oqefFAf6o40ia78vQ82InOr31PO1HPm/IQNL8ADD3c6HH6f3QyfuXG+8j8MGLel4cDWS63vzIY/BWFz/yl0HPy/IHn8R+/xegzb0cep6n/TK039/yI+dY7IlB9Pxg+bvp+V77h7FOfzxlPOP6AGMX6Dnee04M4a4YdGq/pWmDb9rw14uPBbGK9qfw1sez9qjSHkzsJfcNPJM89A+JDR4PGTzei86J7HG81HjFOify7Rl4LHROJPGYPieSPLPvHFDPvOsmNG+wbmJFuyNNXdos0+pG0vxGRt2EzlRh3ei5MoqG7WTWGZ9OOLKXxv9hg//3ZWBpL7+gqtdMjhkykDQfAK75Q2BlfXZ58v7jxvsIfPAilqYf13o745O81eWMz48BS+uzOqU+857xeUDlG+eMzw+hzX0cWNpzP9W+AD/E0pImjgY0eeJ7vcau94XQNqCxNM+PkTR/nYGlLd8+ycs501MnjaNhnuU31+LkmeXbdwC0rzXfPq7PCc7kWpyuW/qMU19ogEf6B1lrFroNlz0u6Vgbel8C9aUvo9+396/ma0MPKka7px5E3TqKyp2vqzzLPk1Hme63xRAO9DqT3ls/0We9zxsykDQ79g/kdVP/nv6otKk2jPcR+OBFHEgdYL3hQPJWFxwY7x+k1XhO6nOSZ73vQZuTNlU1DtQ6rYUDQ2drWv6sdcQfMg/RNmnZsapY3xHaDyl58px6xhYcBTsRT1S9Bm/Zv0XOGrPz3ANJczZl7gntI3wvMKGOJ5uUr+Pqy5o5Y3JJmvugD/7g/tXftfwd5FkdfUWIJ7lmoPFPQnvTkfaQ/3QTdOp9DsRpxJiSpwHaY0faNVbV5zAlz2XMkzYu7xgnWNI8OKWNzyAd29oh9exeZmc3MWxb0UQM+20pMua3JJ/InHFxLVutF/alnVLH+WHsG0nzrzMwumecHycZmBj9pCEDSXMRY/WdBgY/BXk+tSBGZyyc9YbRyVtdMPpTUjC61OckMfp3os09FRjrCL5TFUann7WkIc7Vaz3W3o+Eds8Y+0cV7fKbfvh6P3XyTPsuTUerz23wxuhHFO1a57HiyDDuiIXbBbsQX3rXwalomA/tM0psqX1SiZElzQsyMLrOm/D6u7tW7q0zaK14/d72zZDuSOyZtheRWLqpnnnbN5uKdvlt2TeJr7XeG4pl6DSWmTGC9XlhHN9elYHhtO+qtDdiuLh/X8FeeBPDCS1WrMbXThDDVRmrccGQgaT5Wcynrzcw2iLk+bYSMNxGrMbxypdvp8Vq/BVgOB1zUeozb6zGwyrfOLEa34g297aKMFzId4jnPUmaOBrQ5Gk/jRVN+szKJI0+/8g6g1rSvCtlPAvhUY0FvO0ai9Ewz/L7IOjU51USj86D9jrjUWJPvSZLPMr1dl23Sf/4SeA2Hd+R9cf1dU8baKj+LBuodbbnWrOBOtLUo36m8UoTdEqaP8nAY1rXE5kTjwlf9M93wspdYmXNH33vJc0nMvCYUz10vfWFGLzSpkYZSJq/xNz418Bb0i6p0/298T4CH7yIx5qQqdN42fLGuBrnW3F7aSedcipfvq19ralnfBF4TNu9pT4ZX1HmENKv8+n9aIyxQBwVioPFWC6fRpv7e+AxnnXtPZcKP8Rjei71ttPo+cGy00h9aTxG/0dJ888ZeEzbN6aj1XO895yobVPym1hFnvHMU8130nbuNrAKbUwW1vTE1yGswrXZUbGKtjvV3T5mnSnYwLOmwWNs8Oipk0l5wqP8PgI69X5vR5p6ee1j+/oD7qj2MZF5mn2MPLPvaL8g77oJzRusm6ai3dt2qeOPWXVz1Y8oo270+rrInHWj58rl7+I+Nvh3wpG9NP6PGvwvpvDviM163liadU3bJmUgaVoHBvLq9O9Dts2vN95H4IMXsTR9L9bbvnzyVpd9+bcdGKTV68VSn3n35R9W+cbZl38WbU7alLd/1MEAP8TSkob6kSf2aiqa8tg2afuQNPdPGc9o2xTcGcKbnjppCG/SJ0Cecf1dx9FkHDxisVOOtIfi4J0CnVYcPOvcD8GZjHmk63Y5PiH0BX3GOnUTGZek7bQhE+pmZY9LbfVtLRO22W9Hv3/FgdV8EcudVM+8de1Q3VLnEZ5O4plug3XVgywb9Ch6EHXrKCp3vq5yDV/vV+Mc8KQMHOh5zq+nfqLjM50yZCBpnoa++XTgPI35k/fPM95H4IMXceDGOb/llT8KDnxuCg6U+syLA7W/7zg48Floc8+bEA4UfrgfR+NAYieuRWr7XUJ725H2kB2SGFaexXgm8xDjn8r7qvzBYkV7rOTJPeSLeDYKdiKe8MaA7WiYD332LrHE1sjGZMQXr0qZe6aNvMv7pnYNeHVax+5QN4hQRqT4l0vo8NSZPHEUcRvb3zzkLuVm4S3mIw53or0zFa2OKaDjSZPOn8+w+2n+RB6MsyXt18KTxPFN9ayOfqeT9qng/DJfY9lZ52qu9XWS2JGm0L6CGPJMO8+wLrLj3Mx+JM+oK1JXKhv7HlHf1ucAkybG8vf0pWZ8LsqOZcqzTf3f2ieO+W7tg8/lc09hI1k0ZB07ylrHiJGyrDVgytpTp4+jYVlrH0jv9reovq3bn1XXC0purOttqOsPp9Q1ef0T6ExbDw74drKNVW6n0XVKO83H7yV2mmOGDCTNJ1H/fwU7jPZzSN5/0XgfgQ9eG3aaydlpvpBip5H6zGun0fG3x7HTfApt7osTstPocZR2Gq4T6dgb9KGuKgZGCO/ThiHPYjwbFQtWud8iVvK0sKCnXkIbEMujvlZi322F9sFuxVx9oX9vYSAr5t8kcKn2/ZXyrT1+s/2b9b7H75ghA0mzE/W7u3/P/TOcV5vG+wh88OK8urHHr7zy5dtpe/zmDg7S6r16Up959/gdUfnG2eO3D22uCSzvuT9rf4CfGPxIGp5H5bl+rdfeZUxlmVJfW1UankclaU6mjGfECIxdavnBTHKPGP1guH/Bwgjyvip7UZbfK88Np+1Q5j7iNZkjGSvtAvrFB9AvPHFPCLMR91g2Wiu+WuxIZ55zTao64zlk5+R6iNVurb2NdcHlFWDbFscd7nF84EF3eZhnxusxiO3rmYcGab/Vv0+2rH27SdkPq6FsboFsvg26gR4bQrroJNeexolpyDUVrv3Ubc859S/air32yDjatnp5fe951oWXruXJ7w33fGNntPr878OKV9Zr7MQnbbVStvyWMkM2KHlf1VpurOiU35a/Dec/y8/a8metY8zkUWKaefphcM0+QhmR4idSdHquXXDOGYWmCmJQtT1xHsdHype4uaSyWtRz2B9C+hH7WVn5LJ8M9lm2e885ONRnqbvqPuvYDobwI213L64hfvws9N2XG7bltRaD0FuP03PPeoqBWJU+IN9Oi8HY8JdTy3PuI17T8aqtM6pfn7EO4rVe4z0267MFFwwZSJpfwFj0ZqxzxP333A/8TuN9BD54EWNw/HfSG1qOayxtrrdLu9pv8KbXKjzKl29LWXshb7n/dayDSDpJI/Up9PN8UNKv88Uq3yzS0GdErzfIb/pnvAVt7p2Ynz1t2KEzbKkfSRrLv0DSh2zAnnsVQzZg+kbo/W554gPGjrSHbDUx6LRiGnlhnDyxsD8AbKb3p4baQRU4SGRp4SAr9mEV8YTk27p89qGTNZYd+1BW3CN9dk0d6l2fseNd7zrmmC6f489ijWXHeuf6d5V7z08pOZHurSrNSYOXT6fg2Gkj77KP386Ve+pzTeSx9BRP3Sm0bkHdKW3dYiNm19XLjNmV5mf95ZT2w29JPpE5x8m4f097oqeedyTAH3Wcq9jjUJg/x3pw1/O0H/m8IYOr+jDWLLf177mfn/arPcb7CHzwop7HNZn15kdO3uriR7770CBtlj/4JPb7T6PNSZvytl+G9vtbfuRxNKDJE4PEiiZtG7bm+0VF45AdJ2U84/qA8E7cxfncc04M4S7qp9pvadrgmzb89eJjQayi/Sm89fGQ71YMOi27tdzTP0TyNPDsiMHjIYPHe9E5kT2OlxqvWOdE3prSv62xV2ROPKbPiSTP7DsH1DPvugnNG6wbHevbkaYubZZpdSNpvimjbkJnqrBu9FwZRcN2MuuMTycc2Uvj/7DB/4MysLSXX1DVayZNQwaS5qHANQ8HVpb6YpyaO4z3EfjgRSxNP671dsYneavLGZ8XgaX1WZ1Sn3nP+Dyg8o1zxuej0ObuAJb23E+1L8APsbSkoX7kib30eoLQwjKlvjSWpu1D0nxXBpYedX+pp04awptci7N82wVvHQDta823j+tzgjNj8KPrlj7j1BcYQ5X+QdaahdZRyx6XdKwNXXfUl56Nfv+2Q6v52tCDitHuqQdRt46icufrKs+yT9NRXpKBA73OpPfWT/RZ7/OGDCTNK9A3fxQ4T/tsJu9/zngfgQ9exIHUAdYbDiRvdcGBP5uCA6U+J3nW+4+jzf3chHCg1mktHBg6W9PyZ60j/pB5iLZJy45VxfqO0H5IyXMWz5p4Ngp2Ip6oeg3esn+HMPsC8kmad6TMPaF9hA+E7+KZ/nPGWH03xudO//kZvH8PZMWYsLf1/7bGvJLvnoA8yrSdkOcIZfDinMO+6RVb97poMK595+W7H3j5Wd928bufcOni3U+460kPu/yUp19+2t1TKPqMIpPvQqxswrPrcd823vPajvQe3eGUovWUotGxKXQdh9uepVpp9ZlD8AcyTKl66JY2IN+cgcy4FeGMD38dutKQzkjRKdcZ0OQ0vHbydm3KyWva5TQ/Ck1Uu4870rSQgyaGbXJSoZe36h3PQROXbr2W0JNvzznWQVPJl8vVDKXfVDKQ33MO+RhGX+iaRh55521OmVO06xAaFix1pKmXd7xj+/RqQ55uiGyfPOIpTzs7OqF8iVwaSHNbVEgmXf2A9DRAo8w5PFpMaOG859lfQiY89hfLrOiED1pUJUNz/1TJ5VlbMZ36RyfvHMq26dQOOnldFDlGxT40DY0jo9AUgyYvl6y8W/a4nOe1DZLbkUahia46XmYXT/MyTUiWq2xUWlndJZqGaIrPco1ivvaY+axtadPIQ9zvab7ULqHym+Y+eUbTmowrpwzaj9aQ9irc64gHWPdx/576//zhwf3C4QFtJ31o6+bVhbndx8vM5bmVaBo8EG+cAI/llLUynugtkFNR9jGaxD/l0bOCffSRRKPQY+XjOCVytMzIjm03NUQotyPLM+qkTjaT3rSiScqIFJ1yHa9ATp62D9pj2F70kXRT0bDdZnNkbymuMh917igqV/+TsmhD0dsq6H7CudHLnsclI5GJDmFIt6gKQhsvhyBqq3pJ5r6HYu5zmmc6XCMR27vQwqOZJc3n40HaR/bpS+zpsvRFd7cz6pnnfEk+NM08jk5447znpNebx0Dq8jmHdGosO9pu2pCnPOOWoZPqmSeWGWXuto7k9p6TQ2t1nJO13auOsiPusY51jPFMu9Q6rl+1ku+dAN3EPSxTnm2KhnEe80qau6F3PPfwgH+rf1phE+pST9Sj12obc+yfQ7bpUOiGsu2tseKZbczqT3otv0R6zCPqdKgV9ot/j34xd8SWV1XzJtuM1S8t3cvJJyJV9zoBOuUZj/id9PHf1rgg7zkudBzpDNVxB3RqLOqIg1ocG6WMpM2/Cjjcqd6W3ag7KJPjJI8DlzS/EA/Svsafvhbd2+j+9jqU7YSju1OqTMqB/l2S5tHxIO3PYoyV99RRTqlnk8aFxNTEW3LfxLM0DEY8Pq+eeevX84pH+c2tD/qIFEes2HNcH+vl9cXh+o2nL44XvxJmX2+fOq54Zb16zr8hWw7nX+nb0v+no9X+hd545oSiU34Tz8gz2gb0tiHaBtifPfFEyDZAPCHPaI+UsYo2hLh/X8EaSofzeYQyIsVPpOh0HB+7eX2jaBv3HC+8bGAcHylfD1d42pzZH0I2cPazsvJZuiz7LNu95xwc6rO0ces+6+njFNoe8b9qiB+PxIO0f27gR4YjteyKnvNICD/S1mnhR22vqqOuPGPwU5U8p1LkuYGpbZp0W6m6/NAYNw+ZyL1gEStsK+eo0Fb+smnPs55L/GStn8p7tsVJr23IM+JwqYNQ+yjTxmn5FjmOb0Pzm5SxfBz4Efc66bJO9Px20qinjx0ZpL2uf7+W13DX8jqkZcdZy7btDduyeXVH1Ye5xrKWbZae63eO/bhLXKPt8IuQgaQ51a+r0F5UbfdpG7LTc6W3Pm7pYZ0j7mXn1sN+BPPU2QLzlGefCM1TrNdR5ymtX9RBD7PmLrmP8UzyNEF7FXqQ1jlYpg4JcVzxRzvx/VL6r49P9Mr41fCRkRniXmTWAP+S5kEZ/HuGuHeSwXI7YfhNjimUgaR5KMaZh/fv6ZfKddk7jPcR+OAVWvdx2mPR4p4gD5nqcK8HDd50GHqP8uXbUhZDb8n9xSODtDoMkdQnQwfLvhjSr/MdU/kYvoh7eUJ7bxgm7VFoc3dg7vXa/zwVrd6LZYV+lDRpervlz+StW2m56COCssLCExfEjnSG5tYYdMqzqkJpjnLkkqWzyXviEs/2GQr9z/0Dlu2u27+nDeQZ/ni2RywdoYxI8SEXfc691ms97TPE2dSj5dktKDePP3mrYL7TBfNJe0n4uVbxkzy7rn9PXeUFmPe3959fizzb+vfX4dmm/v12PLumf78N36Cu0DR40rpS2+DzpZhPPpxhP6ib7zL1IssuRl3phHpW1RqH0K7XOKgXUX/SehHXImLQXsUag3xb2g/LlLFVdCWNeTnX/lSKrjCDdGxrR9SzhGfP0IehY0MPg07RAY7402QeLd1RNG1Gmjdm2JM0hhOZd8Cf8MW4B16xGKhrCX/HVfnUtX4pQ9/0qgdHGZjHQJwxZCBp3oax+r9iXpF2yXnnd4z3EfjgRazB4/TW29HZ5K0uR2f/NvRNfQS21Gfeo7MbKt84R2f/Otrc71Skbx4I8EMfJH1MHjG+pA/NI552xtA8Qtr1kVXUo6ifyHtiFk/bVygeXAN0WvqzYBXq/nH/XrAL8aXnOgXXCoQPvVZAbLk1CmNkSfNnKXNPaH9DB1har7vV1YcqzXa/1nyYLB+eGeSJQbvTWLaMcaTvaAw3B34kzecyMFxDyUGvTSf8CQ5vgD8vW7yF4YQW69jfL0wQw3kePamPxT1pyEDS/CPm0y8bGI22qGvj1e8j8MErhOHW27G45K0ux+Jujwdp9ZEKUp95j8VtqHzjHIv7L2hz0qa8MdzBAD+0/0ka+pF7rr3rPT/a1y1JI/WlccEx5JM0N8Yrf0NHeVl41PLB8bRrhHxwGHdOnmXF26kzHh113Yn7oXTd0u9yrfvta9/etWID9dzPSdumxivzoPOq/3S88jeEx7QvtsiceEz7mXjuESNW1vxxn6Wk6cZh/hzroeutL3Cspk2NMpA05+OBvG7t31M/o053f+N9BD54EY/Rj9xpvGx5Y1yN8xsGb7STTjmVL9/WRxNRz/jmeJBW2721Pw/XH0i/zreo8tHngThK62h6zSCR333jwb20KW//+LkAP8Rjei71XG9OvqfXXrUdhXOIxmP0+5Q0D41X/obwmLZvcE7kfD7JOZH7ubkPNG0P5HqJUbGWfVubeCZ5YjybN3i04ld66mShmAdzoDMtzqcHHstjH3tivPJ3VPuYyDzNPkae2Xca6pl33YTmDdaN9sf1tl1qf2CrbiTNM+OVv6G60esiInPWjZ4ro2jY9mvZNr1iEafxf9zg/zlxmH9HbNbzxtKsa9o2KQNJ87x4IK/n9+85ztG2+UrjfQQ+eBFLV3BOhOexx0Prm9KurDMatM+yR/nybSnrAOQt96+IB2n1erHUp9Cf9GHB4KRf5zum8s1Gq9foLQyuz4BI5PeieHAvbaqqPQKaH2JpSUP9yBN76TWyPLZN2j4kzWvilb9Ztk3GRrLwpqdOGsKb9AmQZ1ZsJPp71zk2EnVOwZlcf4/79yfAj65bxtzjXrgmeNR77KTtdCATrqGXPS511Le1TNhm3xIPaP2beDVf62Uveh31IMsGPYoeRN06isqdr6tcw5d+Yeko/z1e+RvCgU7zUtdbP+FaNu1oli7w3nggr/f37xkrhfviPmq8j8AHL+JA6gDrDQeSt7rgwI/Eg7Qaz0l95sWB2t93HBz4gXhwL23K20/+cIAfxrPROJDYiWuR2n6X0F6XOBeMLWTt96rzOSzcxzMKdiKe8MaAHcWHjttMLLE1sjEZ8cXn4pW/IT9FnVfHqHZax859jjn3hnqe6+SFo4jb2P70mssoeIv5rodcnGjvkCZ9ro919sVX4pW/Ibuf5k/kYZ0FY+FJ4vh59ayOfqd1WD9aUPKso+x4djF1i7W8TjLpuH8in/kay45zM/uRPItBJ3WlsrHvnPp2Q8mTNDVBk6cvdQNyo+xYpjzb1P+tfeKY78X9h8k4fqQx4OuUIetjjrI+qb6tsRlpoqw9dXrtI6R9IL3b3yn1bd3+rLrW8aFZ17ejrk+k1DV5PYU8j20M+HayjVVup9F1SjtNp3+z3u00JwwZSJpzqP8L/XvqCcSB32y8j8AHrw07zeTsNPdrDNJqe4vUZ147zUmVbxw7zdeizX0zxpwq7TR6HKWdxjpfk/7f1lqCpz0+tJZA/dA6Q2NULFjlfgt9Nq6FBT31EtqAWB71tRL7biu0D/ax6AP/wZiruYZindVUNS7Vvr8al25Gmjsy5tX1ssfvhCEDSfOdqN8nYN7Ue6eT98803kfggxfn1Y09fuWVL99O2+P3DMyreq+e1GfePX5zKt84e/yeiDb3TMyrTjjW3OMn/HAekjRVnZut5xzt/0Eb2laVhjqhpPn+lPGMGEF4D/nBeGKEkB8MMYI8a+CZhRHkfVX2ooaivaHkORvZ8T9k7mNbi/v3jIn+H9AvGkcHPHninpCNlrjHstFa8dU8cXEovhplqs+99m7LITsn27LVbq29jZ77MvOcy1cBtm1x3OEex9c23OXRZVvStpdFyEjS/P7RQdqfAX1ecf+tfbtJ2a+voWyeBdm8EbqBdQ6XdRblJNeexolpyDUVrv3Ubc859S/air32yDjatnp544ocBL9eupYnvzdEK2fQHlf8NBSvrFfP+TcUK4zzr2WDkvdVreXm8bfh/HdUyTfkz+qJxUL+FcRi8ox+4zJWpcU08/TD4Jp9hDIixU+k6PRcu+CcMwpNtI97jhdeOI/jI+VL3FxSWS3qOewPIf2I/aysfJZPBvss273nHBzqs9RddZ91bAdD+JG2u7+oIX68Dfjxrw3b8lqLQeitx4XOOLB80YhLtZ/SvdkXTb6dFoMx9pdT5ecjCR/Ej5LmyxnrIOvlfKSThgwkzVdhe5vqd5TQfuAdxvsIfPAixtg4H6m88uXbaecj3XB0kFafcyT1OcnzkbZg/tsBe+8kzkeifiRpLP8Cax9qXc4jpH9BkfiAnvpzyFZD/dmKaeSFcfLEwpa1CPq/1/2sFSv2YRXxhOTbunz2oTM1lh3XUbLiHtXx7Gk9JlQ1Jsm3rTHpqJJnHWXHeuf6d5V7z/VZ1aR7q0pzxuDlvn1hhvaU6bzJ2PZQxBmQ71hrddRTPHWn0LoFdae0dYu1uBelyphdaX7W35LSfvgtyadj31kxu7z1vLkAf9RxJM0jUvjz9Hf31vO0H/miIQNJ8xhg7tuhx+n90Mn77zLeR+CDF/U8rsmsNz9y8lYXP/InQM/L8gefxH7/70Cb+y7oeZ72y9B+f8uPvKqY9qH9tSxTn2tu2Y8lzVNTxjOuDzB2gT4PeNJzItcjuY6RZsNfLz4WxCran2LSe1RpDyb2kvsmnun9oMmzOYPHIwaP96JzInscLzVesc6JfHEGHgudE0k8ps+JJM/sO4fUM++6Cc0brBsd69tzTwJtlml1I2lelVE3oTNVWDd6royiYTuZdcanE47spfHfMPh/XQaW9vILqnrNZN6QgaT5OeCaNwArS70xTs3bjfcR+OBFLE0/rvV2xid5q8sZn28DltZndUp95j3j84jKN84Zn7+ANvd2YGnPc28PBPghlpY01I88sZdeTxBaWGZo7whtH5Lm3RlY2vLts/Cmp04awptci7N82wVvHQHtdfbto84pOJPrc3H/nmtxum7pM059oQkedewka82EOmrZ45KOtaHrjvr7B9Hvr51bzdeGHlSMdk89iLp1FJU7X1d5ln2ajvLJDBzodSa9t36iz3pfNGQgaf4GffPTwHmCGWlT/ZLxPgIfvIgDqQOsNxxI3uqCA/8xBQdKfU7yrPe/RZv7EnCg57760FnvaTgwdLam5c9ax70FMg/RNmnZsapY3xHajyh58pz6eTwbBTsRT1S9Bq9tvGmY/STyXfXX6dMdWu+29hFyj6XP+kP7ypQhRymL8USPK17lHWN3SprdKbwmvDRdeOm0qGvJuC28NUGnpNmXQqelt4lPAn1YhGdJuwn3xGtMS6wpdC0g7VHjW028J10ag3Ithfqtjx/EisylbC1znuUjaW7JkPlR/E7yzfTvKXNtr9+E95QN0xIjSz7K/LjxLdLCe12/XBc6mlKOC8Zut1qa/qOKTis2+Hakq0JX6Sj5cNzRYwrbjaQ5mzF+6rxJW3zI9pV76p7bUD5tniz/6vnrkVsMp2UZLYBP0jOP55Lmvhn9ZiHAy7Txra8f8VuST+rAOn9Y0m7CPXVspr0Gz5sZ+UiDtock7XmbSjcTrfZ79sNp7eVxj2MyZc4yQ+eMcj6SNN+SUS+6vco3qAfRXhhqU5LmYSPOf7q8aeNbj8w5l+p5me2Ec6m8H6VNZeVjfen4OhzDSVNTleM5hi8Y9JO+axTtflhqeHyKIrvtprVvjm2S5vKIYzjHslMYwy2fU/qHJmV1+795tpOk+bdzg7RvmVv93R5oOameefsAhXx+aYPU/srWvsaEdh0DyNumqtuJ/CbO1fMFx2uuM0seng1WhU1Vvi3th2VKe5c2Lu+64FnSfF9KG+d4wrZ2VD3z1tE1xpbfDdBZYXyUZTtu3P+W7sdcy5Y0P5Qx18SKP5F5F/wJXzH4ix35ayj+jqvyaaP64Qz92aseHGVg+v6eMWQgaV6Ksfrl/XvuBeOZgj9lvI/AB6/NuG9AphsxpMcrX76d5vv7urlBWm03lvrM6/ur/a7G8f39UbS5n4Kd0RNjHQ7wQ9uCpKGNR+YKxoe05hHP/S+heYS0yzPqbtqePR2tPkOLONuD9qai3cLbWodgvMsFPLPORH0L2o9nXFJ93prMcSxT78uyMLKkeXsGRtd5l/dG95XxpM+e7j8nvjmhniUyWXCUSWiNn9jTwtfap4HxONguJx2Pw8LXck8src/FdBzLzP1N0lYs2/v7CtreieGseHlONk0TwwktUiYx3B9MEMN52nVj8MpxgzKQNB/CfPo/DYx2GvL8yxIwnJOPRcvbZ1H7Mh82eNM4y6N8+baURb8Suf8kMJxeY5f6pF+84HnSr/PNqXxcm6ePgMZK8ps+QH+CNveXFWG4IwF+uuBHx2BMaDrtSJO2JwktLFPv35I0XL+WNJ9NGc9CeFTyVmXXCO3faoBObeMlHqXfRJ3xKLGn9iUmHuVeOl23y31l68o9baDE5KfVM28bqJQnMpDflg30NJ7J/VqzgTrS1KNtU+MVrgVdXQ/uN64QHtPruSJz4jFrjdkJK3eJlTV/XD++2i9S+HOsh663vqDPGzxjyEDS7GwO5LW7f0/9jDpd03gfgQ9exGMV7NVteWNcjfPnDN5ilD/lVL58W8qiLVzu55qDtJJO0kh9MqaHzCGkX+fT67D0xSOOCsXJoj/QPrQ5aVPe2KcZ4Id4TM+l3nYaPT9YdhqpL43HuJZ6dZ5OGc+s8zUYU4fzueecqG1T8ptYRZ6dBp2a76Tt/KKBVWhj0nYnbx/dEFbh2uyoWEXbnepuH6ONSfLQN2je4PGYwaOnThbSBZqg04pv5ERTL6997Jsz8Jgee0XmafYx8sy+M6eeeddNaN5g3Vg+rJ62S+3DatWNpHl4Rt3odRGROetGz5VRNGz7tWybTjiyl8a/5cP72Aws7YTNet5YmnVN2yZlIGm+A7jmIrCyZdt8svE+Ah+8iKXpexH78N3y3oejz/iMDd5oW51yKl++rWN30I54F7C0Xi+W+oz7fxmbhPSH4pxIPsbsJc6PVT75zdjgl9Hmngws7ekf1QjwQywtaagfTdq2KbSk2TYlzTMzsLTMi4I7uS7IOdNTJw2tC1r7PhgLWu+LYCxoYrG2I+2hWNBt0GmdNS04k+vv2kc0ZNt8GvQFeU+/Udo6ONZ3IRPqZmWPS131bS0TttkfQb//zeZqvojlzqhn3n0xVLfUeXQsV+pGddeDLBv0KHoQdesoKne+9sTBWkfRey84B7wmAwd6xij11E+4lk27haUL/DT65s8C52nMn7x/q/E+Ah+8iAOpA8Q+fE8MB4bir04SB/5yCg6U+oz7f0fFgdrfdxwc+PNoc2+dEA7UMXgtHEjsxLVIbb9LaO860h6yQxLDyjPiD5mHeAaAZceqyxmJp/FsFOxEPOGNAbvRMB/SblimyHlrZGMy4ov3pcw900behNfv3jrg1ck23CEGi1BGpPiXi7Z4L5zmuW5PWVPvkGebUG7WHifma0EuXmdhkiZt9zph0PmRDLuf5k/kQbufXoOhrZ04fkE9q6v/wiTxOeeXkzWWHfffU4/QPirEhZxf6hZTbNI+0JybF2osu9nIjvmR5ZddNvY9pr7dVPIkTadAk5f+ZtnadRwVyndTNOyvyLyS5gm3rPxNxvEvw0ZyxpD1cUdZn1bflrIs2wdl7dROu6RBZK1tbd7tT9vRdPuz6vq0khvr+izqesstq+XaQZ6r5yMhz9ItA76dfD5a3nUqMtwS2XXKtaqZPr/VxmNasdNUcU6ftOsThgwkzU2o/139e8vHNXk/Z7yPwAcvYvkmZNrw4bvlaAMa8mWXdtUweNO2FI/y5dtSFvcOX41pd8sgrd4boM+P5Z5v0q/znVb5rP2Xlj1Efsf9v4n89qLNzWHMqXJPph5HuSeT6y+ClemHZe3b8/SpCuF92pj0GWt5sKDnOkgIC9Imo7Ggp15i7Q3Q+lqJfbcVsi8toQ883piruYYisqIvWdW4VPvBaFxK2//XZsyrXnsRHWUwZOvV8yplIGn+Fer3GzFvyhzMefXhxvsIfPDivEpfEac1Cs841UNnyEi7suKy6n14HuXLt6WsQ5C33D8M86o+G0bqU+hP+mjcvyf9Ot8xlW8WaWLkyzoHKZHfN6PNPRzzqhOOHdr3qvmx4tXKvFr1fKnjQ3Fe2qrSWHFbb08Zz4gRrHPFq4o5EfI3YD3IsyaeWRhB3ldlL2oq2ptKntyXQNth2loO/Qwfj37xFfQLT9wTwmzEPZaN1vLX92w3IX99thvt6+G5bpJm52Q9W+3W8pOpCy6vANu2OO5wD+D33OIujy7bkra90LdQ0rzh2CDts/375JBsSOcP1FA2j4Bsfgi6wXqIIbOe98g4zZE9R9tWj/N9hDIiJQO5YvDrpWt58nvDPd/YGQ3aWazqdrNRr57zb2jPD+dfywal9yt5r+WG7DjEY5bvk45nTL+IqmxQIf8KYjF5xr29o/gKefphcM0+QhmR4idSdHquXeTd9077uOd44YXzOD5SvsTNJZXVop7D/hDSj9jPyspn+WSwz1YVYzvUZ6m76j7r2A6G8CNtd++qIX48APz4G4Ztue7xvK34OlXsWZ9SclwP8cSr0gfk22nxzDv+cqp8H4jwQfwoaf5nxjrIetkHctqQgaT5U9je/hfWObT/T/L+M8b7CHzwIsbY2AdSXvny7bR9IJ/GOojez6Fjl09iH8ifo819BvPzJPaBUD+SNJZ/QdY+EE/9KLQPhJgwbR8I7dd13gdShf06zx6TrwCbrdXYPVXto5Vv6/LZh9o1lh3XUbL2++pYSHWodz0mVDUmybetMcnah1Y32bHeuf496dj3QlNa7HtJs68/gOaJfd9EnAH5Tt3Ptx819v1a2YvitR5B29IoftYLKe2H35J8InOOk8IX7Ymeet6xAH/UcSTNmRT+PP3dvfU87UeeFvOgB5vT2f4948HQfvVNxvsIfPCinsc1mYYP3xPzIydvdfEj/8Zjg7RZ/uCj+pHPq3zj+JHfijYnbcrbfnk0wI/lR86x2BOD6PnB8nfT870VD1nSPDhlPOP6gPBO3MX53HNODOEu6qfab2na4Js2/I1zesanPeS7VcY5PYzdSR7nDB6dfMxT1+yPgk6ZIys4g6fH8VLjFdpqJc0TMvCYHnuv4hzwJ3w1DJ7ZdxrqmXfdhOYN1o0+/8JzTwJtlml1I2nuzqibWPEnMmfd6LkyiobtZHMG/044spfGf9Pg/3szsHTsRGfVayYLhgwkzfcD1/wgsLLUF887f5nxPgIfvIil42gg0/V2PlQM3upyPtRLgaX1OU9Sn3nPh2qofLNR8fOhno829zJgac/9VEcC/BBLW+dDeeJ7vcau94XQNqCxNM8jkDSvysDSlm+fdT5U7MhzaA0lBp163xrtrw3QvtZ8+7g+Z50PpeuWPuPUFxhDVcdOstZM2J7KHpdOq2/rfQnUl96Mfv+Xx1bztaEHFaPdUw+ibh1F5c7Xnjg4j47y7gwc6GT/q9U5ob+JvvnbwHmCGWlT/WPjfQQ+eBEHUgfYOCd0vPJHwYEfSsGBUp95cWBT5RsHB74fbe6PJ4QDtU5r4UBiJ0kf8metI/6QeYi2ScuOVcX6jtCuz5uZxbO8Z2sST1S9Bm/Zv0XOGrOfRj5J86mM9W5rH+H3ABPqPchJ+TquvqyZMyaXpPk8+uDS8dXfzYprTyxatqxD+8yJV9Li2vO8Bct/f9GR9lBfXQSdwofl+30azyTPYdBepZ+1PguOmFPauLxjnOCruLTfrqw2ThzKtmbppZ7jU83OKst9Hta1KTLmtySfyNw6q4zxUDwxelPxd0KVz/n5hhT+POuhqjUEwehtQwaSZtfxgbz29O/pI9SBPG8x3kfggxcxehMy9YzzUyVGP2LwVheM3jw+SKuxttSnFecnDaMfV/mI0WPkC8X5IUbfjzYnbcrbfy4O8EMfZ0ljYXTa1Cw7kmeM/ZAdiX742h+Q2Jf+pfK+gvMHR7IjzUarbUb0faC9VrCKYBfiS+866ETDfGifUWJL7ZNqxa29NWXumTbyJrw+bsvKfdJnJY4+8c0p9cxbbzkVDcvEwp4WvpZ7YulF9cx7nWRR0a71WWvPJHEzsbRe/3Icy4biPmsMNw9+JM2DMjCc9r2S9kYMJzi8At9cE8MJLZZv7sMmiOE8/cP0ervlnyxpHoX59DEGRmtBno8vAcPFPny771HUsRpjg7e6xGr8TmA4HXNR6jPu/6XPTFqsRmuPoqThekSs8slv+v5+O9rc4yvCcI0AP9aZpfTj9Nyrotfbrb0qUl8aF3C9XdI8OWU8C+FRjQW87RqtaJhn+U27qzyz8Ogp0F5nPGrtgVrEM5nvaQPXdZv0jx5wm8yvxOQt9czbBhqqP8sG2sIzuV9rNlBHmnrUzzReWQSdkuZHMvCY1vVE5sRj2mfAESt3iZXTztKSNC/PwGNO9dCtyq9K29QoA0nznzA3vgp4S9oldbqfN95H4IMX8VgFfiCeZ520LZxv7UuknXTKqXz5tpRFW7jcvwF4TNu99doh1x9Iv853SuXj3hviqKz9k4n8XoM29/PAYy18x3suFX6Ix/Rc6m2nCZ0hzzKlvtLOkJc0v5SBx7R9YzpaPcd7z4naNiW/iVXkWQt0WuerX2dgFdqYLKzpia9DWIVrs6NiFW13qrt9jDYmyUPfmkWDxwWDR0+drGhMLyeaenntY7+f0z4mMk+zj5Fn9p26xTxlGzruT5O5L92qG0nzkYy60evrInPWjZ4ro2jY9mvZNp1wZC+N/xMG/x/PwNKe8ZqriI+vbZuUgaT5JHDNX2XYNr9Y0LZJ3wundfmWo8/v0PqmtKujBm9677xH+fJtKSuGvOX+C8DSer1Y6tPai0r6db7jKh99LonzNQaX31I3ifw+hTb3RWBpT/+oZoAfYmlJQ/3IE3vpNbI8tk3aPiTNV0a0bQruDOFNT500hDfpEyDPuP6u454zDh6xWMeR9lAcvA7olGf0h9V7gGjbZGw8XbdJ//iD/kA6g/f0G6Wtg2N9FzKhblb2uNRV39YyYZvdMT+g9X7zq/kilrNiHHrq2qG6pc4jPLXxTLfBuupBlg16FD2IunUUlTtfV7mGr8+94RzQ6D8M4UAn+1/XWz/hWjbtFpYucAx9c75/T1+sLuR5zngfgQ9exIHUAdYbDiRvdcGBZ+cHaTWek/rMiwO1v+84OPAk2py0qapxoI4lZ+FAYieuRWr7XUJ715H2kB2SGFbHkSV2YvxTy45V5b55fYYE40a18GwU7EQ84Y0Bu9EwH9JuWKbIWe8l4j4LSfOglLln2sib8PrezQNenfSTDjFYhDIixb9ctMV74TTPdXvKmnqHPLsG5WbtcWK+WyAXJ9o7pEnbvU4ZdN6e0uYs/kQetPvpNRja2rPOD6mj/8Ik8TnnlzM1lh33qlKP0D4qxIWcXyYdC0L7IE/aB5pz88kay477H9iPsvyyy8a+C+rb80qepImxVLz0N8vWLuWzTHm2qf9br+Ex3+eAiZ8NG0nbkLVnjJiW+rbeE0OaKGundtolDSJrbWvzbn/ajqbbn1XX2pbJun4H6vqFKXVNXn8EeX4NmNfJ56PlXaciwy2RXadcq3pZhp3Gy57kPf4yxi7xAWUgaX4U9f9jsMNov43k/RuM9xH44EUsPw+ZNn349owlNOTLLu2qafAWo/wpp/Ll21JWA/KW+9fDTiPpJI2Ohck936Rf57N8xiUN13eaKp/85j72V6PNvQFjjid2Ohbgh7qZpOH6i2Bl+mFZ+/Y81/VCeJ82JnlWBAt6roOEsCBtMhoLeuol1t4Ara+V2HdbIfvSr6EPfNaYq7mGIrKiL1nVuFT7wWhcStv/b2TMq57nU3juRWmCV/ZDykDS/A7q932YN2UO5rz6EeN9BD54cV69t5xP4XkOoV5bkbKs8yk+jHk1dA6h0J/0UZnz0s4hXFD5ZpGGeKah8snvuP83kd/vo819BPOq55rg0QA/nIckDeNJeu6X0usaMqayTL333/IzkDSfSBnPiBF43pTlb1DlGVw6JhZ9SebxzMII8r4qe9G8on1eyZP7Emg7lLmPeE3mSPoZfhb94vsXBjx54p4QZiPusWy0lv+UJy4O+U+x/2pfD+/+G7Jzcj3EareWn0xdcHkF2LbFcYc+X/8y7y6PLtuStr2cgYwkzeKJQdpN/n1ySDakc8tC/WTz0YVB2mv79+slhsx63iPjNEf2HG1bPc73EcqIlAzkOgp+vXQtT35vuOcbO6NBO9P7Nzcb9eo5/4b2/HD+tWxQVkwzz7XckB2HeMzyfZpT8qVfRFU2qJB/BbGYPqdtVF8hTz8MrtlHKCNS/ESKTs+1i7z73mkf9xwvvHAex0fKl7i5pLJa1HPYH0L6EftZWfksnwz2WbZ7zzk41Gepu+o+69gOhvAjbXdfX0P8+Frgx28CftQ2CdZrneJ5W/F1qtizPqXkuB7iiVelD8i3LX0gbQ+Ih73aa+4jXpN+KHwQP0qax/T73nrfB9IyZCBp/g3Gosf174lfeU7BXcb7CHzwIsbY2AdSXvny7bR9IE9aGKTV+zl07PJJ7AO5hDZ3F+bnSewDoX4kaSz/Au4DsWzAnjF4QjZg+kbIM2sfCO3Xdd4HUoX9Os8ek+8HNlursXu8dXfd7nX5efahT1J21j700H5fHQupDvWu41F517vec6XLD+1Dq5vsWO9c/5507PtQHIiOwctrUnBsKPb9c/oAjfqctVZXQczP1HUL6k6jxr5fK3tRvNYjaFsaxc/6zSnth9+SfCJzjpP6vAxvPW8hwB91HEnz1gw9z8vf3VvP037kaTEPfhWY+x3Q46Rd0n71fuN9BD54Uc/jmkzTh++J+ZGTtxjlTzmVL9+WshqQt9y/D3qepJM02h98VD/yRZVvHD/yd6PNvR96nqf98liAH8uPnGOxJwbR84O2DVvzvRUPWdL8Ucp4xvUB4Z24i/O555wYwl3UT7Xf0rTBN23468XHYr2e08PYneTxuMGjZ8yxrPjOCZ0yR1ZwBk+P46XGK9YZPJ/LwGN67BWZE48JX02DZ/adpnrmXTeheYN1s6Bo99yTQJtlWt1Imn/MqBtt/xSZs270XBlFw3ay4wb/Tjiyl8b/vMH/VzOwtJdfUNVrJicNGVxNA9/Irf179qVTkOdu430EPngRS9OPK/bhe2LnQ5G3upwPtevEIK0+50nqM+7/TfqwYPC086GaKt8450NdhzYnbcrTZ4e6iOaHWFrSUD/yxF56PUFoYZlSXxpL0/YhaQ71ZZm1dyRrf6mnThrCm1yLs3zbBW81Qfta8+3j+px1PpSuW/qMU19gDFUdO8laM6GOWva4pGNt6LobWuNDv3/8idV8behBxWj31IOoW0dRufN1leeEpuko/ypl3HS0/9XqnND7oW/eHzhP+2wm7x9tvI/ABy/iQOoAsQ/fG+eE4v5RKThQ6jPu/x0VB86rfOPgwAejzT16QjhQ67QWDiR2svYWVBXnuyj+sM7WtOxYVazvCO36vJlZPMt7tibxRNVr8Jb9O4TZW8gnaZ6YMveE9hFyj2XPhdf2leR7S+rbUtY5PNfxYuVdz5DR3RnzrE/f6bQsnLyk5Mr+9MwUOq1+uK1/L9+kr42k3RStjtGq03bwTOhizN7TxrfYHnmvY7tY57xtj4Z1ibJlTn9bylzKZNt4XobMdcyBXf17ylz7PG2KVtezTkvfUR0rlrTyW6RlCfdaP2M8CtK5pMphPSTXbfK9ca52q0WaSD/p6yrat0er+30p9ATGz3NKPmljCvuqpHllxvip8yZt8RH9gMhJXdzaf34e5V9A2s19OSXXgciWUdkY7yz4JD1LeC5pXpPRb84GeDlnfOt1I35L8gnOlG/OgFZJuwn3F5Cfab8Gz3sZ+Xh/q8qT0HFepWM5tNXeCr5KnDeXx70eaKTMWabwtlWl4bwpad6cs47lGweQhvHbmYdtStK8JaO8bqC8c8a3fmXEb0k+aVPyzRnQKmk34T3bJNOyTWXl4/0FlYdj+NmUcrZHw23ztv7f1jhXfwwn/bpPzIIGzieSzmMM13U2q+TDPqDbN9uhpPmtjDFc503aXRtj+I395zcgz071LJHJLkeZ7IyGZSK/pcwZ8LdzQjTNKpqSNLv797qediKfpPkfGX1Z0m1RMtgGfm9G+rLnzT2gmfTcjOeS5n9m8LInwMu08a2Pjvgtydc/RvnqN2dAq6RNZLUP3ygbm+9X/Em97wOdkubjGXrbfic6/WSw0l4OgNfN4I8ykDSfhK3qr2D/lPq6EfL8ovE+Ah+8aB/dD5ke8uF7WaaHHWWqYyweMniLUf6UU/nybSnLirH4BdhHJZ2kkfoU+pM+KnZO0q/z7VH56HNKu6qOzSi/pW6WzxpFm/si7Ft78Z2y6+9ggJ9Z/JU0u/FM5llJP433nIN3ONK+W9Euv3eATnm2F3TqOS+R95v6HTWp912gX/LcqJ558yblCW83Kt4SOm/q3984IZq2KJqmINutKs2NyCdpti8O5+fFb21RMtgNfrchfdljC+d+0rMNzyXNTAYv0wFe9hjf2jHitySftGP55gxolbRV4wupdwtf7Enhbz3hi5sMGUiaA4sDeR1aHNSV1NcuyPOk8T4CH7w28MXk8MXi4iCtpJM0Up958cW0yjcOvmigzUmbqhpfcBwUfg7iXv5y7pW/0p84B3vq0zcp2uX3LtApz4gv9JyX/L4R+OJ6pJW/1nh9gyNvUp7wJr+lzJn+vwjvHGlaSr63A/LiHHID6JQ0X5cxR+5Q/G3Dt4U/4WsH+LvRkb+bAvwRG0mab8qYI29yotNRBkM2KpkjZwwZSJoHYLx6EOZAkcn1kOftxvsIfPDiHMkxZbcP38tz5B5Hmd4MOVAPIm8c46ecypdvS1m0w8n9YzFHSjpJI/Up9FMXI/063w6VbxZpLNun5NM2uER+D0Gbux1zpOdYvCvAD+dIzjlC04wjTXp+4LgpZUp9aV1vFvkkzZ0p41mS/qru0/87Ha2eJx3HvTb50bTfBDrlGdceNN/J75/p3///M1BxT78oBwA=","debug_symbols":"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n79f/Wv1q+vVb65Xv7te/eF59T999uVfW719rt6Kq0+uV59dr352vXrrefXb8Vr9PpVW3/VeW11913ttdfVd77XV1Xe919ZWv/R8x7TpzFUf/7mUVt/zHbO++p7/1a42natfl+JPTs//auur7/lfbX31PTvk6urXnh1yffU9O+T66nu+39dX3/P9/rfVH6XVW8+rf/1KVFqPXFp9zw65vvqu99rq6rvea6ur73qvra6+6722tvqt6732c/XblEqr73qvra6+6722uvqf3mtfF9t21FY/zfsrXE32pY/Ky1K6Pq2vaXNaP68+H7X89IGs2mGXSMOukYbdIg27Rxr2CDTsTx/fqx02RRo2Rxo2koP66RNqtcNGclB7JAe1R3JQeyQHtUdyUEckB3VEclBHJAd1RHJQP31qo3bYSA7qiOSgjpEcVM6f55zNVhh2JAdVHXYkB1UZ9phGclDVYUdyUNVhR3JQ1WFHclDVYW3UYY/CsCM5qOqwIzmobK+3BeYlF4YdykHVhh3KQdWGHcpBVYZNQzmo2rBDOajasEM5qNqwQzmor8NuhWFtKFOxfA67F4YdaZ+d18/vZ25LYdiR9tnqsCPts7Vh80j7bHXYkfbZ6rAj7bPVYUfaZ6vDjrTPzvvri09z4RybI4/UVFSHHampqA47lIOqDTuUg6oNO5SDqgw7D+WgKsP+9Bk5SzrXs/6rUxAKYJKdnzz/dpJePhc/e168eV784nnxq+fFb54Xv3te/OF48cvkefHJ8+I977CL5x128bzDLp532MXzDrt43mEXzzvs4nmHXT3vsKvnHXb1vMOunnfYnz7Dqu3iPe+wq+cddvW8w66ed9jV8w67ed5hN8877OZ5h90877A/fRRV28V73mE3zzvs5nmH3TzvsJvnHXb3vMPunnfY3fMOu3veYX/6qKK2i/e8w+4977D59WanOc+psPied9jq4nveYauL73mHrS3+6HmHrS6+5x22uvied9jq4nveYfO8vhb/5UUNn4vveYetLr7nHba6+K532Nriu95ha4vveoetLb7rHfZ+8Wmaut5i1+W1+i+/7ftl9V3vsdXVd73JVlff9S5bXX3X22x19V3vs9XVd73RVlff9U77ZfWFFuFj9V1vtdXVd73X1lb/06d6rOn85HWZK6v/WN3rGKHJflv9nxebzedBhmbFfyQ/faaHctQc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"},{"name":"constructor","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(initializer)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"signing_pub_key_x","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"private"},{"name":"signing_pub_key_y","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"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30DrV+JHbk3oewOtX4lT61fi1PqVOLV+JU6tX4ml9SuxtH4lltavxNL6lfiRmxT63kDrV2Jxfh24HpzmvLsB59eBww1k359CImviF2Wedzfg+1PogQ34/hR6YAO+P4Ue2IDvfuCBDfjuB6Qu68E5Lbcb2Dn4stT14OVmHUu+7tb3RUN7t76vMMq7nX23Jdq79d3DaO/WeamhvFvndYnybqWf3ZZpnRzHEubd3TqveJR367w8Ut5tR7XUA7vtqJZ6YLcd1VLHu106qqUe2G1HtVTZvucUi8jubjuqpR7YbUe11AO7laF221Mtdbzbnmqp4932VEsd77anWupmtznu7ranWupwt6WnWup4tz3VUtfsouxnF6WnWup4tz3VUse7laF221Mtdbzbnmqp4932VEsd77ajWqpO21+uYdndbUe11PFua0e11AO77aiWemC3HdVSD+y2o1rqgd3KULvtqJaqKW67lby7245qqQd221Et9cBue6qljnfbUy11tNs09VRLHe+2p1rqeLc91VI3u81pd7c91VLHu5WhdttTLVXWgy8fvtPubnuqpY5321Mtdbzbnmqp4932VEsd7jb0VEsd77anWup4t/3UUpct5m23oezutp9a6pHdylC77aeWemS3/dRSj+y2n1rqkd32U0s9stt+aqlLr5623cret7FT7KeWemS3/dRSj+y2p1rqeLc91VLHu5WhdttTLXW8255qqZvdZtndbU+11PFue6qljnfbUy11zS7Cfnbh/Kap2rvtqZY63m1PtdTxbnuqpY53K0Pttqda6ni3HdVS4ZpdhFB3d9tRLfXAbjuqpR7YbUe11PFund/2Vnu3HdVSD+y2o1rqgd12VEuFJNtuZTc9d36rXu3ddlRLPbDbnmqp4932VEsd77anWup4tz3VUoe7zT3VUje7zbvpee6pljrebU+11OFund+55fAu7sn5zViON+D8/ioPbMD540iON+D8cSTHG3DeEE3Xu7hPdXcD0voGnLctxxtw3okcb8B5c3G8Aef9wvEGnF+Jy/WRPLXsbcD53Tke2IDzK/HxBpxfiY834PzBYMcb8H0lfmADzh8MdrwB54/oPN6A80d0Hm/AeU98vIHGr8Ti/N4OD2yg8SuxOL8DwwMbaPxKLFPjV2JxfuuDBzbQ+JVYnN+g4IENNH4lFue3ETjegPM7AzywgdavxM5/v//ABlq/Ejv/lf0DG2j9Suz8t/APbKD1K7HzX6w/sIHWr8TOf1f+wAZavxI7//X3Axto/Urs/DfaD2yg9Sux819SP7CBZq/El3/M74fOVf6yfzVLc/394svV4rosWX7t/vKy/WvI8cvC914Wv/ey9OTLLv9a3o8sefrLfq2el3V4Pc/x5sX114vL+5GhlvSX/W5XNrtzCDevnt5X/PG68M3XxW++Ln3zdfLN1+Vvvm7+5ut236Q5rF99zLn88bqd9+i0rG/oMJXruy7UdD1LOeUs9Yyz7L+z1c8STjlLPOUs6ZSzyM/PUqftLLdXm9uz5FPOMp9yluWUs5RTzlLPOEuaTjnLz9/7IayVUAgx7Z8lnnKWdMpZ5JSz5FPOMp9yluWUsxTVs6Swf5Z6xllkOuUsCu/9fD3LvO+LxFPOkk45i5xylnzKWeZTzrK89CyXf9X3Y+M0l7/syhbn7dGMy80lUD5a7/fW8D/fJJXLq/e/qp3q2mTKzc80Qpovr7/88//95//1t3/+L//6L/9+ecn7//V///2//sff/u3vv//5H//f//z4v1wO/v8B"},{"name":"verify_private_authwit","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(noinitcheck)","aztec(view)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"inner_hash","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+19B3hUxff2ZncTAiGh97aETkD3ppDECir2rtiwpQJKE4KKvffee++994YNFbH3hr0LoiAq7TuT3DFvhtlNm7O75//99nne7Oxk7pn3zMydd+7MvXPTAnWfRemBwNL0unAaIeR/BwkRI05/YzjDkq69JS7HEtfREtfZEteDMNaIG2BJF7HEDbTE5Vrihvpx+Enzv8f63wXRMYWFVcX5VV6BVxbNLy0vKYoWFpWPKfFKvKKSosr8koKCqpLCkuLS8tLiaKlXWFDlVReVFlRH6z73BOttRVv1ya/g5HmvM57RKCfP+1rM0/PMGN3OwsBV1dcaPzwsUB++F+Lv88P6uPvp9wOEBwkPBevibbbvBxsPQPhBCD9k2H6Yfj9CeJTwWBzbD4ONRyD8KIQfM2w/Tr+fIDxJeCqO7cfBxhMQfhLCTxm2n6bfzxCeJTwXx/bTYOMZCD8L4ecM2/Po9/OEFwgvxrE9D2w8D+EXIPyiYfsl+v0yYT7hlTi2sZ28FGxaO3mVfr9GWEB4PY7tV8HGaxBeAOHXDdsL6fcbhDcJb8WxvRBsvAHhNyH8lmH7bfr9DuFdwntxbL8NNt6B8LsQfs+w/T79/oDwIeGjOLbfBxsfQPhDCH9k2P6Yfn9C+JTwWRzbH4ONTyD8KYQ/M2x/Tr+/ICwifBmsj9efoP891v+Otu7jDQ2460O/ctfXe6inym7EKIc0x+UQdlgO8Xi21vbX7nS/ipPnNy3nWWRG2M6tr+EcUh8d7gfhb4xz61v6/R3he8IPlnMr5LhN9Xdo69ugu7r5McgzJnNdfsMc2vrOYfn95LD8bG37R2jbP0H4ewj/YLTtn+n3L4RfCb/5bTsdbMb6jHVUvm0gr4gfXkw8lhB+Jywl/EH4k7CMsJzwF2EF4W/CP4R/CSsJqwirlX+EtcG6hpVGCBJChDAhnZBBaEPIJLQltCNkEdoTskMNueTQ7w6EjoROhM6ELoSuhG6E7oQehJ6EXoTehD6EvoR+hP6EAYQIYSAhlzCIMJgwhDCUMIwwnDCCMJKQRxhFGO2fGOv53+v731H/2/O/882LY1WAmUbcEkvc75a4pZa4Pyxxf1rillnillvi/rLErbDE/W2J+8cS968lbqUlbpUlbrUlbo0lbq0lTgXMuDRLXNASF7LEhS1x6Za4DEtcG0tcpiWurSWunSUuyxLX3hKXbYnLscR1sMR1tMR1ssR1tsR1scR1tcR1s8R1t8T1sMT1tMT1ssT1tsT1scT1tcT1s8T1t8QNsMRFLHEDLXG5lrhBlrjBlrghlrihlrhhlrjhlrgRlriRlrg8S9woS9xoS5zqECOBhh/zAqi1Yp4WcCeCqmN3ZCvuRUS0dR/PC/Fc7ITX5elFW/FZbA60WmFtybqDthZb+93hYPKUdJ42Y6mLaGu8Xmof9LbI2h+xBtAtsPanw7o4NdF1EW2Z18viXYA009ry+BczzbL2l8O6OC05dRFtrtcrGr8YbLK1v5tyYdlEa/84rIvTk1kX0aZ7/W+wiTybYG1lsMk+N2ptlcO6OCP5dRFtiterg83iGdfammAzfY5jba3DujgzVeoiGt/rQEvGpTGspbVsjGu1FnQ4Dj0rteoiGsvrUMuvEdaxFm7N9YZhLd1hXZydinURXdfrjNZer4G1Nq2/9vvPWqbDujgndesiil63dXPtXGutnavrcLKW5bAuzk31uqj7eO3dzWN4Dq9vPbw+a21dnCekLhxeB3kOx/HeGQ7r4nwhdeFwvOc5HK94ZzusiwuE1IVDXfMc9sveeQ7r4sIE1UVreRY41AuHfYHnsC17FybuvGjVnHlOyN2ceYeQuznzjg7HUTcImTPvFHI3Z9455G7OvIvDurhRyJx515C7OfNuIXdz5t0d1sVNQubMezSuF0221rMp2tNEa70c1sXNQubMezdVu5tgrU/TxwGNWuvrsC5uETJn3q9546i41vo3d0wWx9oAh3Vxq5A584jDOfOBDufMcx3WxW1C5swHOZwzH+xwznyIw7q4Xcic+VCHc+bDHM6ZD3dYF3cImTMf4XDOfKTDOfM8h3Vxp5D5qFEO50AcXt96Nzqcj7pLSF04vA7yHI7jvVsc1sXdQurC4XjPczhe8W53WBf3CKkLh7rmOeyXvbsc1sW9QubMCx3qhcO+wHPYlj2XdVH7HEyg4UNtat1BPxCXDeFCCI+G8Hp+eAyhiMJjQnX29APc5sf1ffdFIbfloT/FIUbCyrhruyWOH0Dg8LskVF/AjuxGE9nYxjA1ttIQI+FShsa2QYo3NuX3BgyNzca1tf6X+Fxd293QoRrWPuEYqH8cvUGZFnr5+QVeYTFRixLHyoqS/KqSsqKistKi/MrCyur8aH7RmOqqKHGrLC0spehCr6IsGq2OlpVXe0VrTHtlJRXk9ZhoZZT+VBdVlpDbhaWVhSXVBdHCwsroGK8wWl5aUlVZ7BWXlZYXFeSXVY8piFZ4RQXR4lJvjeM6r31K1eZ3K8vUNU9lbyOqoI0Jm/gqnG5w1x/X59smTE/pOS7zfCyLTf3GPFY/Gqm/1T9WG3FjQ+sqTIixEFt68ldV1302ddhBj2Wq3KDj8nPp8ziw5ZUU5OcXF6h0JZVRr7CyIr8kP7+yvDBaES2ryK8qLfRKqwvzCwsqKivKyWaZVx2tLqsorS6p45XIEco4phHKZiFGwpsxjFA2T/ERivJ7cyEjlLE+V9d2t3DcWHVnrewGmdqruozZkKEsxod420C0dZ/aETWH31umuN9co/OtHLf9bN/38TA3syWEt/J9UNgI4jeGsB7kbE3f2xC2TfBcTj6TeG0XYiS8HYN4bZ/i4qX83p5JvGI1rtaWww7uGlcBJ88dW86zwIyo3bwn0HAntB3ghI9CeGsI7xhquBPaTvR7Z8IuhF1D/Dto4q6XrS3P3RxPg+hBhrIbCdRfYieig/w56L6DxM16diefJhD2IOxJ2IuwN2EfwkTCvoT9CPsTDiAcSCgjlBMqCJWEKkI1YRJhMmEK4SDCwYSphGmE6YQZhJmEQwizCLMJNYQ5hEMJhxEOJ8wlHEE4knAU4WjCMYRjCccRjiecQDiRcBLhZMIphFMJpxFOJ5xBOJNwFuFswjmEcwnnEc4nXEC4MBRI7JzJ7iGejjPgkqcXjWJZXOR3+hfrs0B/q3/8ZcSpRJkGqRBjIbZuziTqXeRQdS8WMmfi0udLGtiitGX5hWOqiqJjqkpotra0uLqoOFpRVl1dWRwtrCiPlpcXjokWeAXV5cX50fL8Usq2tKqoovbOqYTOmVzCNOy8NMRI+FKGYedlKT7sVH5fxjTsdD2Mu9jn6tru5Y4bq+6sld22gcQq4ASBCniF3/6uNBXwCosCXpkABZzgUAGvcNgBXClEAV36fJVQBbyKSQGvDjESvppBAa9JcQVUfl8jRAGv9Lm6tnstkwJemwQF3EOgAl7nt7/rTQW8zqKA1ydAAfdwqIDXOewArheigC59vkGoAt7ApIA3hhgJ38iggDeluAIqv28SooDX+1xd272ZSQFvToIC7ilQAW/x29+tpgLeYlHAWxOggHs6VMBbHHYAtwpRQJc+3yZUAW9jUsDbQ4yEb2dQwDtSXAGV33cIUcBbfa6u7d7JpIB3JkEB9xKogHf57e9uUwHvsijg3QlQwL0cKuBdDjuAu4UooEuf7xGqgPcwKeC9IUbC9zIo4H0proDK7/uEKODdPlfXdu9nUsD7k6CAewtUwAf89vegqYAPWBTwwQQo4N4OFfABhx3Ag0IU0KXPDwlVwIeYFPDhECPhhxkU8JEUV0Dl9yNCFPBBn6tru48yKeCjSVDAfQQq4GN++3vcVMDHLAr4eAIUcB+HCviYww7gcSEK6NLnJ4Qq4BNMCvhkiJHwkwwK+FSKK6Dy+ykhCvi4z9W13aeZFPDpJCjgRIEK+Izf/p41FfAZiwI+mwAFnOhQAZ9x2AE8K0QBXfr8nFAFfI5JAeeFGAnPY1DA51NcAZXfzwtRwGd9rq7tvsCkgC8kQQH3FaiAL/rt7yVTAV+0KOBLCVDAfR0q4IsOO4CXhCigS59fFqqALzMp4PwQI+H5DAr4SooroPL7FSEK+JLP1bXdV5kU8NUkKOB+AhXwNb/9LTAV8DWLAi5IgALu51ABX3PYASwQooAufX5dqAK+zqSAC0OMhBcyKOAbKa6Ayu83hCjgAp+ra7tvMingm0lQwP0FKuBbfvt721TAtywK+HYCFHB/hwr4lsMO4G0hCujS53eEKuA7TAr4boiR8LsMCvheiiug8vs9IQr4ts/Vtd33mRTw/SQo4AECFfADv/19aCrgBxYF/DABCniAQwX8wGEH8KEQBXTp80dCFfAjJgX8OMRI+GMGBfwkxRVQ+f2JEAX80Ofq2u6nTAr4aRIU8ECBCviZ3/4+NxXwM4sCfp4ABTzQoQJ+5rAD+FyIArr0+QuhCvgFkwIuCjESXsSggF+muAIqv78UooCf+1xd2/2KSQG/SoIClglUwK/99veNqYBfWxTwmwQoYJlDBfzaYQfwjRAFdOnzt0IV8FsmBfwuxEj4OwYF/D7FFVD5/b0QBfzG5+ra7g9MCvhDEhSwXKAC/ui3v59MBfzRooA/JUAByx0q4I8OO4CfhCigS59/FqqAPzMp4C8hRsK/MCjgrymugMrvX4Uo4E8+V9d2f2NSwN+SoIAVAhVwsd/+lpgKuNiigEsSoIAVDhVwscMOYIkQBXTp8+9CFfB3JgVcGmIkvJRBAf9IcQVUfv8hRAGX+Fxd2/2TSQH/TIICVgpUwGV++1tuKuAyiwIuT4ACVjpUwGUOO4DlQhTQpc9/CVXAv5gUcEWIkfAKBgX8O8UVUPn9txAFXO5zdW33HyYF/CcJClglUAH/9dvfSlMB/7Uo4MoEKGCVQwX812EHsFKIArr0eZVQBVzFpICrQ4yEVzMo4JoUV0Dl9xohCrjS5+ra7lomBVybBAWsFqiAtb2SKgvdO+kCVP8wFVAl4lbAaocKqHxorS3dUNPCMhTQpc/BsEwFDIZ5FDAUZiSsjLu2Gw6ntgIqv8Ph+gJ2ZJdFAdN8rq7tpod5FFDZTbQCThKogBl++2tjKmCGRQHbJEABJzlUwAyHHUAbIQro0udMoQqYyaSAbcOMhNsyKGC7FFdA5Xc7IQrYxufq2m4WkwJmJUEBJwtUwPZ++8s2FbC9RQGzE6CAkx0qYHuHHUC2EAV06XOOUAXMYVLADmFGwh0YFLBjiiug8rujEAXM9rm6ttuJSQE7JUEBpwhUwM5+++tiKmBniwJ2SYACTnGogJ0ddgBdhCigS5+7ClXArkwK2C3MSLgbgwJ2T3EFVH53F6KAXXyuru32YFLAHklQwIMEKmBPv/31MhWwp0UBeyVAAQ9yqIA9HXYAvYQooEufewtVwN5MCtgnzEi4D4MC9k1xBVR+9xWigL18rq7t9mNSwH5JUMCDBSpgf7/9DTAVsL9FAQckQAEPdqiA/R12AAOEKKBLnyNCFTDCpIADw4yEBzIoYG6KK6DyO1eIAg7wubq2O4hJAQclQQGnClTAwX77G2Iq4GCLAg5JgAJOdaiAgx12AEOEKKBLn4cKVcChTAo4LMxIeBiDAg5PcQVUfg8XooBDfK6u7Y5gUsARSVDAaQIVcKTf/vJMBRxpUcC8BCjgNIcKONJhB5AnRAFd+jxKqAKOYlLA0WFGwqMZFHC9FFdA5fd6QhQwz+fq2u76TAq4fhIUcLpABYz67c8zFTBqUUAvAQo43aECRh12AJ4QBXTpc75QBcxnUsCCMCPhAgYFLExxBVR+FwpRQM/n6tpuEZMCFiVBAWcIVMAxfvsrNhVwjEUBixOggDMcKuAYhx1AsRAFdOlziVAFLGFSwNIwI+FSBgXcIMUVUPm9gRAFLPa5ura7IZMCbpgEBZwpUAE38tvfxqYCbmRRwI0ToIAzHSrgRg47gI2FKKBLnzcRqoCbMCngpmFGwpsyKODYFFfA2ooSooAb+1xd2x3HpIDjkqCAhwhUwM389re5qYCbWRRw8wQo4CEOFXAzhx3A5kIU0KXPWwhVwC2YFHB8mJHweAYF3DLFFVD5vaUQBdzc5+ra7lZMCrhVEhRwlkAF3Npvf9uYCri1RQG3SYACznKogFs77AC2EaKALn3eVqgCbsukgNuFGQlvx6CA26e4Aiq/txeigNv4XF3b3YFJAXdIggLOFqiAO/rtbydTAXe0KOBOCVDA2Q4VcEeHHcBOQhTQpc87C1XAnZkUcJcwI+FdGBRw1xRXQOX3rkIUcCefq2u7uzEp4G5JUMAagQq4u9/+JpgKuLtFASckQAFrHCrg7g47gAlCFNClz3sIVcA9mBRwzzAj4T0ZFHCvFFdA5fdeQhRwgs/Vtd29mRRw7yQo4ByBCriP3/4mmgq4j0UBJyZAAec4VMB9HHYAE4UooEuf9xWqgPsyKeB+YUbC+zEo4P4proDK7/2FKOBEn6truwcwKeABSVDAQwUq4IF++yszFfBAiwKWJUABD3WogAc67ADKhCigS5/LhSpgOZMCVoQZCVcwKGBliiug8rtSiAKW+Vxd261iUsCqJCjgYQIVsNpvf5NMBay2KOCkBCjgYQ4VsNphBzBJiAK69HmyUAWczKSAU8KMhKcwKOBBKa6Ayu+DhCjgJJ+ra7sHMyngwUlQwMMFKuBUv/1NMxVwqkUBpyVAAQ93qIBTHXYA04QooEufpwtVwOlMCjgjzEh4BoMCzkxxBVR+zxSigNN8rq7tHsKkgIckQQHnClTAWX77m20q4CyLAs5OgALOdaiAsxx2ALOFKKBLn2uEKmANkwLOCTMSnsOggIemuAIqvw8VooCzfa6u7R7GpICHJUEBjxCogIf77W+uqYCHWxRwbgIU8AiHCni4ww5grhAFdOnzEUIV8AgmBTwyzEj4SAYFPCrFFVD5fZQQBZzrc3Vt92gmBTw6CQp4pEAFPMZvf8eaCniMRQGPTYACHulQAY9x2AEcK0QBXfp8nFAFPI5JAY8PMxI+nkEBT0hxBVR+nyBEAY/1ubq2eyKTAp6YBAU8SqACnuS3v5NNBTzJooAnJ0ABj3KogCc57ABOFqKALn0+RagCnsKkgKeGGQmfyqCAp6W4Aiq/TxOigCf7XF3bPZ1JAU9PggIeLVABz/Db35mmAp5hUcAzE6CARztUwDMcdgBnClFAlz6fJVQBz2JSwLPDjITPZlDAc1JcAZXf5whRwDN9rq7tnsukgOcmQQGPEaiA5/nt73xTAc+zKOD5CVDAYxwq4HkOO4DzhSigS58vEKqAFzAp4IVhRsIXMijgRSmugMrvi4Qo4Pk+V9d2L2ZSwIuToIDHClTAS/z2d6mpgJdYFPDSBCjgsQ4V8BKHHcClQhTQpc+XCVXAy5gU8PIwI+HLGRTwihRXQOX3FUIU8FKfq2u7VzIp4JVJUMDjBCrgVX77u9pUwKssCnh1AhTwOIcKeJXDDuBqIQro0udrhCrgNUwKeG2YkfC1DAp4XYoroPL7OiEKeLXP1bXd65kU8PokKODxAhXwBr/93Wgq4A0WBbwxAQp4vEMFvMFhB3CjEAV06fNNQhXwJiYFvDnMSPhmBgW8JcUVUPl9ixAFvNHn6trurUwKeGsSFPAEgQp4m9/+bjcV8DaLAt6eAAU8waEC3uawA7hdiAK69PkOoQp4B5MC3hlmJHwngwLeleIKqPy+S4gC3u5zdW33biYFvDsJCniiQAW8x29/95oKeI9FAe9NgAKe6FAB73HYAdwrRAFd+nyfUAW8j0kB7w8zEr6fQQEfSHEFVH4/IEQB7/W5urb7IJMCPpgEBTxJoAI+5Le/h00FfMiigA8nQAFPcqiADznsAB4WooAufX5EqAI+wqSAj4YZCT/KoICPpbgCKr8fE6KAD/tcXdt9nEkBH0+CAp4sUAGf8Nvfk6YCPmFRwCcToIAnO1TAJxx2AE8KUUCXPj8lVAGfYlLAp8OMhJ9mUMBnUlwBld/PCFHAJ32uru0+y6SAzyZBAU8RqIDP+e1vnqmAz1kUcF4CFPAUhwr4nMMOYJ4QBXTp8/NCFfB5JgV8IcxI+AUGBXwxxRVQ+f2iEAWc53N1bfclJgV8KQkKeKpABXzZb3/zTQV82aKA8xOggKc6VMCXHXYA84UooEufXxGqgK8wKeCrYUbCrzIo4GsproDK79eEKOB8n6truwuYFHBBEhTwNIEK+Lrf/haaCvi6RQEXJkABT3OogK877AAWClFAlz6/IVQB32BSwDfDjITfZFDAt1JcAZXfbwlRwIU+V9d232ZSwLeToICnC1TAd/z2966pgO9YFPDdBCjg6Q4V8B2HHcC7QhTQpc/vCVXA95gU8P0wI+H3GRTwgxRXQOX3B0IU8F2fq2u7HzIp4IdJUMAzBCrgR377+9hUwI8sCvhxAhTwDIcK+JHDDuBjIQro0udPhCrgJ0wK+GmYkfCnDAr4WYoroPL7MyEK+LHP1bXdz5kU8PMkKOCZAhXwC7/9LTIV8AuLAi5KgAKe6VABv3DYASwSooAuff5SqAJ+yaSAX4UZCX/FoIBfp7gCKr+/FqKAi3yuru1+w6SA3yRBAc8SqIDf+u3vO1MBv7Uo4HcJUMCzHCrgtw47gO+EKKBLn78XqoDfMyngD2FGwj8wKOCPKa6Ayu8fhSjgdz5X13Z/YlLAn5KggGcLVMCf/fb3i6mAP1sU8JcEKODZDhXwZ4cdwC9CFNClz78KVcBfmRTwtzAj4d8YFHBxiiug8nuxEAX8xefq2u4SJgVckgQFPEegAv7ut7+lpgL+blHApQlQwHMcKuDvDjuApUIU0KXPfwhVwD+YFPDPMCPhPxkUcFmKK6Dye5kQBVzqc3VtdzmTAi5PggKeK1AB//Lb3wpTAf+yKOCKBCjguQ4V8C+HHcAKIQro0ue/hSrg30wK+E+YkfA/DAr4b4oroPL7XyEKuMLn6truSiYFXJkEBTxPoAKu8tvfalMBV1kUcHUCFPA8hwq4ymEHsFqIArr0eY1QBVzDpIBrw4yE1zIooOr6XDUGLr9ru2e3dlkUcLXP1bXdtHQeBVR2E62A5wtUwKDf/kLpgYZqp/5hKqBKxK2A5ztUwKDDDiCULkMBXfocTpepgOF0HgVMT2cknJ7u3m5Giiug8jtDiAKGfK6u7bZhUsA2SVDACwQqYKbf/tqaCphpUcC2CVDACxwqYKbDDqCtEAV06XM7oQrYjkkBs9IZCWcxKGD7FFdA5Xd7IQrY1ufq2m42kwJmJ0EBLxSogDl+++tgKmCORQE7JEABL3SogDkOO4AOQhTQpc8dhSpgRyYF7JTOSLgTgwJ2TnEFVH53FqKAHXyuru12YVLALr4Cmsrnug5/DrrjH/HtdCXu3QjdCT0IPQm9CL0JfQh9Cf0I/QkDCBHCQEIuYRBhMGEIYShhGGE4YQRhJCGPMIowmrAeYX1ClKB6qHxCga+EWJZdfeHDuG6WuO6WuB6WuJ6WuF6WuN6WuD6WuL6WuH6WuP6WuAGWuIglbqAlLtcSN8gSN9gSN8QSN9QSN8wSN9wSN8ISN9ISl2eJG2WJG22JW88St74lLmqJ8yxx+Za4AssgS6++jfW/o637NDhnW9t/dU13N2Dr5lCvnmEasJl10RqfVV10d1J+dfXao/W28v3y83o6rItnU7kuCv/j6fVqnc9R8Nnr3Rpb+Q3Kz+vjsC6eS826iBo8vb4t9HlM9To+e/1aZqvEUn5ef4d1MS/V6qLEytMb0Hyfi2P47EWaa6s4Zvl5Ax3WxfOpUxf5cXh6uc3xuTiuz96gptuqaKT8vMEO6+KFVKiL4kZ5ekOa5nO0CT57Q5tiK9qk8vOGOayLF5NbF0VN5OkNb8znwib77I2Ia6uwuhnl5410WBcvJasuipvF08uL7XNJM332RsWwVVrd7PLzRjusi5cTXxfRFvD01rP5HG2Rz97669ryWlh+XtRhXcxPZF1Utpin5zX0uaAVPnv5YCu/ulXl5xU4rItXElQX0dZ9PIfzA57D61vvOYd18aqQunB4HeQ5HMd7Lzisi9eE1IXD8Z7ncLziveywLhYIqQuHuuY57Je9Vx3WxetMdeH6xgSH56/nsP15LssvzW/DEd8erkeY6xW4noHrHbgegusluJ6C6y24HoPrNbieg+s9uB6E60W4noTrTbgehetVuJ6F6124HobrZbiehuttuB6H63W4nofrfbgeiOuFuJ6o1xsL6buIMIZQTCghlBI2IGxI2IiwMWETwqaqHRDGETYjbE7YgjCesCVhK8LWhG0I2xK2I2xP2IGwI2Enws6EXQi7EnZLr+OS5XNaHKzntwTCv0N4KYT/gPCfEF4G4eUQ/gvCKyD8N4T/gfC/EF4J4VUQXg3hNRBeC2HVUehwGoSDEA5BOAzhdAhnQLgNhDMh3BbC7SCcBeH2EM6GcA6EO0C4I4Q7QbgzhLtAuCuEu0G4O4R7QLgnhHtBuDeE+0C4L4T7Qbg/hAdAOALhgRDOhfAgCA+G8BAID4XwMAgPh/AICI+EcB6ER0F4NIQvhvCVEL4ewrdC+G4IPwjhxyH8LIRfgvACCL8N4Q8h/DmEv4HwTxBeAuHlEF6JbT4M7RbC2RDuAuFeEB4A4SEQzoOwB+FiCG8M4c0hvA2Ed4LwBAhPhHAZhCdBeBqEZ0N4LoSPhfDJED4TwudD+FIIXw3hGyF8O4TvhfDDEH4SwvMgPB/CCyH8LoQ/hvAiCH8H4V8gvBTCKyC8GsIh0J62EO4A4UIIF0F4DISLIVwC4VIIbwDhDSG8EYQ3hvAmEN4UwmMhPA7Cm0F4cwhvAeHxEN4SwltBeGsIbwPhbSG8HYS3h/AOEN4RwjtBeGcI7wLhXSG8mx/enb7xk+Z/j/W/o637eLs7HM8rqmrsHQzE/rjinQZl4TqPsnKaVCurLLQaNyugtYU2Id0d4VoBD9RfjKrf91BtrPHDKi8dvhfi7/PD+rg9KN2ehL0Ie6fX371r2t4D7O0J4b0gvHd6Q9v70O+JhH0J+8WxvQ/YmAjhfSG8n2F7f/p9AOFAQlkc2/uDjQMgfCCEywzb5fS7glBJqIpjuxxsVEC4EsJVhu1q+j2JMJkwJY7tarAxCcKTITzFsH0Q/T6YMJUwLY5tbCcHNbGdTKd0MwgzCYfEsT0d7M2A8EwIH2LwnkW/ZxNqCHPi2J4FNmZDuAbCcwzbh9LvwwiHE+bGsX0o2DgMwodDeK5h+wj6fSThKMLRcWwfATaOhPBRED7asH0M/T6WcBzh+Di2jwEbx0L4OAgfb9g+gX6fSDiJcHJ6fbz+6E59rP/t4qZybSvauo83PMAzkeTa5zSHPo8Q4nPQoc8jhfgccuhzHpPPrgeSowJu+4ZYdRNt3ccb7ZDn58HEtMdo6z7eeg59PiFdRntcPyCDZ1QIT08Iz3zHPF3z25rEYfuQ++vIz9J5/W4tP+XzTgx+f87UH7le0C1w6PPW7h439xy2G4+rLlzrYaHDuvgqKKNfLArI4DlGCM9iITxLhPAsFcJzAyE8NxTCcyMhPDcWwnMTITw3FcJzrBCe44Tw3EwIz82F8NxCCM/xQnhuKYTnVkJ4bi2E5zZCeG4rhOd2QnhuL4TnDkJ47iiE505CeO4shOcuQnjuKoTnbkJ47i6E5wQhPPcQwnNPITz3EsJzbyE89xHCc6IQnvsK4bmfEJ77C+F5gBCeBwrhWSaEZ7kQnhVCeFYK4VklhGe1EJ6ThPCcLITnFCE8DxLC82AhPKcK4TlNCM/pQnjOEMJzphCehwjhOUsIz9lCeNYI4TlHCM9DhfA8TAjPw4XwnCuE5xFCeB4phOdRQngeLYTnMUJ4HiuE53FCeB4vhOcJQnieKITnSUJ4niyE5ylCeJ4qhOdpQnieLoTnGUJ4nimE51lCeJ4thOc5QnieK4TneUJ4ni+E5wVCeF4ohOdFQnheLITnJUJ4XiqE52VCeF4uhOcVQnheKYTnVUJ4Xi2E5zVCeF4rhOd1QnheL4TnDUJ43iiE501CeN4shOctQnjeKoTnbUJ43i6E5x1CeN4phOddQnjeLYTnPUJ43iuE531CeN4vhOcDQng+KITnQ0J4PiyE5yNCeD4qhOdjQng+LoTnE0J4PimE51NCeD4thOczQng+K4Tnc0J4zhPC83khPF8QwvNFITxfEsLzZSE85wvh+YoQnq8K4fmaEJ4LhPB8XQjPhUJ4viGE55tCeL4lhOfbQni+I4Tnu0J4vieE5/tCeH4ghOeHQnh+JITnx0J4fiKE56dCeH4mhOfnQnh+IYTnIiE8vxTC8yshPL8WwvMbITy/FcLzOyE8vxfC8wchPH8UwvMnITx/FsLzFyE8fxXC8zchPBcL4blECM/fhfBcKoTnH0J4/imE5zIhPJcL4fmXEJ4rhPD8WwjPf4Tw/FcIz5VCeK4SwnO1EJ5rhPBcK4SnMiiBZ5oQnkEhPENCeIaF8EwXwjNDCM82QnhmCuHZVgjPdkJ4Zgnh2V4Iz2whPHOE8OwghGdHITw7CeHZWQjPLkJ4dhXCs5sQnt2F8OwhhGdPITx7CeHZWwjPPkJ49hXCs58Qnv2F8BwghGdECM+BQnjmCuE5SAjPwUJ4DhHCc6gQnsOE8BwuhOcIITxHCuGZJ4TnKCE8RwvhuZ4QnusL4RkVwtMTwjNfCM8CITwLhfAsEsJzjBCexUJ4lgjhWSqE5wZCeG4ohOdGQnhuLITnJkJ4biqE51ghPMcJ4bmZEJ6bC+G5hRCe44Xw3FIIz62E8NxaCM9thPDcVgjP7YTw3F4Izx2E8NxRCM+dhPDcWQjPXYTw3FUIz92E8NxdCM8JQnjuIYTnnkJ47iWE595CeO4jhOdEITz3FcJzPyE89xfC8wAhPA8UwrNMCM9yITwrhPCsFMKzSgjPaiE8JwnhOVkIzylCeB4khOfBQnhOFcJzmhCe04XwnCGE50whPA8RwnOWEJ6zhfCsEcJzjhCehwrheZgQnocL4TlXCM8jhPA8UgjPo4TwPFoIz2OE8DxWCM/jhPA8XgjPE4TwPFEIz5OE8DxZCM9ThPA8VQjP04TwPF0IzzOE8DxTCM+zhPA8WwjPc4TwPFcIz/OE8DxfCM8LhPC8UAjPi4TwvFgIz0uE8LxUCM/LhPC8XAjPK4TwvFIIz6uE8LxaCM9rhPC8VgjP64TwvF4IzxuE8LxRCM+bhPC8WQjPW4TwvFUIz9uE8LxdCM87hPC8UwjPu4TwvFsIz3uE8LxXCM/7hPC8XwjPB4TwfFAIz4eE8HxYCM9HhPB8VAjPx4TwfFwIzyeE8HxSCM+nhPB8WgjPZ4TwfFYIz+eE8JwnhOfzQni+IITni0J4viSE58tCeM4XwvMVITxfFcLzNSE8Fwjh+boQnguF8HxDCM83hfB8SwjPt4XwfEcIz3eF8HxPCM/3hfD8QAjPD4Xw/EgIz4+F8PxECM9PhfD8TAjPz4Xw/EIIz0VCeH4phOdXQnh+LYTnN0J4fiuE53dCeH4vhOcPQnj+KITnT0J4/iyE5y9CeP4qhOdvQnguFsJziRCevwvhuVQIzz+E8PxTCM9lQnguF8LzLyE8Vwjh+bcQnv8I4fmvEJ4rhfBcJYTnaiE81wjhuVYIz0BQBs80ITyDQniGhPAMC+GZLoRnhhCebYTwzBTCs60Qnu2E8MwSwrO9EJ7ZQnjmCOHZQQjPjkJ4dhLCs7MQnl2E8OwqhGc3ITy7C+HZQwjPnkJ49hLCs7cQnn2E8OwrhGc/ITz7C+E5QAjPiBCeA4XwzBXCc5AQnoOF8BwihOdQITyHCeE5XAjPEUJ4jhTCM08Iz1FCeI4WwnM9Jp5Bg2dBdExhYVVxfpVX4JVF80vLS4qihUXlY0q8Eq+opKgyv6SgoKqksKS4tLy0OFrqFRZUedVFpQXVvu2hDn1eP0E+R1v38aJBd+W3W0hGe/SEnDf5QngWCOFZKIRnkRCeY4TwLBbCs0QIz1IhPDcQwnNDITw3EsJzYyE8NxHCc1MhPMcK4TlOCM/NhPDcXAjPLYTwHC+E55ZCeG4lhOfWQnhuI4TntkJ4bieE5/ZCeO4ghOeOQnjuJITnzkJ47iKE565CeO4mhOfuQnhOEMJzDyE89xTCcy8hPPcWwnMfITwnCuG5rxCe+wnhub8QngcI4XmgEJ5lQniWC+FZIYRnpRCeVUJ4VgvhOUkIz8lCeE4RwvMgITwPFsJzqhCe04TwnC6E5wwhPGcK4XmIEJ6zhPCcLYRnjRCec4TwPFQIz8OE8DxcCM+5QngeIYTnkUJ4HiWE59FCeB4jhOexQngeJ4Tn8UJ4niCE54lCeJ4khOfJQnieIoTnqUJ4niaE5+lCeJ4hhOeZQniexcQzaPBs7XPQ6Q59PluIzxkOfT5HiM9tHPp8rhCfMx36fJ4Qn9s69Pl8IT63c+jzBUJ8znLo84VCfG7v0OeLhPic7dDni4X4nOPQ50uE+NzBoc+XCvG5o0OfLxPicyeHPl8uxOfODn2+QojPXRz6fKUQn7s69PkqIT53c+jz1UJ87u7Q52uE+NzDoc/XCvG5p0OfrxPicy+HPl8vxOfeDn2+QYjPfRz6fKMQn/s69PkmIT73c+jzzUJ87u/Q51uE+DzAoc+3CvE54tDn24T4PNChz7cL8TnXoc93CPF5kEOf7xTi82CHPt8lxOchDn2+26HP6n6AsG9rOPif5pdByP+/Wj9X68lqfVWtN6r1N7UepdZn1HqFmr9X89lqflfNd6r5PzUfpuaH1HyJmj9Q19Pq+lJdb6nrDzUeV+NTNV5T4xel50rfIgTV/6n+QJ0fqr2o8lN7wQ8DjqcE63mPIIwk5BFGEUYT1iOsr8qI4BHyVT0SCglFhDGEYkIJoZSwAWFDwkaEjQmbEDb1620cYTPC5oQtCOMJWxK2ImxN2IawLWE7wvaEHQg7EnYi7EzYhbArYTfC7oQJhD0IexL2IuxN2IcwkbAvYT/C/oQDCAcSygjlhApCJaGKUE2YRJhMmEI4iHAwYSphGmE6YQZhJuEQwizCbEINYQ7hUMJhhMMJcwlHEI4kHEU4mnAM4VjCcYTjCScQTiScRDhZlT/hVMJphNMJZxDOJJxFOJtwDuFcwnmE8wkXEC4kXES4mHAJ4VLCZYTLCVcQriRcRbiacA3hWsJ1hOsJNxBuJNxEuJlwC+FWwm2E2wl3EO4k3EW4m3AP4V7CfYT7CQ8QHiQ8RHiY8AjhUcJjhMcJTxCeJDxFeJrwDOFZwnOEeYTnCS8QXiS8RHiZMJ/wCuFVwmuEBYTXCQsJbxDeJLxFeJvwDuFdwnuE9wkfED4kfET4mPAJ4VPCZ4TPCV8QFhG+JHxF+JrwDeFbwneE7wk/EH4k/ET4mfAL4VfCb4TFhCWE3wlLCX8Q/iQsIywn/EVYQfib8A/hX8JKwirCasIawlqC6gzSCEFCiBAmpBMyCG0ImYS2hHaELEJ7QjYhh9CB0JHQidCZ0IXQldCN0J3Qg9CT0IvQm9CH0JfQj9CfMIAQIQwk5BIGEQYThhCGEoYRhhNGEEYS8gijCKMJ6xHWJ6hOziPkEwoIhYQiwhhCMaGEUErYgLAhYSPCxoRNCJsSxhLGETYjbE7YgjCesCVhK8LWhG0I2xK2I2xP2IGwI2Enws6EXQi7EnYj7E6YQNiDsCdhL8LehH0IEwn7EvYj7E84gHAgoYxQTqggVBKqCNWESYTJhCmEgwgHE6YSphGmE2YQZhIOIcwizCbUEOYQDiUcRjicMJdwBOFIwlGEownHEI4lHEc4nnAC4UTCSYSTCacQTiWcRjidcAbhTMJZhLMJ5xDOJZxHOJ9wAeFCwkWEiwmXEC4lXEa4nHAF4UrCVYSrCdcQriVcR7iecAPhRsJNhJsJtxBuJdxGuJ1wB+FOwl2Euwn3EO4l3Ee4n/AA4UHCQ4SHCY8QHiU8Rnic8AThScJThKcJzxCeJTxHmEd4nvAC4UXCS4SXCfMJrxBeJbxGWEB4nbCQ8AbhTcJbhLcJ7xDeJbxHeJ/wAeFDwkeEjwmfED4lfEb4nPAFYRHhS8JXhK8J3xC+JXxH+J7wA+FHwk+Enwm/EH4l/EZYTFhC+J2wlPAH4U/CMsJywl+EFYS/Cf8Q/iWsJKwirCasIawlqIFAGiFICBHChHRCBqENIZOg3kuv3vmu3qeu3lWu3gOu3rGt3l+t3g2t3rus3mms3hes3sWr3nOr3iGr3s+q3n2q3iuq3tmp3oep3jWp3uOo3pGo3j8YIaj35ql30qn3val3qan3lKl3gKn3a6l3V6n3Qql3Lqn3Gal3Ban38Kh33Kh3vqj3qaj3i6h3d6j3Yqh3Tqj3Oah3Jaj3EKg9/tX++WpverXvu9pTXe1XrvYCr91nm6D2h1Z7L6t9jdWewWo/XrXXrdpHVu3RqvY/VXuLqn071Z6Yar9JtZej2idR7UGo9vdTe+epfenUnm9qPzW1V5naB0ztsaX2r1J7Q6l9l9SeRmq/ILUXj9rn5kCC2p9F7X2i9hVRe3ao/TDUXhNqHwe1R4Laf0A926+em1fPpKvnvdWz1Oo5ZfUMsHq+Vj27qp4LVc9cqucZ1bOC6jk89Yyben5MPZulnntSzxSp53XUszDqOZPjCOr5CPXsgbqvX90zr+5HV+MvdR+1ukdZ3f+r7q1V962qe0LVPZLqnkF1D526p0zdY6XuOVL34Kh7UtQ9GuqeBbWGr9a01RqvWvNUa4BqTUytEak1E7WGoObU1RyzmnNVc5BqTk7NUak5GzWHoa7p1TWuuuZT10DqmkCNkdUYTn/6Qbiv/11WU1M1bWZNpGZGpKyyMnLYlJrJkRmHVs2qnjpDDYtqx6P6o21tOWd6Rc2UGdMjlG5K9dwDZs6acmhZTdUBZXNqJpOBSEXZ9MiM6VPnRsqrKDx1alVlZHZNWc0UFVZjrNoBm/4M9b93mDJ7WllNxeTI9Bk1VZHJVWWVVbMiFTOm18wqq6hR3GZVzZ6tRrO1Qz39yY139OyaGbPKJlVFZk+dUVN75M3NLAB13g/x0z0Nx/byv8fNmlU2NzJlemXV4ZEZc2oiM6oj5TPmTK+cjQe+3NIDP2rpgYtaeuBvLT1wZUsPVMOpFh3YtqUHdmzpgT1aeuBYOHCg/w2tbtqcqTVTZtLZErPpjQcDzW2227SU9c6tyHT3lma6XysyfbSlmS5r6YFKf/Wni/+9TfxDhgdbmNd6LT1wl5YeeG5LD3yu+cXyQkvzerWlB4ZCLTxwJziwRWfzbi3N+RA4sLknx5yWZnpFKzK9pqWZvtCKTOe3NNNvW5Hpjy3NND3c8kzbhluY6dBWZDqypZlu1YpMt2tppjNakemRrTj2ODi2iV3giS318fSWHvhgKxx8rPkOPtlSnvNaeuDPrXBwcUszXdbSAzunN5Nthp+ot39gZv3xtUsXishY/3e0NZ+SwjEZkAEMl2o/avnjPxn206glkqEQlcXCK+op2+05bEfzax8py2GxXfe4Wgce22qWt3b5SX3Sfdvaj/ZQJ50g/zSm/LVtnZeOD0O4M6TV6XQa3a40/2wfAYO/eVyWcVwOpMmG43KM4/RvXTfpgfrziq8d57O3Y6a2xnmOWNux9iMV23EE0prtUYuC5t/cdqyPi9WOOxjHYXr1UeXX3Q8rm+P8Rp0BcZtB363jNvfjMiFuC/9HW4gb78e1A5/S/LjxgXob6cDZYVvJzwrUl3EA8ggY5RKA8tCc2vBwKsmCfJrCqQ1wyuDhVNvPZDLZzgIfsHzbQn4Oz8/aRwd1fphHm0DD8sVy1d9cfa0qg3aBhp94dY79GIu2RNcdIwUDbvv/bKayTAPbutz0b13GqsxyjLhkja2yIf9U0aTN/O+cwLpjwKaOfzbkL9fa/hvrWucRMPgFDH45AXubQJ3V3DnHKY3pbw7E4di0jcGzqf0Xjy91/Vdz6iEHOHGdc5z+xjsHdDmoMuloxJnnuOv2pK+JdB/T0VLeXSD/NKb8tW2dV2coJx2eCNw0T+xjdFzA8KUT+Lg7f7nmo1YEII+AwS9g8MO+E9sE/l9z78jD3bNdG5j9Pl4bYP/TxuDZ3D4mEOAZszWHj5TjGNtvg7LDtqfbrB5zZwGfMPBius6pbZuZRrno31iGOi6Dn1N+lsFJ5xEweAYMnuqYziycvGK8PmoKp87Aiatf4fQXdUT71tkob1UmXSx10JXJX2Wvm29La2sXS3l3h/zTmPLXtnVe3aCcdPhU/zsHeGJ/pOMChi9dwcfj4DjzvMwy/NbfnOUfq010BZ46riM/p2hz+4quwInn3Kk7L7vx2K71t2sz/O0G/nZh9LcHj+1af7s1w98e4G93Rn978diu9bdHM/ztBf72ZPS3D4/tWn97NcPfPuBvb0Z/+/HYrvW3TzP87Qf+9mX0dwCP7Vp/+zXD3wHgb39Gfwfy2K71d0Az/B0I/kYY/R3EY7vW34HN8HcQ+Jsrz99a24PBdtCx7SEsvL1iZXskk23VBoYGmt4GRkIbGMZUT+0C9ePCSVU1O86oqZqdBnlpvj0MvmmBdbnrNDgXFoQwzpfZxqK28ZptTGPTfZs22vTD1sfa+iHzXFWfQRDGearBEMZ2qa8/bOWCeQUD65anjsffLv8fYLTt+v86LhwjHDTi47VNvvO77roPH1sPw288l/NY8q+bixjl29LX/bqd5gEnneYZ/ztWuxxl+KL7Arw3Q/ul0wYhL7Ocg5AuD2wHLXb0MdzlNdq3pctrkMEvDGnm+9+xyms0/Mby0jazwT+dVmmCvq8a1woW+GHl/wgW/+u2hEA/w8BlBMTrNEVp9fzeBJ9CkFb7lG7Ecd7vkRZoeA9KGH5nAM8glK/mxHSvTpTR3xLUlvQY/uK8/cf+d6x2a873h4xyyg7U1yPOX3LdY2PeT+O67NoZZaf9aAtloNN82UjZtY1RdplQdu0M+9lQjrie39aI47xfxsYd73XTPDMM7pnAj4NThsEpI3Flks93z1Rdu9PrqrrdaT/ag786zWL/O1a7a2+Uk253WHfZhn1si7jG296I476PxOSuf+P6c1uDO989WPHPBSwTprZRwFjete0O73OylTfey7PK/47V7sx7gHS7wzaky6wDlB2Tf4WM64a1ZdfJKLsco3xwjB1Ka/g/s+w6xSg7bPe6zDpB2TH5V8S4tlNbdl2MsjOfhcC1vHaNlF2XGGWH9yzpMusCZcfk3xjGtboSnPfQZWeuH+L6aadGyq5bjLLrDGWnywzXwZj8K2ZccyrB+SFddtqP7lAGOk3PRsquR4yy6wplp8sM5xiCPP7FHSMFE5R/LK3E/EOQf5rj/IOQN84F4XWoTpMbp35xDRHvFdDtBJ8b0WuGOF7Xc444btZrbTi+0vOQeG+sXqPqBHF6brILxOm1nW4Qp33rAXHad3z+RZdLT4jT13S9IO6/ZywhTpdHH4jT1zR9IU773g/idBlp7ioNzjXo81Jz1nM/ONdQAnMNB/uOqPyH+/933Scpe3rOI2jw03maaxqu52KGQDmEIa/hEK/TjEur56HXh/QWniOM41SaQYZtPEbHDzJs284ZvrWXqNq1r8FcOvqLc2Cae4aRZjAcp9Ns2YgvPGtrdXOLujx1e9f8coGnTrNtIzqEaw84t6htqv5Gl1Ei1g5tnEz/cB0lw0iD7VGn2aWRuoqw+FJXV3oNyJwHjgBPnWZCI3WF60mx5oG1zzptEMIDDT+DcCzaDkJacx03Xv0MsXCNVz86zf6N1A/TvRG197kONvJLM36HIZyAeyOKmnv/Qn/gFOHhxHk/jodjESzfvuCjo7xq7wHXeeG9PP2NstW/tc+Sj1Nxuo3r8sUxof4f5/0+aYGG6+Nh+N0feOq4CHDivA8szyg/1UfPTavPm2k8UrvcNRzyxPEpjtV0mq/D9WmP9vllw/91HSqfBhlxidZq/VvnmQ0+4fiBabzr4XhXcxpiKROm+5OarSlYJhEWTnXPJQ5qBqcIcOK8Rwz9dXgfV5RvzFD3zKM5Dhtg1CVqGtYvl4Yqe7q/1/2JTVPxHuI0pvy1bZ1XXygnHb7Ub3yoVxE4vjGdUz6eBzbMsSWOofCc5yz/WG0CtVnH5fJzym/uOJL/Puf8Zt+L3Bc4cd6LzOUvnhfat75GeeM8HtYB1731yp6eo9N9RR9LeeOzDGlM+WvbOq9eUE46fA+c55pnBI7vY5Sv/t0bfLwVbJjnJc6ZYl/JWf6x2oTOMwfi+vNzipra4Hqsa7Y37UcfKAOd5rFG5kB6GWU33Ci7bCg7fDaH53mhuv3BejLaZnquy2vuczDaR7XW0A3KWB1knpeczxtyPken7Jl7R3Q1/DefUU9jyl/b1nnZ9o5YCHP15j0Auk5wPVGv4ei0asyt139w3TTYRJu4ZwI+b9nVOE7/xnX75+E6m2nNtnbeX/PSaxg9DX8Z1/KjZltx3VbNvZQ6G3Wh8sd9ZdKY8te2dV62vZS+gbZq3uuj2xXeN6DrB9c2dfvpGcM/1+Vr9jNdDE7x0mCbiuVvF/C3q8V2Y+WE+yJ1bUZ+eByee7GeLcd7ld6G85breUhlz7w/Qv/GNWI9Z4ZjvR+AH9MaXDXOe5nzd7Y1uDtg/u4XmL8z5+qUTxEjjnteVuenOevfOs9s8CmSAE6M18RF8eZJ+kEZ6DTLGxmLmuP44Zayi/hhvLbiut7kG8fX2ea6JmruvADe99INylgdZFtD4NobgXHsYt1rpYfhvznOTmPKX9vWedn2WlGvbgsE7OM/XSeavzov9PWYTqsON+cBcCzamM2cwLpj9Xg6outNle1a0AymfSXycZ5Dj0X7GP5y7lvCeE3WYKyk22o3oy7McXZagG+shmMZHY9jswi0VXPMo9uV5o9tVafFe/n6xPDPdfma/Ux3g1O8NNimYvnbHfztYbHdWDnhvkM9mpEfHofnnnlvsf6NezPl+PXI1w/XjfUikCeWK2o6+uy6beMaCvLpAfE6zVC/TBobs5i+9LHYGtFEW/o4W1uK+GEsK57xXcP5dtM/2/hu/Tj+cY/TONeicB5dIddSBjpNYbC+vMb4YbzfGK9zxlv+HwA/8BNrHYdzXpBJO6361tXiW6ro2xZx9E3XJ84Lao2O19/3No7DfhvHW7Hm/nAsuwG0ufHQhzOtQXg49jL9QR3SaSIQN9gP4z3s+v94jc55j03E4K5/5wJPHZeA/bnyGe81rL1G136Z60URKAOdZtdGNCrXKDvbelEfozz56rOu7x/EaJtrTg7bPZZvwChf/dE+6mv0PnBQxA9GoLz/r1334H0/qaILk+LoQsQPx7vuaewavTGbsTSjKWP9fUEnEnmNPsjwl3H9Mcp9DWk+c2xbTzHXdDjy17bNvezDED4a2qq5B37ED+P6ia4fnRb3aR0Uwz/X5Wv2M10NTvHSYJuK5a/t2dCOTTgO1310mm7NyA+Pw3Mv1v7JuIZ+cILGd7HuqcHxEOceqnlGfsr3E8B3nuu9uvmJ/pAnrkXh9Z5OMwvWok7x+WXDMfiMQK4Rx/mMiW2sZq474ZpZLj+nAs7nfNICDe9nta294ZzKeY2Mc83nK4Zbys6cB+Cci5G5ztXweSQs34BRvvqjfdTj3Fw4yLy3me9esSjrvWI4t6zbak/Df3MMn8aUv7Zt3reEc303w9jBHFvqOtH81XmhrwV1WnW41jm8hg420WYOpEG9NOcg9G/cV+IK0Ayu63ecI9TjXPMeVMa1Tfa5OrxuwHYRawyfFuAbB+I4CfdY0eEnoa2a4yndrnA+XdcP7uVg3hvDfY+k2c/0MDjFS4NtKpa/uE7c02K7sXLC9330bEZ+eByee92N48x1NdXObofzlqcfrhvrmXNjOi/UdM5793FMiXx6QrxOM6+JYxbTl74WWy82c/xja0u28Q/P+K5uLSqWf7bx3WuNrEVxjtM47y/rDb7ifAqWgU7zJqwLvA1rTXqsh/u8fGn5fwD8wA+O17DuOeccOe8LMvWtm8W3VNG3RXH0Tdenbc4xXn/fxzgO++2m3EOAY9n3oc19CX04572tvWL4gzqk0+RC2ejwYP8b5x1wLYpzbTnP4G7ONeA1eh5w4tlrO/4z6HnAKc9Sdr0tZcc0t9ygL9Q89e9ewFOXI47DOZ9Fi7UvAz6LNtgoz1QsuxyI45/fiD/nmCr54/OOuN+a/j/O63Gen7HaWB7w1HH89wnV7e3K5G/tvJ4+J9Jj+BuGNGF/o7RY49rBRtnpeT3sb23Pug/h8S9ufzsE8h/Ok3/tc+24v4fOI2Bw0p/h/JzinouY/2DGMhkeaHqZYDvhOu+buw8KjhU4nzPIawYn1GAubWvuvXQ4h8V1jdHcdwLis5Rc83p4z3VTOHVLAKd4fWGi8o/V7+C1kT4PB0CcPg9GQZxuhyMgTreDIMTpehgIPnJe75r3S+nfON+nNUFfI2F7QV3iHKPGmifsZSk7vCeBU6vN69i+RpkoTlo7cIyo/4/6xVnHsfbsstWx9gH3QAsD9+5GXLLrPdviT6LOGc1pUILzj9Uv/c////mv82c6J0vwnAz6tv3LrAbjJ6axb9Q2751n5I9zGDuH6nmY+1WYfQleE2rbeIyOH2zYjrWuwDQ2KbFdB5vrZshz90Z4Ml07lSRqLVrX1RBLGeg0e4fqy2uiH8ZrluFQngdZ/h8AP/AT69rv/9q+J+hbqux7MgXObXNfDl2ftvelxNsHJM84DvfzwHWTpuzncQC0Od2muOecY60DxVu/556/McefmgvmqdtXhpEG9+zVaWY10p9xvuPHfCZB88O+SKc5tBGeTPeRlDCWQYN7zXW/29tSBjrNkXAOHA39qq5fXHc+y/L/APiBH+x38d1RTPegR81+z3WZ5kA5YB+HvuG79NKY8te2dV74vjkdPhP6XZ1Op9H1ie/4wj441nHdjeNyIA1qqXk/vf6N78s7HtrcWdDvMo1zPJse2OZHmNpm7Rw16pjOI2Bw0h8sY30czu2YZZoZ4H23ZKw6zYFvHTcI4jobPG3XZuZcS1og9rto8P0ZOs2VjfThTFpegvcDmO83wesfnebaRngyXY+VJGo8o7VmsKUMdJqb4Ly/BbTEnB9S/3/Y8v8A+IGfWGspnGN8Tq2JNcZH30w94Mhf27a9n1OHHwKt0el0GnOfFnyfJPI3jxtiHJcDafDaKtYYH7XmDmhzD4PW5IIdrvGX6U+s52KTqTW26yicCzfLlFEnvXh1ipqj4/A9L50MnrZ5OF3+qDXa1wwjDd6Hq9O8mKR5GpzT032C5ofzYTrNK43w5HpPKPcYDu8hwTEAloFOsxDO+zdBS8z7NdT/v7D8PwB+4AfPHZzPZZrzYdcac8/nThbfOJ+LNvcHsL3PWIc/B60xx6S6PjV/nE+K95zwIOM4HMvi9b/Zp5v9jSq/d6HNfQFaw/nsb5cY/mDfqNPge2HMd3aY9+zYxuHmuwLwHPyukT6HaZ3X2jdqfjg3pdP8lMS+kXOt2+wb+1jKQKdZDO30d+j7dP3ivldrLf8PgB/4idU3MvVf7HPtZt/YweJbqvSNa+L0jbgfjfo0tW/saxwXq2805+j1b5xrXwZtbm2CxuFdYviD9wLpNKOAh/leFZ0e+0ZdphlGGtxL8L80/omR6D7HNkeh+eF9IjpNu0Z4cs5RcK7Hm3MUuZYy+G/tKVxfXp38ML5PCvdYjFj+HwA/8BNrjoKzb+TcT8eco+hg8S1V5igGhOvTmnMNZh/X1DmKAcZxseYoYvWNqC3doM3pNqXKj+k9jdY5CrP/wmtqfE/4COM4nT7euLGPYQfPwWGN9DlMz6JZ+0bND6/9dZq8JPaNnM/jmX2jbf5Dp4lCO82Hvk/XL77ve5zl/wHwAz+x+sb/zd+2Lv+m9I1j4/SNuj6bO39re1dLS+dvx0CbGwd9YyLnb83+C/vGIPAw17Z0euwbzXfD6zS2d8NvnaQ+B/sFc20LrzN1mu0b4cl5HwXns3vmfRS5ljLQaXaBdrob9H26fnFvtHLL/wPgB36wb8R7DTj7Rs75ffM+is4W31LlPooy6BvN+yFs7+3CMWSs40YYx+F9FKhJja2DqPLbE9pcOfSNPO9/riu/DjH8wXV/nWYgxOl2rNNnwf/1/7jHvAMN7gMt3HUcjmUOhrIdwcjP3F8gZJSZSqO1JMNIg32STjMzTr+cZTlW+brAD6s2ab5H2zbW476/oLF33OK+AQnY/9vKyXwXm0qj71nPMNLY3vt6VJx6QlvmHE4u+Mv5Dg7c3wj54Ds4dJrjG/GlZwxfBllsndREW/q4iB/WNnFPFbyXluee97p9j8z9acx9XsKQ5oxGxk0894jmJ+x9EXrc1M9SBjrNuaBh58O4SNcX7u96neX/AfADPzhu6gplyrlOyzluwmsiHHeib5zXlOYzBTqvDlDeOnxtnGtKXZ+4TotjoVjH9TSOw2tKHAvHWqfFcdPF0OauA23nnIPuHMMf3AfEfBcU7mGi0+Pz6ajBiXinjuauf+NeKzquO/CMty/0/94B2nROeQYnlUaXvTm+iMBxOs1DjehorL2Y8XlBHNu47lvMd3yZ+zCFIc3jjfjSN4YvPS22nmqiLX2c+a53HHvG2gs4meOL5/8/GV/kWspAp5kPff2rMH6w3evwkeX/AfADP/8bXyRvfPFhnPGFeT9XU8cXfY3jWjO+WAht7qMkjS+0P7bxBeq21ll8t7h5XyX3vEyuwV3/xnkZc80exxcR/1uVt34HOu6PMbgR3yJJ8E3niftj4JqGeVyeUSY4TjDHALlwnE7zSyNawDNn6BUre+Y7OjQ/vI9Qp1nSiCbj+wlU0qGGz/jezf7s/tnfZZFn8U+nWd5IPXC9/517XhjHcApDLGWg0/wL/eMq0Fxdh/isf1b6uv8PgB/4QU3GfSiZ5gKj3HvrmHNltj0+EzHvp23rvHAsrcPt0uvTmu8d1/Vpe+8g8jePyzWOywms+x74tEDj+6Om//enYZvivo7rE8Mf1GTzmiLRz/qb+2vE0xW8l1in6eKXpa0/w/EFPr+qj0UN5py/iAQa+qx/4zhIx/UHnqbfytW5fqczCbgHOLiXRAsyIAOzr1P8goGGJNr40P9P8+ODeIwfp9d+OlnSZQbq+1KOa8MMRtttWGzX7cHoN/X/PvH0R/uo340UhIO0nQiUd7sAC+/aMsliKhNlr71vS2tUO8N/7vX89oZtnVd7qBMdxnGAuS6v60Tzzw7Un9s6rarDtuCXthVsok1c628Lx7czjtO/db0pO/j8Jd5z5Lo+2xhc2oDvOv+2TPk36NMgj4DBKWCUIXIKuOMTzQE+mBfX+ZQVaKgnOo9Y/mseOXAc8mTqU2p5ZjWDZzsLp4BDPjnAB/Nqz+N/FO+dwP5vNOTNc454UewvdJ+rueg8sQ8p8b9VWs8Pqz7IPK+zAw3PcfXB9ojjigzj2KwYx2peOn1bP592xvFpgXrupk9hsJsIHQkbfLIhXqfZxP+ONUfRPoYvGRZb45poSx+nNSUE/DRXnTYIYewXMS2evzmNHIcc2hnHYB/ZHvLR4Uz45umP6s4Jcz43ZPDFOjXvncJ7/3SaHf3vWPVitle0odPg3HWsNqXT7NpIfh1i5JdhsTWhibb0cbpN5QA/zVWnDcL/m9KmGjsO66u9cQzqGXLKMfLB+/jVZ6z/HW3Nx4tGkRPyR35ZBndzfYRrnB0I2NtuvPaNfZtOU+V/N3ZvoE3fcP4pwOFzSaHXkmtfvIeY5fq1JOplBurPF7f1XMh5/VprO5PHtmfrD9vAb10n2BenMeWvbeu8cEykw7ieZ1576Xal+at+R/ex7eIcFzaOywmsey0c7/pK1006hHFuZiyk42kjhQ3GtQHII2BwDhi+8s0XRb12gfo+blJVzbg5NZP3nFIzvWr27DTIUbMea7BOC6zrgZlGfYKWOPXJAi9DEJdplAb2SDhSDkEJqU9b8IZx5jAfe0/zijqImWc2zN/Ws2aCHxy9KVfL4eup666A9VmN7cIc6XP6p9qZVmfVUwSNqYN2gfpRysyyioN3raqZM2v6bGzi2DHhJ2gJBwPrXpRhOu1e0GJPNfs2Rp4BS7pMw+ZY/zvayk8AuKdbfLNdpGUa/Ma64eKBydo8zTLoZCmfDOMbuQdi+GPawHAwYO/y0uLEZVny6WSJ+3/XqoBwiBAFAA==","debug_symbols":"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"},{"name":"entrypoint","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"},"visibility":"private"},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"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ltRNS+qmJfXQknpoST20pB5aUg8tqYeW1ENL6qEl9dCSemBJbRcsqe2CJbVdsKS2C5bUdsGS2i5YUtsFS2q7YEltFyyp7aIltdCSWmhJLbSkFlpSCy2phZbUQktqoSW10JJaaEmttKRWWlIrLamVltRKS2qlJbXSklppSa20pFZaUhstqY2W1EZLaqMltdGS2mhJbbSkNlpSGy2pjZbUNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKNoNKPoNKPoNKPoNKPoNKPoFyypnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUg2YUg2YUg2YUg2YU44IlddCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtKMYtKMYtKMYtKMYl6wpE6aUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUSyaUSyaUSyaUSyaUawLltRFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pNM4pNM4pNM4pNM4p9wZK6aUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxP94ovv1oHZsbP3r6pXq5xF4v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GUWnGUWnGcWgGcWgGcWgGcWgGcW4YEkdNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKMYNKOYNKOYNKOYNKOYNKOYFyypk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUk2YUi2YUi2YUi2YUi2YU64IlddGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtGMYtOMYtOMYtOMYtOMYl+wpG6aUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaUWyaURyaURyaURyaURyaUZwLltRDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4pDM4oDM4p6wYziKYiV1KcgVlKfglhJfQpiJfUpiJXUpyBWUp+CWEl9CmIl9SmIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKgiW10Iyi0Iyi0Iyi0IyiXLCkFppRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRFJpRlI83ih39/eJvX479WNCvF3/T7vVy9VUir5fLFe93G6/ddr9eHd+brU3N9qZmZ1GzH29CP7NZ2dSsbmrWNjXrm5qNTc1umqAaPUF9e8Z0vhbSEjeaVZPXws+fXX+6/o+G0VPUX9EwepL6Cxoe9DT1VzSMnqj+iobRU9Vf0fDH34cxfX3XCPnlLsMnuPYbBQWtINodc5prF5prl09w7b/9O6Sf4NpvFCS0gpRWECyp9YIltV6wpNZPcO03CoIltX64a/82xL9MRJ56Y96KqtfzjNb+ZX7SD3fw927gw9383RuQr94A7Z1GaO80n+DybxQU7L9zE68/OqXknb9z+dUbqK/ewD3e+XzqtQG91YB7vjZQceNHa8vrveAOe6u/3vvZfs1L2S6Rb1ervHP1nLf971ePav3bv3oTQ++y4uB5ln8/y7tsZ3ie5R9nKc+zvNtZ6vMs73aW9jzLu52lf/FBRL/6LKtffZbVrz7LKvwuzu0G4HdxbjZA29SitE0tStvUorRNLUrb1KK0TS1K29SitE0tStvUorRNLUrb1KK0TS1K29SitE0tStvUorRNLUrb1KK0TS1K29SitE0tStvUorRNLUrb1KK0TS1K29SitE0tStvUorRNLUrb1KK0TS1K29SitE0tStvUorRNLUrb1KK0TS1K29SitE0tStvUovlQQitNvl/d+sO3giF/NFsPpbNuNftQMutWsw+lsm41i7bu927WNzVLe0cv2jt60d7Ri/aOXrTPXk377NW0z15N++zVtM9eH7/x5FZBtKRuWlI3LambltRNS+qhJfXQknpoST20pB5aUg8tqWnbGZS2nUFp2xl0YEltFyyp7YIltV2wpLYLltR2wZLaLlhS2wVLaqNtZ7ALltR20ZJaaEkttKQWWlILLamFltRCS2qhJbXQklpoSS20pFZaUistqZWW1EpLaqUltdKSWmlJrbSkVlpSKy2paZbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVaJbVkpbURUvqoiV10ZK6aEldtKSmGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWjGUWnGUWnGUWnGUWnGUW/YEntNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKPoNKMYNKMYNKMYNKMYNKMYFyypg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YUg2YU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OAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAepOAdpOAdpOAdpOAdpOAdpFy2zDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgDecgHecgHecgHecgHecg/aJltuMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpOMcpH+8g3z70To2N3709Ev5com9Xqzv/WSxyZeLz7T+48V/tGp7WvU9rcaeVnNPq7Wn1d7T6qxp9eM97+e1Knta3TMt5Z5p6ePN9Oe1umdayj3TUu6ZlnLPtJR7pqXaMy3Vnmmp9kxLtWda+vhtBZ/X6p5pqfZMS7VnWqo901LtmZZ6z7TUe6al3jMt9Z5p6eP3hHxeq3umpd4zLfWeaan3TEu9Z1qaPdPS7JmWZs+0NHumpY/f0PN5re6ZlmbPtDR7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nWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUnWYUg2YUg2YUg2YUg2YU44IlddCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtCMYtKMYtKMYtKMYtKMYl6wpE6aUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUUyaUSyaUSyaUSyaUSyaUawLltRFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pFM4pNM4pNM4pNM4pNM4p9wZK6aUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUaxaUZxaEZxaEZxaEZxaEZxLlhSD80oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDs0oDswoxgUziqcgVlKfglhJfQpiJfUpiJXUpyBWUp+CWEl9CmIl9SmIldSnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKQiW1EIzikIzikIzikIzinLBklpoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFoRlFpRlFpRlFpRlFpRlEvWFIrzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgqzSgazSgazSgazSgazSjaBUtqoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFoxlFpxlFpxlFpxlFpxlFv2BJ7TSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSj6DSjGDSjGDSjGDSjGDSjGBcsqYNmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFINmFJNmFJNmFJNmFJNmFPOCJXXSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLSjGLRjGLRjGLRjGLRjGJdsKQumlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlEsmlFsmlFsmlFsmlFsmlHsC5bUTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOKTTOK/eFGUS/z7xerXT8V9N7FmS8/Wq8Seb1crni3korXSrpfr35p1jc1G5uazU3N1qZme1Ozs6jZD3eyn9qsbGpWNzWLnqDO0DdvA+D5KudGs2ryWvj5s+tP1//RsG9rGD1J/RUNo6epv6Jh9ET1VzSMnqr+iobvMVmFXy9XR82ND95l+nY6b+8xWX8UdBd7fteChFaQfnhB9XpxzfxakNEKclpBQfs7lLSCilZQ0wqiJXXRkrpoSV1KK8hoBdGSuoJWUNIKKlpBH53UKvNysXrqjwW995OrXv8JfPu1ll9n8Jov3kBfX70B+eoN0N5pmvZOcxc7f9eCgv13buL1R+e5pfHO37n86g3UV2/gHu98Pq93q0JvNeCvvzWh/sNvTbz/o7Vfb4Tp+Trgrf5672f7NS9lu/xw20xU3rl69OrvV49q/du/fCPsLmsInmf597O8ywaF51n+cZbyPMu7naU+z/JuZ2nPs7zbWfoXH0Tmq8+y89Vn2fnqs+zA7+LcbgB+F+dWA3NdrBt7cwmtINg3r3PBvnmdy2kFwe7nzwW7nz8X7H7+XE0raGAFCS2phZbUQktqoSW10JJaaEkttKQWWlILLamFltRKS2qlJbXSklppSa20pFZaUistqZWW1EpLaqUltdGS2mhJbbSkNlpSGy2pjZbURktqoyW10ZLaaEnttKR2WlI7LamdltROS2qnJbXTktppSe20pHZaUgctqYOW1EFL6qAlddCSOmhJHbSkDlpSBy2pg5bUSUvqpCU1Td0PTd0PTd1P0pI6aUmdtKROWlInLamLltRFS+qiJXXRkpqm7oem7oem7oem7qdoSV20pG5aUjctqZuW1E1L6qYlddOSumlJ3bSkblpSNy2ph5bUQ0vqoSX10JJ6aEk9tKQeWlIPLamHltTDSuq8YEbxFMRK6lMQK6lPQaykPgWxkvoUxErqUxArqU9BrKQ+BbGS+hRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwF0ZIaZhRPQbSkhhnFU9Bdkrrn5eoU+31B+fqop5y3S02/l+OscoJVTrLKKVY5zSqH9ezgvGBPeT8FsZ4dfApiPTv4FMR6yvspyGkFsZ7yfgpiPeX9FMR6yvspiPWU91MQLalhT3k/BdGSGvaU91MQLamdltROS2qnJbXTktppSe20pA5aUgctqYOW1EFL6qAlddCSOmhJHbSkDlpSBy2pk5bUSUvqpCV10pI6aUmdtKROWlInLamTltRJS+qiJXXRkrpoSV20pC5aUhctqYuW1EVL6qIlddGSumlJ3bSkblpSNy2pm5bUTUvqpiV105K6aUndtKQeWlIPLamHltRDS+qhJfXQknpoST20pB5aUg8sqeWCJbVcsKSWC5bUcsGSWi5YUssFS2q5YEktFyyp5YIltVy0pBZaUgstqYWW1EJLaqEltdCSWmhJLbSkFlpSCy2plZbUSktqpSW10pJaaUmttKRWWlIrLamVltQ0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0oyg0o6g0o6g0o6g0o6g0o6gXLKmVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSVZhSNZhSNZhSNZhSNZhTtgiW10Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi0Yyi04yi04yi04yi04yiX7CkdppRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRdJpRDJpRDJpRDJpRDJpRjAuW1EEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikEzikkzikkzikkzikkzinnBkjppRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRjFpRrFoRrFoRrFoRrFoRrEuWFIXzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSgWzSg2zSg2zSg2zSg2zSj2BUvqphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFphnFoRnFoRnFoRnFoRnFuWBJPTSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODSjODCjWBfMKJ6CWEl9CmIl9SmIldSnIFZSn4JYSX0KYiX1KYiV1KcgVlKfgmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4inoo5Naz13E7xerXT8V9N7FmS8/Wq8Seb1crni3korXSrpfr/7e7If7x09tVjY1q5uatU3N+qZmQe/o71yceb1cnD9cbFd9Lx/0/v8fKR80LfxHym/yv5TT4Lw12xI3/qWoyWvh58+uP13/R8Po2eUvaLjR88tf0TB6hvkrGkbPMTIjb+92ovVOA481m2S/vV1f+u/frj9cWH9qs7Gp2dzUbG1qFj0l/fOfJyzfKvnl80Q/2N2d3zY7D3Z35/fNPtjdnd83+2B3d37f7IPd3fl9s76p2ceaoG40+1gT1I1mH2uCutHspglqFk1Qci2aoORaNEHJtWiCkmvRBCWXb2p20QQl16IJSq5FE5RciyYouTZNULJpgpJNE5RsmqBk0wT14ZuCPrXZTROUbJqgZNMEJZsmKNk0QemmCUo3TVC6aYLSTRPUh2/w+tRmN01QummC0k0TlG6aoHTTBGWbJijbNEHZpgnKNk1QH75Z71Ob3TRB2aYJyjZNULZpgrJNE5RvmqB80wTlmyYo3zRBffjGy09tdtME5ZsmKN80QfmmCco3TVCxaYKKTRNUbJqgYtME9eGbaD+12U0TVGyaoGLTBBWbJqjYNEHlpgkqN01QuWmCyk0T1IdviP7UZjdNULlpgspNE1RumqAebdv3b5t9tG3fv2920wT1aNu+f9/spgnq0bZ9/77ZTRNUbZqgatMExd47fu9mN01Q7H3j92520wTF3jN+72Y3TVAPtpP8RrObJqgH20l+o9lNE9SmneSyaSe5bNpJLpt2ksumneSyaSe5bNpJLpt2ksumneSyaSe5bNpJLpt2kuumneS6aSe5btpJrpt2kuvlm5pdNEHppp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW7aSa6bdpLrpp3kumknuW3aSW6bdpLbpp3ktmknuV2+qdlFE5Rt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS+6ad5L5pJ7lv2knum3aS++Wbml00QfmmneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneT+aDvJK14r6V+bfbAJ6vfNfvgEZfnyN03T+vfNSkxcLz86z//OT83+vYGP3zN+7wYE3UDqNa8NnP/0nQb0qzdgX70B/+oNBLqButpff7T53Irc7LfIvfTfR+7H7+L+zGZrU7O9qVn25HDfZp09Zfyzzf5+2nf2RHLnZtnT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KDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjKDSjqDSjqDSjqDSjqDSjqBcsqZVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFJVmFI1mFI1mFI1mFI1mFO2CJbXRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLRjKLTjKLTjKLTjKLTjKJfsKR2mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlF0mlEMmlEMmlEMmlEMmlGMC5bUQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKQTOKSTOKSTOKSTOKSTOKecGSOmlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGMWlGsWhGsWhGsWhGsWhGsS5YUhfNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKBbNKDbNKDbNKDbNKDbNKPYFS+qmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWmGcWhGcWhGcWhGcWhGcW5YEk9NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4NKM4MKM4F8wonoJYSX0KYiX1KYiV1KcgVlKfglhJfQpiJfUpiJXUpyBWUp+CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFpSw4ziKYiW1DCjeAqiJTXMKJ6CaEkNM4qnIFhSC80oCs0oCs0oCs0oygVLaqEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaEZRaUZRaUZRaUZRaUZRb1gSa00o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o6g0o2g0o2g0o2g0o2g0o2gXLKmNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSNZhSdZhSdZhSdZhSdZhT9giW104yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04yi04xi0Ixi0Ixi0Ixi0IxiXLCkDppRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRDJpRjA83inqZf79Y7fqpoPcuznz50XqVyOvlcsW7lVS8VtL9evVLs7KpWd3UrG1q1jc1G5uazU3N1qZme1Ozs6jZQk9QZ+ibtwGwJW40qyavhZ8/u/50/R8No6eov6Jh9CT1VzSMnqb+ioZ9W8PoqeqvaPgek9X5Burl6qi58cG7TN9O5+09Jut7QUUrqGkFzYcXVK8X18wvBd3Fnt+1IKEVpLC/Q3ex53ctyGkFBa0gWlI3LambltQ9sILmohVES+pRWkFGK8hpBX10UqvMy8XqqT8W9N5Prnr9J3AGgf51Bp/86g3UV2+gv3oDsHeavGDvNHkJrSBl/52beP3ReW5p/PJ3Li/76g34V2/gHu98Pq93q0JvNeCvvzWh/sNvTbz/o7Vfb4Rph73VX+/9bL/mpWyXH26bico7V49e/f3qUa1/+1dvhOVd1hA8z/KPs6znWd7tLPt5lnc7y3me5b3O8i4rN55n+cdZyhcfROSrz7Ly1WfZu2wv+dQG4HdxbjcAv4tzu4Fi3dhLaVpBsG9eU2HfvKbC7uenwu7np8Lu5+ddtqnctaCgFZS0gmhJrbSkVlpSGy2pjZbURktqoyW10ZLaaElttKQ2WlIbLamNltROS2qnJbXTktppSe20pHZaUjstqZ2W1E5LaqclddCSOmhJHbSkDlpSBy2pg5bUQUvqoCV10JI6aEmdtKROWlInLamTltRJS+qkJXXSkjppSZ20pE5aUhctqYuW1EVL6qIlddGSumhJXbSkLlpSFy2paeo+aeo+aeo+m5bUTUvqpiV105K6aUndtKRuWlI3LamHltQ0dZ80dZ80dZ80dZ9DS+qhJfXQknpoST2wpK4LltR1wZK6LlhS1wVL6rpgSV0XLKnrgiV1XbCkrguW1HXRklpoSS20pBZaUgstqYWW1EJLaqElNc0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0olj/Us5XS5PvVrT9s6gr53uxDPVfpVrMP9UylW80+1POUbjXrm5p9qOco3WoW9rzpctjzpsthz5suhz1vuuKiFSS0gpRWkNEKclpBQSuIltRBS+qgJXXQkjppSZ20pE5aUictqZOW1ElL6qQlddKSOmlJnbSkLlpSFy2pi5bURUvqoiV10ZK6aEldtKQuWlIXLambltRNS+qmJXXTkrppSd20pG5aUjctqZuW1E1L6qEl9dCSemhJPbSkHlpSDy2ph5bUQ0vqoSX1wJK6L1hS9wVL6r5gSd0XLKn7giV1X7Ck7guW1H3BkrovWFL3RUtqoSW10JJaaEkttKQWWlILLamFltRCS2qhJbXQklppSa20pFZaUistqZWW1EpLaqUltdKSWmlJrbSkNlpSGy2pjZbURktqoyW10ZLaaElttKQ2WlIbLamdltROS2qnJbXTktppSe20pKYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaEZxaEZxaEZxaEZxblgST00ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozgwoyjXBUOK3ypiZfW3ilhh/a0iVlp/q4gV198qYuX1t4pYgf2tIlZif6uIFdnfKsJlNowrfqsIl9kwsPitIlxmw8jit4pwmQ1Di98qwmU2jC1+qwiX2TC4+K0iXGbD6OK3inCZDcOL3yrCZTaML36rCJfZMMD4rSJcZsMI47eKcJkNQ4zfKsJlNowxfqsIl9kwyPitIlxmwyjjt4pwmQ3DjN8qwmU2jDN+qwiX2TDQ+K0iXGbDSOO3inCZDUON3yrCZTaMNX6rCJfZMNj4rSJcZsNo47eKcJkNw43fKsJlNow3fqsIl9kw4PitIlxmw4jjt4pwmQ1Djt8qwmU2jDl+qwiX2TDo+K0iXGbDqOO3inCZDcOO3yrCZTaMO36rCJfZMPD4rSJcZsPI47eKcJkNQ4/fKsJlNow9fqsIl9kw+PitIlxmw+jjt4pwmQ3Dj98qwmU2jD9+qwiX2TAA+a0iXGbDCOS3inCZDUOQ3yrCZTaMQX6riJbZgnOQgnOQgnOQgnOQctEyW3AOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnAOUnEOUnEOUnEOUnEOUi9aZivOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQSrOQRrOQRrOQRrOQRrOQdpFy2zDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjHOUjHOUjHOUjHOUi/aJntOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAcZOAcZOAcZOAcZOAcZFy2zA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgE+cgE+cgE+cgE+cg86JlduIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOEcZOEcZOEcZOEcZF20zC6cgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycg6wPd5B6mX+/WO36qaL3Ls58+dH67VduXy+XK96tpOK1ku7Xq1+7rVXd9qpuZ1O3H+5OP7dbWdUt6L39nYszr5eL84eL7aqX+kGTwH+ofv/i9Qf5X8vpcN66bYkb/1rU5LXw82fXn67/3jF6ivlLOkZPMn9Jx+hp5i/pGD3RyIy8veuJ1q8d9PVYU0r22/v2pf/+fbuvx5pSbnWrq7q1Vd36qm7R89I//+nC8q2S/rXbB7vjc6PbB7vjc6PbB7vjc6PbB7vj8/tu5cHu+Nzo9sHu+Nzo9rFmqVvdPtYsdatbX9XtqllKVs1SsmqWklWzlKyapXTVLKWrZildNUvpqlnqwzfBfG63q2YpXTVL6apZSlfNUrpqlrJVs5StmqVs1Sxlq2apD9/Q9LndrpqlbNUsZatmKVs1S9mqWcpXzVK+apbyVbOUr5qlPnxz2ud2u2qW8lWzlK+apXzVLOWrZqlYNUvFqlkqVs1SsWqW+vCNhp/b7apZKlbNUrFqlopVs1SsmqVy1SyVq2apXDVL5apZ6sM3jX5ut6tmqVw1S+WqWSpXzVK5apaqVbNUrZqlatUsVatmqQ/fAPy53a6apWrVLFWrZqlaNUvVqlmqV81SvWqW6lWzVK+apT58M/fndrtqlnq0jeI3ul01Sz3aRvEb3a6apR5to/iNblfNUrNqlppVs9SHbyv/3G5XzVLsveZ373bVLMXeZ373bjfNUvNge89vdbtplpoH23t+q9tNs9RcvqrbTbPUrNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Pqv2ns+qveezau/5rNp7Ppv2nsu1ae/56XbRLHW6XTRLnW4XzVKnW1/V7aJZ6nS7aJY63S6apU63i2ap0+2qWWrT3vPT7apZatPe89Ptqllq097z0+2qWWrT3vPT7apZatPe89Ptqllq097z0+2qWWrT3vPT7apZatPe89Ptqllq097z0+2qWWrT3vPT7apZatPe89Ptqllq097z0+2qWWrT3vPT7apZatPe89Ptqllq097z0+2qWWrT3vPT7apZatPe89Ptqllq097z0+2qWWrT3vPT7apZatPe89Ptqllq097z89+smqU27T0//82qWWrT3vPz36yapTbtPT//zapZatPe8/PfrJqlNu09P92umqU27T0/3a6apTbtPT/drpqlNu09P92umqU27T0/3a6apTbtPT/drpqlNu09P92umqU27T0/3a6apTbtPT/drpqlNu09P92umqU27T0/3a6apTbtPT/drpqlNu09P92umqU27T0/3a6apTbtPT/drpqlNu09P92umqU27T0/3a6apTbtPf/2wPlV3a6apTbtPf/2WJVV3W6apWTV3nNZtfdcVu09l1V7z+XyVd1umqVk1d5zWbX3XFbtPZdVe89l1d5zWbX3XFbtPZdVe89l1d5zWbX3XFbtPZdVe89l1d5zWbX3XFbtPZdVe89l1d5zWbX3XFbtPZdVe89l1d5zWbX3XFbtPZdVe89l1d5zWbX3XFbtPZdVe89l1d5zWbX3XFbtPZdVe89l1d5zWbX3XFbtPZdVe89l1d5zWbX3XB5t73nFayX9TrcPNkvd6PbDZynLl79smta/71Zi4nr50Xn+d37q9nsH9eU7aHQHqde8dnD+0/c6mK/ewcfvEb97B/LlO1B0B3W1v/5o87mVvNlvyXvpL8n78fu+P7VbX9VtrOqWPUPcu1v2vPHPdntj9g/2bHLvbtlzzJ27TfbMc+9u2fPRvbt9rFnqVrePNUvd6tZXdftYs9Stbh9rlrrV7apZKlfNUrlqlqpVs1StmqVq1SxVq2apj9/3/andrpqlatUsVatmqVo1S9WqWapXzVK9apbqVbNUr5qlPn7f96d2u2qW6lWzVK+apXrVLNWrZqlZNUvNqllqVs1Ss2qW+vh935/a7apZalbNUrNqlppVs9RsmqX02jRL6bVpltJr0yyl16ZZSi9f1e2mWUqvTbOUXptmKb02zVJ6rZqlZNUsJatmKVk1S8mqWerj931/arerZilZNUvJqllKVs1SsmqW0lWzlK6apXTVLKWrZqmP3/f9qd2umqV01Sylq2YpXTVL6apZylbNUrZqlrJVs5StmqU+ft/3p3a7apayVbOUrZqlbNUsZatmKV81S/mqWcpXzVK+apb6+H3fn9rtqlkKvu/73t2umqXge8Tv3e2qWQq+n/ze3a6apR5s7/mtblfNUg+29/xWt6tmqQfbe36r21Wz1Kq957pq77mu2nuuq/ae66q957pq77mu2nuuq/ae66q957pq77mu2nuuq/ae66q957pq77mu2nuuq/ae66q957pq77mu2nuuq/ae66q957pq77mu2nuuq/ae66q957pq77mu2nuuq/ae66q957pq77mu2nuuq/ae66q957pq77mu2nuuq/ae66q95/poe88rXi/vd7p9sFnqRrcfPktd9lK/2reSf9vt1Lz+1ZyWuNGtmrwWfv7s+tP13zvudR3Pso7t43egf3rHsq5jXdexrevY13Uc6zrOdR1vm7nsw3eky/hbD/VTx98rGlpFH75r/HZFgqtIcRXd4z05/Hq5OmpuVFSmb+XL28X1UpHjKgpcRYmrqHAVNa6ioVV0l53G961IcBUpriKjvYvox2d2vV5cM++cUeAqSlxFhauocRXh5mzDzdn20ZmtMi8Xq6f++Kq995OrXvM0Wvudz3emX74D+/Id+JfvIL58B4nLlsJVhLsXZLj3KMe9RznuXtBddjv6vFYUeist/LUi9R8qev9Ha782qx32Fhb13s/2a17KdvnhaETlnatHr/5+9ajWT0H0H7tBe5fVkc/D/H6Y/jzM+x1mPA/zfoeZz8O832HW8zDvd5j9PMz7HeY8D/Nuh3mXnabPw/x+mPI8zPsdJu7b8MB9s3KXzaZ/4T2lidcfnafz915l+F2xf6CD/PId1JfvoL98B/PVO8jry3cA/6bqH+gA/k3VP9AB/Juqf6ADp00JH77F8nZFuG+SEvdNUuK+SUrcN0mF+yapcN8k1cf/htqN35opw1XkuIpwv6FWuN9QK9xvqBXuN9RqaBX1hatIcBXh7n017t5X4zK7cZnduMxuXGY3LrMbN2cPbs4eXGYPbs4e3Jw9uMweXGYP7t7I4O6NDO7eyNAy2y9aZvtFuzfiFy2z/aJltl+0zPaLltl+0eZsv2hztl+0Odsv2r0RF9q9ERfanO24LRkutHsjLrjMFlxmCy6zBZfZgstswWW24jJbcZmtuDlbcXP2XbZk3PVdRGm/N+JKuzfiSrs34kq7N+K4LRmO25Lhhrs3YrjMNlxmf/hWitsV4eZsw83ZhpuzDTdnG27Odtyc7bg523H3Rhx3b8Rxme24zHZcZjsusx2X2Y6bswM3ZwcuswM3Zwduzg5cZgcuswN3byRw90YCd28kcJmduMxO3L2RxGV24jI7cZmduMxO3JyduDk7cXN24u6NFO7eSOHm7MLdGyncvRGcg3Scg3Scg3Scg3Scg3Scg3Scg3Scg/TGzdmNm7Pv4iDv+i7SuN8bady9kcbdG2ncvRGcg3Scg/TB3RvBOUjHOUjHOUjHOUgf3Jw9uDl7cHP20ObsuGhzdly0OTsu2r2RuGj3RuKiZXbgHGTgHGTgHGTgHGTgnhYeuKeFB85BhtDm7BDanB04Bxk4BxlCuzcSQrs3EkK7NxKCy2zFZbbS7o0EzkEGzkEG7mnhgXtaeOCeFh64p4UH7mnhobh7I4a7N2K4Odtw90YMd28E5yAD5yAD5yAD5yAD5yAD5yAD5yAD5yDDcXO24+bsuzjIf+ZdRC/z7xerXT+9i7z3llPz9p7T8nb5+08UTJPvV7f+8GTDkJduY1W3uarbWtVtr+p2NnX74V72c7uVVd3qqm5tVbdO+0QetN/BDZxPDpxPDpxPDpxPDpxPDpxPjsTds0zcPUvcc1oD95zWwD2nNXDPaQ3cc1oD95zWwD2nNXDPaQ2cTw6cT47CZXbhMrtwmV24zC5cZhcusxuX2Y3LbNxzWgP3nNbA+eTA+eTA+eTA+eTA+eTA+eTA+eTA+eQYXGYPLrMHl9mDy2zcc1oD95zWwD2nNXDPaU3cc1oT95zWxPnkxPnkvGiZnRcts/OiZXZetMzOi5bZifPJifPJKbjMxj2nNXHPaU3BZbbgMhvnkxPnkxPnkxPnkxPnkxPnk1Nxma24zMY9pzVxz2lN3HNaE/ec1sQ9pzVxz2lN3HNaE/ec1sT55MT55DRcZhsusw2X2YbLbMNltuEy23GZ7bjMxj2nNXHPaU3HZbbjMttxme24zHZcZuOe05q457Rm4DI7cJkduMzGOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjEOcjCOcjCOcjCOcjCOci6aJldOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAdZOAfZOAfZOAfZOAfZOAfZFy2zG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgG+cgB+cgB+cgB+cgB+cg56Jl9uAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5OAc5NAcpF40B3kqgmX2qQiW2aciWGafimCZfSqCZfapCJbZpyJYZp+KYJl9KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopomS04Byk4Byk4Byk4BykXLbMF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAF5yAV5yAV5yAV5yAV5yD1omW24hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4hyk4Ryk4Ryk4Ryk4RykXbTMNpyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDNJyDdJyDdJyDdJyDdJyD9IuW2Y5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkI5zkIFzkIFzkIFzkIFzkHHRMjtwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJwDjJxDjJxDjJxDjJxDjIvWmYnzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEmzkEWzkEWzkEWzkEWzkHWRcvswjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIwjnIxjnIxjnIxjnIxjnIvmiZ3TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgH2TgHOTgHOTgHOTgHOTgHORctswfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIAfnIIfmIO2iOchTESyzT0WwzD4VwTL7VATL7FMRLLNPRbDMPhXBMvtUBMvsUxEus2kO8lSEy2yagzwV4TKb5iBPRbjMpjnIUxEus2kO8lSEy2yagzwV4TKb5iBPRbjMpjnIUxEus2kO8lSEy2yagzwV4TKb5iBPRbjMpjnIUxEus2kO8lSEy2yagzwV4TKb5iBPRbjMpjnIUxEus2kO8lSEy2yagzwV4TKb5iBPRbjMpjnIUxEus2kO8lSEy2yagzwV4TKb5iBPRbjMpjnIUxEus2kO8lSEy2yagzwV4TKb5iBPRbjMpjnIUxEus2kO8lSEy2yagzwV4TKb5iBPRbjMpjnIUxEus2kO8lSEy2yagzwV4TKb5iBPRbjMpjnIUxEus2kO8lSEy2yagzwV4TKb5iBPRbjMpjnIUxEus2kO8lSEy2yagzwV4TKb5iBPRbjMpjnIUxEus2kO8lREy2zBOUjBOUjBOUjBOUi5aJktOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAepOAepOAepOAepOAepFy2zFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecgFecg9cMdpF7m3y8+X6X9VNF7F2e+/Gi9SuT1crni3UoqXivpfr36tdte1e1s6vbDbejndiurutVV3dqqbn1Vt7Gq21zVLXqWOvPfvM2CLXGjW/32kJ7Xny6uP13/vWP0PPWXdIyeqf6Kjgc9V/0lHaNnq7+kY/R89Zd0fI8ZK/x6uTpqbnwSL9O343l7q8l6qchxFQWuovzwiur14pp5p6LCVdS4igb298ju4tvvW5HgKlJcRbTMtouW2XbRMtuuxFVUuIpomW3X0CqSC1eR4Cr66MxWmZeL1VN/rOi9n1z1+u8gWvvXudzEvnwH/uU7iC/fAe49R3DvOdK4iob9927i9Ufnudvxzt87vb58B/LlO7jHe6DP672s0Fsd+OvvWKj/8DsW7//o883t63cOHfbWQL33s/2al7JdfripJirvXD169ferR7X+7V++TWZ3WXXwPMzvh+nPw7zfYcbzMO93mPk8zPsdZj0P836H2V9+HvnyU619+anWvvxUa/A7O/9AB/A7O/9AB06732eBq4j2Da0Z7RtaM9zdfsPd7Xfc3X7H3e13xVVkuIpwme24zHZcZjsusx2X2Y7L7MBlduAyO3CZHbjMDlxmBy6zA5fZgcvswGV24DI7cZmduMxOXGYnLrMTl9mJy+zEZXbiMjtxmZ24zC5cZhcuswuX2YXL7MJlduEyu3CZXbjMLlxmFy6zG5fZjcvsxmV24zK7cZnduMxuXGY3LrMbl9mNy+zBZfbgMntwmT24zB5cZg8us3Gy33Cy33Cy34aW2X7RMtsvWmb7Rctsv2iZ7Rcts/2iZbZftMz2i5bZjpP9jpP9jpP9jpP9LrjMFlxmCy6zBZfZgstswWW24DJbcJmtuMxWXGYrLrMVl9mKy2zFZbbiMltxma24zFZcZhsusw2X2YbLbMNlNs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BOs5BejzUU6DS5PvVrT/sCgt56fahngB1s9uHevrTrW7zoZ78dLPbh3rq081uH+qJTze7pT0t2+/iZe9bEe1p2Z60p2V7Fq6ixlU0tIrqwlUkuIoUVxEuswuX2YXL7MJlduEyu3CZXbjMblxmNy6zG5fZjcvsxmV24zK7cZnduMxuXGY3LrMHl9mDy+zBZfbgMntwmT24zB5cZg8usweX2UPL7LhomR0XLbPjomV2XLTMjouW2XHRMjsuWmbHRcvsuGiZHRcuswWX2YLLbMFltuAyW3CZLbjMFlxmCy6zBZfZgstsxWW24jJbcZmtuMxWXGYrLrMVl9mKy2zFZbbiMttwmW24zDZcZhsusw2X2YbLbMNltuEy23CZbbjMdlxmOy6zHZfZjstsx2W24zLbcZntuMx2XGY7LrMDl9mBy+zAZXbgMjtwmR24zA5cZgcuswOX2YHL7MRlduIyO3GZjXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQiXOQiXOQiXOQiXOQedEyO3EOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOsnAOsnAOsnAOsnAOsi5aZhfOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQTbOQTbOQTbOQTbOQfZFy+zGOcjGOcjGOcj/f3t3tyNHkqRn+I4GYf9mVyOsBEEYYLErSCsBOtC9K3qWVUWqi1ucnGyvl7Q+GXRjMsvNk8GvrCP9sWicg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycg2ycgxycgxycgxycgxycg5yLltmDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5CDc5BDc5B+0RzkXREss++KYJl9VwTL7LsiWGbfFcEy+64Iltl3RbDMviuCZfZdES6zaQ7yrgiX2TQHeVeEy2yag7wrwmU2zUHeFeEym+Yg74pwmU1zkHdFuMymOci7Ilxm0xzkXREus2kO8q4Il9k0B3lXhMtsmoO8K8JlNs1B3hXhMpvmIO+KcJlNc5B3RbjMpjnIuyJcZtMc5F0RLrNpDvKuCJfZNAd5V4TLbJqDvCvCZTbNQd4V4TKb5iDvinCZTXOQd0W4zKY5yLsiXGbTHORdES6zaQ7yrgiX2TQHeVeEy2yag7wrwmU2zUHeFeEym+Yg74pwmU1zkHdFuMymOci7Ilxm0xzkXREus2kO8q4Il9k0B3lXhMtsmoO8K8JlNs1B3hXhMpvmIO+KcJlNc5B3RbjMpjnIuyJcZtMc5F0RLrNpDvKuCJfZNAd5V4TLbJqDvCvCZTbNQd4V4TKb5iDvimiZLTgHKTgHKTgHKTgHKRctswXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIAXnIBXnIBXnIBXnIBXnIPWiZbbiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKTiHKThHKThHKThHKThHKRdtMw2nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIM0nIN0nIN0nIN0nIN0nIP0i5bZjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQjnOQgXOQgXOQgXOQcdxB6mX+5cVq1zcVvffizJcfrVeJvL5crni3korXSrpfX/26W1+121i121y121q12161W9Dv9ndenHm9vDi/erFd9aV+kq59qH5Q3/BQ/Ur+23LvcN522xIf/G1Rk9fC7392/eb1X3aM7mL+kB37uh2ju5k/ZMfojkZm5O23nmi9t4Nfq0vJfvu9fenvfm/Lr9WlfLTb2bTb4/r8c3crq3aL7pf+/v+6sHyr5Pf/daG/2B2fD3brq3b7i93x+WC3v9gdnw92+4vd8flgt7/YHZ8Pdvtr9VIf7NZ+rV7qo93+Wr3UR7td1UvZql7q+BSOz93tql7KVvVStqqXslW9lK3qpXxVL+Wreilf1Uv5ql7q+HScz93tql7KV/VSvqqX8lW9lK/qpWJVLxWreqlY1UvFql7q+NSqz93tql4qVvVSsaqXilW9VKzqpXJVL5Wreqlc1Uvlql7q+DS5z93tql4qV/VSuaqXylW9VK7qpWpVL1Wreqla1UvVql7q+JTHz93tql6qVvVStaqXqlW9VK3qpXpVL9Wreqle1Uv1ql7q+PTVz93tql6qV/VSvaqX6lW9VK/qpWZVLzWreqlZ1UvNql7q+FTkz93tql5qVvVSs6qXmlW91GzqpfLa1EvltamXymtTL5W/2kTxD3brq3a7qZfKX22i+Ae73dRL5a82UfyD3a7qpWRVLyWrein2bPOn73ZVL8Weaf703a7qpdizzJ++21W91C829/yj3a7qpX6xuecf7XZVL7Vq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnueq+ae56q557lq7nmumnteq+ae16q557Vq7nmtmntel6/a7aZeqlbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc89r1dzzWjX3vFbNPa9Vc8971dzzXjX3vFfNPe9Vc8/78lW73dRL9aq5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnveq+ae96q5571q7nmvmnve5+eeW74UpGn9H+9WYuJ6+dF5r/PNbr/sQH/6HRh6B6nXvO7gfut7O/Cffgfx0+8gf/odFHoHdbW//mjz+Sh5s+P15Zf+Pnl71W5n027Pz/v+1N2ye4hn75bdb/y9u/2gPyx2b/Ls3fqq3bJ7nmfvlt0fPXu3v1Yv9dFuf61e6qPd/lq91Ae77V+rl/pot79WL/XRblf1Ur2qlzo/7/tTd7uql+pVvVSv6qV6VS/Vq3qpWdVLzapealb1UrOqlzo/7/tTd7uql5pVvdSs6qVmVS81m3qpuTb1UnNt6qXm2tRLzbWpl5rLV+12Uy8116Zeaq5NvdRcm3qpuVb1UrKql5JVvZSs6qVkVS91ft73p+52VS8lq3opWdVLyapeSlb1Urqql9JVvZSu6qV0VS91ft73p+52VS+lq3opXdVL6apeSlf1Uraql7JVvZSt6qVsVS91ft73p+52VS9lq3opW9VL2apeylb1Ur6ql/JVvZSv6qV8VS91ft73p+52VS/lq3opX9VL+apeylf1UrGql4pVvVSs6qViVS91ft73p+52VS8Vq3qpWNVLxapeKlb1Urmql4LP+372blf1UvA54s/era/a7apeCj7L/Nm7XdVL/WJzzz/a7ape6hebe/7Rblf1Uqvmns+queezau75rJp7Pqvmns+queezau75rJp7Pqvmns+queezau75rJp7Pqvmns+queezau75rJp7Pqvmns+queezau75rJp7Pqvmns+queezau75rJp7Pqvmns+queezau75bJp7Htemuef3bhf1UvduF/VS924X9VL3bn3Vbhf1UvduF/VS924X9VL3bhf1UvduV/VS5+eeX/ZSv9pvJf+Hu72/cX0t//6GLj7YrZq8Fn7/s+s3r/+yY1m3Y123Y1u3Y1+341i341y341q3416349m2Y13Xcx2fkS7jb3uob3b8pSLFVWS4ihxXUeAqesbv5PDr5dVR80FFZfpWvry9uF4qKlxFjatoaBU9Zc7zcysSXEWKq8hwFTmuosBVlLTfInY+s+v1xTXzzmfUuIqGVpFfuIoEVxGuz3Zcn+2nM1tlXl6snvr1n9p7P7nqNU+jtd/57zuPn34H+dPvoH76HfRPv4OhZcvxOZ0fV4S7FxS431GB+x11fG7kxxU943eOz2tFoR+lhb9WpP5VRe//aO3XzWqHvYVFvfez/ZqXsl2++mhE5Z1Xj1795dWjWt8E0WM3aJ8yOvLPD/PLh1l/fpjP+zD7zw/zeR/m/PlhPu3DfMrYzj8/zC8fpvz5YT7vw9Q/P8znfZj254f5vA/T//wwn/dh4r4NT9w3Kwm/Kzbx+qPz3vl7f8rwu2I/sIP52XdQ10+/A/npd6A//Q7sp9+B//Q7gH9T9QM7gH9T9QM7KFqXcHyK5ccV4b5Jatw3SY37Jqlx3yQ17puk49MJP67o/Am1D07NdOIqwp1Qa9wJtcadUBvcCbXBnVAbxVVkuIocVxHu3tfg7n0NLrMHl9lDy2y5aJktFy2z5aL12XLR+my5aJktF63PlovWZ8tFy2y5aJktF+3eiAjt3ogI7d6ICC6zBZfZx6e4fFwRLrMFl9mCy2zBZbbg+mzF9dmK67OVdm9ElHZvRJ4yJeO5FdHujYjS7o2I4jJbcZmtuMw2XGYbLrMNl9mGy2zDZbbh+mzD9dlGOzciRjs3Ioa7N+K4eyOOuzeCm5IhuCkZ8pQpGc+tCJfZjstsx/XZjuuzHddnB67PDlyfHbg+O3B99lOmRjy3Ity9kcDdGwlcZgcuswOX2YnL7MRlduL67MT12YnL7MT12YnrsxOX2YnL7MTdGyncvZHC3RspXGYXLrOf4jKfWxEuswuX2YXL7MJlduH67Mb12Y3rsxt3b6Rx90ae4iCfWxHu3kjj7o3gHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKQMrs8eXJ89uHMjgzs3MrR7I3rR7o3oRbs3ojgHqTgHqZfjKqJltuIcpOIcpOIcpF60PluF1mer0PpsFVqfrULrs/UpDvK5FdHujajQ7o0ozkEqzkEqzkEqzkEqzkEq7mnhintauOIcpCquz1Zcn41zkIpzkKq4eyOGuzdiuHsjhstsw2X2UxzkcyvCZTbOQSruaeGKe1q44p4WrrinhSvuaeHquHsjjrs3cvxp4R9XhLs34rh7IzgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqYHrswPXZwft3IgG7dyIBu7eSOLujSTu3gjOQSrOQepTHORzK8L12bjnfWriMjtxmY1zkIpzkIpzkIpzkIpzkIpzkFq4zC5cZuOeB6m450Eq7nmQinsepOKeB6m450Eq7nmQinsepOIcpOIcpDYusxuX2Y3L7MFl9uAye3CZPbjMHlxm454HqbjnQSrOQSrOQSrOQRrOQRrOQRrOQRrOQdpFy2y7aJltFy2z7aJltl20zDbc8yAN9zxIwz0P0nDPgzTc8yAN9zxIwzlIwzlIE1xmCy6zBZfZistsxWU2zkEazkGa4jIb9zxIwz0P0hSX2YrLbJyDNJyDNJyDNJyDNJyDNJyDNMNltuEyG/c8SMM9D9Jwz4M03PMgDfc8SMM9D9Jwz4M03PMgDecgDecgzXGZ7bjMdlxmBy6zA5fZgcvswGV24DIb9zxIwz0P0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nAO0nEO0nEO0nEO0nEO0i9aZjvOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQTrOQQbOQQbOQQbOQQbOQcZFy+zAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjAOcjEOcjEOcjEOcjEOci8aJmdOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAeZOAdZOAdZOAdZOAdZOAdZFy2zC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgC+cgG+cgG+cgG+cgG+cg+6JlduMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMcZOMc5OAc5OAc5OAc5OAc5Fy0zB6cgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxycgxyag8yL5iDvimCZfVcEy+y7Ilhm3xXBMvuuCJbZd0WwzL4rgmX2XREss++KcJlNc5B3RbjMpjnIuyJcZtMc5F0RLrNpDvKuCJfZNAd5V4TLbJqDvCvCZTbNQd4V4TKb5iDvinCZTXOQd0W4zKY5yLsiXGbTHORdES6zaQ7yrgiX2TQHeVeEy2yag7wrwmU2zUHeFeEym+Yg74pwmU1zkHdFuMymOci7Ilxm0xzkXREus2kO8q4Il9k0B3lXhMtsmoO8K8JlNs1B3hXhMpvmIO+KcJlNc5B3RbjMpjnIuyJcZtMc5F0RLrNpDvKuCJfZNAd5V4TLbJqDvCvCZTbNQd4V4TKb5iDvinCZTXOQd0W4zKY5yLsiXGbTHORdES6zaQ7yrgiX2TQHeVeEy2yag7wrwmU2zUHeFeEym+Yg74pwmU1zkHdFuMymOci7Ilxm0xzkXREus2kO8q4Il9k0B3lXRMtswTlIwTlIwTlIwTlIuWiZLTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHKTgHqTgHqTgHqTgHqTgHqRctsxXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIBXnIA3nIA3nIA3nIA3nIO2iZbbhHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKThHKTjHKTjHKTjHKTjHKRftMx2nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIN0nIMMnIMMnIMMnIMMnIOMi5bZgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQgXOQiXOQiXOQiXOQiXOQedEyO3EOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOMnEOsnAOsnAOsnAOsnAOsi5aZhfOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQRbOQTbOQTbOQTbOQTbOQfZFy+zGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjGOcjG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OUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjDOUjHOUjHOUjHOUjHOUi/aJntOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAfpOAcZOAcZOAcZOAcZOAcZFy2zA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgA+cgE+cgE+cgE+cgE+cg86JlduIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOIcZOEcZOEcZOEcZOEcZF20zC6cgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycgyycg2ycg2ycg2ycg2ycg+yLltmNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CNc5CDc5CDc5CDc5CDc5Bz0TJ7cA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5ycA5y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"}],"outputs":{"globals":{"notes":[{"fields":[{"kind":"integer","sign":false,"value":"00000000000000000000000000000000000000000000000000000000906cb9c3"},{"kind":"string","value":"EcdsaPublicKeyNote"}],"kind":"tuple"}],"storage":[{"fields":[{"name":"public_key","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"0000000000000000000000000000000000000000000000000000000000000001"}}],"kind":"struct"}}],"kind":"struct"}]},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"}},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"}}],"kind":"struct","path":"EcdsaRAccount::entrypoint_parameters"}}],"kind":"struct","path":"EcdsaRAccount::entrypoint_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"inner_hash","type":{"kind":"field"}}],"kind":"struct","path":"EcdsaRAccount::verify_private_authwit_parameters"}},{"name":"return_type","type":{"kind":"field"}}],"kind":"struct","path":"EcdsaRAccount::verify_private_authwit_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"signing_pub_key_x","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}}},{"name":"signing_pub_key_y","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}}}],"kind":"struct","path":"EcdsaRAccount::constructor_parameters"}}],"kind":"struct","path":"EcdsaRAccount::constructor_abi"}]}},"file_map":{"105":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest, public_call_stack_item::PublicCallStackItem,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() });\n }\n\n fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let (end_side_effect_counter, returns_hash) = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"},"113":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/payload.nr","source":"use dep::protocol_types::{address::AztecAddress, scalar::Scalar, point::Point};\nuse std::{\n embedded_curve_ops::fixed_base_scalar_mul as derive_public_key,\n hash::from_field_unsafe as fr_to_fq_unsafe, field::bn254::decompose\n};\n\nuse crate::{\n event::event_interface::EventInterface, oracle::unsafe_rand::unsafe_rand,\n utils::point::point_to_bytes, note::note_interface::NoteInterface,\n encrypted_logs::{\n header::EncryptedLogHeader, incoming_body::EncryptedLogIncomingBody,\n outgoing_body::EncryptedLogOutgoingBody\n}\n};\n\npub fn compute_encrypted_event_log<Event, let NB: u32, let MB: u32, let OB: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n event: Event\n) -> [u8; OB] where Event: EventInterface<NB, MB> {\n let (eph_sk, eph_pk) = generate_ephemeral_key_pair();\n\n let header = EncryptedLogHeader::new(contract_address);\n\n let incoming_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ivpk);\n let outgoing_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ovpk);\n let incoming_body_ciphertext = EncryptedLogIncomingBody::from_event(event, randomness).compute_ciphertext(eph_sk, ivpk);\n let outgoing_body_ciphertext: [u8; 144] = EncryptedLogOutgoingBody::new(eph_sk, recipient, ivpk).compute_ciphertext(fr_to_fq(ovsk_app), eph_pk);\n\n let mut encrypted_bytes: [u8; OB] = [0; OB];\n // @todo We ignore the tags for now \n\n let eph_pk_bytes = point_to_bytes(eph_pk);\n for i in 0..32 {\n encrypted_bytes[64 + i] = eph_pk_bytes[i];\n }\n for i in 0..48 {\n encrypted_bytes[96 + i] = incoming_header_ciphertext[i];\n encrypted_bytes[144 + i] = outgoing_header_ciphertext[i];\n }\n for i in 0..144 {\n encrypted_bytes[192 + i] = outgoing_body_ciphertext[i];\n }\n // Then we fill in the rest as the incoming body ciphertext\n let size = OB - 336;\n assert_eq(size, incoming_body_ciphertext.len(), \"ciphertext length mismatch\");\n for i in 0..size {\n encrypted_bytes[336 + i] = incoming_body_ciphertext[i];\n }\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (32 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (144 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding)\n encrypted_bytes\n}\n\npub fn compute_encrypted_note_log<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n note: Note\n) -> [u8; M] where Note: NoteInterface<N, NB> {\n let (eph_sk, eph_pk) = generate_ephemeral_key_pair();\n\n let header = EncryptedLogHeader::new(contract_address);\n\n let incoming_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ivpk);\n let outgoing_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ovpk);\n let incoming_body_ciphertext = EncryptedLogIncomingBody::from_note(note, storage_slot).compute_ciphertext(eph_sk, ivpk);\n let outgoing_body_ciphertext: [u8; 144] = EncryptedLogOutgoingBody::new(eph_sk, recipient, ivpk).compute_ciphertext(fr_to_fq(ovsk_app), eph_pk);\n\n let mut encrypted_bytes: [u8; M] = [0; M];\n // @todo We ignore the tags for now \n\n let eph_pk_bytes = point_to_bytes(eph_pk);\n for i in 0..32 {\n encrypted_bytes[64 + i] = eph_pk_bytes[i];\n }\n for i in 0..48 {\n encrypted_bytes[96 + i] = incoming_header_ciphertext[i];\n encrypted_bytes[144 + i] = outgoing_header_ciphertext[i];\n }\n for i in 0..144 {\n encrypted_bytes[192 + i] = outgoing_body_ciphertext[i];\n }\n // Then we fill in the rest as the incoming body ciphertext\n let size = M - 336;\n assert_eq(size, incoming_body_ciphertext.len(), \"ciphertext length mismatch\");\n for i in 0..size {\n encrypted_bytes[336 + i] = incoming_body_ciphertext[i];\n }\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (32 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (144 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding)\n encrypted_bytes\n}\n\n/// Converts a base field element to scalar field element.\n/// This is fine because modulus of the base field is smaller than the modulus of the scalar field.\nfn fr_to_fq(r: Field) -> Scalar {\n let (lo, hi) = decompose(r);\n\n Scalar { lo, hi }\n}\n\nfn generate_ephemeral_key_pair() -> (Scalar, Point) {\n // @todo Need to draw randomness from the full domain of Fq not only Fr\n // We use the unsafe version of `fr_to_fq` because multi_scalar_mul (called by derive_public_key) will constrain\n // the scalars.\n let eph_sk = fr_to_fq_unsafe(unsafe_rand());\n let eph_pk = derive_public_key(eph_sk);\n\n (eph_sk, eph_pk)\n}\n\nmod test {\n use crate::{encrypted_logs::payload::compute_encrypted_note_log, test::mocks::mock_note::MockNoteBuilder};\n use dep::protocol_types::{address::AztecAddress, point::Point};\n use std::test::OracleMock;\n\n #[test]\n fn test_encrypted_note_log_matches_typescript() {\n // All the values in this test were copied over from `tagged_log.test.ts`\n let contract_address = AztecAddress::from_field(0x10f48cd9eff7ae5b209c557c70de2e657ee79166868676b787e9417e19260e04);\n let storage_slot = 0x0fe46be583b71f4ab5b70c2657ff1d05cccf1d292a9369628d1a194f944e6599;\n let ovsk_app = 0x03a6513d6def49f41d20373d2cec894c23e7492794b08fc50c0e8a1bd2512612;\n let ovpk_m = Point {\n x: 0x1961448682803198631f299340e4206bb12809d4bebbf012b30f59af73ba1a15,\n y: 0x133674060c3925142aceb4f1dcd9f9137d0217d37ff8729ee5ceaa6e2790353d,\n is_infinite: false\n };\n let ivpk_m = Point {\n x: 0x260cd3904f6df16e974c29944fdc839e40fb5cf293f03df2eb370851d3a527bc,\n y: 0x0eef2964fe6640e84c82b5d2915892409b38e9e25d39f68dd79edb725c55387f,\n is_infinite: false\n };\n\n let note_value = 0x301640ceea758391b2e161c92c0513f129020f4125256afdae2646ce31099f5c;\n let note = MockNoteBuilder::new(note_value).contract_address(contract_address).storage_slot(storage_slot).build();\n\n let eph_sk = 0x1358d15019d4639393d62b97e1588c095957ce74a1c32d6ec7d62fe6705d9538;\n let _ = OracleMock::mock(\"getRandomField\").returns(eph_sk);\n\n let recipient = AztecAddress::from_field(0x10ee41ee4b62703b16f61e03cb0d88c4b306a9eb4a6ceeb2aff13428541689a2);\n\n let log: [u8; 448] = compute_encrypted_note_log(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n note\n );\n\n // The following value was generated by `tagged_log.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let encrypted_note_log_from_typescript = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 70, 12, 14, 67, 77, 132, 110, 193, 234, 40, 110, 64, 144, 235, 86, 55, 111, 242, 123, 221, 193, 170, 202, 225, 216, 86, 84, 159, 112, 31, 167, 126, 79, 51, 186, 47, 71, 253, 172, 99, 112, 241, 59, 197, 241, 107, 186, 232, 87, 187, 230, 171, 62, 228, 234, 42, 51, 145, 146, 238, 242, 42, 71, 206, 13, 244, 66, 111, 195, 20, 203, 98, 148, 204, 242, 145, 183, 156, 29, 141, 54, 44, 220, 194, 35, 229, 16, 32, 204, 211, 49, 142, 112, 82, 202, 116, 241, 254, 146, 42, 217, 20, 189, 70, 228, 182, 171, 205, 104, 27, 99, 171, 28, 91, 244, 21, 30, 130, 240, 5, 72, 174, 124, 97, 197, 157, 248, 193, 23, 193, 76, 46, 141, 144, 70, 211, 45, 67, 167, 218, 129, 140, 104, 190, 41, 110, 249, 209, 68, 106, 135, 164, 80, 235, 63, 101, 80, 32, 13, 38, 99, 145, 91, 11, 173, 151, 231, 247, 65, 153, 117, 229, 167, 64, 239, 182, 126, 235, 83, 4, 169, 8, 8, 160, 4, 235, 252, 21, 96, 84, 161, 69, 145, 145, 215, 254, 161, 117, 246, 198, 65, 89, 179, 194, 90, 19, 121, 12, 202, 114, 80, 195, 14, 60, 128, 105, 142, 100, 86, 90, 108, 157, 219, 22, 172, 20, 121, 195, 25, 159, 236, 2, 70, 75, 42, 37, 34, 2, 17, 149, 20, 176, 32, 18, 204, 56, 117, 121, 34, 15, 3, 88, 123, 64, 68, 74, 233, 63, 59, 131, 222, 194, 192, 167, 110, 217, 10, 128, 73, 129, 172, 205, 103, 212, 60, 151, 141, 10, 151, 222, 151, 180, 43, 91, 148, 201, 110, 165, 10, 238, 32, 134, 235, 99, 216, 200, 182, 31, 22, 156, 18, 209, 222, 172, 239, 193, 212, 86, 99, 62, 70, 182, 45, 175, 241, 91, 202, 179, 225, 99, 1, 150, 232, 2, 252, 20, 83, 49, 132, 162, 93, 116, 212, 87, 71, 211, 58, 159, 163, 40, 253, 31, 3, 192, 48, 14, 201, 80, 24, 135, 154, 207, 58, 140, 128, 29, 101, 207, 189, 182, 191, 71, 210, 64, 172, 131, 83, 46, 232, 19, 216, 183, 108, 234, 17, 104, 60, 113, 231, 145, 195, 157, 24\n ];\n for i in 0..encrypted_note_log_from_typescript.len() {\n assert_eq(log[i], encrypted_note_log_from_typescript[i]);\n }\n assert_eq(encrypted_note_log_from_typescript.len(), log.len());\n }\n}\n"},"114":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/encrypted_note_emission.nr","source":"use crate::{\n context::PrivateContext, note::{note_emission::NoteEmission, note_interface::NoteInterface},\n encrypted_logs::payload::compute_encrypted_note_log, oracle::logs_traits::LensForEncryptedLog\n};\nuse dep::protocol_types::{\n hash::sha256_to_field, address::AztecAddress, point::Point, abis::note_hash::NoteHash,\n constants::MAX_NOTE_HASHES_PER_CALL\n};\n\nunconstrained fn compute_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n note: Note\n) -> ([u8; M], Field) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n compute(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n )\n}\n\nfn compute<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n note: Note\n) -> ([u8; M], Field) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let encrypted_log: [u8; M] = compute_encrypted_note_log(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n );\n let log_hash = sha256_to_field(encrypted_log);\n (encrypted_log, log_hash)\n}\n\nfn emit_with_keys<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n note: Note,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n inner_compute: fn(AztecAddress, Field, Field, Point, Point, AztecAddress, Note) -> ([u8; M], Field)\n) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let note_header = note.get_header();\n let note_hash_counter = note_header.note_hash_counter;\n let storage_slot = note_header.storage_slot;\n\n let note_exists = context.note_hashes.storage.any(|n: NoteHash| n.counter == note_hash_counter);\n assert(note_exists, \"Can only emit a note log for an existing note.\");\n\n let contract_address: AztecAddress = context.this_address();\n let ovsk_app: Field = context.request_ovsk_app(ovpk.hash());\n\n let (encrypted_log, log_hash) = inner_compute(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n );\n\n context.emit_raw_note_log(note_hash_counter, encrypted_log, log_hash);\n}\n\npub fn encode_and_encrypt_note<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ov: AztecAddress,\n iv: AztecAddress\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n let header = context.get_header();\n let ovpk = header.get_ovpk_m(context, ov);\n let ivpk = header.get_ivpk_m(context, iv);\n emit_with_keys(context, e.note, ovpk, ivpk, iv, compute);\n }\n}\n\npub fn encode_and_encrypt_note_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ov: AztecAddress,\n iv: AztecAddress\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n let header = context.get_header();\n let ovpk = header.get_ovpk_m(context, ov);\n let ivpk = header.get_ivpk_m(context, iv);\n emit_with_keys(context, e.note, ovpk, ivpk, iv, compute_unconstrained);\n }\n}\n\npub fn encode_and_encrypt_note_with_keys<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress\n) -> fn[(&mut PrivateContext, Point, Point, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n emit_with_keys(context, e.note, ovpk, ivpk, recipient, compute);\n }\n}\n\npub fn encode_and_encrypt_note_with_keys_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress\n) -> fn[(&mut PrivateContext, Point, Point, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n emit_with_keys(context, e.note, ovpk, ivpk, recipient, compute_unconstrained);\n }\n}\n"},"115":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/outgoing_body.nr","source":"use dep::protocol_types::{\n address::AztecAddress, scalar::Scalar, point::Point, constants::GENERATOR_INDEX__SYMMETRIC_KEY,\n hash::poseidon2_hash_with_separator\n};\nuse std::aes128::aes128_encrypt;\n\nuse crate::{keys::point_to_symmetric_key::point_to_symmetric_key, utils::point::point_to_bytes};\n\nstruct EncryptedLogOutgoingBody {\n eph_sk: Scalar,\n recipient: AztecAddress,\n recipient_ivpk: Point,\n}\n\nimpl EncryptedLogOutgoingBody {\n pub fn new(eph_sk: Scalar, recipient: AztecAddress, recipient_ivpk: Point) -> Self {\n Self { eph_sk, recipient, recipient_ivpk }\n }\n\n /// Encrypts ephemeral secret key and recipient's ivpk --> with this information the recipient of outgoing will\n /// be able to derive the key with which the incoming log can be decrypted.\n pub fn compute_ciphertext(self, ovsk_app: Scalar, eph_pk: Point) -> [u8; 144] {\n // Again, we could compute `eph_pk` here, but we keep the interface more similar\n // and also make it easier to optimise it later as we just pass it along\n\n let mut buffer = [0 as u8; 128];\n\n let serialized_eph_sk_high = self.eph_sk.hi.to_be_bytes(32);\n let serialized_eph_sk_low = self.eph_sk.lo.to_be_bytes(32);\n\n let address_bytes = self.recipient.to_field().to_be_bytes(32);\n let serialized_recipient_ivpk = point_to_bytes(self.recipient_ivpk);\n\n for i in 0..32 {\n buffer[i] = serialized_eph_sk_high[i];\n buffer[i + 32] = serialized_eph_sk_low[i];\n buffer[i + 64] = address_bytes[i];\n }\n for i in 0..32 {\n buffer[i + 96] = serialized_recipient_ivpk[i];\n }\n\n // We compute the symmetric key using poseidon.\n let full_key: [u8; 32] = poseidon2_hash_with_separator(\n [ovsk_app.hi, ovsk_app.lo, eph_pk.x, eph_pk.y],\n GENERATOR_INDEX__SYMMETRIC_KEY as Field\n ).to_be_bytes(32).as_array();\n\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(buffer, iv, sym_key).as_array()\n }\n}\n\nmod test {\n use crate::encrypted_logs::outgoing_body::EncryptedLogOutgoingBody;\n use dep::protocol_types::{\n address::AztecAddress, traits::Empty, constants::GENERATOR_INDEX__NOTE_NULLIFIER,\n scalar::Scalar, point::Point, hash::poseidon2_hash_with_separator\n };\n use std::embedded_curve_ops::fixed_base_scalar_mul as derive_public_key;\n\n use crate::context::PrivateContext;\n\n #[test]\n fn test_encrypted_log_outgoing_body_matches_typescript() {\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000d0d302ee245dfaf2807e604eec4715fe,\n hi: 0x000000000000000000000000000000000f096b423017226a18461115fa8d34bb\n };\n let recipient_ivsk = Scalar {\n lo: 0x000000000000000000000000000000004828f8f95676ebb481df163f87fd4022,\n hi: 0x000000000000000000000000000000000f4d97c25d578f9348251a71ca17ae31\n };\n let sender_ovsk_app = Scalar {\n lo: 0x0000000000000000000000000000000074d2e28c6bc5176ac02cf7c7d36a444e,\n hi: 0x00000000000000000000000000000000089c6887cb1446d86c64e81afc78048b\n };\n\n let eph_pk = derive_public_key(eph_sk);\n let recipient_ivpk = derive_public_key(recipient_ivsk);\n\n let recipient = AztecAddress::from_field(0xdeadbeef);\n\n let body = EncryptedLogOutgoingBody::new(eph_sk, recipient, recipient_ivpk);\n\n let ciphertext = body.compute_ciphertext(sender_ovsk_app, eph_pk);\n\n // The following value was generated by `encrypted_log_outgoing_body.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let outgoing_body_ciphertext_from_typescript = [\n 127, 182, 227, 75, 192, 197, 54, 47, 168, 134, 233, 148, 251, 46, 86, 12, 73, 50, 238, 50, 31, 174, 27, 202, 110, 77, 161, 197, 244, 124, 17, 100, 143, 150, 232, 14, 156, 248, 43, 177, 16, 82, 244, 103, 88, 74, 84, 200, 15, 65, 187, 14, 163, 60, 91, 22, 104, 31, 211, 190, 124, 121, 79, 92, 239, 65, 185, 106, 51, 178, 168, 137, 84, 43, 79, 158, 151, 152, 83, 42, 170, 13, 106, 209, 254, 74, 39, 145, 73, 215, 17, 234, 196, 89, 30, 58, 120, 127, 88, 69, 121, 61, 18, 206, 89, 118, 243, 238, 177, 71, 73, 47, 147, 4, 155, 25, 173, 248, 206, 52, 17, 180, 122, 186, 106, 191, 252, 102, 197, 91, 16, 39, 94, 91, 224, 30, 168, 177, 26, 144, 5, 124, 128, 6\n ];\n\n for i in 0..outgoing_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], outgoing_body_ciphertext_from_typescript[i]);\n }\n assert_eq(outgoing_body_ciphertext_from_typescript.len(), ciphertext.len());\n }\n}\n"},"116":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/header.nr","source":"use dep::protocol_types::{address::AztecAddress, scalar::Scalar, point::Point};\n\nuse crate::keys::point_to_symmetric_key::point_to_symmetric_key;\n\nuse std::aes128::aes128_encrypt;\n\nstruct EncryptedLogHeader {\n address: AztecAddress,\n}\n\nimpl EncryptedLogHeader {\n fn new(address: AztecAddress) -> Self {\n EncryptedLogHeader { address }\n }\n\n fn compute_ciphertext(self, secret: Scalar, point: Point) -> [u8; 48] {\n let full_key = point_to_symmetric_key(secret, point);\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n\n let input: [u8; 32] = self.address.to_field().to_be_bytes(32).as_array();\n aes128_encrypt(input, iv, sym_key).as_array()\n }\n}\n\n#[test]\nfn test_encrypted_log_header_matches_noir() {\n let address = AztecAddress::from_field(0xdeadbeef);\n let header = EncryptedLogHeader::new(address);\n let secret = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n let point = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n };\n\n let ciphertext = header.compute_ciphertext(secret, point);\n\n // The following value was generated by `encrypted_log_header.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let expected_header_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 194, 44, 7, 131, 160, 83, 64, 181, 98, 38, 153, 214, 62, 171, 253, 161, 111, 191, 28, 247, 216, 26, 222, 171, 176, 218, 48, 209, 73, 89, 200, 209\n ];\n\n assert_eq(ciphertext, expected_header_ciphertext_from_typescript);\n}\n"},"117":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/incoming_body.nr","source":"use crate::note::note_interface::NoteInterface;\nuse crate::event::event_interface::EventInterface;\nuse dep::protocol_types::{scalar::Scalar, point::Point};\n\nuse std::aes128::aes128_encrypt;\nuse crate::keys::point_to_symmetric_key::point_to_symmetric_key;\n\nstruct EncryptedLogIncomingBody<let M: u32> {\n plaintext: [u8; M]\n}\n\nimpl<let M: u32> EncryptedLogIncomingBody<M> {\n pub fn from_note<T, let N: u32>(note: T, storage_slot: Field) -> Self where T: NoteInterface<N, M> {\n let mut plaintext = note.to_be_bytes(storage_slot);\n EncryptedLogIncomingBody { plaintext }\n }\n\n pub fn from_event<T, let MR: u32>(\n event: T,\n randomness: Field\n ) -> Self where T: EventInterface<M, MR> {\n let mut plaintext = event.private_to_be_bytes(randomness);\n EncryptedLogIncomingBody { plaintext }\n }\n\n pub fn compute_ciphertext(self, eph_sk: Scalar, ivpk: Point) -> [u8] {\n let full_key = point_to_symmetric_key(eph_sk, ivpk);\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(self.plaintext, iv, sym_key)\n }\n}\n\nmod test {\n use dep::protocol_types::{\n address::AztecAddress, scalar::Scalar, point::Point, traits::Serialize,\n abis::event_selector::EventSelector\n };\n\n use crate::{\n note::{note_header::NoteHeader, note_interface::NoteInterface},\n encrypted_logs::incoming_body::EncryptedLogIncomingBody, event::event_interface::EventInterface,\n context::PrivateContext\n };\n\n struct AddressNote {\n address: AztecAddress,\n owner: AztecAddress,\n randomness: Field,\n header: NoteHeader,\n }\n\n global ADDRESS_NOTE_LEN: Field = 3;\n global ADDRESS_NOTE_BYTES_LEN = 32 * 3 + 64;\n\n impl NoteInterface<ADDRESS_NOTE_LEN, ADDRESS_NOTE_BYTES_LEN> for AddressNote {\n fn compute_note_hiding_point(self) -> Point {\n crate::generators::Ga1\n }\n\n fn get_note_type_id() -> Field {\n 1\n }\n\n fn get_header(self) -> NoteHeader { self.header}\n\n fn set_header(&mut self, header: NoteHeader) {self.header = header; }\n\n fn compute_nullifier(_self: Self, _context: &mut PrivateContext, _note_hash_for_nullify: Field) -> Field {\n 1\n }\n\n fn compute_nullifier_without_context(_self: Self) -> Field {\n 1\n }\n\n fn serialize_content(self) -> [Field; ADDRESS_NOTE_LEN] { [self.address.to_field(), self.owner.to_field(), self.randomness]}\n\n fn deserialize_content(fields: [Field; ADDRESS_NOTE_LEN]) -> Self {\n AddressNote { address: AztecAddress::from_field(fields[0]), owner: AztecAddress::from_field(fields[1]), randomness: fields[2], header: NoteHeader::empty() }\n }\n\n fn to_be_bytes(self, storage_slot: Field) -> [u8; ADDRESS_NOTE_BYTES_LEN] {\n let serialized_note = self.serialize_content();\n\n let mut buffer: [u8; ADDRESS_NOTE_BYTES_LEN] = [0; ADDRESS_NOTE_BYTES_LEN];\n\n let storage_slot_bytes = storage_slot.to_be_bytes(32);\n let note_type_id_bytes = AddressNote::get_note_type_id().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = storage_slot_bytes[i];\n buffer[32 + i] = note_type_id_bytes[i];\n }\n\n for i in 0..serialized_note.len() {\n let bytes = serialized_note[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[64 + i * 32 + j] = bytes[j];\n }\n }\n buffer\n }\n }\n\n impl AddressNote {\n pub fn new(address: AztecAddress, owner: AztecAddress, randomness: Field) -> Self {\n AddressNote { address, owner, randomness, header: NoteHeader::empty() }\n }\n }\n\n #[test]\n fn test_encrypted_note_log_incoming_body_matches_typescript() {\n // All the values in this test were copied over from `encrypted_note_log_incoming_body.test.ts`\n let note = AddressNote::new(\n AztecAddress::from_field(0x1),\n AztecAddress::from_field(0x2),\n 3\n );\n\n let storage_slot = 2;\n\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n let ivpk = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n };\n\n /// 1. `EncryptedLogIncomingBody::from_note` calls `note.to_be_bytes(storage_slot)` function which serializes\n /// the note to bytes - note that in the case of `AddressNote` the `to_be_bytes` function was automatically\n /// implemented by Aztec macros.\n let body = EncryptedLogIncomingBody::from_note(note, storage_slot);\n\n /// 2. `body.compute_ciphertext(...)` function then derives symmetric key from `eph_sk` and `ivpk` and encrypts\n // the note plaintext using AES-128.\n let ciphertext = body.compute_ciphertext(eph_sk, ivpk);\n\n // The following value was generated by `encrypted_note_log_incoming_body.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let note_body_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 147, 228, 160, 190, 146, 61, 95, 203, 124, 153, 68, 168, 17, 150, 92, 0, 99, 214, 85, 64, 191, 78, 157, 131, 149, 96, 236, 253, 96, 172, 157, 30, 27, 176, 228, 74, 242, 190, 138, 48, 33, 93, 46, 37, 223, 130, 25, 245, 188, 163, 159, 223, 187, 24, 139, 206, 131, 154, 159, 130, 37, 17, 158, 114, 242, 141, 124, 193, 232, 54, 146, 96, 145, 100, 125, 234, 57, 43, 95, 115, 183, 39, 121, 232, 134, 229, 148, 25, 46, 77, 87, 127, 95, 7, 77, 188, 37, 234, 245, 142, 232, 87, 252, 28, 67, 67, 90, 214, 254, 89, 47, 68, 66, 187, 227, 8, 59, 162, 25, 141, 97, 141, 217, 197, 115, 15, 212, 202, 157, 41, 150, 62, 219, 57, 224, 92, 185, 212, 142, 94, 146, 41, 178, 145, 68, 169, 23, 185, 206, 138, 70, 47, 176, 210, 165, 236, 23, 206, 229, 108\n ];\n\n assert_eq(note_body_ciphertext_from_typescript.len(), ciphertext.len());\n\n for i in 0..note_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], note_body_ciphertext_from_typescript[i]);\n }\n }\n\n struct TestEvent {\n value0: Field,\n value1: Field,\n value2: Field,\n }\n\n impl Serialize<3> for TestEvent {\n fn serialize(self) -> [Field; 3] {\n [self.value0, self.value1, self.value2]\n }\n }\n\n global TEST_EVENT_LEN: Field = 3;\n global TEST_EVENT_BYTES_LEN = 32 * 3 + 64;\n global TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS = 32 * 3 + 32;\n\n impl EventInterface<TEST_EVENT_BYTES_LEN, TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS> for TestEvent {\n fn get_event_type_id() -> EventSelector {\n EventSelector::from_signature(\"TestEvent(Field,Field,Field)\")\n }\n\n fn private_to_be_bytes(self, randomness: Field) -> [u8; TEST_EVENT_BYTES_LEN] {\n let mut buffer: [u8; TEST_EVENT_BYTES_LEN] = [0; TEST_EVENT_BYTES_LEN];\n\n let randomness_bytes = randomness.to_be_bytes(32);\n let event_type_id_bytes = TestEvent::get_event_type_id().to_field().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = randomness_bytes[i];\n buffer[32 + i] = event_type_id_bytes[i];\n }\n\n let serialized_event = self.serialize();\n\n for i in 0..serialized_event.len() {\n let bytes = serialized_event[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[64 + i * 32 + j] = bytes[j];\n }\n }\n\n buffer\n }\n\n fn to_be_bytes(self) -> [u8; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS] {\n let mut buffer: [u8; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS] = [0; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS];\n\n let event_type_id_bytes = TestEvent::get_event_type_id().to_field().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = event_type_id_bytes[i];\n }\n\n let serialized_event = self.serialize();\n\n for i in 0..serialized_event.len() {\n let bytes = serialized_event[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[32 + i * 32 + j] = bytes[j];\n }\n }\n\n buffer\n }\n\n fn emit<Env>(self, _emit: fn[Env](Self) -> ()) {\n _emit(self);\n }\n }\n\n #[test]\n fn test_encrypted_log_event_incoming_body() {\n let test_event = TestEvent { value0: 1, value1: 2, value2: 3 };\n\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n\n let ivpk = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n };\n\n let randomness = 2;\n\n let body = EncryptedLogIncomingBody::from_event(test_event, randomness);\n\n let ciphertext = body.compute_ciphertext(eph_sk, ivpk);\n\n // The following value was generated by `encrypted_event_log_incoming_body.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let event_body_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 147, 228, 160, 190, 146, 61, 95, 203, 124, 153, 68, 168, 17, 150, 92, 0, 99, 214, 85, 64, 191, 78, 157, 131, 149, 96, 236, 253, 96, 172, 157, 30, 185, 29, 14, 152, 216, 130, 219, 151, 80, 185, 43, 223, 167, 8, 89, 189, 88, 188, 101, 137, 255, 136, 84, 252, 79, 18, 52, 3, 110, 54, 54, 206, 244, 209, 246, 226, 207, 247, 143, 253, 211, 75, 160, 224, 172, 41, 45, 7, 208, 137, 90, 56, 59, 4, 234, 48, 53, 23, 130, 230, 49, 249, 142, 243, 170, 72, 183, 242, 49, 124, 46, 52, 198, 75, 55, 102, 56, 89, 254, 67, 59, 157, 249, 120, 184, 67, 154, 16, 148, 227, 93, 37, 120, 199, 93, 166, 80, 127, 173, 52, 80, 135, 87, 1, 168, 164, 51, 48, 126, 120, 47, 102, 211, 227, 234, 170, 208, 99, 111, 198, 170, 226, 156, 244, 241, 174, 206, 30\n ];\n\n assert_eq(event_body_ciphertext_from_typescript.len(), ciphertext.len());\n\n for i in 0..event_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], event_body_ciphertext_from_typescript[i]);\n }\n }\n}\n"},"121":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/note_getter/mod.nr","source":"use dep::protocol_types::{constants::{MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, GET_NOTES_ORACLE_RETURN_LENGTH}};\nuse crate::context::PrivateContext;\nuse crate::note::{\n constants::{GET_NOTE_ORACLE_RETURN_LENGTH, MAX_NOTES_PER_PAGE, VIEW_NOTE_ORACLE_RETURN_LENGTH},\n note_getter_options::{NoteGetterOptions, Select, Sort, SortOrder, Comparator, NoteStatus, PropertySelector},\n note_interface::NoteInterface, note_viewer_options::NoteViewerOptions,\n utils::compute_note_hash_for_read_request\n};\nuse crate::oracle;\n\nmod test;\n\nfn extract_property_value_from_selector<let N: u32>(\n serialized_note: [Field; N],\n selector: PropertySelector\n) -> Field {\n // Selectors use PropertySelectors in order to locate note properties inside the serialized note. \n // This allows easier packing and custom (de)serialization schemas. A note property is located\n // inside the serialized note using the index inside the array, a byte offset and a length.\n let value = serialized_note[selector.index].to_be_bytes(32);\n let offset = selector.offset;\n let length = selector.length;\n let mut value_field = 0 as Field;\n let mut acc: Field = 1;\n for i in 0..32 {\n if i < length {\n value_field += value[31 + offset - i] as Field * acc;\n acc = acc * 256;\n }\n }\n value_field\n}\n\nfn check_note_header<Note, let N: u32, let M: u32>(\n context: PrivateContext,\n storage_slot: Field,\n note: Note\n) where Note: NoteInterface<N, M> {\n let header = note.get_header();\n let contract_address = context.this_address();\n assert(header.contract_address.eq(contract_address), \"Mismatch note header contract address.\");\n assert(header.storage_slot == storage_slot, \"Mismatch note header storage slot.\");\n}\n\nfn check_note_fields<let N: u32>(\n serialized_note: [Field; N],\n selects: BoundedVec<Option<Select>, N>\n) {\n for i in 0..selects.len {\n let select = selects.get_unchecked(i).unwrap_unchecked();\n let value_field = extract_property_value_from_selector(serialized_note, select.property_selector);\n\n // Values are computed ahead of time because circuits evaluate all branches\n let is_equal = value_field == select.value.to_field();\n let is_lt = value_field.lt(select.value.to_field());\n\n if (select.comparator == Comparator.EQ) {\n assert(is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.NEQ) {\n assert(!is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LT) {\n assert(is_lt, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LTE) {\n assert(is_lt | is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GT) {\n assert(!is_lt & !is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GTE) {\n assert(!is_lt, \"Mismatch return note field.\");\n }\n }\n}\n\nfn check_notes_order<let N: u32>(\n fields_0: [Field; N],\n fields_1: [Field; N],\n sorts: BoundedVec<Option<Sort>, N>\n) {\n for i in 0..sorts.len {\n let sort = sorts.get_unchecked(i).unwrap_unchecked();\n let field_0 = extract_property_value_from_selector(fields_0, sort.property_selector);\n let field_1 = extract_property_value_from_selector(fields_1, sort.property_selector);\n let eq = field_0 == field_1;\n let lt = field_0.lt(field_1);\n if sort.order == SortOrder.ASC {\n assert(eq | lt, \"Return notes not sorted in ascending order.\");\n } else if !eq {\n assert(!lt, \"Return notes not sorted in descending order.\");\n }\n }\n}\n\npub fn get_note<Note, let N: u32, let M: u32>(\n context: &mut PrivateContext,\n storage_slot: Field\n) -> (Note, Field) where Note: NoteInterface<N, M> {\n let note = get_note_internal(storage_slot);\n\n check_note_header(*context, storage_slot, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n\n context.push_note_hash_read_request(note_hash_for_read_request);\n (note, note_hash_for_read_request)\n}\n\npub fn get_notes<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> (BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>) where Note: NoteInterface<N, M> + Eq {\n let opt_notes = get_notes_internal(storage_slot, options);\n\n constrain_get_notes_internal(context, storage_slot, opt_notes, options)\n}\n\nunconstrained fn apply_preprocessor<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS>(\n notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor: fn([Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL], PREPROCESSOR_ARGS) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor_args: PREPROCESSOR_ARGS\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] {\n preprocessor(notes, preprocessor_args)\n}\n\nfn constrain_get_notes_internal<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n opt_notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> (BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>) where Note: NoteInterface<N, M> + Eq {\n // The filter is applied first to avoid pushing note read requests for notes we're not interested in. Note that\n // while the filter function can technically mutate the contents of the notes (as opposed to simply removing some),\n // the private kernel will later validate that these note actually exist, so transformations would cause for that\n // check to fail.\n let filter_fn = options.filter;\n let filter_args = options.filter_args;\n let filtered_notes = filter_fn(opt_notes, filter_args);\n\n let notes = crate::utils::collapse(filtered_notes);\n let mut note_hashes: BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL> = BoundedVec::new();\n\n // We have now collapsed the sparse array of Options into a BoundedVec. This is a more ergonomic type and also\n // results in reduced gate counts when setting a limit value, since we guarantee that the limit is an upper bound\n // for the runtime length, and can therefore have fewer loop iterations.\n assert(notes.len() <= options.limit, \"Got more notes than limit.\");\n\n let mut prev_fields = [0; N];\n for i in 0..options.limit {\n if i < notes.len() {\n let note = notes.get_unchecked(i);\n let fields = note.serialize_content();\n check_note_header(*context, storage_slot, note);\n check_note_fields(fields, options.selects);\n if i != 0 {\n check_notes_order(prev_fields, fields, options.sorts);\n }\n prev_fields = fields;\n\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_note_hash_read_request(note_hash_for_read_request);\n note_hashes.push(note_hash_for_read_request);\n };\n }\n\n (notes, note_hashes)\n}\n\nunconstrained fn get_note_internal<Note, let N: u32, let M: u32>(storage_slot: Field) -> Note where Note: NoteInterface<N, M> {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n oracle::notes::get_notes(\n storage_slot,\n 0,\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n NoteStatus.ACTIVE,\n placeholder_note,\n placeholder_fields,\n placeholder_note_length\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] where Note: NoteInterface<N, M> {\n // This function simply performs some transformations from NoteGetterOptions into the types required by the oracle.\n\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length\n );\n\n apply_preprocessor(opt_notes, options.preprocessor, options.preprocessor_args)\n}\n\nunconstrained pub fn view_notes<Note, let N: u32, let M: u32>(\n storage_slot: Field,\n options: NoteViewerOptions<Note, N, M>\n) -> BoundedVec<Note, MAX_NOTES_PER_PAGE> where Note: NoteInterface<N, M> {\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n\n let notes_array = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length\n );\n\n let mut notes = BoundedVec::new();\n for i in 0..notes_array.len() {\n if notes_array[i].is_some() {\n notes.push(notes_array[i].unwrap_unchecked());\n }\n }\n\n notes\n}\n\nunconstrained fn flatten_options<Note, let N: u32>(\n selects: BoundedVec<Option<Select>, N>,\n sorts: BoundedVec<Option<Sort>, N>\n) -> (u8, [u8; N], [u8; N], [u8; N], [Field; N], [u8; N], [u8; N], [u8; N], [u8; N], [u8; N]) {\n let mut num_selects = 0;\n let mut select_by_indexes = [0; N];\n let mut select_by_offsets = [0; N];\n let mut select_by_lengths = [0; N];\n let mut select_values = [0; N];\n let mut select_comparators = [0; N];\n\n for i in 0..selects.len {\n let select = selects.get(i);\n if select.is_some() {\n select_by_indexes[num_selects] = select.unwrap_unchecked().property_selector.index;\n select_by_offsets[num_selects] = select.unwrap_unchecked().property_selector.offset;\n select_by_lengths[num_selects] = select.unwrap_unchecked().property_selector.length;\n select_values[num_selects] = select.unwrap_unchecked().value;\n select_comparators[num_selects] = select.unwrap_unchecked().comparator;\n num_selects += 1;\n };\n }\n\n let mut sort_by_indexes = [0; N];\n let mut sort_by_offsets = [0; N];\n let mut sort_by_lengths = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sorts.len {\n let sort = sorts.get(i);\n if sort.is_some() {\n sort_by_indexes[i] = sort.unwrap_unchecked().property_selector.index;\n sort_by_offsets[i] = sort.unwrap_unchecked().property_selector.offset;\n sort_by_lengths[i] = sort.unwrap_unchecked().property_selector.length;\n sort_order[i] = sort.unwrap_unchecked().order;\n };\n }\n\n (\n num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order\n )\n}\n"},"123":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/utils.nr","source":"use crate::{\n context::PrivateContext, generators::G_slot,\n note::{note_header::NoteHeader, note_interface::NoteInterface}\n};\n\nuse dep::protocol_types::{\n hash::{\n compute_unique_note_hash, compute_siloed_note_hash as compute_siloed_note_hash,\n compute_siloed_nullifier as compute_siloed_nullifier_from_preimage\n},\n point::Point, utils::arr_copy_slice\n};\nuse dep::std::{embedded_curve_ops::multi_scalar_mul, hash::from_field_unsafe};\n\npub fn compute_siloed_nullifier<Note, let N: u32, let M: u32>(\n note_with_header: Note,\n context: &mut PrivateContext\n) -> Field where Note: NoteInterface<N, M> {\n let header = note_with_header.get_header();\n let note_hash_for_nullify = compute_note_hash_for_nullify(note_with_header);\n let inner_nullifier = note_with_header.compute_nullifier(context, note_hash_for_nullify);\n\n compute_siloed_nullifier_from_preimage(header.contract_address, inner_nullifier)\n}\n\n// TODO(#7775): make this not impossible to understand\npub fn compute_note_hash_for_read_request<Note, let N: u32, let M: u32>(note: Note) -> Field where Note: NoteInterface<N, M> {\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n let nonce = note.get_header().nonce;\n let counter = note.get_header().note_hash_counter;\n\n if counter != 0 {\n note_hash\n } else {\n compute_unique_note_hash(nonce, note_hash)\n }\n}\n\n// TODO(#7775): make this not impossible to understand\npub fn compute_note_hash_for_nullify_internal<Note, let N: u32, let M: u32>(\n note: Note,\n note_hash_for_read_request: Field\n) -> Field where Note: NoteInterface<N, M> {\n let header = note.get_header();\n\n if header.note_hash_counter != 0 {\n if header.nonce == 0 {\n // Case 1: Transient note\n note_hash_for_read_request\n } else {\n // Case 2: Non-revertible note, nullified by a revertible nullifier\n let unique_note_hash = compute_unique_note_hash(header.nonce, note_hash_for_read_request);\n compute_siloed_note_hash(header.contract_address, unique_note_hash)\n }\n } else {\n // Case 3: Note from a previous transaction\n // note_hash_for_read_request is already the unique_note_hash in this case\n compute_siloed_note_hash(header.contract_address, note_hash_for_read_request)\n }\n}\n\n// TODO(#7775): nuke this commented out code - kept it around as it contains comments which might be helpful when tackling #7775\n// pub fn compute_note_hash_for_nullify<Note, let N: u32, let M: u32>(note: Note) -> Field where Note: NoteInterface<N, M> {\n// let header = note.get_header();\n// // There are 3 cases for reading a note intended for consumption:\n// // 1. The note was inserted in this transaction, is revertible, or is not nullified by a revertible nullifier in \n// // the same transaction: (note_hash_counter != 0) & (nonce == 0)\n// // 2. The note was inserted in this transaction, is non-revertible, and is nullified by a revertible nullifier in \n// // the same transaction: (note_hash_counter != 0) & (nonce != 0)\n// // 3. The note was inserted in a previous transaction: (note_hash_counter == 0) & (nonce != 0)\n\n// // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n// let note_hash = note.compute_note_hiding_point().x;\n\n// if header.nonce == 0 {\n// // Case 1.\n// // If a note is transient, we just read the note_hash (kernel will hash it with nonce and silo by contract address).\n// note_hash\n// } else {\n// // Case 2: If a note is non-revertible, and is nullified by a revertible nullifier, we cannot squash them in the \n// // private reset circuit. Because if the tx reverts, we will have to keep the note hash and throw away the \n// // nullifier.\n// // And if the tx does not revert, both will be emitted. In which case, the nullifier must be created in the app\n// // from the siloed note hash.\n// // The kernel circuit will check that a nullifier with non-zero note_nonce is linked to a note hash, whose\n// // siloed note hash matches the note hash specified in the nullifier.\n\n// // Case 3: If a note is not from the current transaction, that means we are reading a settled note (from \n// // tree) created in a previous TX. So we need the siloed_note_hash which has already been hashed with\n// // nonce and then contract address. This hash will match the existing leaf in the note hash\n// // tree, so the kernel can just perform a membership check directly on this hash/leaf.\n// let unique_note_hash = compute_unique_note_hash(header.nonce, note_hash);\n// compute_siloed_note_hash(header.contract_address, unique_note_hash)\n// // IMPORTANT NOTE ON REDUNDANT SILOING BY CONTRACT ADDRESS: The note hash computed above is\n// // \"siloed\" by contract address. When a note hash is computed solely for the purpose of\n// // nullification, it is not strictly necessary to silo the note hash before computing\n// // its nullifier. In other words, it is NOT NECESSARY for protocol security that a nullifier\n// // be computed from a siloed note hash. After all, persistable note hashes and nullifiers are\n// // siloed by the kernel circuit. That being said, the siloed note hash computed above CAN be\n// // used for nullifier computation, and this achieves the (arguably unnecessary) property that\n// // nullifiers are computed from a note hash's fully-computed note hash tree leaf.\n// }\n// }\n\npub fn compute_note_hash_for_nullify<Note, let N: u32, let M: u32>(note: Note) -> Field where Note: NoteInterface<N, M> {\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n compute_note_hash_for_nullify_internal(note, note_hash_for_read_request)\n}\n\npub fn compute_note_hash_and_optionally_a_nullifier<T, let N: u32, let M: u32, let S: u32>(\n deserialize_content: fn([Field; N]) -> T,\n note_header: NoteHeader,\n compute_nullifier: bool,\n serialized_note: [Field; S]\n) -> [Field; 4] where T: NoteInterface<N, M> {\n let mut note = deserialize_content(arr_copy_slice(serialized_note, [0; N], 0));\n note.set_header(note_header);\n\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n let unique_note_hash = compute_unique_note_hash(note_header.nonce, note_hash);\n let siloed_note_hash = compute_siloed_note_hash(note_header.contract_address, unique_note_hash);\n\n let inner_nullifier = if compute_nullifier {\n note.compute_nullifier_without_context()\n } else {\n 0\n };\n // docs:start:compute_note_hash_and_optionally_a_nullifier_returns\n [note_hash, unique_note_hash, siloed_note_hash, inner_nullifier]\n // docs:end:compute_note_hash_and_optionally_a_nullifier_returns\n}\n"},"124":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/lifecycle.nr","source":"use crate::context::{PrivateContext, PublicContext};\nuse crate::note::{\n note_header::NoteHeader, note_interface::NoteInterface,\n utils::{compute_note_hash_for_read_request, compute_note_hash_for_nullify_internal},\n note_emission::NoteEmission\n};\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\n\npub fn create_note<Note, N, M>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note\n) -> NoteEmission<Note> where Note: NoteInterface<N, M> {\n let contract_address = (*context).this_address();\n let note_hash_counter = context.side_effect_counter;\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, note_hash_counter };\n note.set_header(header);\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n\n let serialized_note = Note::serialize_content(*note);\n assert(\n notify_created_note(\n storage_slot,\n Note::get_note_type_id(),\n serialized_note,\n note_hash,\n note_hash_counter\n )\n == 0\n );\n\n context.push_note_hash(note_hash);\n\n NoteEmission::new(*note)\n}\n\npub fn create_note_hash_from_public<Note, N, M>(\n context: &mut PublicContext,\n storage_slot: Field,\n note: &mut Note\n) where Note: NoteInterface<N, M> {\n let contract_address = (*context).this_address();\n // Public note hashes are transient, but have no side effect counters, so we just need note_hash_counter != 0\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, note_hash_counter: 1 };\n note.set_header(header);\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n\n context.push_note_hash(note_hash);\n}\n\n// Note: This function is currently totally unused.\npub fn destroy_note<Note, N, M>(\n context: &mut PrivateContext,\n note: Note\n) where Note: NoteInterface<N, M> {\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n\n destroy_note_unsafe(context, note, note_hash_for_read_request)\n}\n\npub fn destroy_note_unsafe<Note, N, M>(\n context: &mut PrivateContext,\n note: Note,\n note_hash_for_read_request: Field\n) where Note: NoteInterface<N, M> {\n let note_hash_for_nullify = compute_note_hash_for_nullify_internal(note, note_hash_for_read_request);\n let nullifier = note.compute_nullifier(context, note_hash_for_nullify);\n\n let note_hash_counter = note.get_header().note_hash_counter;\n let notification_note_hash = if (note_hash_counter == 0) {\n // Counter is zero, so we're nullifying a settled note and we don't populate the note_hash with real value.\n 0\n } else {\n // A non-zero note hash counter implies that we're nullifying a pending note (i.e. one that has not yet been\n // persisted in the trees and is instead in the pending new note hashes array). In such a case we populate its\n // hash with real value to inform the kernel which note we're nullifyng so that it can either squash both\n // the note and the nullifier if it's an inner note hash, or check that the it matches a pending note if it's\n // a siloed note hash.\n note_hash_for_nullify\n };\n\n let nullifier_counter = context.side_effect_counter;\n assert(notify_nullified_note(nullifier, notification_note_hash, nullifier_counter) == 0);\n\n context.push_nullifier_for_note_hash(nullifier, notification_note_hash)\n}\n\n"},"125":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/note_emission.nr","source":"/**\n * A note emission struct containing the information required for emitting a note.\n * The exact `emit` logic is passed in by the application code\n */\nstruct NoteEmission<Note> {\n note: Note\n}\n\nimpl<Note> NoteEmission<Note> {\n pub fn new(note: Note) -> Self {\n Self { note }\n }\n\n pub fn emit<Env>(self, _emit: fn[Env](Self) -> ()) {\n _emit(self);\n }\n\n pub fn discard(_self: Self) {}\n}\n\n/**\n * A struct wrapping note emission in `Option<T>`.\n * This is the struct provided to application codes, which can be used to emit\n * only when a note was actually inserted.\n * It is fairly common to have cases where a function conditionally inserts,\n * and this allows us to keep the same API for emission in both cases (e.g. inserting \n * a change note in a token's transfer function only when there is \"change\" left).\n */\nstruct OuterNoteEmission<Note> {\n emission: Option<NoteEmission<Note>>,\n}\n\nimpl<Note> OuterNoteEmission<Note> {\n pub fn new(emission: Option<NoteEmission<Note>>) -> Self {\n Self { emission }\n }\n\n pub fn emit<Env>(self, _emit: fn[Env](NoteEmission<Note>) -> ()) {\n if self.emission.is_some() {\n _emit(self.emission.unwrap());\n }\n }\n\n pub fn discard(_self: Self) {}\n}\n"},"133":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash,\n hash::{\n pedersen_hash, compute_siloed_nullifier, sha256_to_field, pedersen_commitment,\n poseidon2_hash_with_separator\n}\n};\n// Note: pedersen_commitment is used only as a re-export here\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n poseidon2_hash_with_separator(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n poseidon2_hash_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x1cce4dbf69f14c44865919991ee1057922e34d7310ba237d71759aa422621ca9);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"134":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/initializer.nr","source":"use dep::protocol_types::{\n address::AztecAddress, hash::poseidon2_hash_with_separator, constants::GENERATOR_INDEX__CONSTRUCTOR,\n abis::function_selector::FunctionSelector\n};\n\nuse crate::{\n context::{PrivateContext, PublicContext}, oracle::get_contract_instance::get_contract_instance,\n oracle::get_contract_instance::get_contract_instance_avm\n};\n\npub fn mark_as_initialized_public(context: &mut PublicContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n context.push_nullifier(init_nullifier);\n}\n\npub fn mark_as_initialized_private(context: &mut PrivateContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n context.push_nullifier(init_nullifier);\n}\n\npub fn assert_is_initialized_public(context: &mut PublicContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n assert(context.nullifier_exists(init_nullifier, context.this_address()), \"Not initialized\");\n}\n\npub fn assert_is_initialized_private(context: &mut PrivateContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n context.push_nullifier_read_request(init_nullifier);\n}\n\nfn compute_unsiloed_contract_initialization_nullifier(address: AztecAddress) -> Field {\n address.to_field()\n}\n\npub fn assert_initialization_matches_address_preimage_public(context: PublicContext) {\n let address = context.this_address();\n let instance = get_contract_instance_avm(address).unwrap();\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (instance.deployer.is_zero()) | (instance.deployer == context.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\npub fn assert_initialization_matches_address_preimage_private(context: PrivateContext) {\n let address = context.this_address();\n let instance = get_contract_instance(address);\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (instance.deployer.is_zero()) | (instance.deployer == context.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\npub fn compute_initialization_hash(init_selector: FunctionSelector, init_args_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [init_selector.to_field(), init_args_hash],\n GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n"},"136":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr","source":"use dep::protocol_types::{address::AztecAddress, point::Point};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<let M: u32>(_note_hash_counter: u32, _encrypted_note: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_note_log<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\n#[oracle(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<let M: u32>(_contract_address: AztecAddress, _randomness: Field, _encrypted_event: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_event_log<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedNoteLog)]\nunconstrained fn compute_encrypted_note_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_note_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_note_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedEventLog)]\nunconstrained fn compute_encrypted_event_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _event_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_event_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n event_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_event_log_oracle(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nunconstrained fn emit_unencrypted_log_oracle_private<T>(_contract_address: AztecAddress, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<let N: u32>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, message, counter)\n}\n"},"138":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/returns.nr","source":"#[oracle(packReturns)]\nunconstrained fn pack_returns_oracle<let N: u32>(_returns: [Field]) -> Field {}\n\nunconstrained pub fn pack_returns(returns: [Field]) {\n let _unused = pack_returns_oracle(returns);\n}\n\n#[oracle(unpackReturns)]\nunconstrained fn unpack_returns_oracle<let N: u32>(_return_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn unpack_returns<let N: u32>(return_hash: Field) -> [Field; N] {\n unpack_returns_oracle(return_hash)\n}\n"},"139":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_public_data_witness.nr","source":"use dep::protocol_types::{\n constants::PUBLIC_DATA_TREE_HEIGHT, hash::pedersen_hash,\n public_data_tree_leaf_preimage::PublicDataTreeLeafPreimage, traits::{Hash, Serialize},\n utils::arr_copy_slice\n};\n\nglobal LEAF_PREIMAGE_LENGTH: u32 = 4;\nglobal PUBLIC_DATA_WITNESS: Field = 45;\n\nstruct PublicDataWitness {\n index: Field,\n leaf_preimage: PublicDataTreeLeafPreimage,\n path: [Field; PUBLIC_DATA_TREE_HEIGHT],\n}\n\n#[oracle(getPublicDataTreeWitness)]\nunconstrained fn get_public_data_witness_oracle(\n _block_number: u32,\n _public_data_tree_index: Field\n) -> [Field; PUBLIC_DATA_WITNESS] {}\n\nunconstrained pub fn get_public_data_witness(block_number: u32, public_data_tree_index: Field) -> PublicDataWitness {\n let fields = get_public_data_witness_oracle(block_number, public_data_tree_index);\n PublicDataWitness {\n index: fields[0],\n leaf_preimage: PublicDataTreeLeafPreimage { slot: fields[1], value: fields[2], next_index: fields[3] as u32, next_slot: fields[4] },\n path: arr_copy_slice(fields, [0; PUBLIC_DATA_TREE_HEIGHT], 1 + LEAF_PREIMAGE_LENGTH)\n }\n}\n"},"140":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/key_validation_request.nr","source":"use dep::protocol_types::abis::validation_requests::{KeyValidationRequest, key_validation_request::KEY_VALIDATION_REQUEST_LENGTH};\n\n#[oracle(getKeyValidationRequest)]\nunconstrained fn get_key_validation_request_oracle(\n _pk_m_hash: Field,\n _key_index: Field\n) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {}\n\nunconstrained fn get_key_validation_request_internal(\n npk_m_hash: Field,\n key_index: Field\n) -> KeyValidationRequest {\n let result = get_key_validation_request_oracle(npk_m_hash, key_index);\n KeyValidationRequest::deserialize(result)\n}\n\npub fn get_key_validation_request(pk_m_hash: Field, key_index: Field) -> KeyValidationRequest {\n get_key_validation_request_internal(pk_m_hash, key_index)\n}\n\n"},"143":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/storage.nr","source":"use dep::protocol_types::{address::AztecAddress, traits::Deserialize};\n\n#[oracle(storageRead)]\nunconstrained fn storage_read_oracle<let N: u32>(address: Field, storage_slot: Field, block_number: Field, length: Field) -> [Field; N] {}\n\nunconstrained pub fn raw_storage_read<let N: u32>(\n address: AztecAddress,\n storage_slot: Field,\n block_number: u32\n) -> [Field; N] {\n storage_read_oracle(\n address.to_field(),\n storage_slot,\n block_number as Field,\n N as Field\n )\n}\n\nunconstrained pub fn storage_read<T, let N: u32>(\n address: AztecAddress,\n storage_slot: Field,\n block_number: u32\n) -> T where T: Deserialize<N> {\n T::deserialize(raw_storage_read(address, storage_slot, block_number))\n}\n\nmod tests {\n use crate::oracle::storage::{raw_storage_read, storage_read};\n use dep::protocol_types::address::AztecAddress;\n\n use std::test::OracleMock;\n use crate::test::mocks::mock_struct::MockStruct;\n\n global address = AztecAddress::from_field(29);\n global slot = 7;\n global block_number = 17;\n\n #[test]\n fn test_raw_storage_read() {\n let written = MockStruct { a: 13, b: 42 };\n\n let _ = OracleMock::mock(\"storageRead\").returns(written.serialize());\n\n let read: [Field; 2] = raw_storage_read(address, slot, block_number);\n assert_eq(read[0], 13);\n assert_eq(read[1], 42);\n }\n\n #[test]\n fn test_storage_read() {\n let written = MockStruct { a: 13, b: 42 };\n\n let _ = OracleMock::mock(\"storageRead\").returns(written.serialize());\n\n let read: MockStruct = storage_read(address, slot, block_number);\n assert_eq(read.a, 13);\n assert_eq(read.b, 42);\n }\n}\n"},"144":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/unsafe_rand.nr","source":"#[oracle(getRandomField)]\nunconstrained fn rand_oracle() -> Field {}\n\n// Called `unsafe_rand` because we do not constrain in circuit that we are dealing with an actual random value.\n// Instead we just trust our PXE.\nunconstrained pub fn unsafe_rand() -> Field {\n rand_oracle()\n}\n"},"146":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress, utils::reader::Reader};\n\n#[oracle(callPrivateFunction)]\nunconstrained fn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; 2] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> (u32, Field) {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let mut reader = Reader::new(fields);\n let end_side_effect_counter = reader.read_u32();\n let returns_hash = reader.read();\n\n (end_side_effect_counter, returns_hash)\n}\n"},"147":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/keys.nr","source":"use crate::keys::PublicKeys;\nuse dep::protocol_types::{address::{AztecAddress, PartialAddress}, point::Point};\n\n#[oracle(getPublicKeysAndPartialAddress)]\nunconstrained fn get_public_keys_and_partial_address_oracle(_address: AztecAddress) -> [Field; 13] {}\n\nunconstrained fn get_public_keys_and_partial_address_oracle_wrapper(address: AztecAddress) -> [Field; 13] {\n get_public_keys_and_partial_address_oracle(address)\n}\n\npub fn get_public_keys_and_partial_address(address: AztecAddress) -> (PublicKeys, PartialAddress) {\n let result = get_public_keys_and_partial_address_oracle_wrapper(address);\n\n let keys = PublicKeys {\n npk_m: Point { x: result[0], y: result[1], is_infinite: result[2] as bool },\n ivpk_m: Point { x: result[3], y: result[4], is_infinite: result[5] as bool },\n ovpk_m: Point { x: result[6], y: result[7], is_infinite: result[8] as bool },\n tpk_m: Point { x: result[9], y: result[10], is_infinite: result[11] as bool }\n };\n\n let partial_address = PartialAddress::from_field(result[12]);\n\n (keys, partial_address)\n}\n"},"149":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/notes.nr","source":"use crate::note::{note_header::NoteHeader, note_interface::NoteInterface};\n\nuse dep::protocol_types::{address::AztecAddress, utils::arr_copy_slice};\n\n#[oracle(notifyCreatedNote)]\nunconstrained fn notify_created_note_oracle<let N: u32>(\n _storage_slot: Field,\n _note_type_id: Field,\n _serialized_note: [Field; N],\n _note_hash: Field,\n _counter: u32\n) -> Field {}\n\nunconstrained pub fn notify_created_note<let N: u32>(\n storage_slot: Field,\n note_type_id: Field,\n serialized_note: [Field; N],\n note_hash: Field,\n counter: u32\n) -> Field {\n notify_created_note_oracle(storage_slot, note_type_id, serialized_note, note_hash, counter)\n}\n\n#[oracle(notifyNullifiedNote)]\nunconstrained fn notify_nullified_note_oracle<let N: u32>(_nullifier: Field, _note_hash: Field, _counter: u32) -> Field {}\n\nunconstrained pub fn notify_nullified_note<let N: u32>(\n nullifier: Field,\n note_hash: Field,\n counter: u32\n) -> Field {\n notify_nullified_note_oracle(nullifier, note_hash, counter)\n}\n\n#[oracle(getNotes)]\nunconstrained fn get_notes_oracle<let N: u32, let S: u32>(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by_indexes: [u8; N],\n _select_by_offsets: [u8; N],\n _select_by_lengths: [u8; N],\n _select_values: [Field; N],\n _select_comparators: [u8; N],\n _sort_by_indexes: [u8; N],\n _sort_by_offsets: [u8; N],\n _sort_by_lengths: [u8; N],\n _sort_order: [u8; N],\n _limit: u32,\n _offset: u32,\n _status: u8,\n _return_size: u32,\n _placeholder_fields: [Field; S]\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper<let N: u32, let S: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; N],\n select_by_offsets: [u8; N],\n select_by_lengths: [u8; N],\n select_values: [Field; N],\n select_comparators: [u8; N],\n sort_by_indexes: [u8; N],\n sort_by_offsets: [u8; N],\n sort_by_lengths: [u8; N],\n sort_order: [u8; N],\n limit: u32,\n offset: u32,\n status: u8,\n mut placeholder_fields: [Field; S]\n) -> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n limit,\n offset,\n status,\n return_size,\n placeholder_fields\n )\n}\n\nunconstrained pub fn get_notes<Note, let N: u32, let NB: u32, let M: u32, let S: u32, let NS: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; M],\n select_by_offsets: [u8; M],\n select_by_lengths: [u8; M],\n select_values: [Field; M],\n select_comparators: [u8; M],\n sort_by_indexes: [u8; M],\n sort_by_offsets: [u8; M],\n sort_by_lengths: [u8; M],\n sort_order: [u8; M],\n limit: u32,\n offset: u32,\n status: u8,\n mut placeholder_opt_notes: [Option<Note>; S], // TODO: Remove it and use `limit` to initialize the note array.\n placeholder_fields: [Field; NS], // TODO: Remove it and use `limit` to initialize the note array.\n _placeholder_note_length: [Field; N] // Turbofish hack? Compiler breaks calculating read_offset unless we add this parameter\n) -> [Option<Note>; S] where Note: NoteInterface<N, NB> {\n let fields = get_notes_oracle_wrapper(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n limit,\n offset,\n status,\n placeholder_fields\n );\n let num_notes = fields[0] as u32;\n let contract_address = AztecAddress::from_field(fields[1]);\n for i in 0..placeholder_opt_notes.len() {\n if i < num_notes {\n // lengths named as per typescript.\n let return_header_length: u32 = 2; // num_notes & contract_address.\n let extra_preimage_length: u32 = 2; // nonce & note_hash_counter.\n let read_offset: u32 = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let note_hash_counter = fields[read_offset + 1] as u32;\n let header = NoteHeader { contract_address, nonce, storage_slot, note_hash_counter };\n let serialized_note = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = Note::deserialize_content(serialized_note);\n note.set_header(header);\n placeholder_opt_notes[i] = Option::some(note);\n };\n }\n placeholder_opt_notes\n}\n\n// Only ever use this in private!\n#[oracle(checkNullifierExists)]\nunconstrained fn check_nullifier_exists_oracle(_inner_nullifier: Field) -> Field {}\n\n// Only ever use this in private!\nunconstrained pub fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier) == 1\n}\n"},"150":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr","source":"use dep::protocol_types::{\n address::AztecAddress, contract_instance::ContractInstance, utils::arr_copy_slice,\n constants::CONTRACT_INSTANCE_LENGTH, utils::reader::Reader\n};\n\n#[oracle(getContractInstance)]\nunconstrained fn get_contract_instance_oracle(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {}\n\n// Returns a ContractInstance plus a boolean indicating whether the instance was found.\n#[oracle(avmOpcodeGetContractInstance)]\nunconstrained fn get_contract_instance_oracle_avm(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {}\n\nunconstrained fn get_contract_instance_internal(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n get_contract_instance_oracle(address)\n}\n\nunconstrained pub fn get_contract_instance_internal_avm(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {\n get_contract_instance_oracle_avm(address)\n}\n\npub fn get_contract_instance(address: AztecAddress) -> ContractInstance {\n let instance = ContractInstance::deserialize(get_contract_instance_internal(address));\n assert(instance.to_address().eq(address));\n instance\n}\n\npub fn get_contract_instance_avm(address: AztecAddress) -> Option<ContractInstance> {\n let mut reader = Reader::new(get_contract_instance_internal_avm(address));\n let found = reader.read();\n if found == 0 {\n Option::none()\n } else {\n Option::some(reader.read_struct(ContractInstance::deserialize))\n }\n}\n"},"151":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{abis::{function_selector::FunctionSelector}, address::AztecAddress};\n\n#[oracle(enqueuePublicFunctionCall)]\nunconstrained fn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nunconstrained fn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) {}\n\nunconstrained pub fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n}\n\n#[oracle(notifySetMinRevertibleSideEffectCounter)]\nunconstrained fn notify_set_min_revertible_side_effect_counter_oracle(_counter: u32) {}\n\nunconstrained pub fn notify_set_min_revertible_side_effect_counter(counter: u32) {\n notify_set_min_revertible_side_effect_counter_oracle(counter);\n}\n"},"153":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/execution.nr","source":"use dep::protocol_types::address::AztecAddress;\n\n#[oracle(getContractAddress)]\nunconstrained fn get_contract_address_oracle() -> AztecAddress {}\n\n#[oracle(getBlockNumber)]\nunconstrained fn get_block_number_oracle() -> u32 {}\n\n#[oracle(getChainId)]\nunconstrained fn get_chain_id_oracle() -> Field {}\n\n#[oracle(getVersion)]\nunconstrained fn get_version_oracle() -> Field {}\n\nunconstrained pub fn get_contract_address() -> AztecAddress {\n get_contract_address_oracle()\n}\n\nunconstrained pub fn get_block_number() -> u32 {\n get_block_number_oracle()\n}\n\nunconstrained pub fn get_chain_id() -> Field {\n get_chain_id_oracle()\n}\n\nunconstrained pub fn get_version() -> Field {\n get_version_oracle()\n}\n"},"156":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/map.nr","source":"use dep::protocol_types::{hash::pedersen_hash, storage::map::derive_storage_slot_in_map, traits::ToField};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:map\nstruct Map<K, V, Context> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, T, Context> Storage<T> for Map<K, T, Context> {}\n\nimpl<K, V, Context> Map<K, V, Context> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map { context, storage_slot, state_var_constructor }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = derive_storage_slot_in_map(self.storage_slot, key);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n"},"158":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/public_mutable.nr","source":"use crate::context::{PublicContext, UnconstrainedContext};\nuse crate::oracle::storage::storage_read;\nuse dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:public_mutable_struct\nstruct PublicMutable<T, Context> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:public_mutable_struct\n\nimpl<T, Context> Storage<T> for PublicMutable<T, Context> {}\n\nimpl<T, Context> PublicMutable<T, Context> {\n // docs:start:public_mutable_struct_new\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n PublicMutable { context, storage_slot }\n }\n // docs:end:public_mutable_struct_new\n}\n\nimpl<T, T_SERIALIZED_LEN> PublicMutable<T, &mut PublicContext> where T: Serialize<T_SERIALIZED_LEN> + Deserialize<T_SERIALIZED_LEN> {\n // docs:start:public_mutable_struct_read\n pub fn read(self) -> T {\n self.context.storage_read(self.storage_slot)\n }\n // docs:end:public_mutable_struct_read\n\n // docs:start:public_mutable_struct_write\n pub fn write(self, value: T) {\n self.context.storage_write(self.storage_slot, value);\n }\n // docs:end:public_mutable_struct_write\n}\n\nimpl<T, T_SERIALIZED_LEN> PublicMutable<T, UnconstrainedContext> where T: Deserialize<T_SERIALIZED_LEN> {\n unconstrained pub fn read(self) -> T {\n self.context.storage_read(self.storage_slot)\n }\n}\n"},"174":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/private_immutable.nr","source":"use dep::protocol_types::{\n address::AztecAddress, constants::GENERATOR_INDEX__INITIALIZATION_NULLIFIER,\n hash::poseidon2_hash_with_separator\n};\n\nuse crate::context::{PrivateContext, UnconstrainedContext};\nuse crate::note::{\n lifecycle::create_note, note_getter::{get_note, view_notes}, note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions, note_emission::NoteEmission\n};\nuse crate::oracle::notes::check_nullifier_exists;\nuse crate::state_vars::storage::Storage;\n\n// docs:start:struct\nstruct PrivateImmutable<Note, Context> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:struct\n\nimpl<T, Context> Storage<T> for PrivateImmutable<T, Context> {}\n\nimpl<Note, Context> PrivateImmutable<Note, Context> {\n // docs:start:new\n pub fn new(context: Context, storage_slot: Field) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot }\n }\n // docs:end:new\n\n // The following computation is leaky, in that it doesn't hide the storage slot that has been initialized, nor does it hide the contract address of this contract.\n // When this initialization nullifier is emitted, an observer could do a dictionary or rainbow attack to learn the preimage of this nullifier to deduce the storage slot and contract address.\n // For some applications, leaking the details that a particular state variable of a particular contract has been initialized will be unacceptable.\n // Under such circumstances, such application developers might wish to _not_ use this state variable type.\n // This is especially dangerous for initial assignment to elements of a `Map<AztecAddress, PrivateImmutable>` type (for example), because the storage slot often also identifies an actor. \n // e.g. the initial assignment to `my_map.at(msg.sender)` will leak: `msg.sender`, the fact that an element of `my_map` was assigned-to for the first time, and the contract_address.\n pub fn compute_initialization_nullifier(self) -> Field {\n poseidon2_hash_with_separator(\n [self.storage_slot],\n GENERATOR_INDEX__INITIALIZATION_NULLIFIER\n )\n }\n}\n\nimpl<Note> PrivateImmutable<Note, &mut PrivateContext> {\n // docs:start:initialize\n pub fn initialize<N, M>(\n self,\n note: &mut Note\n ) -> NoteEmission<Note> where Note: NoteInterface<N, M> {\n // Nullify the storage slot.\n let nullifier = self.compute_initialization_nullifier();\n self.context.push_nullifier(nullifier);\n\n create_note(self.context, self.storage_slot, note)\n }\n // docs:end:initialize\n\n // docs:start:get_note\n pub fn get_note<N, M>(self) -> Note where Note: NoteInterface<N, M> {\n let storage_slot = self.storage_slot;\n get_note(self.context, storage_slot).0\n }\n // docs:end:get_note\n}\n\nimpl<Note> PrivateImmutable<Note, UnconstrainedContext> {\n // docs:start:is_initialized\n unconstrained pub fn is_initialized(self) -> bool {\n let nullifier = self.compute_initialization_nullifier();\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // view_note does not actually use the context, but it calls oracles that are only available in private\n // docs:start:view_note\n unconstrained pub fn view_note<N, M>(self) -> Note where Note: NoteInterface<N, M> {\n let mut options = NoteViewerOptions::new();\n view_notes(self.storage_slot, options.set_limit(1)).get(0)\n }\n // docs:end:view_note\n}\n"},"176":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/utils/point.nr","source":"use dep::protocol_types::point::Point;\n\n// I am storing the modulus divided by 2 plus 1 here because full modulus would throw \"String literal too large\" error\n// Full modulus is 21888242871839275222246405745257275088548364400416034343698204186575808495617\nglobal BN254_FR_MODULUS_DIV_2: Field = 10944121435919637611123202872628637544274182200208017171849102093287904247808;\n\n/// Converts a public key to a byte array.\n///\n/// We don't serialize the point at infinity flag because this function is used in situations where we do not want\n/// to waste the extra byte (encrypted log).\npub fn point_to_bytes(pk: Point) -> [u8; 32] {\n // Note that there is 1 more free bit in the 32 bytes (254 bits currently occupied by the x coordinate, 1 bit for\n // the \"sign\") so it's possible to use that last bit as an \"is_infinite\" flag if desired in the future.\n assert(!pk.is_infinite, \"Cannot serialize point at infinity as bytes.\");\n\n let mut result = pk.x.to_be_bytes(32);\n\n // We store only a \"sign\" of the y coordinate because the rest can be derived from the x coordinate. To get\n // the sign we check if the y coordinate is less or equal than the curve's order minus 1 divided by 2.\n // Ideally we'd do `y <= MOD_DIV_2`, but there's no `lte` function, so instead we do `!(y > MOD_DIV_2)`, which is\n // equivalent, and then rewrite that as `!(MOD_DIV_2 < y)`, since we also have no `gt` function.\n if !BN254_FR_MODULUS_DIV_2.lt(pk.y) {\n // y is <= (modulus - 1) / 2 so we set the sign bit to 1\n // Here we leverage that field fits into 254 bits (log2(Fr.MODULUS) < 254) and given that we serialize Fr to 32\n // bytes and we use big-endian the 2 most significant bits are never populated. Hence we can use one of\n // the bits as a sign bit.\n result[0] += 128;\n }\n\n result.as_array()\n}\n\nmod test {\n use dep::protocol_types::point::Point;\n use crate::utils::point::point_to_bytes;\n\n #[test]\n fn test_point_to_bytes_positive_sign() {\n let p = Point {\n x: 0x1af41f5de96446dc3776a1eb2d98bb956b7acd9979a67854bec6fa7c2973bd73,\n y: 0x07fc22c7f2c7057571f137fe46ea9c95114282bc95d37d71ec4bfb88de457d4a,\n is_infinite: false\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_positive_sign = [\n 154, 244, 31, 93, 233, 100, 70, 220, 55, 118, 161, 235, 45, 152, 187, 149, 107, 122, 205, 153, 121, 166, 120, 84, 190, 198, 250, 124, 41, 115, 189, 115\n ];\n\n assert_eq(expected_compressed_point_positive_sign.len(), compressed_point.len());\n for i in 0..expected_compressed_point_positive_sign.len() {\n assert_eq(compressed_point[i], expected_compressed_point_positive_sign[i]);\n }\n }\n\n #[test]\n fn test_point_to_bytes_negative_sign() {\n let p = Point {\n x: 0x247371652e55dd74c9af8dbe9fb44931ba29a9229994384bd7077796c14ee2b5,\n y: 0x26441aec112e1ae4cee374f42556932001507ad46e255ffb27369c7e3766e5c0,\n is_infinite: false\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_negative_sign = [\n 36, 115, 113, 101, 46, 85, 221, 116, 201, 175, 141, 190, 159, 180, 73, 49, 186, 41, 169, 34, 153, 148, 56, 75, 215, 7, 119, 150, 193, 78, 226, 181\n ];\n\n assert_eq(expected_compressed_point_negative_sign.len(), compressed_point.len());\n for i in 0..expected_compressed_point_negative_sign.len() {\n assert_eq(compressed_point[i], expected_compressed_point_negative_sign[i]);\n }\n }\n}\n"},"193":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr","source":"use crate::{constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize}, point::Point};\n\nstruct KeyValidationRequest {\n pk_m: Point,\n sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m))\n & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest {\n pk_m: Point::empty(),\n sk_app: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.pk_m.x,\n self.pk_m.y,\n self.pk_m.is_infinite as Field,\n self.sk_app,\n ]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: Point { x:fields[0], y: fields[1], is_infinite: fields[2] as bool},\n sk_app: fields[3],\n }\n }\n}\n\n"},"2":{"path":"std/array.nr","source":"use crate::cmp::Ord;\nuse crate::option::Option;\nuse crate::convert::From;\n\nimpl<T, let N: u32> [T; N] {\n #[builtin(array_len)]\n pub fn len(self) -> u32 {}\n\n pub fn sort(self) -> Self where T: Ord {\n self.sort_via(|a: T, b: T| a <= b)\n }\n\n pub fn sort_via<Env>(self, ordering: fn[Env](T, T) -> bool) -> Self {\n let sorted_index = self.get_sorting_index(ordering);\n let mut result = self;\n // Ensure the indexes are correct\n for i in 0..N {\n let pos = find_index(sorted_index, i);\n assert(sorted_index[pos] == i);\n }\n // Sort the array using the indexes\n for i in 0..N {\n result[i] = self[sorted_index[i]];\n }\n // Ensure the array is sorted\n for i in 0..N - 1 {\n assert(ordering(result[i], result[i + 1]));\n }\n\n result\n }\n\n /// Returns the index of the elements in the array that would sort it, using the provided custom sorting function.\n unconstrained fn get_sorting_index<Env>(self, ordering: fn[Env](T, T) -> bool) -> [u32; N] {\n let mut result = [0; N];\n let mut a = self;\n for i in 0..N {\n result[i] = i;\n }\n for i in 1..N {\n for j in 0..i {\n if ordering(a[i], a[j]) {\n let old_a_j = a[j];\n a[j] = a[i];\n a[i] = old_a_j;\n let old_j = result[j];\n result[j] = result[i];\n result[i] = old_j;\n }\n }\n }\n result\n }\n\n #[builtin(as_slice)]\n pub fn as_slice(self) -> [T] {}\n\n // Apply a function to each element of an array, returning a new array\n // containing the mapped elements.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> [U; N] {\n let first_elem = f(self[0]);\n let mut ret = [first_elem; N];\n\n for i in 1..self.len() {\n ret[i] = f(self[i]);\n }\n\n ret\n }\n\n // Apply a function to each element of the array and an accumulator value,\n // returning the final accumulated value. This function is also sometimes\n // called `foldl`, `fold_left`, `reduce`, or `inject`.\n pub fn fold<U, Env>(self, mut accumulator: U, f: fn[Env](U, T) -> U) -> U {\n for elem in self {\n accumulator = f(accumulator, elem);\n }\n accumulator\n }\n\n // Apply a function to each element of the array and an accumulator value,\n // returning the final accumulated value. Unlike fold, reduce uses the first\n // element of the given array as its starting accumulator value.\n pub fn reduce<Env>(self, f: fn[Env](T, T) -> T) -> T {\n let mut accumulator = self[0];\n for i in 1..self.len() {\n accumulator = f(accumulator, self[i]);\n }\n accumulator\n }\n\n // Returns true if all elements in the array satisfy the predicate\n pub fn all<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = true;\n for elem in self {\n ret &= predicate(elem);\n }\n ret\n }\n\n // Returns true if any element in the array satisfies the predicate\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n for elem in self {\n ret |= predicate(elem);\n }\n ret\n }\n}\n\nimpl<let N: u32> [u8; N] {\n /// Convert a sequence of bytes as-is into a string.\n /// This function performs no UTF-8 validation or similar.\n #[builtin(array_as_str_unchecked)]\n pub fn as_str_unchecked(self) -> str<N> {}\n}\n\n// helper function used to look up the position of a value in an array of Field\n// Note that function returns 0 if the value is not found\nunconstrained fn find_index<let N: u32>(a: [u32; N], find: u32) -> u32 {\n let mut result = 0;\n for i in 0..a.len() {\n if a[i] == find {\n result = i;\n }\n }\n result\n}\n\nimpl<let N: u32> From<str<N>> for [u8; N] {\n fn from(s: str<N>) -> Self {\n s.as_bytes()\n }\n}\n"},"22":{"path":"std/embedded_curve_ops.nr","source":"use crate::ops::arith::{Add, Sub, Neg};\nuse crate::cmp::Eq;\n\n/// A point on the embedded elliptic curve\n/// By definition, the base field of the embedded curve is the scalar field of the proof system curve, i.e the Noir Field.\n/// x and y denotes the Weierstrass coordinates of the point, if is_infinite is false.\nstruct EmbeddedCurvePoint {\n x: Field,\n y: Field,\n is_infinite: bool\n}\n\nimpl EmbeddedCurvePoint {\n /// Elliptic curve point doubling operation\n /// returns the doubled point of a point P, i.e P+P\n fn double(self) -> EmbeddedCurvePoint {\n embedded_curve_add(self, self)\n }\n\n /// Returns the null element of the curve; 'the point at infinity'\n fn point_at_infinity() -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n }\n}\n\nimpl Add for EmbeddedCurvePoint {\n /// Adds two points P+Q, using the curve addition formula, and also handles point at infinity\n fn add(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n embedded_curve_add(self, other)\n }\n}\n\nimpl Sub for EmbeddedCurvePoint {\n /// Points subtraction operation, using addition and negation\n fn sub(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n self + other.neg()\n }\n}\n\nimpl Neg for EmbeddedCurvePoint {\n /// Negates a point P, i.e returns -P, by negating the y coordinate.\n /// If the point is at infinity, then the result is also at infinity.\n fn neg(self) -> EmbeddedCurvePoint { \n EmbeddedCurvePoint {\n x: self.x,\n y: -self.y,\n is_infinite: self.is_infinite\n }\n }\n}\n\nimpl Eq for EmbeddedCurvePoint {\n /// Checks whether two points are equal\n fn eq(self: Self, b: EmbeddedCurvePoint) -> bool {\n (self.is_infinite & b.is_infinite) | ((self.is_infinite == b.is_infinite) & (self.x == b.x) & (self.y == b.y))\n }\n}\n\n/// Scalar for the embedded curve represented as low and high limbs\n/// By definition, the scalar field of the embedded curve is base field of the proving system curve.\n/// It may not fit into a Field element, so it is represented with two Field elements; its low and high limbs.\nstruct EmbeddedCurveScalar {\n lo: Field,\n hi: Field,\n}\n\nimpl EmbeddedCurveScalar {\n pub fn new(lo: Field, hi: Field) -> Self {\n EmbeddedCurveScalar { lo, hi }\n }\n\n #[field(bn254)]\n fn from_field(scalar: Field) -> EmbeddedCurveScalar {\n let (a,b) = crate::field::bn254::decompose(scalar);\n EmbeddedCurveScalar { lo: a, hi: b }\n }\n}\n\nimpl Eq for EmbeddedCurveScalar {\n fn eq(self, other: Self) -> bool {\n (other.hi == self.hi) & (other.lo == self.lo)\n }\n}\n\n// Computes a multi scalar multiplication over the embedded curve.\n// For bn254, We have Grumpkin and Baby JubJub.\n// For bls12-381, we have JubJub and Bandersnatch.\n//\n// The embedded curve being used is decided by the \n// underlying proof system.\n// docs:start:multi_scalar_mul\npub fn multi_scalar_mul<let N: u32>(\n points: [EmbeddedCurvePoint; N],\n scalars: [EmbeddedCurveScalar; N]\n) -> EmbeddedCurvePoint\n// docs:end:multi_scalar_mul\n{\n let point_array = multi_scalar_mul_array_return(points, scalars);\n EmbeddedCurvePoint { x: point_array[0], y: point_array[1], is_infinite: point_array[2] as bool }\n}\n\n#[foreign(multi_scalar_mul)]\nfn multi_scalar_mul_array_return<let N: u32>(points: [EmbeddedCurvePoint; N], scalars: [EmbeddedCurveScalar; N]) -> [Field; 3] {}\n\n#[foreign(multi_scalar_mul)]\npub(crate) fn multi_scalar_mul_slice(points: [EmbeddedCurvePoint], scalars: [EmbeddedCurveScalar]) -> [Field; 3] {}\n\n// docs:start:fixed_base_scalar_mul\npub fn fixed_base_scalar_mul(scalar: EmbeddedCurveScalar) -> EmbeddedCurvePoint\n// docs:end:fixed_base_scalar_mul\n{\n let g1 = EmbeddedCurvePoint { x: 1, y: 17631683881184975370165255887551781615748388533673675138860, is_infinite: false };\n multi_scalar_mul([g1], [scalar])\n}\n\n// This is a hack as returning an `EmbeddedCurvePoint` from a foreign function in brillig returns a [BrilligVariable::SingleAddr; 2] rather than BrilligVariable::BrilligArray\n// as is defined in the brillig bytecode format. This is a workaround which allows us to fix this without modifying the serialization format.\n// docs:start:embedded_curve_add\nfn embedded_curve_add(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint\n) -> EmbeddedCurvePoint\n// docs:end:embedded_curve_add\n{\n let point_array = embedded_curve_add_array_return(point1, point2);\n let x = point_array[0];\n let y = point_array[1];\n EmbeddedCurvePoint { x, y, is_infinite: point_array[2] == 1 }\n}\n\n#[foreign(embedded_curve_add)]\nfn embedded_curve_add_array_return(_point1: EmbeddedCurvePoint, _point2: EmbeddedCurvePoint) -> [Field; 3] {}\n"},"23":{"path":"std/field/bn254.nr","source":"use crate::runtime::is_unconstrained;\n\n// The low and high decomposition of the field modulus\nglobal PLO: Field = 53438638232309528389504892708671455233;\nglobal PHI: Field = 64323764613183177041862057485226039389;\n\nglobal TWO_POW_128: Field = 0x100000000000000000000000000000000;\n\n// Decomposes a single field into two 16 byte fields.\nfn compute_decomposition(x: Field) -> (Field, Field) {\n let x_bytes = x.to_le_bytes(32);\n\n let mut low: Field = 0;\n let mut high: Field = 0;\n\n let mut offset = 1;\n for i in 0..16 {\n low += (x_bytes[i] as Field) * offset;\n high += (x_bytes[i + 16] as Field) * offset;\n offset *= 256;\n }\n\n (low, high)\n}\n\nunconstrained pub(crate) fn decompose_hint(x: Field) -> (Field, Field) {\n compute_decomposition(x)\n}\n\nfn compute_lt(x: Field, y: Field, num_bytes: u32) -> bool {\n let x_bytes = x.to_le_radix(256, num_bytes);\n let y_bytes = y.to_le_radix(256, num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i];\n let y_byte = y_bytes[num_bytes - 1 - i];\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\nfn compute_lte(x: Field, y: Field, num_bytes: u32) -> bool {\n if x == y {\n true\n } else {\n compute_lt(x, y, num_bytes)\n }\n}\n\nunconstrained fn lt_32_hint(x: Field, y: Field) -> bool {\n compute_lt(x, y, 32)\n}\n\nunconstrained fn lte_16_hint(x: Field, y: Field) -> bool {\n compute_lte(x, y, 16)\n}\n\n// Assert that (alo > blo && ahi >= bhi) || (alo <= blo && ahi > bhi)\nfn assert_gt_limbs(a: (Field, Field), b: (Field, Field)) {\n let (alo, ahi) = a;\n let (blo, bhi) = b;\n let borrow = lte_16_hint(alo, blo);\n\n let rlo = alo - blo - 1 + (borrow as Field) * TWO_POW_128;\n let rhi = ahi - bhi - (borrow as Field);\n\n rlo.assert_max_bit_size(128);\n rhi.assert_max_bit_size(128);\n}\n\n/// Decompose a single field into two 16 byte fields.\npub fn decompose(x: Field) -> (Field, Field) {\n if is_unconstrained() {\n compute_decomposition(x)\n } else {\n // Take hints of the decomposition\n let (xlo, xhi) = decompose_hint(x);\n\n // Range check the limbs\n xlo.assert_max_bit_size(128);\n xhi.assert_max_bit_size(128);\n\n // Check that the decomposition is correct\n assert_eq(x, xlo + TWO_POW_128 * xhi);\n\n // Assert that the decomposition of P is greater than the decomposition of x\n assert_gt_limbs((PLO, PHI), (xlo, xhi));\n (xlo, xhi)\n }\n}\n\npub fn assert_gt(a: Field, b: Field) {\n if is_unconstrained() {\n assert(compute_lt(b, a, 32));\n } else {\n // Decompose a and b\n let a_limbs = decompose(a);\n let b_limbs = decompose(b);\n\n // Assert that a_limbs is greater than b_limbs\n assert_gt_limbs(a_limbs, b_limbs)\n }\n}\n\npub fn assert_lt(a: Field, b: Field) {\n assert_gt(b, a);\n}\n\npub fn gt(a: Field, b: Field) -> bool {\n if is_unconstrained() {\n compute_lt(b, a, 32)\n } else if a == b {\n false\n } else {\n // Take a hint of the comparison and verify it\n if lt_32_hint(a, b) {\n assert_gt(b, a);\n false\n } else {\n assert_gt(a, b);\n true\n }\n }\n}\n\npub fn lt(a: Field, b: Field) -> bool {\n gt(b, a)\n}\n\nmod tests {\n // TODO: Allow imports from \"super\"\n use crate::field::bn254::{decompose_hint, decompose, compute_lt, assert_gt, gt, lt, TWO_POW_128, compute_lte, PLO, PHI};\n\n #[test]\n fn check_decompose() {\n assert_eq(decompose(TWO_POW_128), (0, 1));\n assert_eq(decompose(TWO_POW_128 + 0x1234567890), (0x1234567890, 1));\n assert_eq(decompose(0x1234567890), (0x1234567890, 0));\n }\n\n #[test]\n unconstrained fn check_decompose_unconstrained() {\n assert_eq(decompose(TWO_POW_128), (0, 1));\n assert_eq(decompose(TWO_POW_128 + 0x1234567890), (0x1234567890, 1));\n assert_eq(decompose(0x1234567890), (0x1234567890, 0));\n }\n\n #[test]\n fn check_compute_lt() {\n assert(compute_lt(0, 1, 16));\n assert(compute_lt(0, 0x100, 16));\n assert(compute_lt(0x100, TWO_POW_128 - 1, 16));\n assert(!compute_lt(0, TWO_POW_128, 16));\n }\n\n #[test]\n fn check_compute_lte() {\n assert(compute_lte(0, 1, 16));\n assert(compute_lte(0, 0x100, 16));\n assert(compute_lte(0x100, TWO_POW_128 - 1, 16));\n assert(!compute_lte(0, TWO_POW_128, 16));\n\n assert(compute_lte(0, 0, 16));\n assert(compute_lte(0x100, 0x100, 16));\n assert(compute_lte(TWO_POW_128 - 1, TWO_POW_128 - 1, 16));\n assert(compute_lte(TWO_POW_128, TWO_POW_128, 16));\n }\n\n #[test]\n fn check_assert_gt() {\n assert_gt(1, 0);\n assert_gt(0x100, 0);\n assert_gt((0 - 1), (0 - 2));\n assert_gt(TWO_POW_128, 0);\n assert_gt(0 - 1, 0);\n }\n\n #[test]\n unconstrained fn check_assert_gt_unconstrained() {\n assert_gt(1, 0);\n assert_gt(0x100, 0);\n assert_gt((0 - 1), (0 - 2));\n assert_gt(TWO_POW_128, 0);\n assert_gt(0 - 1, 0);\n }\n\n #[test]\n fn check_gt() {\n assert(gt(1, 0));\n assert(gt(0x100, 0));\n assert(gt((0 - 1), (0 - 2)));\n assert(gt(TWO_POW_128, 0));\n assert(!gt(0, 0));\n assert(!gt(0, 0x100));\n assert(gt(0 - 1, 0 - 2));\n assert(!gt(0 - 2, 0 - 1));\n }\n\n #[test]\n unconstrained fn check_gt_unconstrained() {\n assert(gt(1, 0));\n assert(gt(0x100, 0));\n assert(gt((0 - 1), (0 - 2)));\n assert(gt(TWO_POW_128, 0));\n assert(!gt(0, 0));\n assert(!gt(0, 0x100));\n assert(gt(0 - 1, 0 - 2));\n assert(!gt(0 - 2, 0 - 1));\n }\n\n #[test]\n fn check_plo_phi() {\n assert_eq(PLO + PHI * TWO_POW_128, 0);\n let p_bytes = crate::field::modulus_le_bytes();\n let mut p_low: Field = 0;\n let mut p_high: Field = 0;\n\n let mut offset = 1;\n for i in 0..16 {\n p_low += (p_bytes[i] as Field) * offset;\n p_high += (p_bytes[i + 16] as Field) * offset;\n offset *= 256;\n }\n assert_eq(p_low, PLO);\n assert_eq(p_high, PHI);\n }\n}\n"},"24":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n"},"243":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/storage/map.nr","source":"use crate::{hash::pedersen_hash, traits::ToField};\n\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field where K: ToField {\n pedersen_hash([storage_slot, key.to_field()], 0)\n}\n\nmod test {\n use crate::{address::AztecAddress, storage::map::derive_storage_slot_in_map};\n\n #[test]\n fn test_derive_storage_slot_in_map_matches_typescript() {\n let map_slot = 0x132258fb6962c4387ba659d9556521102d227549a386d39f0b22d1890d59c2b5;\n let key = AztecAddress::from_field(0x302dbc2f9b50a73283d5fb2f35bc01eae8935615817a0b4219a057b2ba8a5a3f);\n\n let slot = derive_storage_slot_in_map(map_slot, key);\n\n // The following value was generated by `map_slot.test.ts`\n let slot_from_typescript = 0x2499880e2b1b831785c17286f99a0d5122fee784ce7b1c04e380c4a991da819a;\n\n assert_eq(slot, slot_from_typescript);\n }\n}\n"},"249":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr","source":"use crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, let N: u32>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<let N: u32> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<let N: u32> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<let N: u32> Serialize<N> for [Field; N] {\n fn serialize(self) -> [Field; N] {\n self\n }\n}\nimpl<let N: u32> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<let N: u32> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n\nimpl<let N: u32> Deserialize<N> for [Field; N] {\n fn deserialize(fields: [Field; N]) -> Self {\n fields\n }\n}\n"},"250":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"253":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/public_data_tree_leaf_preimage.nr","source":"use crate::{merkle_tree::leaf_preimage::IndexedTreeLeafPreimage, traits::{Empty, Hash}};\n\nstruct PublicDataTreeLeafPreimage {\n slot : Field,\n value: Field,\n next_slot :Field,\n next_index : u32,\n}\n\nimpl Empty for PublicDataTreeLeafPreimage {\n fn empty() -> Self {\n Self {\n slot: 0,\n value: 0,\n next_slot: 0,\n next_index: 0,\n }\n }\n}\n\nimpl Hash for PublicDataTreeLeafPreimage {\n fn hash(self) -> Field {\n if self.is_empty() {\n 0\n } else {\n crate::hash::poseidon2_hash([self.slot, self.value, (self.next_index as Field), self.next_slot])\n }\n }\n}\n\nimpl IndexedTreeLeafPreimage for PublicDataTreeLeafPreimage {\n fn get_key(self) -> Field {\n self.slot\n }\n\n fn get_next_key(self) -> Field {\n self.next_slot\n }\n\n fn as_leaf(self) -> Field {\n self.hash()\n }\n}\n\nimpl PublicDataTreeLeafPreimage {\n pub fn is_empty(self) -> bool {\n (self.slot == 0) & (self.value == 0) & (self.next_slot == 0) & (self.next_index == 0)\n }\n}\n"},"255":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc, point::Point\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n poseidon2_hash_with_separator(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256([log_hash.contract_address.to_field(), log_hash.log_hash.value])\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0\n )\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(\n inputs: [Field; N],\n separator: T\n) -> Field where T: ToField {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = std::hash::sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3)\n },\n version,\n chainId\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"},"261":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/point.nr","source":"use dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\nuse crate::{traits::{Empty, Hash, Serialize}, hash::poseidon2_hash};\n\nglobal POINT_LENGTH: Field = 3;\n\nimpl Serialize<POINT_LENGTH> for Point {\n fn serialize(self: Self) -> [Field; POINT_LENGTH] {\n [self.x, self.y, self.is_infinite as Field]\n }\n}\n\nimpl Hash for Point {\n fn hash(self) -> Field {\n poseidon2_hash(self.serialize())\n }\n}\n\nimpl Empty for Point {\n /// Note: Does not return a valid point on curve - instead represents an empty/\"unpopulated\" point struct (e.g.\n /// empty/unpopulated value in an array of points).\n fn empty() -> Self {\n Point {\n x: 0,\n y: 0,\n is_infinite: false\n }\n }\n}\n"},"262":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr","source":"use crate::{\n address::{\n aztec_address::AztecAddress, eth_address::EthAddress, partial_address::PartialAddress,\n public_keys_hash::PublicKeysHash\n},\n contract_class_id::ContractClassId,\n constants::{GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA, CONTRACT_INSTANCE_LENGTH},\n traits::{Deserialize, Hash, Serialize}\n};\n\nstruct ContractInstance {\n salt : Field,\n deployer: AztecAddress,\n contract_class_id : ContractClassId,\n initialization_hash : Field,\n public_keys_hash : PublicKeysHash,\n}\n\nimpl Eq for ContractInstance {\n fn eq(self, other: Self) -> bool {\n self.public_keys_hash.eq(other.public_keys_hash) &\n self.initialization_hash.eq(other.initialization_hash) &\n self.contract_class_id.eq(other.contract_class_id) &\n self.salt.eq(other.salt)\n }\n}\n\nimpl Serialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn serialize(self) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n [\n self.salt,\n self.deployer.to_field(),\n self.contract_class_id.to_field(),\n self.initialization_hash,\n self.public_keys_hash.to_field()\n ]\n }\n}\n\nimpl Deserialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn deserialize(serialized: [Field; CONTRACT_INSTANCE_LENGTH]) -> Self {\n Self {\n salt: serialized[0],\n deployer: AztecAddress::from_field(serialized[1]),\n contract_class_id: ContractClassId::from_field(serialized[2]),\n initialization_hash: serialized[3],\n public_keys_hash: PublicKeysHash::from_field(serialized[4]),\n }\n }\n}\n\nimpl Hash for ContractInstance {\n fn hash(self) -> Field {\n self.to_address().to_field()\n }\n}\n\nimpl ContractInstance {\n fn to_address(self) -> AztecAddress {\n AztecAddress::compute(\n self.public_keys_hash,\n PartialAddress::compute(\n self.contract_class_id,\n self.salt,\n self.initialization_hash,\n self.deployer\n )\n )\n }\n}\n"},"27":{"path":"std/hash/mod.nr","source":"mod poseidon;\nmod mimc;\nmod poseidon2;\nmod keccak;\n\nuse crate::default::Default;\nuse crate::uint128::U128;\nuse crate::sha256::{digest, sha256_var};\nuse crate::collections::vec::Vec;\nuse crate::embedded_curve_ops::{EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_slice};\nuse crate::meta::derive_via;\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\n{}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\npub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {\n // docs:end:pedersen_commitment\n pedersen_commitment_with_separator(input, 0)\n}\n\npub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {\n __pedersen_hash_with_separator(input, separator)\n}\n\nfn pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let value = __pedersen_commitment_with_separator(input, separator);\n if (value[0] == 0) & (value[1] == 0) {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n } else {\n EmbeddedCurvePoint { x: value[0], y: value[1], is_infinite: false }\n }\n}\n\n#[no_predicates]\nfn pedersen_commitment_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];\n for i in 0..N {\n // we use the unsafe version because the multi_scalar_mul will constrain the scalars.\n points[i] = from_field_unsafe(input[i]);\n }\n let generators = derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n multi_scalar_mul(generators, points)\n}\n\n#[no_predicates]\nfn pedersen_hash_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> Field {\n let mut scalars: Vec<EmbeddedCurveScalar> = Vec::from_slice([EmbeddedCurveScalar { lo: 0, hi: 0 }; N].as_slice()); //Vec::new();\n\n for i in 0..N {\n scalars.set(i, from_field_unsafe(input[i]));\n }\n scalars.push(EmbeddedCurveScalar { lo: N as Field, hi: 0 as Field });\n let domain_generators :[EmbeddedCurvePoint; N]= derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n let mut vec_generators = Vec::new();\n for i in 0..N {\n vec_generators.push(domain_generators[i]);\n }\n let length_generator : [EmbeddedCurvePoint; 1] = derive_generators(\"pedersen_hash_length\".as_bytes(), 0);\n vec_generators.push(length_generator[0]);\n multi_scalar_mul_slice(vec_generators.slice, scalars.slice)[0]\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n __pedersen_hash_with_separator(input, 0)\n}\n\n#[foreign(pedersen_hash)]\nfn __pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {}\n\n#[foreign(pedersen_commitment)]\nfn __pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\n#[field(bn254)]\nfn derive_generators<let N: u32, let M: u32>(domain_separator_bytes: [u8; M], starting_index: u32) -> [EmbeddedCurvePoint; N] {\n crate::assert_constant(domain_separator_bytes);\n // TODO(https://github.com/noir-lang/noir/issues/5672): Add back assert_constant on starting_index\n __derive_generators(domain_separator_bytes, starting_index)\n}\n\n#[builtin(derive_pedersen_generators)]\n#[field(bn254)]\nfn __derive_generators<let N: u32, let M: u32>(\n domain_separator_bytes: [u8; M],\n starting_index: u32\n) -> [EmbeddedCurvePoint; N] {}\n\n#[field(bn254)]\n // Same as from_field but:\n // does not assert the limbs are 128 bits\n // does not assert the decomposition does not overflow the EmbeddedCurveScalar\n fn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {\n let (xlo, xhi) = crate::field::bn254::decompose_hint(scalar);\n // Check that the decomposition is correct\n assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);\n EmbeddedCurveScalar { lo: xlo, hi: xhi }\n}\n\npub fn hash_to_field(inputs: [Field]) -> Field {\n let mut sum = 0;\n\n for input in inputs {\n let input_bytes: [u8; 32] = input.to_le_bytes(32).as_array();\n sum += crate::field::bytes32_to_field(blake2s(input_bytes));\n }\n\n sum\n}\n\n// docs:start:keccak256\npub fn keccak256<let N: u32>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{\n crate::hash::keccak::keccak256(input, message_size)\n}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<let N: u32>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n\n// Generic hashing support. \n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\n#[derive_via(derive_hash)]\ntrait Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher;\n}\n\ncomptime fn derive_hash(s: StructDefinition) -> Quoted {\n let name = quote { Hash };\n let signature = quote { fn hash<H>(_self: Self, _state: &mut H) where H: std::hash::Hasher };\n let for_each_field = |name| quote { _self.$name.hash(_state); };\n crate::meta::make_trait_impl(s, name, signature, for_each_field, quote {}, |fields| fields)\n}\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\ntrait Hasher{\n fn finish(self) -> Field;\n \n fn write(&mut self, input: Field);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\ntrait BuildHasher<H> where H: Hasher{\n fn build_hasher(self) -> H;\n}\n\nstruct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn build_hasher(_self: Self) -> H{\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn default() -> Self{\n BuildHasherDefault{}\n } \n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H) where H: Hasher {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self.lo as Field);\n H::write(state, self.hi as Field);\n }\n}\n\nimpl<T, let N: u32> Hash for [T; N] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<T> Hash for [T] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.len().hash(state);\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B) where A: Hash, B: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C) where A: Hash, B: Hash, C: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D) where A: Hash, B: Hash, C: Hash, D: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E) where A: Hash, B: Hash, C: Hash, D: Hash, E: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n\n// Some test vectors for Pedersen hash and Pedersen Commitment.\n// They have been generated using the same functions so the tests are for now useless\n// but they will be useful when we switch to Noir implementation.\n#[test]\nfn assert_pedersen() {\n assert_eq(\n pedersen_hash_with_separator([1], 1), 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f\n );\n assert_eq(\n pedersen_commitment_with_separator([1], 1), EmbeddedCurvePoint {\n x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,\n y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,\n is_infinite: false\n }\n );\n\n assert_eq(\n pedersen_hash_with_separator([1, 2], 2), 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2], 2), EmbeddedCurvePoint {\n x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,\n y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3], 3), 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3], 3), EmbeddedCurvePoint {\n x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,\n y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4], 4), 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4], 4), EmbeddedCurvePoint {\n x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,\n y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5], 5), 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5), EmbeddedCurvePoint {\n x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,\n y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6), 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6), EmbeddedCurvePoint {\n x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,\n y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7), 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7), EmbeddedCurvePoint {\n x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,\n y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), EmbeddedCurvePoint {\n x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,\n y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), EmbeddedCurvePoint {\n x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,\n y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), EmbeddedCurvePoint {\n x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,\n y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,\n is_infinite: false\n }\n );\n}\n\n"},"274":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/root.nr","source":"use crate::{hash::merkle_hash, merkle_tree::merkle_tree::MerkleTree};\n\n// Calculate the Merkle tree root from the sibling path and leaf.\n//\n// The leaf is hashed with its sibling, and then the result is hashed\n// with the next sibling etc in the path. The last hash is the root.\n//\n// TODO(David/Someone): The cpp code is using a uint256, whereas its\n// TODO a bit simpler in Noir to just have a bit array.\n// TODO: I'd generally like to avoid u256 for algorithms like \n// this because it means we never even need to consider cases where \n// the index is greater than p.\npub fn root_from_sibling_path<let N: u32>(\n leaf: Field,\n leaf_index: Field,\n sibling_path: [Field; N]\n) -> Field {\n let mut node = leaf;\n let indices = leaf_index.to_le_bits(N);\n\n for i in 0..N {\n let (hash_left, hash_right) = if indices[i] == 1 {\n (sibling_path[i], node)\n } else {\n (node, sibling_path[i])\n };\n node = merkle_hash(hash_left, hash_right);\n }\n node\n}\n\npub fn calculate_subtree_root<let N: u32>(leaves: [Field; N]) -> Field {\n MerkleTree::new(leaves).get_root()\n}\n\n// These values are precomputed and we run tests to ensure that they\n// are correct. The values themselves were computed from the cpp code.\n//\n// Would be good if we could use width since the compute_subtree\n// algorithm uses depth.\npub fn calculate_empty_tree_root(depth: u32) -> Field {\n if depth == 0 {\n 0\n } else if depth == 1 {\n 0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1\n } else if depth == 2 {\n 0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290\n } else if depth == 3 {\n 0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20\n } else if depth == 4 {\n 0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e\n } else if depth == 5 {\n 0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf\n } else if depth == 6 {\n 0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76\n } else if depth == 7 {\n 0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b\n } else if depth == 8 {\n 0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1\n } else if depth == 9 {\n 0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972\n } else if depth == 10 {\n 0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686\n } else {\n assert(false, \"depth should be between 0 and 10\");\n 0\n }\n}\n\n#[test]\nfn test_merkle_root_interop_test() {\n // This is a test to ensure that we match the cpp implementation.\n // You can grep for `TEST_F(root_rollup_tests, noir_interop_test)`\n // to find the test that matches this.\n let root = calculate_subtree_root([1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]);\n assert(0x1a09d935ae110b4c861fcec8f9099ec30b4485022aeb3d3cf9d7168e38fdc231 == root);\n\n let empty_root = calculate_subtree_root([0; 16]);\n assert(0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e == empty_root);\n}\n\n#[test]\nfn test_empty_subroot() {\n assert(calculate_empty_tree_root(0) == 0);\n\n let expected_empty_root_2 = calculate_subtree_root([0; 2]);\n assert(calculate_empty_tree_root(1) == expected_empty_root_2);\n\n let expected_empty_root_4 = calculate_subtree_root([0; 4]);\n assert(calculate_empty_tree_root(2) == expected_empty_root_4);\n\n let expected_empty_root_8 = calculate_subtree_root([0; 8]);\n assert(calculate_empty_tree_root(3) == expected_empty_root_8);\n\n let expected_empty_root_16 = calculate_subtree_root([0; 16]);\n assert(calculate_empty_tree_root(4) == expected_empty_root_16);\n\n let expected_empty_root_32 = calculate_subtree_root([0; 32]);\n assert(calculate_empty_tree_root(5) == expected_empty_root_32);\n\n let expected_empty_root_64 = calculate_subtree_root([0; 64]);\n assert(calculate_empty_tree_root(6) == expected_empty_root_64);\n\n let expected_empty_root_128 = calculate_subtree_root([0; 128]);\n assert(calculate_empty_tree_root(7) == expected_empty_root_128);\n\n let expected_empty_root_256 = calculate_subtree_root([0; 256]);\n assert(calculate_empty_tree_root(8) == expected_empty_root_256);\n\n let expected_empty_root_512 = calculate_subtree_root([0; 512]);\n assert(calculate_empty_tree_root(9) == expected_empty_root_512);\n\n let expected_empty_root_1024 = calculate_subtree_root([0; 1024]);\n assert(calculate_empty_tree_root(10) == expected_empty_root_1024);\n}\n"},"278":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<let K: u32>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, let K: u32, let C: u32>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"},"290":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/field.nr","source":"pub fn field_from_bytes<let N: u32>(bytes: [u8; N], big_endian: bool) -> Field {\n assert(bytes.len() < 32, \"field_from_bytes: N must be less than 32\");\n let mut as_field = 0;\n let mut offset = 1;\n for i in 0..N {\n let mut index = i;\n if big_endian {\n index = N - i - 1;\n }\n as_field += (bytes[index] as Field) * offset;\n offset *= 256;\n }\n\n as_field\n}\n\n// Convert a 32 byte array to a field element by truncating the final byte\npub fn field_from_bytes_32_trunc(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..15 {\n // covers bytes 16..30 (31 is truncated and ignored)\n low = low + (bytes32[15 + 15 - i] as Field) * v;\n v = v * 256;\n // covers bytes 0..14\n high = high + (bytes32[14 - i] as Field) * v;\n }\n // covers byte 15\n low = low + (bytes32[15] as Field) * v;\n\n low + high * v\n}\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n\n#[test]\nunconstrained fn bytes_field_test() {\n // Tests correctness of field_from_bytes_32_trunc against existing methods\n // Bytes representing 0x543e0a6642ffeb8039296861765a53407bba62bd1c97ca43374de950bbe0a7\n let inputs = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167\n ];\n let field = field_from_bytes(inputs, true);\n let return_bytes = field.to_be_bytes(31);\n for i in 0..31 {\n assert_eq(inputs[i], return_bytes[i]);\n }\n // 32 bytes - we remove the final byte, and check it matches the field\n let inputs2 = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167, 158\n ];\n let field2 = field_from_bytes_32_trunc(inputs2);\n let return_bytes2 = field.to_be_bytes(31);\n\n for i in 0..31 {\n assert_eq(return_bytes2[i], return_bytes[i]);\n }\n assert_eq(field2, field);\n}\n\n#[test]\nunconstrained fn max_field_test() {\n // Tests the hardcoded value in constants.nr vs underlying modulus\n // NB: We can't use 0-1 in constants.nr as it will be transpiled incorrectly to ts and sol constants files\n let max_value = crate::constants::MAX_FIELD_VALUE;\n assert_eq(max_value, 0 - 1);\n // modulus == 0 is tested elsewhere, so below is more of a sanity check\n let max_bytes = max_value.to_be_bytes(32);\n let mod_bytes = std::field::modulus_be_bytes();\n for i in 0..31 {\n assert_eq(max_bytes[i], mod_bytes[i]);\n }\n assert_eq(max_bytes[31], mod_bytes[31] - 1);\n}\n"},"292":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/mod.nr","source":"// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, let N: u32, let M: u32>(src: [T; N], mut dst: [T; M], offset: u32) -> [T; M] {\n let iterator_len = if N > M { M } else { N };\n for i in 0..iterator_len {\n dst[i] = src[i + offset];\n }\n dst\n}\n"},"307":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","source":"use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash_with_separator,\n traits::{Empty, FromField, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys_hash() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x23ce9be3fa3c846b0f9245cc796902e731d04f086e8a42473bb29e405fc98075;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n"},"309":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr","source":"use crate::{\n address::{\n eth_address::EthAddress, salted_initialization_hash::SaltedInitializationHash,\n aztec_address::AztecAddress\n},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, contract_class_id::ContractClassId,\n hash::poseidon2_hash_with_separator, traits::{ToField, FromField, Serialize, Deserialize}\n};\n\nglobal PARTIAL_ADDRESS_LENGTH = 1;\n\n// Partial address\nstruct PartialAddress {\n inner : Field\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn serialize(self: Self) -> [Field; PARTIAL_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn deserialize(fields: [Field; PARTIAL_ADDRESS_LENGTH]) -> Self {\n PartialAddress { inner: fields[0] }\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n deployer: AztecAddress\n ) -> Self {\n PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n SaltedInitializationHash::compute(salt, initialization_hash, deployer)\n )\n }\n\n pub fn compute_from_salted_initialization_hash(\n contract_class_id: ContractClassId,\n salted_initialization_hash: SaltedInitializationHash\n ) -> Self {\n PartialAddress::from_field(\n poseidon2_hash_with_separator(\n [\n contract_class_id.to_field(),\n salted_initialization_hash.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn is_zero(self) -> bool {\n self.to_field() == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"310":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr","source":"use crate::{\n address::{eth_address::EthAddress, aztec_address::AztecAddress},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, hash::poseidon2_hash_with_separator, traits::ToField\n};\n\n// Salted initialization hash. Used in the computation of a partial address.\nstruct SaltedInitializationHash {\n inner: Field\n}\n\nimpl ToField for SaltedInitializationHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl SaltedInitializationHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(salt: Field, initialization_hash: Field, deployer: AztecAddress) -> Self {\n SaltedInitializationHash::from_field(\n poseidon2_hash_with_separator(\n [\n salt,\n initialization_hash,\n deployer.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"32":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\ncomptime global RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n"},"368":{"path":"/usr/src/noir-projects/noir-contracts/contracts/ecdsa_public_key_note/src/lib.nr","source":"use dep::aztec::prelude::{AztecAddress, FunctionSelector, NoteHeader, NoteInterface, NoteGetterOptions, PrivateContext};\n\nuse dep::aztec::{\n note::utils::compute_note_hash_for_nullify, keys::getters::get_nsk_app,\n protocol_types::{constants::GENERATOR_INDEX__NOTE_NULLIFIER, hash::poseidon2_hash_with_separator}\n};\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n// ECDSA_PUBLIC_KEY_NOTE_LEN * 32 + 32(storage_slot as bytes) + 32(note_type_id as bytes)\nglobal ECDSA_PUBLIC_KEY_NOTE_BYTES_LEN: Field = 5 * 32 + 64;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\n#[aztec(note)]\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n // We store the npk_m_hash only to get the secret key to compute the nullifier\n npk_m_hash: Field,\n}\n\nimpl NoteInterface<ECDSA_PUBLIC_KEY_NOTE_LEN, ECDSA_PUBLIC_KEY_NOTE_BYTES_LEN> for EcdsaPublicKeyNote {\n // Cannot use the automatic serialization since x and y don't fit. Serialize the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = npk_m_hash\n fn serialize_content(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n [x, last_x, y, last_y, self.npk_m_hash]\n }\n\n // Cannot use the automatic deserialization for the aforementioned reasons\n fn deserialize_content(serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x = serialized_note[0].to_be_bytes(32);\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = serialized_note[1].to_be_bytes(32)[31];\n\n let part_y = serialized_note[2].to_be_bytes(32);\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = serialized_note[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote { x, y, npk_m_hash: serialized_note[4], header: NoteHeader::empty() }\n }\n\n fn compute_nullifier(self, context: &mut PrivateContext, note_hash_for_nullify: Field) -> Field {\n let secret = context.request_nsk_app(self.npk_m_hash);\n poseidon2_hash_with_separator([\n note_hash_for_nullify,\n secret\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field,\n )\n }\n\n fn compute_nullifier_without_context(self) -> Field {\n let note_hash_for_nullify = compute_note_hash_for_nullify(self);\n let secret = get_nsk_app(self.npk_m_hash);\n poseidon2_hash_with_separator([\n note_hash_for_nullify,\n secret,\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field,\n )\n }\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], npk_m_hash: Field) -> Self {\n EcdsaPublicKeyNote { x, y, npk_m_hash, header: NoteHeader::empty() }\n }\n}\n"},"369":{"path":"/usr/src/noir-projects/noir-contracts/contracts/ecdsa_r_account_contract/src/main.nr","source":"// Account contract that uses ECDSA signatures for authentication on random version of the p256 curve (to use with touchID).\ncontract EcdsaRAccount {\n use dep::aztec::prelude::{AztecAddress, FunctionSelector, NoteHeader, NoteGetterOptions, PrivateContext, PrivateImmutable};\n use dep::aztec::encrypted_logs::encrypted_note_emission::encode_and_encrypt_note;\n\n use dep::aztec::protocol_types::abis::call_context::CallContext;\n use dep::std;\n\n use dep::authwit::{\n entrypoint::{app::AppPayload, fee::FeePayload}, account::AccountActions,\n auth_witness::get_auth_witness\n };\n\n use dep::ecdsa_public_key_note::EcdsaPublicKeyNote;\n\n #[aztec(storage)]\n struct Storage {\n public_key: PrivateImmutable<EcdsaPublicKeyNote>,\n }\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n #[aztec(private)]\n #[aztec(initializer)]\n fn constructor(signing_pub_key_x: [u8; 32], signing_pub_key_y: [u8; 32]) {\n let this = context.this_address();\n let header = context.get_header();\n let this_npk_m_hash = header.get_npk_m_hash(&mut context, this);\n // Not emitting outgoing for msg_sender here to not have to register keys for the contract through which we\n // deploy this (typically MultiCallEntrypoint). I think it's ok here as I feel the outgoing here is not that\n // important.\n\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this_npk_m_hash);\n storage.public_key.initialize(&mut pub_key_note).emit(encode_and_encrypt_note(&mut context, this, this));\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update default_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload, fee_payload: FeePayload) {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.entrypoint(app_payload, fee_payload);\n }\n\n #[aztec(private)]\n #[aztec(noinitcheck)]\n #[aztec(view)]\n fn verify_private_authwit(inner_hash: Field) -> Field {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.verify_private_authwit(inner_hash)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, outer_hash: Field) -> bool {\n // Load public key from storage\n let storage = Storage::init(context);\n let public_key = storage.public_key.get_note();\n\n // Load auth witness\n let witness: [Field; 64] = get_auth_witness(outer_hash);\n let mut signature: [u8; 64] = [0; 64];\n for i in 0..64 {\n signature[i] = witness[i] as u8;\n }\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let outer_hash_bytes: [u8; 32] = outer_hash.to_be_bytes(32).as_array();\n let hashed_message: [u8; 32] = std::hash::sha256(outer_hash_bytes);\n let verification = std::ecdsa_secp256r1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n true\n }\n}\n"},"47":{"path":"std/option.nr","source":"use crate::hash::{Hash, Hasher};\nuse crate::cmp::{Ordering, Ord, Eq};\nuse crate::default::Default;\n\nstruct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some { self._value } else { default }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// Asserts `self.is_some()` with a provided custom message and returns the contained `Some` value\n fn expect<let N: u32, MessageTypes>(self, message: fmtstr<N, MessageTypes>) -> T {\n assert(self.is_some(), message);\n self._value\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some { self } else { other }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some { self } else { default() }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some { Option::none() } else { self }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n\nimpl<T> Default for Option<T> {\n fn default() -> Self {\n Option::none()\n }\n}\n\nimpl<T> Eq for Option<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n if self._is_some == other._is_some {\n if self._is_some {\n self._value == other._value\n } else {\n true\n }\n } else {\n false\n }\n }\n}\n\nimpl<T> Hash for Option<T> where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher {\n self._is_some.hash(state);\n if self._is_some {\n self._value.hash(state);\n }\n }\n}\n\n// For this impl we're declaring Option::none < Option::some\nimpl<T> Ord for Option<T> where T: Ord {\n fn cmp(self, other: Self) -> Ordering {\n if self._is_some {\n if other._is_some {\n self._value.cmp(other._value)\n } else {\n Ordering::greater()\n }\n } else {\n if other._is_some {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n"},"5":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Get an element from the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Get an element from the vector at the given index.\n /// Responds with undefined data for `index` where `self.len < index < self.max_len()`.\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Write an element to the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Write an element to the vector at the given index.\n /// Does not check whether the passed `index` is a valid index within the vector.\n ///\n /// Silently writes past the end of the vector for `index` where `self.len < index < self.max_len()`\n /// Panics if the given index points beyond the maximum length of the vector (`self.max_len()`).\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u32 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n ret\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n \n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n crate::println(vec.get(0));\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n\n // Need to use println to avoid DIE removing the write operation.\n crate::println(vec.get(0));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.storage()[2], 0);\n }\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n assert_eq(bounded_vec.storage()[2], 3);\n }\n\n #[test(should_fail_with=\"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n}\n"},"62":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth_witness.nr","source":"#[oracle(getAuthWitness)]\nunconstrained fn get_auth_witness_oracle<let N: u32>(_message_hash: Field) -> [Field; N] {}\n\n/**\n * Oracle wrapper to fetch an `auth_witness` for a given `message_hash` from the PXE.\n * \n * @param message_hash The hash of the message for which the `auth_witness` is to be fetched.\n * @return The `auth_witness` for the given `message_hash` as Field array.\n */\nunconstrained pub fn get_auth_witness<let N: u32>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n"},"63":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr","source":"use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{\n GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER, GENERATOR_INDEX__AUTHWIT_NULLIFIER,\n CANONICAL_AUTH_REGISTRY_ADDRESS\n},\n hash::poseidon2_hash_with_separator\n};\nuse dep::aztec::{prelude::Deserialize, context::{PrivateContext, PublicContext, gas::GasOpts}, hash::hash_args_array};\n\n/**\n * Authenticaion witness helper library\n *\n * Authentication Witness is a scheme for authenticating actions on Aztec, so users can allow third-parties \n * (e.g. protocols or other users) to execute an action on their behalf.\n * \n * This library provides helper functions to manage such witnesses.\n * The authentication witness, is some \"witness\" (data) that authenticates a `message_hash`.\n * The simplest example of an authentication witness, is a signature. The signature is the \"evidence\",\n * that the signer has seen the message, agrees with it, and has allowed it.\n * It does not need to be a signature. It could be any kind of \"proof\" that the message is allowed.\n * Another proof could be knowing some kind of secret, or having some kind of \"token\" that allows the message.\n *\n * The `message_hash` is a hash of the following structure:\n * hash(consumer, chain_id, version, inner_hash)\n * - consumer: the address of the contract that is \"consuming\" the message,\n * - chain_id: the chain id of the chain that the message is being consumed on,\n * - version: the version of the chain that the message is being consumed on,\n * - inner_hash: the hash of the \"inner\" message that is being consumed, this is the \"actual\" message or action.\n *\n * While the `inner_hash` could be anything, such as showing you signed a specific message, it will often be \n * a hash of the \"action\" to approve, along with who made the call. As part of this library, we provide a few \n * helper functions to deal with such messages.\n *\n * For example, we provide helper function that is used for checking that the message is an encoding of the current call.\n * This can be used to let some contract \"allow\" another contract to act on its behalf, as long as it can \n * show that it is acting on behalf of the contract.\n *\n * If we take a case of allowing a contract to transfer tokens on behalf of an account, the `inner_hash` can be \n * derived as:\n * inner_hash = hash(caller, \"transfer\", hash(to, amount))\n * \n * Where the `caller` would be the address of the contract that is trying to transfer the tokens, and `to` and `amount`\n * the arguments for the transfer. \n * \n * Note that we have both a `caller` and a `consumer`, the `consumer` will be the contract that is consuming the message,\n * in the case of the transfer, it would be the `Token` contract itself, while the caller, will be the actor that is \n * allowed to transfer the tokens.\n *\n *\n * The authentication mechanism works differently in public and private contexts. In private, we recall that everything\n * is executed on the user's device, so we can use `oracles` to \"ask\" the user (not contract) for information. In public\n * we cannot do this, since it is executed by the sequencer (someone else). Therefore we can instead use a \"registry\"\n * to store the messages that we have approved.\n * \n * A simple example would be a \"token\" that is being \"pulled\" from one account into another. We will first outline \n * how this would look in private, and then in public later. \n *\n * Say that a user `Alice` wants to deposit some tokens into a DeFi protocol (say a DEX). \n * `Alice` would make a `deposit` transaction, that she is executing using her account contract. \n * The account would call the `DeFi` contract to execute `deposit`, which would try to pull funds from the `Token` \n * contract. Since the `DeFi` contract is trying to pull funds from an account that is not its own, it needs to \n * convince the `Token` contract that it is allowed to do so. \n * \n * This is where the authentication witness comes in The `Token` contract computes a `message_hash` from the \n * `transfer` call, and then asks `Alice Account` contract to verify that the `DeFi` contract is allowed to \n * execute that call.\n * \n * `Alice Account` contract can then ask `Alice` if she wants to allow the `DeFi` contract to pull funds from her \n * account. If she does, she will sign the `message_hash` and return the signature to the `Alice Account` which\n * will validate it and return success to the `Token` contract which will then allow the `DeFi` contract to pull\n * funds from `Alice`.\n * \n * To ensure that the same \"approval\" cannot be used multiple times, we also compute a `nullifier` for the\n * authentication witness, and emit it from the `Token` contract (consumer).\n * \n * Note that we can do this flow as we are in private were we can do oracle calls out from contracts. \n * \n *\n * Person Contract Contract Contract\n * Alice Alice Account Token DeFi\n * | | | |\n * | Defi.deposit(Token, 1000) | |\n * |----------------->| | |\n * | | deposit(Token, 1000) |\n * | |---------------------------------------->|\n * | | | |\n * | | | transfer(Alice, Defi, 1000)\n * | | |<---------------------|\n * | | | |\n * | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | |<-----------------| |\n * | | | |\n * | Please give me AuthWit for DeFi | |\n * | calling transfer(Alice, Defi, 1000) | |\n * |<-----------------| | |\n * | | | |\n * | | | |\n * | AuthWit for transfer(Alice, Defi, 1000) |\n * |----------------->| | |\n * | | AuthWit validity | |\n * | |----------------->| |\n * | | | |\n * | | throw if invalid AuthWit |\n * | | | |\n * | | emit AuthWit nullifier |\n * | | | |\n * | | transfer(Alice, Defi, 1000) |\n * | | | |\n * | | | |\n * | | | success |\n * | | |--------------------->|\n * | | | |\n * | | | |\n * | | | deposit(Token, 1000)\n * | | | |\n * | | | |\n *\n * \n * If we instead were in public, we cannot do the same flow. Instead we would use an authentication registry to store \n * the messages that we have approved. \n * \n * To approve a message, `Alice Account` can make a `set_authorized` call to the registry, to set a `message_hash`\n * as authorized. This is essentially a mapping from `message_hash` to `true` for `Alice Contract`. Every account\n * has its own map in the registry, so `Alice` cannot approve a message for `Bob`.\n *\n * The `Token` contract can then try to \"spend\" the approval by calling `consume` on the registry. If the message\n * was approved, the value is updated to `false`, and we return the success flag. For more information on the\n * registry, see `main.nr` in `auth_registry_contract`.\n *\n * Person Contract Contract Contract Contract\n * Alice Alice Account Registry Token DeFi\n * | | | | |\n * | Registry.set_authorized(..., true) | | |\n * |----------------->| | | |\n * | | set_authorized(..., true) | |\n * | |------------------->| | |\n * | | | | |\n * | | set authorized to true | |\n * | | | | |\n * | | | | |\n * | Defi.deposit(Token, 1000) | | |\n * |----------------->| | | |\n * | | deposit(Token, 1000) | |\n * | |-------------------------------------------------------------->|\n * | | | | |\n * | | | transfer(Alice, Defi, 1000) |\n * | | | |<---------------------|\n * | | | | |\n * | | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | | |<------------------| |\n * | | | | |\n * | | throw if invalid AuthWit | |\n * | | | | |\n * | | | | |\n * | | set authorized to false | |\n * | | | | |\n * | | | | |\n * | | | AuthWit validity | |\n * | | |------------------>| |\n * | | | | |\n * | | | | transfer(Alice, Defi, 1000)\n * | | | |<-------------------->|\n * | | | | |\n * | | | | success |\n * | | | |--------------------->|\n * | | | | |\n * | | | | deposit(Token, 1000)\n * | | | | |\n *\n *\n * --- FAQ ---\n * Q: Why are we using a success flag of `keccak256(\"IS_VALID()\")` instead of just returning a boolean?\n * A: We want to make sure that we don't accidentally return `true` if there is a collision in the function selector.\n * By returning a hash of `IS_VALID()`, it becomes very unlikely that there is both a colission and we return \n * a success flag.\n * \n * Q: Why are we using static calls?\n * A: We are using static calls to ensure that the account contract cannot re-enter. If it was a normal call, it\n * could make a new call and do a re-entry attack. Using a static ensures that it cannot update any state.\n *\n * Q: Would it not be cheaper to use a nullifier instead of updating state in public?\n * A: At a quick glance, a public state update + nullifier is 96 bytes, but two state updates are 128, so it would be \n * cheaper to use a nullifier, if this is the way it would always be done. However, if both the approval and the \n * consumption is done in the same transaction, then we will be able to squash the updates (only final tx state diff is posted to DA), and now it is cheaper.\n * \n * Q: Why is the chain id and the version part of the message hash?\n * A: The chain id and the version is part of the message hash to ensure that the message is only valid on a specific\n * chain to avoid a case where the same message could be used across multiple chains. \n */\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n/** \n * Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the \n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n * \n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n assert_inner_hash_valid_authwit(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit\n\n/** \n * Assert that a specific `inner_hash` is valid for the `on_behalf_of` address\n * \n * Used as an internal function for `assert_current_call_valid_authwit` and can be used as a standalone function when\n * the `inner_hash` is from a different source, e.g., say a block of text etc.\n * \n * @param on_behalf_of The address that have authorized the current call\n * @param inner_hash The hash of the message to authorize \n */\npub fn assert_inner_hash_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress, inner_hash: Field) {\n // We perform a static call here and not a standard one to ensure that the account contract cannot re-enter.\n let result: Field = context.static_call_private_function(\n on_behalf_of,\n FunctionSelector::from_signature(\"verify_private_authwit(Field)\"),\n [inner_hash]\n ).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n // Compute the nullifier, similar computation to the outer hash, but without the chain_id and version.\n // Those should already be handled in the verification, so we just need something to nullify, that allow same inner_hash for multiple actors.\n let nullifier = compute_authwit_nullifier(on_behalf_of, inner_hash);\n context.push_nullifier(nullifier);\n}\n\n/** \n * Assert that `on_behalf_of` have authorized the current call in the authentication registry\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the \n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n * \n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n * \n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit_public\npub fn assert_current_call_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n assert_inner_hash_valid_authwit_public(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n/** \n * Assert that `on_behalf_of` have authorized a speicifc `inner_hash` in the authentication registry\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the \n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n * \n * @param on_behalf_of The address that have authorized the `inner_hash`\n */\npub fn assert_inner_hash_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress, inner_hash: Field) {\n let result: Field = context.call_public_function(\n AztecAddress::from_field(CANONICAL_AUTH_REGISTRY_ADDRESS),\n FunctionSelector::from_signature(\"consume((Field),Field)\"),\n [on_behalf_of.to_field(), inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n\n/**\n * Compute the `message_hash` from a function call to be used by an authentication witness \n * \n * Useful for when you need a non-account contract to approve during execution. For example if you need a contract\n * to make a call to nested contract, e.g., contract A wants to exit token T to L1 using bridge B, so it needs to allow\n * B to transfer T on its behalf.\n * \n * @param caller The address of the contract that is calling the function, in the example above, this would be B\n * @param consumer The address of the contract that is consuming the message, in the example above, this would be T\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param selector The function selector of the function that is being called\n * @param args The arguments of the function that is being called\n */\n// docs:start:compute_authwit_message_hash_from_call\npub fn compute_authwit_message_hash_from_call<let N: u32>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_authwit_message_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_authwit_message_hash_from_call\n\n/**\n * Computes the `inner_hash` of the authentication witness\n * \n * This is used internally, but also useful in cases where you want to compute the `inner_hash` for a specific message\n * that is not necessarily a call, but just some \"bytes\" or text.\n * \n * @param args The arguments to hash\n */\npub fn compute_inner_authwit_hash<let N: u32>(args: [Field; N]) -> Field {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\n/** \n * Computs the `authwit_nullifier` for a specific `on_behalf_of` and `inner_hash`\n * \n * Using the `on_behalf_of` and the `inner_hash` to ensure that the nullifier is siloed for a specific `on_behalf_of`.\n * \n * @param on_behalf_of The address that have authorized the `inner_hash`\n * @param inner_hash The hash of the message to authorize\n */\npub fn compute_authwit_nullifier(on_behalf_of: AztecAddress, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [on_behalf_of.to_field(), inner_hash],\n GENERATOR_INDEX__AUTHWIT_NULLIFIER\n )\n}\n\n/**\n * Computes the `message_hash` for the authentication witness\n * \n * @param consumer The address of the contract that is consuming the message\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param inner_hash The hash of the \"inner\" message that is being consumed\n */\npub fn compute_authwit_message_hash(consumer: AztecAddress, chain_id: Field, version: Field, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n\n/**\n * Helper function to set the authorization status of a message hash\n * \n * Wraps a public call to the authentication registry to set the authorization status of a `message_hash`\n * \n * @param message_hash The hash of the message to authorize\n * @param authorize True if the message should be authorized, false if it should be revoked\n */\npub fn set_authorized(context: &mut PublicContext, message_hash: Field, authorize: bool) {\n context.call_public_function(\n AztecAddress::from_field(CANONICAL_AUTH_REGISTRY_ADDRESS),\n FunctionSelector::from_signature(\"set_authorized(Field,bool)\"),\n [message_hash, authorize as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n\n/**\n * Helper function to reject all authwits\n * \n * Wraps a public call to the authentication registry to set the `reject_all` flag\n *\n * @param reject True if all authwits should be rejected, false otherwise \n */\npub fn set_reject_all(context: &mut PublicContext, reject: bool) {\n context.call_public_function(\n AztecAddress::from_field(CANONICAL_AUTH_REGISTRY_ADDRESS),\n FunctionSelector::from_signature(\"set_reject_all(bool)\"),\n [context.this_address().to_field(), reject as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n"},"64":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/account.nr","source":"use dep::aztec::context::{PrivateContext, PublicContext};\nuse dep::aztec::protocol_types::{address::AztecAddress, abis::function_selector::FunctionSelector, hash::pedersen_hash};\n\nuse crate::entrypoint::{app::AppPayload, fee::FeePayload};\nuse crate::auth::{IS_VALID_SELECTOR, compute_authwit_message_hash};\n\nstruct AccountActions<Context> {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n}\n\nimpl<Context> AccountActions<Context> {\n pub fn init(context: Context, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions { context, is_valid_impl }\n }\n}\n\n/**\n * An implementation of the Account Action struct for the private context.\n * \n * Implements logic to verify authorization and execute payloads.\n */\nimpl AccountActions<&mut PrivateContext> {\n\n /** \n * Verifies that the `app_hash` and `fee_hash` are authorized and then executes them.\n * \n * Executes the `fee_payload` and `app_payload` in sequence.\n * Will execute the `fee_payload` as part of the setup, and then enter the app phase.\n * \n * @param app_payload The payload that contains the calls to be executed in the app phase.\n * @param fee_payload The payload that contains the calls to be executed in the setup phase.\n */\n // docs:start:entrypoint\n pub fn entrypoint(self, app_payload: AppPayload, fee_payload: FeePayload) {\n let valid_fn = self.is_valid_impl;\n\n let fee_hash = fee_payload.hash();\n assert(valid_fn(self.context, fee_hash));\n fee_payload.execute_calls(self.context);\n self.context.end_setup();\n\n let app_hash = app_payload.hash();\n assert(valid_fn(self.context, app_hash));\n app_payload.execute_calls(self.context);\n }\n // docs:end:entrypoint\n\n /**\n * Verifies that the `msg_sender` is authorized to consume `inner_hash` by the account.\n * \n * Computes the `message_hash` using the `msg_sender`, `chain_id`, `version` and `inner_hash`.\n * Then executes the `is_valid_impl` function to verify that the message is authorized.\n * \n * Will revert if the message is not authorized. \n * \n * @param inner_hash The hash of the message that the `msg_sender` is trying to consume.\n */\n // docs:start:verify_private_authwit\n pub fn verify_private_authwit(self, inner_hash: Field) -> Field {\n // The `inner_hash` is \"siloed\" with the `msg_sender` to ensure that only it can \n // consume the message.\n // This ensures that contracts cannot consume messages that are not intended for them.\n let message_hash = compute_authwit_message_hash(\n self.context.msg_sender(),\n self.context.chain_id(),\n self.context.version(),\n inner_hash\n );\n let valid_fn = self.is_valid_impl;\n assert(valid_fn(self.context, message_hash) == true, \"Message not authorized by account\");\n IS_VALID_SELECTOR\n }\n // docs:end:verify_private_authwit\n}\n"},"65":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n"},"67":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/fee.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__FEE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\nuse crate::entrypoint::function_call::FunctionCall;\n\n// 2 * 5 (FUNCTION_CALL_SIZE) + 2\nglobal FEE_PAYLOAD_SIZE: Field = 12;\n\n// 2 * 98 (FUNCTION_CALL_SIZE_IN_BYTES) + 32\nglobal FEE_PAYLOAD_SIZE_IN_BYTES: Field = 228;\n\nglobal MAX_FEE_FUNCTION_CALLS = 2;\n\n// docs:start:fee-payload-struct\nstruct FeePayload {\n function_calls: [FunctionCall; MAX_FEE_FUNCTION_CALLS],\n nonce: Field,\n is_fee_payer: bool,\n}\n// docs:end:fee-payload-struct\n\nimpl Serialize<FEE_PAYLOAD_SIZE> for FeePayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; FEE_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, FEE_PAYLOAD_SIZE> = BoundedVec::new();\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n fields.extend_from_array(self.function_calls[i].serialize());\n }\n fields.push(self.nonce);\n fields.push(self.is_fee_payer as Field);\n fields.storage\n }\n}\n\nimpl Hash for FeePayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__FEE_PAYLOAD\n )\n }\n}\n\nimpl FeePayload {\n fn to_be_bytes(self) -> [u8; FEE_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, FEE_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n bytes.push(self.is_fee_payer as u8);\n\n bytes.storage\n }\n\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n if self.is_fee_payer {\n context.set_as_fee_payer();\n }\n }\n}\n"},"73":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/point_to_symmetric_key.nr","source":"use dep::protocol_types::{constants::GENERATOR_INDEX__SYMMETRIC_KEY, scalar::Scalar, point::Point, utils::arr_copy_slice};\nuse crate::utils::point::point_to_bytes;\nuse std::{hash::sha256, embedded_curve_ops::multi_scalar_mul};\n\n// TODO(#5726): This function is called deriveAESSecret in TS. I don't like point_to_symmetric_key name much since\n// point is not the only input of the function. Unify naming with TS once we have a better name.\npub fn point_to_symmetric_key(secret: Scalar, point: Point) -> [u8; 32] {\n let shared_secret: Point = multi_scalar_mul([point], [secret]);\n let shared_secret = point_to_bytes(shared_secret);\n let mut shared_secret_bytes_with_separator = [0 as u8; 33];\n shared_secret_bytes_with_separator = arr_copy_slice(shared_secret, shared_secret_bytes_with_separator, 0);\n shared_secret_bytes_with_separator[32] = GENERATOR_INDEX__SYMMETRIC_KEY;\n sha256(shared_secret_bytes_with_separator)\n}\n\n#[test]\nfn test_point_to_symmetric_key_matches_noir() {\n // Value taken from \"derive shared secret\" test in encrypt_buffer.test.ts\n let secret = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n let point = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n };\n\n let key = point_to_symmetric_key(secret, point);\n\n // The following value was generated by `encrypt_buffer.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let key_from_typescript = [\n 251, 232, 177, 34, 2, 174, 35, 92, 165, 118, 168, 3, 153, 140, 46, 210, 203, 154, 184, 158, 236, 33, 95, 77, 93, 120, 72, 88, 190, 209, 64, 159\n ];\n assert_eq(key, key_from_typescript);\n}\n"},"74":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/stored_keys.nr","source":"use crate::keys::public_keys::{PublicKeys, PUBLIC_KEYS_LENGTH};\nuse dep::protocol_types::traits::{Serialize, Deserialize};\n\n// This struct represents how public keys are stored in the key registry. We store not just the keys themselves but also\n// their hash, so that when reading in private we can perform a historical read for the hash and then show that it\n// corresponds to a preimage obtained from an unconstrained hint. We do store the keys keys regardless as they might be\n// needed during public execution, and since we need to broadcast and produce hints in some standardized way.\n// While it might seem odd to create a struct for what is effectively some data and a pure function called on it, state\n// variables rely on serializable structs in order to persist data to storage, so we must use this abstraction.\nstruct StoredKeys {\n public_keys: PublicKeys,\n hash: Field,\n}\n\nimpl StoredKeys {\n // Instances of StoredKeys are expected to only be created by calling this function so that we guarantee that the\n // hash field does indeed correspond to the hash of the keys. Ideally we'd forbid direct access to the struct, but \n // Noir doesn't yet support private members.\n fn new(public_keys: PublicKeys) -> Self {\n Self { public_keys, hash: public_keys.hash().inner }\n }\n}\n\n// Our serialization is the concatenation of the public keys serialization plush the hash, so we need one extra field.\nglobal STORED_KEYS_LENGTH: u32 = PUBLIC_KEYS_LENGTH + 1;\n\nimpl Serialize<STORED_KEYS_LENGTH> for StoredKeys {\n fn serialize(self) -> [Field; STORED_KEYS_LENGTH] {\n // The code below is equivalent to:\n // [ ...self.public_keys.serialize(), self.hash ]\n\n let mut array = [0; STORED_KEYS_LENGTH];\n\n let serialized_keys = self.public_keys.serialize();\n for i in 0..serialized_keys.len() {\n array[i] = serialized_keys[i];\n }\n\n array[PUBLIC_KEYS_LENGTH] = self.hash;\n\n array\n }\n}\n\nimpl Deserialize<STORED_KEYS_LENGTH> for StoredKeys {\n fn deserialize(array: [Field; STORED_KEYS_LENGTH]) -> Self {\n // The code below is equivalent to:\n // Self { public_keys: PublicKeys::deserialize(array[0 : PUBLIC_KEYS_LENGTH]), hash: array[PUBLIC_KEYS_LENGTH] }\n\n let mut serialized_keys = [0; PUBLIC_KEYS_LENGTH];\n for i in 0..serialized_keys.len() {\n serialized_keys[i] = array[i];\n }\n\n let hash = array[PUBLIC_KEYS_LENGTH];\n\n Self { public_keys: PublicKeys::deserialize(serialized_keys), hash }\n }\n}\n"},"75":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/public_keys.nr","source":"use dep::protocol_types::{\n address::PublicKeysHash, constants::GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n hash::poseidon2_hash_with_separator, point::Point, traits::{Deserialize, Serialize, Empty, is_empty}\n};\nuse crate::keys::constants::{NUM_KEY_TYPES, NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX};\n\nglobal PUBLIC_KEYS_LENGTH: u32 = 12;\n\nstruct PublicKeys {\n npk_m: Point,\n ivpk_m: Point,\n ovpk_m: Point,\n tpk_m: Point,\n}\n\nimpl Empty for PublicKeys {\n fn empty() -> Self {\n PublicKeys {\n npk_m : Point::empty(),\n ivpk_m : Point::empty(),\n ovpk_m : Point::empty(),\n tpk_m : Point::empty()\n }\n }\n}\n\nimpl Eq for PublicKeys {\n fn eq(self, other: PublicKeys) -> bool {\n ( self.npk_m == other.npk_m ) &\n ( self.ivpk_m == other.ivpk_m ) &\n ( self.ovpk_m == other.ovpk_m ) &\n ( self.tpk_m == other.tpk_m )\n }\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(\n if is_empty(self) {\n 0\n } else {\n poseidon2_hash_with_separator(\n [\n self.npk_m.x,\n self.npk_m.y,\n self.npk_m.is_infinite as Field,\n self.ivpk_m.x,\n self.ivpk_m.y,\n self.ivpk_m.is_infinite as Field,\n self.ovpk_m.x,\n self.ovpk_m.y,\n self.ovpk_m.is_infinite as Field,\n self.tpk_m.x,\n self.tpk_m.y,\n self.tpk_m.is_infinite as Field\n ],\n GENERATOR_INDEX__PUBLIC_KEYS_HASH as Field\n )\n }\n )\n }\n\n pub fn get_key_by_index(self, index: Field) -> Point {\n assert(index as u8 < NUM_KEY_TYPES, \"Invalid key index\");\n if index == NULLIFIER_INDEX {\n self.npk_m\n } else if index == INCOMING_INDEX {\n self.ivpk_m\n } else if index == OUTGOING_INDEX {\n self.ovpk_m\n } else {\n self.tpk_m\n }\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.x,\n self.npk_m.y,\n self.npk_m.is_infinite as Field,\n self.ivpk_m.x,\n self.ivpk_m.y,\n self.ivpk_m.is_infinite as Field,\n self.ovpk_m.x,\n self.ovpk_m.y,\n self.ovpk_m.is_infinite as Field,\n self.tpk_m.x,\n self.tpk_m.y,\n self.tpk_m.is_infinite as Field\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: Point { x:serialized[0], y:serialized[1], is_infinite: serialized[2] as bool },\n ivpk_m: Point { x:serialized[3], y: serialized[4], is_infinite: serialized[5] as bool },\n ovpk_m: Point { x:serialized[6], y: serialized[7], is_infinite: serialized[8] as bool },\n tpk_m: Point { x:serialized[9], y: serialized[10], is_infinite: serialized[11] as bool }\n }\n }\n}\n\n#[test]\nfn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: Point { x: 1, y: 2, is_infinite: false },\n ivpk_m: Point { x: 3, y: 4, is_infinite: false },\n ovpk_m: Point { x: 5, y: 6, is_infinite: false },\n tpk_m: Point { x: 7, y: 8, is_infinite: false }\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash = 0x0fecd9a32db731fec1fded1b9ff957a1625c069245a3613a2538bd527068b0ad;\n\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nfn compute_empty_hash() {\n let keys = PublicKeys::empty();\n\n let actual = keys.hash();\n let test_data_empty_hash = 0x0000000000000000000000000000000000000000000000000000000000000000;\n\n assert(actual.to_field() == test_data_empty_hash);\n}\n\n#[test]\nfn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: Point { x: 1, y: 2, is_infinite: false },\n ivpk_m: Point { x: 3, y: 4, is_infinite: false },\n ovpk_m: Point { x: 5, y: 6, is_infinite: false },\n tpk_m: Point { x: 7, y: 8, is_infinite: false }\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.x, deserialized.npk_m.x);\n assert_eq(keys.npk_m.y, deserialized.npk_m.y);\n assert_eq(keys.ivpk_m.x, deserialized.ivpk_m.x);\n assert_eq(keys.ivpk_m.y, deserialized.ivpk_m.y);\n assert_eq(keys.ovpk_m.x, deserialized.ovpk_m.x);\n assert_eq(keys.ovpk_m.y, deserialized.ovpk_m.y);\n assert_eq(keys.tpk_m.x, deserialized.tpk_m.x);\n assert_eq(keys.tpk_m.y, deserialized.tpk_m.y);\n}\n"},"77":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr","source":"use dep::protocol_types::{\n header::Header, abis::validation_requests::KeyValidationRequest, address::AztecAddress,\n constants::CANONICAL_KEY_REGISTRY_ADDRESS, point::Point, storage::map::derive_storage_slot_in_map,\n traits::is_empty\n};\nuse crate::{\n context::{PrivateContext, UnconstrainedContext},\n oracle::{keys::get_public_keys_and_partial_address, key_validation_request::get_key_validation_request},\n keys::{\n public_keys::{PublicKeys, PUBLIC_KEYS_LENGTH}, stored_keys::StoredKeys,\n constants::{NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX, TAGGING_INDEX}\n},\n state_vars::{\n shared_mutable::shared_mutable_private_getter::SharedMutablePrivateGetter,\n public_mutable::PublicMutable, map::Map\n}\n};\n\nglobal DELAY = 5;\n\nmod test;\n\n// docs:start:key-getters\ntrait KeyGetters {\n fn get_npk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_ivpk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_ovpk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_tpk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_npk_m_hash(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Field;\n}\n\nimpl KeyGetters for Header {\n fn get_npk_m(self, _context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_historical_public_keys(self, address).npk_m\n }\n\n fn get_ivpk_m(self, _context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_historical_public_keys(self, address).ivpk_m\n }\n\n fn get_ovpk_m(self, _context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_historical_public_keys(self, address).ovpk_m\n }\n\n fn get_tpk_m(self, _context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_historical_public_keys(self, address).tpk_m\n }\n\n fn get_npk_m_hash(self, context: &mut PrivateContext, address: AztecAddress) -> Field {\n self.get_npk_m(context, address).hash()\n }\n}\n// docs:end:key-getters\n\n// A helper function since requesting nsk_app is very common\n// TODO(#6543)\npub fn get_nsk_app(npk_m_hash: Field) -> Field {\n get_key_validation_request(npk_m_hash, NULLIFIER_INDEX).sk_app\n}\n\n// This is the number of blocks that must pass after a key rotation event until the old keys are fully phased out and\n// become invalid.\nglobal KEY_REGISTRY_UPDATE_BLOCKS = 5;\n\nglobal KEY_REGISTRY_STORAGE_SLOT = 1;\n\n// Returns all current public keys for a given account, applying proper constraints to the context. We read all\n// keys at once since the constraints for reading them all are actually fewer than if we read them one at a time - any\n// read keys that are not required by the caller can simply be discarded.\npub fn get_current_public_keys(context: &mut PrivateContext, account: AztecAddress) -> PublicKeys {\n // We're going to perform historical reads from public storage, and so need to constrain the caller so that they\n // cannot use very old blocks when constructing proofs, and hence e.g. read very old keys. We are lax and allow\n // _any_ recent block number to be used, regardless of whether there may have been a recent key rotation. This means\n // that multiple sets of keys are valid for a while immediately after rotation, until the old keys become phased\n // out. We *must* be lax to prevent denial of service and transaction fingerprinting attacks by accounts that rotate\n // their keys frequently.\n // Note that we constrain the max block number even if the registry ends up being empty: this ensures that proof of\n // an empty registry is also fresh.\n let current_header = context.get_header();\n context.set_tx_max_block_number(current_header.global_variables.block_number as u32 + KEY_REGISTRY_UPDATE_BLOCKS);\n\n get_historical_public_keys(current_header, account)\n}\n\n// Returns historical public keys for a given account at some block determined by a block header. We read all keys at\n// once since the constraints for reading them all are actually fewer than if we read them one at a time - any read keys\n// that are not required by the caller can simply be discarded.\n// WARNING: if called with a historical header created from a fixed block this function will explicitly ignore key\n// rotation! This means that callers of this may force a user to use old keys, potentially leaking privacy (e.g. if the\n// old keys were leaked). Only call this function with a header from a fixed block if you understand the implications of\n// breaking key rotation very well.\npub fn get_historical_public_keys(historical_header: Header, account: AztecAddress) -> PublicKeys {\n // TODO: improve this so that we always hint the correct set of keys (either registry or canonical) and hash them\n // once instead of having two different hints and twice as many constraints due to the double hashing.\n\n // The key registry is the primary source of information for keys, as that's where accounts store their new keys\n // when they perform rotation. The key registry conveniently stores a hash of each user's keys, so we can read that\n // single field and then prove that we know its preimage (i.e. the current set of keys).\n let key_registry_hash = key_registry_hash_public_historical_read(historical_header, account);\n if key_registry_hash != 0 {\n let hinted_registry_public_keys = key_registry_get_stored_keys_hint(\n account,\n historical_header.global_variables.block_number as u32\n );\n assert_eq(hinted_registry_public_keys.hash().to_field(), key_registry_hash);\n\n hinted_registry_public_keys\n } else {\n // If nothing was written to the registry, we may still be able to produce the correct keys if we happen to know\n // the canonical set (i.e. the ones that are part of the account's preimage).\n let (hinted_canonical_public_keys, partial_address) = get_public_keys_and_partial_address(account);\n assert_eq(\n account, AztecAddress::compute(hinted_canonical_public_keys.hash(), partial_address), \"Invalid public keys hint for address\"\n );\n\n hinted_canonical_public_keys\n }\n}\n\nfn key_registry_hash_public_historical_read(historical_header: Header, account: AztecAddress) -> Field {\n // The keys are stored in a Map that is keyed with the address of each account, so we first derive the corresponding\n // slot for this account.\n let keys_storage_slot = derive_storage_slot_in_map(KEY_REGISTRY_STORAGE_SLOT, account);\n\n // The keys are stored as [ ...serialized_keys, hash ], and since arrays get allocated sequential storage slots\n // (prior to siloing!), we simply add the length to the base slot to get the last element.\n let hash_storage_slot = keys_storage_slot + PUBLIC_KEYS_LENGTH as Field;\n\n historical_header.public_storage_historical_read(\n hash_storage_slot,\n AztecAddress::from_field(CANONICAL_KEY_REGISTRY_ADDRESS)\n )\n}\n\nunconstrained fn key_registry_get_stored_keys_hint(account: AztecAddress, block_number: u32) -> PublicKeys {\n // This is equivalent to the key registry contract having an unconstrained getter that we call from an oracle, but\n // PXE does not yet support that functionality so we do this manually instad. Note that this would be a *historical*\n // call!\n\n // TODO (#7524): call the unconstrained KeyRegistry.get_current_keys() function instead\n\n let context = UnconstrainedContext::at_historical(\n AztecAddress::from_field(CANONICAL_KEY_REGISTRY_ADDRESS),\n block_number\n );\n let keys_storage = Map::new(\n context,\n KEY_REGISTRY_STORAGE_SLOT,\n |context, slot| { PublicMutable::new(context, slot) }\n );\n\n let stored_keys: StoredKeys = keys_storage.at(account).read();\n stored_keys.public_keys\n}\n"},"91":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/history/public_storage.nr","source":"use dep::protocol_types::{\n constants::GENERATOR_INDEX__PUBLIC_LEAF_INDEX, hash::poseidon2_hash_with_separator,\n address::AztecAddress, header::Header, utils::field::full_field_less_than\n};\nuse dep::protocol_types::merkle_tree::root::root_from_sibling_path;\n\nuse crate::{context::PrivateContext, oracle::get_public_data_witness::get_public_data_witness};\n\ntrait PublicStorageHistoricalRead {\n fn public_storage_historical_read(header: Header, storage_slot: Field, contract_address: AztecAddress) -> Field;\n}\n\nimpl PublicStorageHistoricalRead for Header {\n fn public_storage_historical_read(self, storage_slot: Field, contract_address: AztecAddress) -> Field {\n // 1) Compute the leaf slot by siloing the storage slot with the contract address\n let public_data_tree_index = poseidon2_hash_with_separator(\n [contract_address.to_field(), storage_slot],\n GENERATOR_INDEX__PUBLIC_LEAF_INDEX\n );\n\n // 2) Get the membership witness of the slot\n let witness = get_public_data_witness(\n self.global_variables.block_number as u32,\n public_data_tree_index\n );\n\n // 3) Extract the value from the witness leaf and check that the storage slot is correct\n let preimage = witness.leaf_preimage;\n\n // Here we have two cases. Code based on same checks in `validate_public_data_reads` in `base_rollup_inputs`\n // 1. The value is the same as the one in the witness\n // 2. The value was never initialized and is zero\n let is_less_than_slot = full_field_less_than(preimage.slot, public_data_tree_index);\n let is_next_greater_than = full_field_less_than(public_data_tree_index, preimage.next_slot);\n let is_max = ((preimage.next_index == 0) & (preimage.next_slot == 0));\n let is_in_range = is_less_than_slot & (is_next_greater_than | is_max);\n\n let value = if is_in_range {\n 0\n } else {\n assert_eq(preimage.slot, public_data_tree_index, \"Public data tree index doesn't match witness\");\n preimage.value\n };\n\n // 4) Prove that the leaf exists in the public data tree. Note that `hash` returns not just the hash of the value\n // but also the metadata (slot, next index and next slot).\n assert(\n self.state.partial.public_data_tree.root\n == root_from_sibling_path(preimage.hash(), witness.index, witness.path), \"Proving public value inclusion failed\"\n );\n\n value\n }\n}\n"},"99":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/unconstrained_context.nr","source":"use dep::protocol_types::{address::AztecAddress, traits::Deserialize};\nuse crate::oracle::{\n execution::{get_chain_id, get_version, get_contract_address, get_block_number},\n storage::{raw_storage_read, storage_read}\n};\n\nstruct UnconstrainedContext {\n block_number: u32,\n contract_address: AztecAddress,\n version: Field,\n chain_id: Field,\n}\n\nimpl UnconstrainedContext {\n unconstrained fn new() -> Self {\n // We could call these oracles on the getters instead of at creation, which makes sense given that they might\n // not even be accessed. However any performance gains are minimal, and we'd rather fail early if a user\n // incorrectly attempts to create an UnconstrainedContext in an environment in which these oracles are not\n // available.\n let block_number = get_block_number();\n let contract_address = get_contract_address();\n let chain_id = get_chain_id();\n let version = get_version();\n Self { block_number, contract_address, version, chain_id }\n }\n\n unconstrained fn at(contract_address: AztecAddress) -> Self {\n let block_number = get_block_number();\n let chain_id = get_chain_id();\n let version = get_version();\n Self { block_number, contract_address, version, chain_id }\n }\n\n unconstrained fn at_historical(contract_address: AztecAddress, block_number: u32) -> Self {\n let chain_id = get_chain_id();\n let version = get_version();\n Self { block_number, contract_address, version, chain_id }\n }\n\n fn block_number(self) -> u32 {\n self.block_number\n }\n\n fn this_address(self) -> AztecAddress {\n self.contract_address\n }\n\n fn version(self) -> Field {\n self.version\n }\n\n fn chain_id(self) -> Field {\n self.chain_id\n }\n\n unconstrained fn raw_storage_read<let N: u32>(self: Self, storage_slot: Field) -> [Field; N] {\n storage_read(self.this_address(), storage_slot, self.block_number())\n }\n\n unconstrained fn storage_read<T, let N: u32>(\n self,\n storage_slot: Field\n ) -> T where T: Deserialize<N> {\n T::deserialize(self.raw_storage_read(storage_slot))\n }\n}\n"}}}
1
+ {"transpiled":true,"noir_version":"0.33.0+2d702155f9341cac08a960f271e3ed5450740729","name":"EcdsaRAccount","functions":[{"name":"verify_private_authwit","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(noinitcheck)","aztec(view)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"inner_hash","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"7Z3tjly3kYbvRb+DgKxPMreyWARO4gQCDDuInQUWwd77tmT1hzJH6MlRq/rx8PyxZ2x218si+U4dNh/2v9795fs//fNvf3z/419/+vndH/7rX+9++OnP3/3y/qcfT7/9613Xj//t579/9+OHX3/+5bt//PLuD+13777/8S+nf//f79799f0P37/7g+bp5xftJGd+aiqjz0vrrr7R2mTGp9amea91b6L+qfnpZxuX9uK51d5Dz819yFW5bL55Xhp3+azxf//uXbcjKS+T4kdSXiYljqS8TEoeSXmZlHEk5WVS5pGUF0mRdiTlZVI6OCkp16SMuJMUGaOftczWviopUpgUnfOcFEsHzxQ9kvIyKXYk5WVS/EjKy6TEkZSXSUlwUp721+erKlqdcW566vBV9inmxzef3/DN9T+osD4036w95DQDz5mUHPfmQGhc58A1RMRW4+ZyGaUWNx0I2MJQOVLzpdTokZovpcbwqXmWqaofqflSauJIzZdSkw9Izch2lRN3UuNyaeyWd9+6Xwsg1+uf44zNP96XrOv0a1e76Me+joX6Otfpq7WF+toX6qss1FddqK+2UF99ob7GQn1dqG6yheomW6hu8oXqJl+obvKF6iZfqG5yW6ivC9VNvlDd5AvVTb5Q3eQL1U2xUN0UC9VNsVDdFAvVTWEL9XWhuikWqptiobopFqqbYqG6KReqm3KhuikXqptyobopbaG+LlQ35UJ1Uy5UN+VCdVMuVDeNheqmsVDdNBaqm8ZCddOwhfq6UN00FqqbxkJ101iobhoL1U1zobppLlQ3zYXqprlQ3TRtob4uVDfNheqmuVDdNBeqm+ZCdVNvCxVOvS1UOfW2UOnU29uqnfxyuUu7EfKhsy9bd59nJT3UXqbG1k1NXFOT4i9T85YqM2t2uZCujbupadfUdGk3rbduLVA/rz67uepOY26+s47LLQTN7l8Z0uNyIYL0q27JX8foLVWUb3WM3lIl/FbH6C1V8G91jN7Sk8cbHaP+lh6Y3uoYvaXnvLc6Rm/p8fStjtFbeqp+q2Nkxxjhx+jYZ+CP0bHPwB+jY5+BP0bHPgN/jI59BvwYybHPwB+jY5+BP0bHPgN/jI59Bv4Y2TFG+DE69hn4Y3TsM/DH6Nhn4I/Rsc/AH6NjnwE/RnrsM/DH6Nhn4I/Rsc/AH6Njn4E/RnaMEX6Mjn0G/hgd+wyAMRKJyxjpfDFGxz4Df4yOfQb+GB37DIQxMruMkee/j9Gb+ubWtzpGxz4Df4yOfQbAGGmce3kq4vzFGB37DK8bI+/nxtH8zhjpyZ4+NdY+btaF/JpzO3L++JxL+DnnspHzYx+gPufHc319zo/n9PqcH8/d9Tk/nqPLc/6mvpn7t5Lz4zm3PufHc2t9zo/n0Pqc25HzV+U8+vkmv7jR8aX9mR7X7ZnPcr4h2vT8wajdbv2cB+h4aIUP0PGECx+g43EYPkALPzuLXgZITD4boI+pWfgR905qYuEn0XupWfiBUcbl48hT6XvH8fq8KOlz3BjT9sdoTfJyhq3JjZbt9jJGv6bw6r4qm2+eerVquW38cUgXfh59q0O68OPuWx1Se1NDOs99tdOA3RnSKe3cySm3l9e3zaRr7+c3P/18+zes/XooId7Wc+9TU1n+hBqXhwMJs8/e+qOg8ieytPMmmGT0l4IGTdCECcpGE9RpgoQmSGmCjCbIaYKCJojm1Elz6qQ59aA59aA59aA59aA59aA59aA59aA59aA59aA59aA59aQ59aQ59aQ59aQ59aQ59aQ59aQ59aQ59aQ59YQ5tTSYU0uDObU0mFNLgzm1NJhTS4M5tTSYU0uDObU0mFNLozl1pzl1pzl1pzl1pzl1pzl1pzl1pzl1pzl1pzl1pzm10JxaaE4tNKcWmlMLzamF5tRCc2qhObXQnFpoTq00p1aaUyvNqZXm1EpzaqU5tdKcWmlOrTSnVppTG82pjebURnNqozm10ZzaaE5tNKc2mlMbzamN5tROc2qnObXTnNppTu00p3aaUzvNqZ3m1E5zaqc5ddCcOmhOHTSnDppTB82pg+bUQXNqGqMoNEZRaIyi0BhFoTGKQmMUhcYoCo1RFBqjKDRGUWiMotAYRaExikJjFIXGKAqNURQaoyg0RlFojKLQGEWhMYpCYxSFxigKjVEUGqMoNEZRaIyi0BhFoTGKQmMUhcYoCo1RFBqjqDRGUWmMotIYRaUxitpgTq00RlFpjKLSGEWlMYpKYxSVxigqjVFUGqOoNEZRaYyi0hhFpTGKSmMUlcYoKo1RVBqjqDRGUWmMotIYRaUxikpjFJXGKCqNUVQao6g0RlFpjKLSGEWlMYpKYxSVxigqjVFUGqOoNEZRaYyi0hhFpTGKSmMUlcYoKo1RVBqjqDRGUWmMotIYRaUxikpjFJXGKCqNUVQao6g0RlFpjKLSGEWlMYpKYxSVxigqjVFUGqOoNEZRaYyi0hhFpTGKSmMUlcYoKo1RVBqjqDRGUWmMotIYRaUxikpjFJXGKCqNUVQao6g0RlFpjKLSGEWlMYpKYxSVxigqjVFUGqOoNEZRaYyi0hhFpTGKSmMUlcYoKo1RVBqjqDRGUWmMotIYRaUxikpjFJXGKCqNUTQao2g0RtFojKLRGEVrMKc2GqNoNEbRaIyi0RhFozGKRmMUjcYoGo1RNBqjaDRG0WiMotEYRaMxikZjFI3GKBqNUTQao2g0RtFojKLRGEWjMYpGYxSNxigajVE0GqNoNEbRaIyi0RhFozGKRmMUjcYoGo1RNBqjaDRG0WiMotEYRaMxikZjFI3GKBqNUTQao2g0RtFojKLRGEWjMYpGYxSNxigajVE0GqNoNEbRaIyi0RhFozGKRmMUjcYoGo1RNBqjaDRG0WiMotEYRaMxikZjFI3GKBqNUTQao2g0RtFojKLRGEWjMYpGYxSNxigajVE0GqNoNEbRaIyi0RhFozGKRmMUjcYoGo1RNBqjaDRG0WiMotEYRaMxikZjFI3GKBqNUTQao2g0RtFojKLRGEWjMYpGYxSNxig6jVF0GqPoNEbRaYyiN5hTO41RdBqj6DRG0WmMotMYRacxik5jFJ3GKDqNUXQao+g0RtFpjKLTGEWnMYpOYxSdxig6jVF0GqPoNEbRaYyi0xhFpzGKTmMUncYoOo1RdBqj6DRG0WmMotMYRacxik5jFJ3GKDqNUXQao+g0RtFpjKLTGEWnMYpOYxSdxig6jVF0GqPoNEbRaYyi0xhFpzGKTmMUncYoOo1RdBqj6DRG0WmMotMYRacxik5jFJ3GKDqNUXQao+g0RtFpjKLTGEWnMYpOYxSdxig6jVF0GqPoNEbRaYyi0xhFpzGKTmMUncYoOo1RdBqj6DRG0WmMotMYRacxik5jFJ3GKDqNUXQao+g0RtFpjKLTGEWnMYpOYxSdxig6jVF0GqPoNEbRaYyi0xhFpzGKTmMUg8YoBo1RDBqjGDRGMRrMqYPGKAaNUQwaoxg0RjFojGLQGMWgMYpBYxSDxigGjVEMGqMYNEYxaIxi0BjFoDGKQWMUg8YoBo1RDBqjGDRGMWiMYtAYxaAxikFjFIPGKAaNUQwaoxg0RjFojGLQGMWgMYpBYxSDxigGjVEMGqMYNEYxaIxi0BjFoDGKQWMUg8YoBo1RDBqjGDRGMWiMYtAYxaAxikFjFIPGKAaNUQwaoxg0RjFojGLQGMWgMYpBYxSDxigGjVEMGqMYNEYxaIxi0BjFoDGKQWMUg8YoBo1RDBqjGDRGMWiMYtAYxaAxikFjFIPGKAaNUQwaoxg0RjFojGLQGMWgMYpBYxSDxigGjVEMGqMYNEYxaIxi0BjFoDGKQWMUg8YoBo1RDBqjGDRGMWiMYtAYxaAxikljFJPGKCaNUUwao5gN5tRJYxSTxigmjVFMGqOYNEYxaYxi0hjFpDGKSWMUk8YoJo1RTBqjmDRGMWmMYtIYxaQxikljFJPGKCaNUUwao5g0RjFpjGLSGMWkMYpJYxSTxigmjVFMGqOYNEYxaYxi0hjFpDGKSWMUk8YoJo1RTBqjmDRGMWmMYtIYxaQxikljFJPGKCaNUUwao5g0RjFpjGLSGMWkMYpJYxSTxigmjVFMGqOYNEYxaYxi0hjFpDGKSWMUk8YoJo1RTBqjmDRGMWmMYtIYxaQxikljFJPGKCaNUUwao5g0RjFpjGLSGMWkMYpJYxSTxigmjVFMGqOYNEYxaYxi0hjFpDGKSWMUk8YoJo1RTBqjmDRGMWmMYtIYxaQxikljFJPGKCaNUUwao5g0RjFpjGLSGMVBYxQHjVEcNEZx0BjF0WBOPWiM4qAxiqOeUZwjPzXW1uadt56jf2o8Z17aim007TrjU9tu3W4bf+zoWKWjc5GO1rOaz+poX6WjskpHdZWO2iod9VU6Gqt0dJXKqK9SGfVVKiNZpTKSVSojWaUyklUqo3r2/FkdXaUyklUqI1mlMpJVKiNZpTLSVSojXaUy0lUqI12lMqq/6+FZHV2lMtJVKiNdpTLSVSojXaUyslUqI1ulMrJVKiNbpTKqv1vlWR1dpTKyVSojW6UyslUqI1ulMvJVKiNfpTLyVSojX6Uyqr/L6FkdXaUyKr97SVucT0prb+2zt/4oqLqC0S7zLEhEXgqqrjRU9CrI50tBmxXB+f3bHSkR7Sw8wvTSurf8+O7bFym9/t1TLu8++2fvvpGWnOdJL6Nfe9rVN1qbXGayad5r3ZvoeaKdfrbrEIlvaekeem7u42YayOab56Vxl88af8xhP3L41TmUI4dfnUM9cvjVObQjh1+dQz9y+NU5jDeTw4uU088j7uRQxqXWPZVO7etymNgc6jzXfGbp5Hk4jhx+dQ7nkcOvzWFyn1N+OznkPqf8dnLIfU75T3P4nL/Lp1/+9I/3P/zw/m9//OGnP3/3y/uffvz5w0vbh3+4/H77sE+Oi9pTJq4D3kU34t+2lvZ569MgfogySqLMiijbZ0weHqWXRJGSKFoSxUqieEmUKIlSsvatZO1bydr3krXvJWvfS9a+l6x9L1n7XrL2vWTte8na95K17yVrP0rWfpSs/ShZ+1Gy9qNk7UfJ2o+StR8laz9K1n6UrP0sWftZsvazZO1nydrPkrWfJWs/S9Z+lqz9LFn7WbL2R8naHyVrf5Ss/VGy9kfJ2h8la3+UrP1RsvZHydofJWt/lqz9WbL2Z8nanyVrf5as/Vmy9mfJ2p8la3+WrP1ZsvZ7azVhek0YqQmjNWGsJozXhImaMFkTZtSEqXGB/gAX0CsloJk3n0N73/rst/fzx7ni7fPWZ1GdKEqIopQoyoiinCgqiKKSKGoQRU2gKCE6uhAdXYiOLkRHF6KjC9HRhejoQnR0ITq6EB1diY6uREdXoqMr0dGV6OhKdHQlOroSHV2Jjq5ERzeioxvR0Y3o6EZ0dCM6uhEd3YiObkRHN6KjG9HRnejoTnR0Jzq6Ex3diY7uREd3oqM70dGd6OhOdPQgOnoQHT2Ijh5ERw+iowfR0YPo6EF09PjGjn4O8wiPznnujY4mW2EegaK8JkyvCSM1YbQmjNWE8UeHmZthoiZM1oR5hAuMuIbJ7bGZJWEeAaW8JkyvCSM1YbQmzCPWzZjn+1909rEZJkvCPAKBsPDLXTkxdDNMrwkjNWG0JszdvzdyWxJdD7XeJxu+9MLY+8Lc+8Kx94Vz3wvl/rn/L72w732h7H2h7n2h7X2h731h7H1h7n3h2PvCvTOn7505fe/M6XtnTt87c/remdP3zpy+d+b0vTOn7505fe/Mkb0zR/bOHNk7c2TvzJG9M0f2zhzZO3Nk78yRvTNH9s4c3TtzdO/M0b0zR/fOHN07c3TvzNG9M0f3zhzdO3N078yxvTPH9s4c2ztzbO/Msb0zx/bOHNs7c2zvzLG9M8f2zhzfO3N878zxvTPH984c3ztzfO/M8b0zx/fOHN87c3zvzIlXzJx7D8b3t/wlek0Y+foweXnKz5vtJG+XGFoQwwpi+LeP8YjLWnSqXLbEzLeG/RE3nNjp0e28uyOmm2FmSZiHbPC9IkyvCSM1YbQmjNWE8ZowURPmARvj1se8F2bUhJkVYfQRl528JkyvCfMQF4hrmDE2w2hNGKsJ4zVhoiZM1oR5hAuonitNU9sOM0vCPOKyk9eE6TVhpCbMI1xA5fotXzY3w1hNGK8JEzVhsibMqAkzHxzGYyuMtJowvSbMI1zA5XxOwly3w2hNGKsJ4zVhHuECNts1TH4W5mXrfvM9TJLX4lF//YLmj6KSKGoQRU2gqEdcBvF4UZ0oSoiilCjKiKKcKIro6Ep0dCU6uhId3YiObkRHN6KjG9HRjejoRnR0Izq6ER3dyy3B8/yNtT6uOwanj40ukoQnqXySRzs3jhabkoInKXmSBk/SNy5XPoV5BOluHpedqmjjntvMy/c/n368+UrnmBdRnShKiKKUKMqIopwoKoiikihqEEVNoKgkOnoSHT2Jjp5ER0+ioyfR0ZPo6El09CQ6ehIdfRAdfRAdfZQ7ujQ5P2KdfuybopQoyoiinCgqiKKSKGoQRU2gqNmIojpRFNHRJ9HRJ9HRJ9HRJ9HRJ9HRJ9HRJ9DRrQEd3RrQ0a0BHd3aExzdr6JibIoyoignigqiqCSKGkRREyiqt6eKGu0zUS9bX3dD5rx+tCu2tXNyveK3W7fbxufO9pU6Kyt1VlfqrK3UWV+ps7FSZ3Olzo6VOjsX6qysVEHJShWUrFRByUoV1GMg3N9KZ1eqoGSlCkpWqqBkpQpKVqqgFFVBnUXV/z3s7dz69OPmbt1DMOaHi6p3odObXERJbooaRFETKMoaUVT9c0bPfhF1A77dihKiKCWKMqIoJ4oKoqgkihrPFHV7HXZBSWRzoc56W6mzfaXOykqd1ZU6ayt11lfqbKzU2VypsytVUL5SBRUrVVCxUgUVK1VQsVIFVX9/yDM7u1IFFStVULFSBRVPrqA2N8ZiAkVlI4rqRFFCFKVEUUYU5URRQRSVRFFER88nOHpcP5LdJoVGI4rqRFFCFKVEUUYU5URRQRSVRFGDKIro6JPo6JPo6JPo6JPo6JPo6E+4n0Uu3zoo4puXMTzhfpZXiEqiqEEUNXmi/An3s7xCVCeKkqeKCv1M1LfdtvQn3PvyxM7aSp31lTobK3U2V+rsWKmzc6HO9rZSZ/tKnV2pguorVVBPuF/oiZ1dqYLqK1VQfaUKqq9UQfWVKihZqYKSlSooQVVQZ1FP+BMx5kXU3Nyte8JFJ/dFPeHaCr1exqC9bYrqRFFCFKVEUVYvyu0iKmVTlBNFBVFUEkUNoqgJFPWEq1BeIao/VdSwypLoCVesPLGzulJnbaXO+kqdjZU6myt1dqzU2blQZ72t1NmVKihfqYLylSqoJ1y588TOrlRB+UoVlK9UQflKFZSvVEHFShVUPLeCmpsbYyFEUUoUZURRThQVRFFJFDWIoiZQVDaiKKKjP+EqFLXrR7LbpNATrkJ5hSgjinKiqCCKSqKoQRQ1gaKecBXKK0R1oiiiow+iow+iow+iow+iow+iow+iow+io0+io0+io0+io0+io0+io0+io0+io0+io0+io0+go0cDOno0oKNHAzp6NKCjR6t3dLPze8up+aYoJ4oKoqgkihpEURMo6glXSbxC1Dd29HMYqQnzCNcNkUsYzTsptvB5aT10U5QRRTlRVBBF5bcVdQ4zasLMkjAPgb5fEeYR7hXjYivZ7OsnzEOw6IeLUqIoI4rybyvqHCZqwjzEve4nbdSEmSVhHkLGvyJMrwkjNWG0JozVhPGaMFETpsYFtMYFtMYFrMYFrMYFrMYFrMYFrMYFrMYFrMYFrMYFrMYFrMYFvMYFvMYFvMYFvMYFvMYFvMYFvMYFvMYFvMYFvMYFosYFosYFosYFosYFosYFosYFosYFosYFosYFosYFssYFssYFssYFssYFssYFssYFssYFssYFssYFssYFRo0LjBoXGDUuMGpcYNS4wKhxgVHjAqPGBUaNC4waF5g1LjBrXGDWuMCscYFZ4wKzxgVmjQvMGheYNS4wS1wgW6sJ02vCSE0YrQljNWG8JkzUhMmaMKMmTI0L9BoX6DUu0GtcoNe4QK9xgV7jAr3GBXqNC/QaF+g1LiA1LiA1LiA1LiA1LiA1LiA1LiA1LlBzdjBrzg5mzdnBrDk7mDVnB7Pm7GDWnB3MmrODWXN2MGvODmbN2cGsOTuYNWcHs+bsYNacHcyas4NZc3Ywa84OZs3Zwaw5O5g1Zwez5uxg1pwdzJqzg1lzdjBrzg5mzdnBrDk7mDVnB7Pm7GDWnB3MmrODWXN2MGvODmbN2cGsOTuYNWcHs+bsYNacHcyas4NZc3Ywa84OZs3Zwaw5O5g1Zwez5uxg1pwdzJqzg1lzdjBrzg5mzdnBrDk7mDWH+rLmUF/WHOrLmkN9WXOoLwfwS9rzCVegvkLUBIp6whWorxD1hAvzpJ1FqfimKCGKUqIoI4pyoqgnXIHa9SoqNkUlUdQgipo8UeMZV6DeF9WJooQoSomijCjKiaKe4OjteoNtb5uikihqEEVNoKgnXIH6ClGdKEqIopQoyoiinCiK6Oid6Oid6Oid6OhCdHQhOrrU+1S/iuo3rW9FOVFUEEUlUVS9T3XNiyiTTVETKEobUVQnihKiKH2CqHYVpZuijCjKiaKCKCqJogZR1ASKskYU1YmihCjqCY4ulz3PLrkpyoiinCgqiKKSKGoQRU2gKG9EUZ0oSoiiiI7uREd3oqM70dGd6OhOdPSH4B82z2Wb+d3vTvM8P7X7mJe2Mu0iSXiSlCfJeJK8WlJcjiOE6Kak4ElKnqTBkzTLJbV5kWRbkh6C4jxYUudJEp4k5UkynqR6927nxtFiU1LwJCVP0uBJmjhJo/EkdZ4k4UlSniTjSeK59+C59+C59+C59+C59+S59+S59+S59+S59+S59yS59+k3+dCyh/x++/CoXXeC+vVZIj5258Ortk933n1V3/Uq2fUq/c9edfpFP+akqf9++zx7z8uxu9vvVLd2evXp1//57h/vv/vTD9//fHrJh//7zx///Mv7n3789Osv//v3X//PqfH/Aw=="},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"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","debug_symbols":"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Wvpb0trfkrb+llS+e0lpfi2p+gTZune3pG3qb0mpvyXl/pY097ck6W9JS39LWvtb0tbfkr796j2t55LSVF3S3t2SytTfklJ/S8r9LWnub0nS35KW/pa09rekrb8l9Xf1Lv1dvff+rt57f1fvvb+r997f1Xv/7utSei0p/bu69FjS1t+SSn9L2ntb0jx993Upzdu5JMnVJaX+lpT7W9Lc35KkvyUt376k6bWkubqktb8lbf0tqfS3pL27JaWpvyWl/paU+1vS3N+SpL8lffvVO59dZcpbdUlrf0va+ltS6W9Je3dLylN/S0r9LSn3t6S5vyVJf0vq7+qd+7t65/6u3rm/q3fu7+o993f1bnAiRFo+LWlWlrScrzxaPv9e5Mcox4KktwUtvS1o7W1B2/cu6PXNa5bqgkpvC9o7W1CDh88bLyj1tqDc24Lm717QkbU/H3j/eUHS24KW3ha09ragrbcFld4WtHe2oGXqbUGptwXl3hbU25V66e1KvfR2pV56u1IvvV2pl96u1EtvV+q1tyv12tuVeu3tSr32c6X+Px//6//7d//zH/7uP//j3//Lx3/y4//7v/7pv/zrP/zzP/38X//1//sf//b/+fjw/w8="},{"name":"entrypoint","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"},"visibility":"private"},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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Oe2400447aTTTjnttNPOOO2s08457VOnnXfaZ0674LTPnXbRaV847UunfeW0S0772mnfOO1bp1122ndO+95pPzjtitN+dNpPTvvZaVed9ovTrjntV6ddd9pvTvvdaX84zZ0MEjgtodMSOS2x05I4LanTkjktymnJnZbCaSmdlsppqZ2WxmlpnZbOaemdlsFpGZ2WyWmZnZbFaVmdls1p2Z2Ww2k5nZbLabmdlsdpeZ3md1o+p+V3WgGnRTutoNMKOa2w04o4rajT7nBaMacVd1oJp93ptJJOcyc547TSTivjtLJOK+e08k6r4LSKTqvktLucVtlpVZx2t9OqOq2a0wJOu8dp9zqtutNqOK2m02o5rbbT6jitrtPqOa2+0xo4raHTGjmtsdOaOO0+pzV1WjOnNXfa/U5r4bSWTmvltNZOa+O0B5zW1mkPOu0hp7VzWnundXBaR6d1clpnp3VxWlendXNad6f1cNrDTnvEaT2d1stpvZ3Wx2l9nfao0/o5rb/TYpw2wGkDnfaY0wY57XGnPeG0wU4b4rQnnfaU04Y6bZjThjtthNNGOm2U00Y7bYzTxjptnNOedtp4p01w2kSnTXLaZKdNcdpUp01z2nSnzXDaTKc947RZTpvttDlOm+u0eU6b77QFTlvotEVOW+y0JU571mnPOW2p05Y5bbnTnnfaC05b4bSVTnvRaS85bZXTXnbaK0571Wmrnfaa01532htOW+O0tU5702nrnLbeaRuc9pbTNjptk9Pedtpmp21x2lanbXPaO05712nbnbbDae85bafTdjntfad94LTdTtvjtA+dttdp+5y232kHnPaR0z522kGnHXLaYacdcdpRp33itGNOO+60E0476bRTTjvttDNOO+u0c0771GnnnfaZ0y447XOnXXTaF0770mlfOe2S07522jdO+9Zpl532ndO+d9oPTrvitB+d9pPTfnbaVaf94rRrTvvVaded9pvTfnfaH05zC4EETkvotEROS+y0JE5L6rRkTotyWnKnpXBaSqelclpqp6VxWlqnpXNaeqdlcFpGp2VyWmanZXFaVqdlc1p2p+VwWk6n5XJabqflcVpep/mdls9p+Z1WwGnRTivotEJOK+y0Ik4r6rQ7nFbMacWdVsJpdzqtpNNKOc04rbTT3Peyu++adt+X7L4/2H2frvt+Wfd9q+77R933cbrv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","debug_symbols":"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Bs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oBs0oJs0oJs0oJs0oJs0o5gVL6qQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaQZxaIZxaIZxaIZxaIZxbpgSV00o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o1g0o9g0o9g0o9g0o9g0o9gXLKmbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSbZhSb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Fs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oFs0oNs0oNs0oNs0oNs0o9gVL6qYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaYZxaEZxaEZxaEZxaEZxblgST00ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozg0ozgwo3j+NFZSnz+NldTnT2Ml9fnTWEl9/jRWUv/2p9EKYiX1+dNYSX3+NFZSnz+NltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imIltQwo3gKoiU1zCiegmhJDTOKpyBaUsOM4imI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otOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMotOMYtCMYtCMYtCMYtCMYlywpA6aUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUQyaUUyaUUyaUUyaUUyaUcwLltRJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pJM4pFM4pFM4pFM4pFM4p1wZK6aEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaEaxaUaxaUaxaUaxaUaxL1hSN80oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oNs0oDs0oDs0oDs0oDs0ozgVL6qEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxaEZxYEZRb9gRvEUxErqUxArqU9BrKQ+BbGS+hTESupTECupT0GspD4FsZL6FERLaphRPAXRkhpmFE9BtKSGGcVTEC2pYUbxFERLaphRPAXRkhpmFE9BtKSGGcVTEC2pYUbxFERLaphRPAXRkhpmFE9BtKSGGcVTEC2pYUbxFERLaphRPAXRkhpmFE9BtKSGGcVTEC2pYUbxFERLaphRPAXRkhpmFE9BtKSGGcVTEC2pYUbxFERLaphRPAXRkhpmFE9BtKSGGcVTEC2pYUbxFERLaphRPAXRkhpmFE9BtKSGGcVTEC2pYUbxFERLaphRPAXRkhpmFE9BtKSGGcVTEC2pYUbxFERLaphRPAXRkhpmFE9BtKSGGcVTEC2pYUbxFERLaphRPAXRkhpmFE9BtKSGGcVTEC2pYUbxFERLaphRPAXRkhpmFE9BtKSGGcVTEC2pYUbxFERLaphRPAXBklpoRlFoRlFoRlFoRlEuWFILzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgKzSgqzSgqzSgqzSgqzSjqBUtqpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFoxlFoxlFoxlFoxlFu2BJbTSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSjaDSj6DSj6DSj6DSj6DSj6BcsqZ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFJ1mFINmFINmFINmFINmFOOCJXXQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLQjGLSjGLSjGLSjGLSjGJesKROmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlFMmlEsmlEsmlEsmlEsmlGsC5bURTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKRTOKTTOKTTOKTTOKTTOKfcGSumlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGsWlGcWhGcWhGcWhGcWhGcS5YUg/NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7NKA7N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jKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjKLTjGLQjGLQjGLQjGLQjGJcsKQOmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlEMmlFMmlFMmlFMmlFMmlHMC5bUSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKSTOKRTOKRTOKRTOKRTOKdcGSumhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWhGsWlGsWlGsWlGsWlGsS9YUjfNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKDbNKA7NKA7NKA7NKA7NKM4FS+qhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWhGcWBGcW8YEbxFMRK6lMQK6lPQaykPgWxkvoUxErqUxArqU9BrKQ+BbGS+hRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwF0ZIaZhRPQbSkhhnFUxAtqWFG8RRES2qYUTwFwZJaaEZRaEZRaEZRaEZRLlhSC80oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oCs0oKs0oKs0oKs0oKs0o6gVLaqUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRaUZRf10o3i+ofPXp655X9BHD858KySnXh8uV31YSelrJf1Wd/zRrG5q1jY165uajU3N5qZmQe/oHzw483p5cNa7Oq6XNxPQ+/+/pXzQtPBvKP/TVe0/9S/lNDhvzbbYjX8p52qf2Muzm7j+6fG/N4yeXX5Fw+j55Vc0jJ5hfkXDzm545K0Q0fqggceaTbJf365z5l+/XedjzSY3mq1NzfamZmdRs4Wekv75zxNmr5XED58n6sGu7vy82Qe7uvPzZh/s6s7Pm/VNzT7Y1Z2fN/tgV3d+3uxjTVA3mn2sCepGs481Qf282d40QfWmCao3TVC9aYL69M0eX9rspgmqN01QvWmC6k0TVG+aoGbTBDWbJqjZNEHNpgnq0zfufGmzmyao2TRBzaYJajZNULNogrJr0QRl16IJyq5FE5RdiyYou3xTs4smKLsWTVB2LZqg7Fo0Qdm1aYKSTROUbJqgZNMEJZsmqE/fUPelzW6aoGTTBCWbJijZNEHJpglKN01QummC0k0TlG6aoD59c+SXNrtpgtJNE5RumqB00wSlmyYo2zRB2aYJyjZNULZpgvr0ja5f2uymCco2TVC2aYKyTROUbZqgfNME5ZsmKN80QfmmCerTNy1/abObJijfNEH5pgnKN01QvmmCik0T1KNt+/55s5smqEfb9v3zZn1Ts5smqEfb9v3zZjdNULFpgopNExR77/i9m900QbH3jd+72U0TFHvP+L2b3TRBPdhO8hvNbpqgHmwn+Y1mN01Qm3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5LZpJ7lt2klum3aS26ad5L5pJ7lv2knum3aS+6ad5H75pmYXTVC+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJ7pt2kvumneS+aSe5b9pJHpt2ksemneSxaSd5bNpJHpdvanbRBBWbdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3ksWkneWzaSR6bdpLHpp3kuWkneW7aSZ6bdpLnpp3kefmmZhdNULlpJ3lu2kmem3aS56PtJC99raR/aPbRdpL/vNlPn6As8+WpXfTnzcr5vH29PHVKyZ+a/b0B/e4NGLqB1GteGzj/0w8a8O/eQHz3BvK7N1DoBupqf31qkbgVudmvkZszP0Rub2p2FjX7+bu4v7JZ9uRw52bZU8Y/2+zPp31lTyR3btY3NcuedO7cLHsqunOzjzVB3Wj2sSaoG80+1gT182btsSaoG80+1gR1o9lNE5RtmqA+fxf3Vza7aYKyTROUbZqgbNMEZZsmKN80QfmmCco3TVC+aYL6/F3cX9nspgnKN01QvmmC8k0TlG+aoGLTBBWbJqjYNEHFpgnq83dxf2Wzmyao2DRBxaYJKjZNULFpgspNE1RumqBy0wSVmyaoz9/F/ZXNbpqgctMElZsmqNw0QeWmCao2TVC1aYKqTRNUbZqgPn8X91c2u2mCqk0TVG2aoGrTBFWbJqjeNEH1pgmqN01QvWmC+vxd3F/Z7KYJqjdNUL1pgupNE1RvmqBm0wQ1myao2TRBzaYJ6vN3cX9ls5smqNk0Qc2mCWo2TVCzaIKqa9EEVdeiCaquRRNUXYsmqLp8U7OLJqi6Fk1QdS2aoOpaNEHVtWmCkk0TFHwX952b3TRBwXd837lZ39TspgkKvmf8zs1umqAebCf5jWY3TVAPtpP8RrObJqhNO8lr007y2rSTvDbtJK9NO8lr007y2rSTvDbtJK9NO8lr007y2rSTvDbtJK9NO8lr007y2rSTvDbtJK9NO8lr007y2rSTvDbtJK9NO8lr007y2rSTvDbtJK9NO8lr007y2rSTvDbtJK9NO8lr007y2rSTvDbtJK9NO8lr007y2rSTvDbtJK9NO8lr007yerSd5KWvD+8fm32wCernzX76BHWZvz51zY1mp+blaE5NYjeaVRN5+Xt8/tv1T4//vWHb1rBvazi2NZzbGq5tDfe2hmdZw5+/s/yrG5ZtDW+btD59f7mMv7VQ9r7h3wtyWkFBKyhpBRWtoHu8E2f0y5+RbTcKKnv7/Bby9uD5o6CBFXSX3dF3LUhoBSmtIKMV5LSCglZQ0goqWkENe+voz0/qul6rn/rhhOaiFSS0gpRWkNEKos3UQ5up57OTWmVeXjI9Xy28f8k+eOZ49/1AtPaPn+OmvnsD/d0bmO/dQF/Xd29AWKnSn75D82ZBsKs9fcHemfqCvTP1Bbva03fZu5jXa0Hpty6Rhr7GRHjdeGpteS2k490V0vrouf2alwuk50v9d5mi9sGjR6+XdBvVW1/q37762ndZ6/g8y9/Pcp5nea+zvMtSyudZ/n6W8jzLu52lPs/ybmdpz7O821n68yzvdpbxPMu7nWU+z/JuZwn7lrsF9t1JC/wK2MTrVfKUkh9fYoVfAbvdgHz3BvS7N2DfvQH/7g3Ed28A/l3U7Qbg30XdbgD+XdTtBgY2Gnz6hsmbBdG+KzLad0VG+67o0zce3iyI9l2R0b4rss//vdlPfwnT1rSCYL83a4f93qwd9nuzdtjvzdphvzfru2xWu2tBQSsoaQXRrm457eqW05I6aEkdtKQOWlIHLak/fYPTrX9lQZupg5bUQZupgzZTBy2pk5bUSbv6kbSrH0m7+pG0pE5aUift6kfSkjppSZ20pC5aUhdtpi7aTF20mfouGyzuWhDt6kfRZmraBosu2tWPoiV105K6aUndtKRuWlI3LambltRNS+qmzdRNm6mb9tuPof32Y2hXP4Z29WNoVz9oGyyatsGih3b1Y2hJPbSkHthMPRdspp4LNlPPBZup54LN1HPBZuq5YDP1XLCZei7Y1Y+5YFc/5qIltdCSWmhJLbSkFlpS3wUt3/NfmcBm6hFaUgtsph6BzdQjtKRWWlIr7OrHKOzqxyjs6scoLamVltQKu/oxSktqpSW10pLaaElttJnaaDO10WbquxjFuxZEu/phtJnaaFc/jHb1g2YUh2YUh2YUh2YUh2YUh2YUh2YUh2YUx2kztdNmaof99mMC9tuPCdrVj6Bd/Qja1Q+aURyaUZygXf2gGcWhGcWhGcWhGcVJ2kydtJk6aTP1XYziXQuizdRJm6mTdvUjaVc/aEZxaEZxaEZxaEZxaEZxaHfZHtpdtodmFKdoM3XRZmqaURyaUZymXf1o2tWPpl39aFpSNy2pm3b1g2YUh2YUh3aX7aHdZXtod9ke2l22h3aX7bmLUbxrQbSrH0ObqYd29WNoVz9gRrEumFE8BbGS+hTESupTECupT0GspD4FsZL6FMRK6lMQa6Y+BbFm6lPQZ//2Qy/z16euef/W8dH7TM3bG03LW7Mf35Av7aWQ1nePDfu9Wbk2NSubmtVNzdqmZn1Ts7Gp2dzUbG1qtjc1y/r1bF3K+vXsKYj1/dEpiPX90SmI9f3RKchpBbG+PzoFsb4/OgWxrkqeglhXJU9BtKSG3d/0FERLatj9TU9BtKSG3d/0FERLatj9TU9BtKSG2eFTEC2pnZbUTktqpyW105LaaUnttKR2WlLD7m96CqIlNcwO1wWzw6cgWlLD7PApiJbUMDt8CqIlNcwOn4JoSR20pA5aUictqWH3Nz0F0ZIadn/TUxAtqWH3Nz0F0ZIaZodPQbSkTlpSFy2pi5bURUvqoiU1zA6fgmhJXbSkht3f9BRES+qiJXXTkhpmh09BtKSG2eFTEC2pYXb4FERL6qYlddOSGnZ/07pg9zc9BdGSGnZ/01MQLalh9zc9BdGSGnZ/01MQLalhdvgUBEtquWBJLRcsqeWCJbVcsKSWC5bUcsGSWi5YUgvs/qanIFhSy0VLaqEltdCSWmhJLbSkht3f9BRES2qhJbXQklpoSU0zikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikIzikozikozikozikozinrBklppRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRlFpRtFoRtFoRtFoRtFoRtEuWFIbzSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSgazSg6zSg6zSg6zSg6zSj6BUtqpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxlFpxnFoBnFoBnFoBnFoBnFuGBJHTSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjGDSjmDSjmDSjmDSjmDSjmBcsqZNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFJNmFItmFItmFItmFItmFOuCJXXRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLRjGLTjGLTjGLTjGLTjGJfsKRumlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlFsmlEcmlEcmlEcmlEcmlGcC5bUQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKQzOKAzOKfcGM4imIldSnIFZSn4JYSX0KYiX1KYiV1KcgVlKfglhJfQpiJfUpiJbUMKN4CqIlNcwonoJoSQ0ziqcgWlLDjOIpiJbUMKN4CqIlNcwonoJoSQ0ziqcgWlLDjOIpiJbUMKN4CqIlNcwonoJoSQ0ziqcgWlLDjOIpiJbUMKN4CqIlNcwonoJoSQ0ziqcgWlLDjOIpiJbUMKN4CqIlNcwonoJoSQ0ziqcgWlLDjOIpiJbUMKN4CqIlNcwonoJoSQ0ziqcgWlLDjOIpiJbUMKN4CqIlNcwonoJoSQ0ziqcgWlLDjOIpiJbUMKN4CqIlNcwonoJoSQ0ziqcgWlLDjOIpiJbUMKN4CqIlNcwonoJoSQ0ziqcgWlLDjOIpiJbUMKN4CqIlNcwonoJoSQ0ziqcgWlLDjOIpiJbUMKN4CqIlNcwonoJoSQ0ziqcgWlLDjOIpiJbUMKN4CoIltdCMotCMotCMotCMolywpBaaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaURSaUVSaUVSaUVSaUVSaUdQLltRKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pKM4pGM4pGM4pGM4pGM4p2wZLaaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaEbRaUbRaUbRaUbRaUbRL1hSO80oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oOs0oBs0oBs0oBs0oBs0oxgVL6qAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaAZxaQZxaQZxaQZxaQZxbxgSZ00o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0o5g0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SjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKSjOKRjOKRjOKRjOKRjOKdsGS2mhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WhG0WlG0WlG0WlG0WlG0S9YUjvNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKDrNKAbNKAbNKAbNKAbNKMYFS+qgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWgGcWkGcWkGcWkGcWkGcW8YEmdNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKOYNKNYNKNYNKNYNKNYNKNYFyypi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUi2YUm2YUm2YUm2YUm2YU+4IlddOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOMYtOM4tCM4tCM4tCM4tCM4lywpB6aURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaURyaUZxPN4p6mb8+dc37gj56cOZbITn1+nC56sNKSl8r6be6449mZ1Gzn24rv7RZ2dSsbmrWNjULekf/4MGZ18uDs97Vcf3xZkKSr/+W8kHTwr+l/CL/S5Hf7uv02myL3fiXoiZiL89u4vqnx//eMHp2+RUNo+eXX9Bwo2eYX9Eweo6R334S+fpo0fqggceaTbJf365z5l+/XfdjzSY3mvVNzcamZnNTs+gp6Z//PGH2Wkn88HmiH+zqzs+bfbCrOz9tdh7s6s7Pm32wqzs/b/bBru78vNkHu7rz82Z9U7OPNUHdaPaxJqgbzW6aoGbTBDV7Jii5rmvPCPVbt3tmqN+63TNE/dbtninqt259Vbd75qjfut0zSP3W7Z5J6rdu94xSv3W7apaSVbOUrJqlZNUsJatmqU9fSvS13a6apWTVLCWrZilZNUvJqllKV81SumqW0lWzlK6apT59bdjXdrtqltJVs5SumqV01Sylq2YpWzVL2apZylbNUrZqlvr0xX5f2+2qWcpWzVK2apayVbOUrZqlfNUs5atmKV81S/mqWerTV29+bberZilfNUv5qlnKV81SvmqWilWzVKyapWLVLBWrZqlPX477td2umqVi1SwVq2apWDVLxapZKlfNUrlqlspVs1SumqU+fX3113a7apbKVbNUrpqlHm1l+I1uV81Sj7Y0/Ea3q2apR1sbfqPbVbPUpy8O/9puV81StWqWYm8xv3u3q2Yp9v7ye3fLXl5+925XzVIPtub8VrerZqkHW3R+q9tVs9SDrTq/1e2qWWrRsvPful01Sy1ad/5bt6tmqUULz3/rdtUstWjl+W/drpqlFi09/63bVbPUorXnv3W7aZaSVXvPZdXec1m191xW7T2Xy1d1u2mWklV7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNZtfdcVu09l1V7z2XV3nNdtfdcV+0911V7z3XV3nO9fFW3m2YpXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPddVe8911d5zXbX3XFftPbdVe89t1d5zW7X33FbtPbfLV3W7aZayVXvPbdXec1u199xW7T23VXvPbdXec1u199xW7T23VXvPbdXec1u199xW7T23VXvPbdXec1u199xW7T23VXvPbdXec1u199xW7T23R9t7XvpaSX/Q7YPNUje6/fRZyjJfntpFf96txMT18tQpJX/q9o8O5rt38Pn7yf+pDlKvee3g/E8/6kC+fQf67Tuwb9+Bozuoq/31qUXiVvJmvyZvzvyQvJ+/7/tLu81V3daqbtkzxL27Zc8b/2y3N2Z/Z88m9+6WPcfcu1v2zHPvbtnz0b279VXdPtYsdavbx5qlbnX7WLPUrW4fa5a61e2qWSpWzVKxapaKVbNUrJqlPn/f95d2u2qWilWzVKyapWLVLBWrZqlcNUvlqlkqV81SuWqW+vx931/a7apZKlfNUrlqlspVs1SumqVq1SxVq2apWjVL1apZ6vP3fX9pt6tmqVo1S9WqWapWzVK1apbqVbNUr5qletUs1atmqc/f9/2l3a6apXrVLNWrZqleNUv1qllqVs1Ss2qWmlWz1KyapT5/3/eXdrtqlppVs9SsmqVm1Sw1m2YpvzbNUn5tmqX82jRL+bVplvLLV3W7aZbya9Ms5demWcqvTbOUX6tmKVk1S8mqWUpWzVKyapb6/H3fX9rtqllKVs1SsmqWklWzlKyapXTVLKWrZildNUvpqlnq8/d9f2m3q2YpXTVL6apZCr7v+97drpql4HvE793tqlkKvp/83t2umqUebO/5rW5XzVIPtvf8VrerZqkH23t+q9tVs9Sqvee+au+5r9p77qv2nvuqvee+au+5r9p77qv2nvuqvee+au+5r9p77qv2nvuqvee+au+5r9p77qv2nvuqvee+au+5r9p77qv2nvuqvee+au+5r9p77qv2nvuqvee+au+5r9p77qv2nvuqvee+au+5r9p77qv2nvuqvee+au+5r9p77qv2nvuqvef+aHvPS18f3h90+2Cz1I1uP32Wusxfn7rmRrdT83I2pyaxG92qibz8VT7/7fqnx//e8efvPv/yjmVdx7quY1vXsa/rONZ1nOs6rnUd97qO181cn74jXcbfeih73/EfFQmuIsVVZLiKHFfRPd6TM/rlD8m2GxWVvX2gC3l78LxUlLiKCldR4yoaWEVxl13M961IcBUpriLDVeS4igL2LhLX52d2Xa/lT31wRoWrqHEVDa0iuXAV0ebsENqcHfLZma0yL6+anm8f3r9qHzxzvPsKIVr7x893If7tO4hv30F++w7q23fQuGwZWkVKuxYUinuPUtx7lNKuBcVddjvm9VpR+q2rqOev7stTh9eNp9aW10I63l1ErY+e2695uYbq8j5a1D549Oj1EnKjeusnAP/ABdq4y+rI52H+cZj5PMz7HWY9D/N+h9nPw7zfYc7zMO92mHfZCvo8zD8OU56Heb/D1Odh3u8w7XmY9ztMp30mM9w3Kwa/Kjbxev08peSjVxl+Vewf6KC/fQfz3Tvw69t3IN++A/32HcC/qfoHOvBv3wH8m6p/oIOkTQmfvsXydkW4b5Ic901S4L5JCtw3SYH7Jilw3yTFZ78n3PzVTASuItwv1AL3C7XA/UItcL9QS9wv1FJwFSmuIsNV5LR3kcRd+0pcZicusxOX2YnL7MJlduHm7MLN2YXL7LtsRLpvRbg5u3CZXbjMLty1kcJdG2nctZHGZXbjMrtx10Yal9mNy+zGZXbjMrtxc3bj5uzBzdmDuzYyuGsjg5uzcVsyYnDXRgaX2YPL7MFl9tAyOy9aZudFy+y8aJmdFy2z86LN2XnR5uy8aL8byYv2u5G8aNdG8qJdG0mhXRtJ3JaMxG3JSKFdG0nBZbbgMltoc3YKbc5Ooc3ZKbg5W3FztuLmbMXN2Yqbs++yNeKu7yJKuzaSistsxWW24jJbcZltuMw23JxtuDnbcJl9F+d634pwc7bhMttwmW24ayOGuzbiuGsjjstsx2W2466NOC6zHZfZjstsx2W24+Zsx83ZgZuzA3dtJHDXRgI3Z9/FQd71XSRw10ZwDjJxDjJxDjJxDjJxDjJxDjJxDjJxDjLv4iDvWxFuzk7c70YS97uRxF0bSdy1kcJdG8E5yMQ5yCzctRGcg0ycg0ycg0ycg8zCzdmFm7MbN2c3bs5u3JzduDn70+82f/NdpHHXRnAOMnEOMnEOMnEOMnEOMnF3C0/c3cIT5yDzLg7yvhXh5mycg0ycg8zBXRsZ2rWRumjXRuqiZXZdtMyui3ZtpC5aZhfOQRbubuGFu1t44e4WXri7hRfubuEltGsjJbRrIyW0Obvu4iDv+i4itGsjhXOQhXOQhXOQhXOQhXOQhXOQhXOQhXOQdZ+7Z9+1ItycrZ/9uxG9zF+fuub9u8hHbzk1b+85LW/dfnxHwbSXQlrfPTbspdta1W2v6nY2dWvXqm5lVbe6qltb1a2v6jZWdUv7DW4Z7Te4hfPJhfPJhfPJhfPJhfPJhfPJdReffN+KcNcscfdpLdx9Wgt3n9bC3ae1cPdpLdx9Wgt3n9bC3ae1cD65cD65ApfZgcvswGV24DI7cZmduMxOXGYnLrNx92kt3H1aC+eTC+eTC+eTC+eTC+eTC+eTC+eTC+eTq3CZXbjMLlxmFy6zcfdpLdx9Wgt3n9bC3ae1cPdpLdx9Wgvnkwvnk6txmd24zG5cZjcusweX2TifXDifXIPLbNx9Wgt3n9YaXGYPLrNxPrlwPrlxPrlxPrlxPrlxPrkvWmb3Rcvsxt2ntXH3aW3cfVobd5/Wxt2ntXH3aW3cfVobd5/WxvnkxvnkFlxmCy6zBZfZgstsxWW24jJbcZmtuMzG3ae1cfdpbcVltuIyW3GZrbjMNlxm4+7T2rj7tLbhMttwmW24zMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yMY5yME5yME5yME5yME5yLlomT04Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk4Bzk0BykXzUGeimCZfSqCZfapCJbZpyJYZp+KYJl9KoJl9qkIltmnIlhmn4pwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAd5KsJlNs1BnopwmU1zkKciXGbTHOSpCJfZNAf52w1qcRXhMpvmIH+7dQ6uIlxm0xzkb0t9cRXhMpvmIH9bN4SrCJfZNAf5G4SEVSQ4Byk4Byk4Byk4B3m+XsdVRMtswTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIwTlIxTlIxTlIxTlIxTlIvWiZrTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHqTgHaTgHaTgHaTgHaTgHaRctsw3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIA3nIB3nIB3nIB3nIB3nIP2iZbbjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHKTjHGTgHGTgHGTgHGTgHGRctMwOnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnIMMnINMnINMnINMnINMnIPMi5bZiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQiXOQhXOQhXOQhXOQhXOQddEyu3AOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnAOsnEOsnEOsnEOsnEOsi9aZjfOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQTbOQQ7OQQ7OQQ7OQQ7OQc5Fy+zBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcjBOcihOcjzx8Ey+/xxsMw+fxwss88fB8vs88fBMvu3Pw5XESyzzx8Hy+zzx8Ey+/xxuMymOchTES6zaQ7yVITLbJqDPBXhMpvmIE9FuMymOchTES6zaQ7yVITLbJqDPBXhMpvmIE9FuMymOchTES6zaQ7yVITLbJqDPBXhMpvmIE9FuMymOchTES6zaQ7yVITLbJqDPBXhMpvmIE9FuMymOchTES6zaQ7yVITLbJqDPBXhMpvmIE9FuMymOchTES6zaQ7yVITLbJqDPBXhMpvmIE9FuMymOchTES6zaQ7yVITLbJqDPBXhMpvmIE9FuMymOchTES6zaQ7yVITLbJqDPBXhMpvmIE9FuMymOchTES6zaQ7yVITLbJqDPBXhMpvmIE9FuMymOchTES6zaQ7yVITLbJqDPBXhMpvmIE9FuMymOchTES6zaQ7yVITLbJqDPBXhMpvmIE9FuMymOchTES2zBecgBecgBecgBecg5aJltuAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOAcpOIcpOIcpOIcpOIcpF60zFacg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1Scg1ScgzScgzScgzScgzScg7SLltmGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5CGc5COc5COc5COc5COc5B+0TLbcQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7ScQ7S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VJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDVJyDNJyDNJyDNJyDNJyDtIuW2YZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkI5zkI5zkI5zkI5zkH7RMttxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDjJwDjJwDjJwDjJwDjIuWmYHzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEmzkEmzkEmzkEmzkHmRcvsxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnI/HQHqZf561PXvK/oowefIff10Tn1+nC56sNKSl8r6be646XbXNVtreq2V3U7m7r9dNP6td2C3ts/ePC56vjy4DPyv9VxvbynkHTtv6l+0Nzwb6rfyf9aTofz1m2L3fjXoiZiL89u4vqnx//RMXqK+SUdoyeZX9Ixepr5JR2jJxqZkbdCROujDh5rSjmfcV+Td+Zfv2/X9VhTyq1uZVW3uqpbW9WtP9anC7PXSiJ+7PbBrvjc6PbBrvjc6PbBrvjc6PbBrvjc6PbBrvj8vFt5sCs+N7p9rFnqVrePNUvd6vaxZqlb3fqqblfNUrJqlpJVs5SsmqVk1Sylq2YpXTVL6apZSlfNUp++ZeZru101S+mqWUpXzVK6apbSVbOUrZqlbNUsZatmKVs1S3369qev7XbVLGWrZilbNUvZqlnKVs1SvmqW8lWzlK+apXzVLPXpW9m+tttVs5SvmqV81Szlq2YpXzVLxapZKlbNUrFqlopVs9Snb0v82m5XzVKxapaKVbNUrJqlYtUslatmqVw1S+WqWSpXzVKfvsX0a7tdNUvlqlkqV81SuWqWylWzVK2apWrVLFWrZqlaNUt9+nbhr+121SxVq2apWjVL1apZqlbNUr1qlupVs1SvmqV61Sz16Vu/v7bbVbPUo20Uv9Htqlnq0TaK3+h21Sz1aBvFb3S7apaaVbPUrJql2LvN797tqlmKvdP87t2umqXYu8zv3u2mWaofbO/5rW43zVL9YHvPb3W7aZbqy1d1u2mW6lV7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNetfe8V+0971V7z3vV3vNZtfd8Vu09n1V7z2fV3vO5fFW3m2apWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7zWbX3fFbtPZ9Ve89n1d7z+f/au7sdSZIjPcN3RIT9m12NsLsQBAIEKexSAnSge5fPbFdWtyZ7q5jM8Xx7vE+IGbCy/PPsnK+touLxOOrc8znq3PM56tzzOerc8znq3PM56tzzOerc8znq3PM56tzzOerc8znq3PM56tzzOerc8znq3PM56tzzOerc8znq3PM56tzzOerc8znq3PM56tzzOerc8znq3PM56tzzOerc8znq3PM56tzzOerc8znq3PM56dxzv04693zt9qBZau32oFlq7fagWWrt1o/a7UGz1NrtQbPU2u1Bs9Ta7UGz1NrtUbPUSeeer90eNUuddO752u1Rs9RJ556v3R41S5107vna7VGz1Ennnq/dHjVLnXTu+drtUbPUSeeer90eNUuddO752u1Rs9RJ556v3R41S5107vna7VGz1Ennnq/dHjVLnXTu+drtUbPUSeeer90eNUuddO752u1Rs9RJ556v3R41S5107vna7VGz1Ennnq/dbp+lLPPtW7vof71biYnr7VunlHyz2y878B9+B4HeQeo1tx2sl97bQf7wO6gffgf9w+9g0Duoq/32rUXio+bN1tuGZ37TvPvP+37pbuWo3epRu2XPEM/erf+hdvvBfBjs2eTZu2XPMc/eLXvmefZu2fPRs3f7x5qlPtht/rFmqY92+8eapT7a7R9rlvpot3+sWeqj3fpRuz1qlsqjZqk8apbKo2apPGqWqqNmqTpqlqqjZqk6apbaf973S3d71CxVR81SddQsVUfNUnXULNVHzVJ91CzVR81SfdQstf+875fu9qhZqo+apfqoWaqPmqX6qFlqjpql5qhZao6apeaoWWr/ed8v3e1Rs9QcNUvNUbPUHDVLzUmzlFwnzVJynTRLyXXSLCXXSbOUXH7Ubk+apeQ6aZaS66RZSq6TZim5jpql5KhZSo6apeSoWUqOmqX2n/f90t0eNUvJUbOUHDVLyVGzlBw1S+lRs5QeNUvpUbOUHjVL7T/v+6W7PWqW0qNmKT1qltKjZik9apayo2YpO2qWsqNmKTtqltp/3vdLd3vULGVHzVJ21CxlR81SdtQs5UfNUn7ULOVHzVLw876fvVs/ardHzVLwM8efvdujZin4WebP3u1Rs9Qf7Nzzj3Z71Cz1Bzv3/KPdHjVLHXXuuRx17rkcde65HHXuuRx17rkcde65HHXuuRx17rkcde65HHXuuRx17rkcde65HHXuuRx17rkcde65HHXuuRx17rkcde65HHXuuRx17rkcde65HHXuuRx17rkcde65HHXuuRx17rkcde65HHXuuRx17rkcde65HHXuuRx17rkcde65HHXuuRx17rkcde65HHXuuRx17rnsP/f8Mr9965oPdjs1b+/NyiT2wW7VRN62u/7Z9Zuv/7JjO27HftyO47gd53E7ruN23MfteA7bse4/F/3lO5bjdnzazKXbz0hfM8/7Hsq+3vGXRI5LFLhEiUtUuETP+Ds5o98W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NJyDtIvW2YZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkIZzkI5zkI5zkI5zkI5zkH7ROttxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDtJxDjJwDjJwDjJwDjJwDjIuWmcHzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEGzkEmzkEmzkEmzkEmzkHmRevsxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIxDnIwjnIwjnIwjnIwjnIumidXTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgHWTgH2TgH2TgH2TgH2TgH2RetsxvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIBvnIAfnIAfn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"},{"name":"constructor","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(initializer)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"signing_pub_key_x","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"private"},{"name":"signing_pub_key_y","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"7Z3Rjuy8mV3f5VwPDJH8JJHzKkEQeCaTwIBhB2MnQGDk3VN9+khVx60qdndRxU1y3ST/Gata0l67W/yWqlT/+PHf/+Pf/vf//G9/+sv/+Ovffvzrf/nHjz//9d//+Pc//fUvl3/948caf/7f/va//viXt3/+7e9//M+///jX6V9+/Mdf/vvl//9///Ljf/zpz//x41/DevnvD9v5Na2/NvXRpX1rF+aDrUMK8dfWNnmX2dpNPsy/Nr/8t8V9ez+vR9vPS9g2n6O/Hrk//OHrvrHzv238X//lx5oI5UMocSKUj6E4QvkYiieUj6EEQvkYihHKx1BmQvkYykIoH0NZCeVjKKxoD0JhRfsxlMSK9iAUVrQHobCiPQiFFe1BKEYoH0NhRXsQCivag1CUV7Srv4YSl0woPka3HUuapqdCUV7RVgtFeUVbKxQ3saQ9SoU17VEqLGqPUmFVe5SKkcpBKqxrj1JhYXuUCq72KBVk7VEq2NqDVBxr26NUWNsepcLa9igV1rZHqRipHKTC2vYoFda2R6lgbY9SQdsepYK3PUjFs7Y9SoW17VEqrG2PUmFte5SKkcpBKqxtj1JhbXuUCt72KBW87VEqeNuDVAJr26NUWNsepcLa9igV1rZHqRipHKTC2vYoFda2R6ngbY9SwdsepYK3PUjFWNsepcLa9igV1rZHqbC2PUrFSOUgFda2R6mwtj1KBW97lAre9igVvO1BKjNr26NUWNsepcLa9igV1rZHqRipHKTC2vYoFda2R6ngbY9SwdsepYK3PUhleeHa1kJKWyq2zsJ/VxZHKgepeFI5SCWQykEqRioHqcykcpDKQioHqazCqdRbrzy1tg1p2Ta9nPH1uC87ff/p6cyfvj631rpEvaXogr9htBzG6NKOaL729iKo3o/FvfJYbuqS3G/HcrB1jFsB/LRcj8QvdrS1n7eDvhzIzXFP6WDrJW1FjDd8gpvEfvdXDx1hOgE6wnQMOlk61a7f6wwdYTpLJ3TcDZ2Qo3O55bCvldY15LauyWeFjzSfqMvHXfmsWT4Wdj5zSjeJr2qJJxJ/beJxqpP4ZYz9MMU++a1zl7Xmdiz+5q/Q8bH4Oe08VxezR16RkCeVg1Sem9q87ed5OarfzvPnT7enfnrYr4c+/ObfDlNcds90sYTzb38rfh7LLHQsi9CxPLd6CnH/y2U+ZI7F9hX/7JePRxJljiSpHMmTX0JV8kieu6oES9cjsQ9/KY6/QunyFyvuf7xWl9uHhf3vot34kjW97yKcvws7fxfz+btYzt/Fev4u4vm7SGfvwh9/Y0fZXbjzd1H4t3t27sMuwvm7KPHbPe93oC6Lu+l2F0e3zuZtefXbG6YON54vU9/+59syG9+YhnSjoe3oxmaa/XYRSXN0mcVpilfFHa5XHL++RzgT4bMRLtIRzmG7wz7PcX688brfX092Pc8UtGYkP60k/uLEI4m/OPFE4q9N3E3dJH6Jzu0HbfNt5j/P1A1zpr6fM52X/UyXm1u5x79HFxG4bXxrR33yh2do8XqGN6uho1sAYZm3gw7Lcj1of3Qcl7tm208Owdntxj/xBPAo4zHwKOPRnt2Gx9PPXNgmnqs8CmbrBzz9DJFd4uln4mwUz7LseG4N2dHGPq37xzhSTJmNL7dIt41D8h/A9zP4Av73jc22M/S2rI83Xve3d6zRbk/vrSO+o1GdjpzUkY4kBx05qSPooW47Epf9mKf0TEdwVHQk1xGjI512ZI77tWbx7p+HFY+CGxQ8cm9Q8GjDQcEjJHsFv/pdSK6LPd7YXd9x4tL0wV567CUtybYk4C9pyeX/OO2fpvXTHJ4YQAOyk0IVLRRmlEIVLRQalUK9tWjZT/D24RTfKJRRKApVslC43HYKFab9sTVh8pmfnHnHUcDl9gq+2DsFAtqXjuQ6giHutiOl3ikQ8MN0JNMRww732pHHtxgNizsoeGzroOCxooOCN8B3Cr7g+wQMJUlL8i3BX9KSHwXv1Rqyk0IVLRRmlEIVLRQalUL9KHjzf8a5UqiihcLltlSo/ZsWgvPPTWMzLndQ8LjcTsGXW7fORkfoSKYjSF86kusIypeO5DqCxe22I8WmVMQsHcl1BNdatyOzbV+JEuY58wb1kk/iXXCivYIv9pmHBc1JR3IdwYjSkVxHkKfddqTU52IWoyN0JNMR5GmvHXn8hvoFIzooeDTnoOBxl4OCR0j2Cr7gp2JW7CUtybcEf0lLfhS8674iOylU0UJhRilU0UIZhaJQBd8gsuJcKVTRQuFy2ylUySfxrrjcXsEXe6fAivalI7mOYIi77UipdwpE/DAdyXUEO9xrRx7fYoxY3EHBY1sHBW+AHxM89rJX8AXfJxBRkrQk3xL8JS35UfBebUR2UqiihcKMUqiShUpoVAr1o+DN/4RzpVBFC4XLbalQ5R7ImnC5g4I3wPcJvuC6Fe1LR3IdQfrSkVxHUL50JNcRLG63HSk2pSJm6cjjjoSpI9d6ZePWm5+s3ZEwbT85BGf/NHZeXBh4lPF05AF7xNORresRj4Gn7jcFhH3JYbZ+wNORzuoRT0cmqU08X/iejYLfoRCmjvQQ4H/buNSnVS/XXTpCRzId6UgP0ZFzOuLQQ912pNAnmoPDUdGRXEcQZb125OFHIYNDwQ0K3gA/Jni04aDgEZK9gi/3eebgsJe0JN8S/CUt+VHu/ZLBITspVMlCecwohSpaKDQqhfpR8K29HudKoYoWCpfbTqEKfodC8Ab4TsEXe6eAR/vSkVxHMMTddqTUOwU8fpiO5DqCHe61I49vMXos7pjgA7Z1UPBY0UHBYy97BV/wfQIBJUlL8i0xWkJLCt6rDchOClW0UJhRClW0UGhUCvWj4M3/gHOlUEULhcttqVDFHqUfDJc7KHhcbqfgy61bDe1LR3IdQfrSkVxHjI7QkUxHsLjddqTUlGqIWTqS6wiutZ3v2Sj5JF7DifYKvthnHgzNSUcyHZkxonQk1xHkabcdKfW5mBl5SkdyHUGe9tqRx2+onw3wY4JHcw4KHnc5KHiEZK/gC34qZsZe0pJ8S/CXtORHwbvuC7KTQhUtFGaUQhUtFBqVQv0o+AaRBedKoYoWyihUM4Uq+STeBZfbK/hi7xRY0L50JNcRDHG3HSn1ToEFP0xHch3BDvfakce3GFcs7qDgsa2DgseKDgoee9kr+ILvE1iNltCSbEvwl7TkR8F7tSuyk0IVLRRmlEIVLRQalUL9KHjzf8W5UqiShYq43JYKVe6BrBGXOyh4XG6n4MutWyPal47kOmJ0hI5kOoLypSO5jmBxu+1IsSkVMUtHch3pyLWutuwduTmM9GuC60gCPj7T1JGdypxpRzpm3T/G5NYUP5xpR/4hc6YdTdGZM7V+zjTadhgurh/PtKOJJnOmHa3L4/Wg45o+nGlHq8vMmXa0RkqLvw6gH9vb0Rrp4Zna1NEaKXOmHa2RMmfazxrJX370dhg2/XamHze2fXKcp5sBb54Ptk1pH42nm5/7tvHPCPtZfFWL0Ijw2Qj7WS6eFqG7vk3GTf4gw34WovUy7GeJWy/DfhbPJ/45vEZ4e1doi7CfVflLIlw/ttD1s9z/UoTzvC2YF4u5CJd5uyqn9fYdUG+3Lj6eYNyOwvxyTe7oDktY0xZciM4/3tjNy05yjrmNp3Xf+HLX53bjn9T7GX3ao27eL/u2Nj3e2F/ffefTND1HfdAxcHDqg06upaj/zNA6ynDdVZHZ9DjDNWyHvC43bxdYl6MaLvvbhG/XGfYeYE+Da5UAe5paqwTY08haJcCe5tUqAfY0rdYI0Pc0q1YJsKexr0qAPU1QVQLsaRipEqAR4HMBMok8GSCTyJMBMok8GSCTyJMBMok8F2BgEnkyQCaRJwNkEnkyQCaRJwM0AnwuQCaRJwNkEnkyQCaRJwNkEnkyQCaR5wI0JpEnA2QSeTJAJpEnA2QSeTJAI8DnAmQSeTJAJpEnA2QSeTJAJpEnA2QSeS7AmUnkyQCZRJ4MkEnkyQCZRJ4M0AjwuQCZRJ4MkEnkyQCZRJ4MkEnkyQCZRJ4LcGESeTJAJpEnA2QSeTJAJpEnAzQCfC5AJpEnA2QSeTJAJpEnA2QSeTJAJpHnAlyZRJ4MkEnkyQCZRJ4MkEnkyQCNAJ8LcNBJJO5fzxXX8FuAP1MZdLzIpDLozJCW7esjU7LML9vFjexPYlzWm6+qO3zEY38PhFwHHYvoyBc6MujkR0c+35E46HBLR77QkUHndzryhY4MqijoyBc6MqiFoSNf6IjRETqS6cigLo2OfKEjg5pFOvKFjuBZ6UiuI3hWOpLrCJ6VjmQ6kvCsdCTXETwrHcl1BM9KR3IdwbPSkVxHjI7QkUxH8Kx0JNcRPCsdyXUEz0pHch3Bs9KRXEfwrHTkcUfmCc9KR3IdwbPSkVxH8Kx0JNcRPCsdyXXE6AgdyXQEz0pHch3Bs9KRXEfwrHQk1xE8Kx3JdQTPSkcyHXF4VjqS6wielY7kOoJnpSO5juBZ6UiuI0ZH6EimI3hWOpLrCJ6VjuQ6gmelI7mO4FnpSK4jeFY6kumIx7PSkVxH8Kx0JNcRPCsdyXUEz0pHch0xOkJHMh3Bs9KRXEfwrHQk1xE8Kx3JdQTPSkdyHcGz0pFMRwKelY7kOoJnpSO5juBZ6UiuI3hWOpLriNEROpLpCJ6VjuQ6gmelI7mO4FnpSK4jeFY6kusInpWOZDpieFY6kusInpWO5DqCZ6UjuY7gWelIriNGR+hIpiN4VjqS6wielY7kOoJnpSO5juBZ6UiuI3hWOpLpyIxnpSO5juBZ6UiuI3hWOpLrCJ6VjuQ6YnSEjmQ6gmelI7mO4FnpSK4jeFY6kusInpWO5DqCZ6UjmY4seFY6kusInpWO5DqCZ6UjuY7gWelIriNGR+hIpiN4VjqS6wielY7kOoJnpSO5juBZ6UiuI3hWOpLpyIpnpSO5juBZ6UiuI3hWOpLrCJ6VjuQ6YnSEjmQ6gmelI7mO4FnpSK4jeFY6kusInpWO5DqCZ6UjmY5EPCsdyXUEz0pHch3Bs9KRXEfwrHQk1xGjI3Qk0xE8Kx3JdQTPSkdyHcGz0pFcR/CsdCTXETwrHcl0JOFZ6UiuI3hWOpLrCJ6VjuQ6gmelI7mOGB2hI5mO4FnpSK4jeFY6kusInpWO5DqCZ6UjuY7gWenI444sE56VjuQ6gmelI7mO4FnpSK4jeFY6kuuI0RE6kukInpWO5DqCZ6UjuY7gWelIriN4VjqS6wielY5kOuLwrHQk1xE8Kx3JdQTPSkdyHcGz0pFcR4yO0JFMR/CsdCTXETwrHcl1BM9KR3IdwbPSkVxH8Kx0JNMRj2elI7mO4FnpSK4jeFY6kusInpWO5DpidISOZDqCZ6UjuY7gWelIriN4VjqS6wielY7kOoJnpSOZjgQ8Kx3JdQTPSkdyHcGz0pFcR/CsdCTXEaMjdCTTETwrHcl1BM9KR3IdwbPSkVxH8Kx0JNcRPCsdyXTE8Kx0JNcRPCsdyXUEz0pHch3Bs9KRXEeMjtCRTEfwrHQk1xE8Kx3JdQTPSkdyHcGz0pFcR/CsdCTTkRnPSkdyHcGz0pFcR/CsdCTXETwrHcl1xOgIHcl0BM9KR3IdwbPSkVxH8Kx0JNcRPCsdyXUEz0pHMh1Z8Kx0JNcRPCsdyXUEz0pHch3Bs9KRXEeMjtCRTEfwrHQk1xE8Kx3JdQTPSkdyHcGz0pFcR/CsdCTTkRXPSkdyHcGz0pFcR/CsdCTXETwrHcl1xOgIHcl0BM9KR3IdwbPSkVxH8Kx0JNcRPCsdyXUEz0pHMh2JeFY6kutIT57VLXc68vNMX20LbQrTfqazv9345/EEseMxseOZxY5nefnxpHX/m+DTh+NZxY4nih1P0jqeNIkdz6v/8l8ubGk/nuhyf8zD/pPDHK4br4fXOL+tDi7/mW4uy+7oR0/Xg57mJfOj434cLt78UfDvl8/kCfH5EAMhPh+iEeJnQpzXPcSbM9xCnAnx+RAXQnw+xJUQPxPiNF1DdB9CjMOGuO6GwLnpuQtLIsRnQ1yniRCfD3HcieVLIT66sFysJSE+H+K4E0vBEI0QPxPioyXOOg08sazXEP3tj/6Zy8BDyMNchp0rnJ/3XBZ7biEy7FxRMsRh54qCIbph54qvhfhwIeKGnStKhjjsXFEyxGHniq+F+HBJ7Iyl3yXE5Z+Xfo5R4TiXYUcFt+4/+hLMcwuRceeKgiGOO1cUDHHcueJLIT5ciPhx54qCIY47VxQMcdy54kshPlwS+4HfYbVeQ4z/vPTzRi6HuTAqHOfCXYXjXMRX/2n/yZambC5hvgZj8SaZw+3nZf98zRx/+3zN0Q9/9GGc1Yuv/1uJUXwCaCTGID4DtBKj+BTQSozic0ArMYpPAq3EaMRYIkbxOaOVGMXHklZiZIopEiNTTJEYmWJKxGhMMUViZIopEmNXU8x6YxDjkomx4FNrVutqiqkXozUa48+Df/3ssOt1C85uN/55PIvY8axixxPFjidpHc/88oXKsl8GbVnT443nuD34bLHrnSVnv47dKR/7Om9/YNclfTx23/Cxh4aP3Ro+9rnhY18aPva14WOPDR97avfYF+nraubYpa+rcd62jav/eOzS19XMsUtfVzPHLn1dzRy79HU1c+zS19XMsUtfVzPHLn1dzRy79HX18bGv0tfVzLFLX1fTvB1Gunki+X7s0tfVzLFLX1czxy59Xc0cu/R1NXPs0tfVzLFLX1czxy59Xc0cu/R19fGxR+nraubYpa+rbtq/GORyYyx+PHrpK2v26KWvrdmjl766Zo9e+vqaPXrpK2z26KWvsdmjl77KZo9e+jqbO/okfaXNHv3Lr7Wr7d/ctK7L443b+NaE9fXf39FjiIEQnw/RCPHZb01YX//9HT2GuBDi8yGuhPjs93esr//+DpkQy31rwuu/v6O/EOPrv7+jxxDHnViKfWtCnMadWAqGOO7EUjBEI8Rnv78jTgNPLA++pyJOAw8hD3MZdq4o960JcRp2rigZ4rBzRcEQ3bBzRblvTYhu2LmiZIjDzhUlQxx2rij3/R3x9d/fobj0+/A9FdExKhznMuyoUO5bE6Ibd64oGOK4c0XBEMedK4p9a0L0484VBUMcd64oGOK4c0Wx7++IfuB3WD343oH4+u/vaCQXRoXjXMRHhTaeYhi9+LDQSozi40IrMYoPDI3EGMRHhlZiFB8aWolRfGxoJUbxwaGVGI0YS8QoPpa0EiNTTJEYmWKKxMgUUyTGrqaYWo+0j9bVFFMvxlanmJ8H//rZwbv94FPm4J2FXfXP6So0wyRXgkCORXK0lz9nIm4bW7Tfcvx5PLPY8Sxix/PyheGUtrsW5m/ucWzHE8WOJ2kdz+u/OSNzPE7seLzY8QSx4zGx45nFjmcROx6xv893vtlhvt64ns1njifuK9rkMm+fDnFfKbvrIxj9Eg62Tcu8fW9PWiefWfSEuD+eyi+PlzyXHJZ9W8usj0oupu58FQVhnxH2ne/OIOxTwnaE/bqwPWG/LuxA2K8L2wj7dWEfL9Xn/dsnLvcFLLcUtesbheebNwq7Nw36cetp2U7VuxQyW9fUXne+EIds3rJZC2Qz7wOPv7wwc7ZzdNvPnmO4+UqUQ13qg3Pb8V/+237f/ucZxObPIJU4g3V/v/Hi18wZRL+V+TLGXLf1R9uG+UaFX49iOVTh0/WvsJssf9/SLXvxbz+a4N+DufPNPgRz52uDCObOdxIRzJ0vPCKYO9+mRDDrTDDHwSwEcxzMSjDHwUSCOQ6Gle9xMJGV751gWPneCYaV751gWPneCcYI5jgYVr53gmHleycYVr53gmHleycYVr7HwSRWvneCYeV7JxhWvneCYeV7JxgjmONgWPneCYaV751gWPneCYaV751gWPkeBpOmcVe+13fNOR/Sh2DGXflmghl35ZsJZtyVrzfbg5nXD8EYwRwHM+7KNxPMuCvfsOzPkw7r/CEY6ZXv7LZnEizTnAkmONtSDC7eNMC/n6j0SvZLJ+qX7ZiDPzhR6ZVpwRN10ivNkicqvXIseaLSK8GSJyq9sit5ojbKiUqvvEqeqPRKquSJ9rMyypyo9Mpo2R8ssdx8t8G9tbFbrkvj307048ZmYfNYdrvs3lKRXkbVSsVLr7mqpSK9QKuWystXc+nqAKab5929xfLzgELFA7oc0ccDslcf0NuHZ/cjMstdZBbbqjMvN98U+c2PiCY/D3a+2bXSMsXM+Yb9mbhhvT3+oyOyy6/v9gt5+7Wxzh2drZ927eSnm8ftHm8d5mk/kPnmq4AOHwlwfcCTd7eM3K/er+RymEskl8NcknQuwV//DIRcLu7mKQm3i3GeBvLPT3VIYQL7iNgd2EfE7sE+IvYA9hGxG9hHxD6DfUTs2iLEp/25acHnsKd196lpDTEjiVK6ebfONK2ZzQevibYXellN/EeVGLTVUNVotO1QzWhM26BUjUbbMpwYzds7SPe3hE4W5sz2y/55j8turtva+99s0x7b28lRew4+Ncd1fyrx5b9T7r7b2Gsk0x6cX9aT6NzHv+na02XdbIYdwT6RzbBzh5uSc3s2aZ4/ZjPs4PGJbIadPPLZzMOOHp/IZuDZI5vNwPNENpuBZ4RsNkY2d7MZeF2czWbgdXE2G9bF97NhXXw/G9bFd7NZWBffz4Z18f1sWBffz4Z18f1sjGzuZsO6+H42rIvvZ8O6+H42rIvvZ8O6+G42K+vi+9mwLr6fDevi+9mwLr6fjZHN3WxYF9/PhnXx/WxYF9/PhnXx/WxYF9/NJrIuvp8N6+L72bAuvp8N6+L72RjZ3M2GdfH9bFgX38+GdfH9bFgX38+GdfHdbBLr4vvZsC6+nw3r4vvZsC6+n42Rzd1sWBffz4Z18f1sWBffz4Z18f1sWBffy+btIUOEcz8cVsYPwmFp/CAc1sYPwjHCuR8Oq+MH4bA8fhAO6+MH4bBAfhAOK+T74ThWyA/CYYX8IBxWyA/CYYX8IBwjnPvhsEJ+EA4r5AfhsEJ+EA4r5AfhsEK+H45nhfwgHFbID8JhhfwgHFbID8IxwrkfDivkB+GwQn4QDivkB+GwQn4QDivk++GIfzdt5XDEv8F13b4Tws9+ymx92eP+8Hi7Def4Z8d5+1oIH+NNNG/fVPFh63mybet5mtNvW78HKf6dqDpBhmkPcpkyW9s1dpviNXa/1Vf8K0kbTd3Z9jfJ/M2XMOypG6l/LvX9Z89usszW4frVMyG5cE396KtngrN9Y3fzjZbe/0Ik/u2dIyDyyxZ28EeItGchEF0QaU9kIHr7YjcQqSPSnk5BdNmZ9owMosvOmNTlEeEA5BEhDOQR2bCIUtoQhcm7nKVJ22HPYbnZNh7htC28OV6PeZ2/YRbEv7l1eDzjWoUm8IxrFJrAM65NaALPuCahBTziXyQ8PJ5xDYIEnszcI/51ysPjGdccNIHHwKOMB2sgjQdrII0HayCNB2sgjQdroIxH/GvWm8SzTNsPXsL8GE9ctk0vN/GuP3aNv+ggDWrSSfN2fmmdfqNzsO1+Ezalm18zO0oi7Od2kUZ2u/E7dVzEiNRRHCNSN6gPSB0hMyJ1PM+I1NFHI1LHSo1IHdk1IPUVhzYiddzciNRxcyNSx82NSN2gPiB13NyI1HFzI1LHzY1IHTc3InXc3IDUI25uROq4uRGp4+ZGpI6bG5G6QX1A6ri5Eanj5kakjpsbkTpubkTquLkBqSfc3IjUcXMjUsfNjUgdNzcidYP6gNRxcyNSx82NSB03NyJ13NyI1HFz41F3E25uROq4uRGp4+ZGpI6bG5G6QX1A6ri5Eanj5kakjpsbkTpubkTquLkBqTvc3IjUcXM1qTvzYT9kixnufra4x7G6x+TDMq/b+S3L9Th8ONo4TNtPDuG2JuFXTZB51OQTNcH+UZNP1MSoCTXJ1wS/SE0uW1jYzi+YrR9rgpCkJp+oCQaTmrx1Y/9yxGA33454uLFP6/aTfYops7HZjtCW9fHG67yd3xoPpnK8K11tpavYYrp6blfjsh/zlJ7pqsdx09VWuoqZp6undnX1W5X8ulhm4ylM28bTHJ4qNvcSKHaXxebuB8UWKvayn+CU3FPFNopNsXssNneYKPYXix0mF67JZX7yBeFe7JD87cbvBeTeFQU8tYDlRK/nBhpdbaWr3ECjq610lRtodPXcrha7KRG4gUZXW+kqN9Do6qldneOOcPHuw3AfuNFFAasWkBtSFLBqAY0CUsCaBeQGDwU8tYBfuXPp4v7BfZemj3eDAneDaGs7beV+EG2VaWvB9/EFbh5R7C6LzZ0mit1jsY3bUhRbqNjF3qBq3MOi2F0Wm3tjFPvLxd7DCM4/aS+Me2MUsGoBjQJSwBMLWHK+4jYaXW2lq9xEo6utdJVbaHT13K6Wm9i5K0ZXW+kqN7ro6mWL2fy28TxnPqT3tQdWZD7XP3NDigKeWsBynz+ducdEV1vpKreN6GorXeUOE109t6vFPis9G12lq410lZtRdPXUrmY+VDhzh4kCVi0gt40oYNUCci+IAlYtIDd4KOCpBSz5SemFu0G0tZ22cj+Itsq0teC77RZuHlHsLovNnSaK3WWxjWJTbJ1iF3uD6sI9LIrdZbG5N0axv1jsWl+8snAbja620lXuuNHVc7ta7A1aCzfn6GojXV25NUdXT+1qJXW2chePYndZbO7iUWyhYhdTZyt38Sh2l8U2ik2xv1rsgo/aXLnbRgGrFpC7YhTwzAKWnK+4K0ZXW+kqd8Xoaitd5a4YXT23q8Um9shdMbraSle50VW1q2vaCnVBEX7r6jsf7tdo8+G2gzYfg480H+SyDJ9pOeCDe9Xmg2/U5oNj0+aDV5Lmk3Ap2nzwB9p88AfafPAH2nwMPtJ88AfafPAH2nzwB9p88AfafPAHynz8hD/Q5oM/0OaDP9Dmgz/Q5mPwkeaDP9Dmgz/Q5oM/0OaDP9Dmgz+Q5uPwB9p88AfafPAH2nzwB9p8DD7SfPAH2nzwB9p88AfafPAH2nzwB9J8PP5Amw/+QJsP/kCbD/5Am4/BR5oP/kCbD/5Amw/+QJsP/kCbD/5Amk/AH2jzwR9o88EfaPPBH2jzMfhI88EfaPPBH2jzwR9o88EfaPPBH0jzMfyBNh/8gTYf/IE2H/yBNh+DjzQf/IE2H/yBNh/8gTYf/IEMn4Pv//GGP5DmM+MPtPngD7T54A+0+eAPtPkYfKT54A+q8nnwXdfvfPAH2nzwB9p88AfafPAH0nwW/IE2H/yBNh/8gTYf/IE2H4OPNB/8gTYf/IE2H/yBNh/8gTYf/IE0nxV/oM0Hf6DNB3+gzQd/oM3H4CPNB3+gzQd/oM0Hf6DNB3+gzQd/IM0n4g+0+eAPtPngD7T54A+0+Rh8pPngD7T54A+0+eAPtPngD7T54A+k+ST8gTYf/IE2H/yBNh/8gTYfg480H/yBNh/8gTYf/IE2H/yBNh/8gTKfMOEPtPngD7T54A+0+eAPtPkYfKT54A+0+eAPtPngD7T54A+0+eAPpPk4/IE2H/yBNh/8gTYf/IE2H4OPNB/8gTYf/IE2H/yBNh/8gTYf/IE0H48/0OaDP9Dmgz/Q5oM/0OZj8JHmgz/Q5oM/0OaDP9Dmgz/Q5oM/kOYT8AfafPAH2nzwB9p88AfafAw+0nzwB9p88AfafPAH2nzwB9p88AfSfAx/oM0Hf6DNB3+gzQd/oM3H4CPNB3+gzQd/oM0Hf6DNB3+gzQd/IM1nxh9o88EfaPPBH2jzwR9o8zH4SPPBH2jzwR9o88EfaPPBH2jzwR9I81nwB9p88AfafPAH2nzwB9p8DD7SfPAH2nzwB9p88AfafPAH2nzwB9J8VvyBNh/8gTYf/IE2H/yBNh+DjzQf/IE2H/yBNh/8gTYf/IE2H/yBNJ+IP9Dmgz/Q5oM/0OaDP9DmY/CR5oM/0OaDP9Dmgz/Q5oM/0OaDP5Dmk/AH2nzwB9p88AfafPAH2nwMPtJ88AfafPAH2nzwB9p88AfafPAHynxswh9o88EfaPPBH2jzwR9o8zH4SPPBH2jzwR9o88EfaPPBH2jzwR9I83H4A20++ANtPvgDbT74A20+Bh9pPvgDbT74A20++ANtPvgDbT74A2k+Hn+gzQd/oM0Hf6DNB3+gzcfgI80Hf6DNB3+gzQd/oM0Hf6DNB38gzSfgD7T54A+0+eAPtPngD7T5GHyk+eAPtPngD7T54A+0+eAPtPngD6T5GP5Amw/+QJsP/kCbD/5Am4/BR5oP/kCbD/5Amw/+QJsP/kCbD/5Ams+MP9Dmgz/Q5oM/0OaDP9DmY/CR5oM/0OaDP9Dmgz/Q5oM/0OaDP5Dms+APtPngD7T54A+0+eAPtPkYfKT54A+0+eAPtPngD7T54A+0+eAPpPms+ANtPvgDbT74g+J8YtrySL/zeU8cI/DqxI3EP5P4atvGa3SZxFPcTjGldd/W29Ehh/0g3r6v4nbjdzyM+NJ4mPCl8TDgS+NhvpfGw3ivjCcy3UvjYbiXxsNsL40HESCNx8CjjAdrII0HayCNB2sgjQdrII0Ha6CMJ2ENpPFgDaTxYA2k8WANpPEYeJTxYA2k8WANpPFgDaTxYA2k8WANhPHME9ZAGg/WQBoP1kAaD9ZAGo+BRxkP1kAaD9ZAGg/WQBoP1kAaD9ZAGY/DGkjjwRpI48EaSOPBGkjjMfAo48EaSOPBGkjjwRr8UMaDNZDGgzVQxuOxBtJ4sAbSeLAG0niwBp/CE/fHeEabfsPzHqONGmOY4vazg5tSJsavPCdyti28OV6P+fDJqeHS7f0g4s2vhP+FZ9jpXgOPX7Ztgz/CM+x03waeYaf7NvAMO923gWfY6b4JPGHY6b4NPMNO923gGXa6bwPPsNN9G3gMPKXxfOH7VuKyO51b5fbr21bmgDSoSSfN2zGkdfqNzqlCNOAiRqSO4hiROuZkROoImQGpG55nROrooxGpY6VGpI7sGpG6QX1A6ri5Eanj5kakjpsbkTpubkTquLkBqc+4uRGp4+ZGpI6bG5E6bm5E6gb1Aanj5kakjpsbkTpubkTquLkRqePmBqS+4OZGpI6bG5E6bm5E6ri5Eakb1AekjpsbkTpubkTquLkRqePmRqSOmxuQ+oqbG5E6bm5E6ri5Eanj5kakblAfkDpubkTquLkRqePmRqSOmxuROm5uQOoRNzciddzciNRxcyNSx82NSN2gPiB13FxN6s582A/ZYoa7ny3ucazuMfmwzOt2fstyPQ4fjja+pLFtHG5rEn7VBJlHTT5RE+wfNflETdCF1OQTNcEvUpPLFha28wtm64eaJIQkNflETTCY1OStG/uXIwa7+XbEw419Wref7FNMmY3NdoS2rI83Xuft/Nb4cSpPeFe62kpXscV09dyuxmU/5ik91VWjq3S1ka5i5unqqV1d/VYlvy6W2XgK07bxNIenis29BIrdZbG5+0GxhYq97Cc4JfdUsblfQ7G7LDZ3mCj2F4sdJrcDn3zmJ18Q7sUOyd9u/FbAZeLeFQU8tYDFRO8ycQONrrbSVW6g0dVWusoNNLp6bldL3ZRYJqOrdLWRrnIDja6e2tV5j9kv3n0c7rnRRQGrFpAbUhSwagG5cUQBqxaQGzwU8NQCfuXOpYv7B/ddmj7eDXLcDaKt7bSV+0G0Vaat5d7HtzhuHlHsLovNnSaK3WWxjWJTbJ1il3qD6uK4h0Wxuyw298Yo9peLvYcRnH/WXnBvjAJWLSD3xijgmQUsOV9xG42uNtJVz000utpKV7mFRlfP7Wqxid1zV4yuttJVbnTR1csWs/lt43nOfEjvaw+syHyu3xsFpIBnFrDc508995joaitd5bYRXW2lq9xhoqvndrXYZ6U9N6Poaitd5WYUXT21q5kPFQbuMFHAqgXkthEFrFpA7gVRwKoF5AYPBTy1gCU/KR2MttLWZtrK/SDaKtPWgu+2C9w8othdFps7TRS7y2JzW4piCxW72BtUA/ewKHaPxTbujVHsLxa71hevGLfR6GorXeWOG109t6vF3qBl3Jyjq6101egqXT2zq5XUmXEXj2J3WWzu4lFsoWKXU2fcxaPYXRabu3gU+8vFLvioTeNuGwWsWcCZu2IU8MwCFpyvZu6K0dVWuspdMbraSle5K0ZXz+1qsYl9NrpKVxvpKje6qnZ1TVuhXHTht66+8+F+jTYfbjto88Gea/NBLsvwmZaPfBbcqzYffKM2HxybNh+8kjYfg480H/yBNh/8gTYf/IE2H/yBNh/8gTSfFX+gzQd/oM0Hf6DNB3+gzcfgI80Hf6DNB3+gzQd/oM0Hf6DNB38gzSfiD7T54A+0+eAPtPngD7T5GHyk+eAPtPngD7T54A+0+eAPtPngD6T5JPyBNh/8gTYf/IE2H/yBNh+DjzQf/IE2H/yBNh/8gQyfo8/XJ/yBNh/8gTKfdcIfaPPBH2jzwR9o88EfaPMx+Ig+S/KdD/5Amw/+QJsP/kCbD/5Amw/+QJqPwx9o88EfaPPBH2jzwR9o8zH4SPPBH2jzwR9o88EfaPPBH2jzwR9I8/H4A20++ANtPvgDbT74A20+Bh9pPvgDbT74A20++ANtPvgDbT74A2k+AX+gzQd/oM0Hf6DNB3+gzcfgI80Hf6DNB3+gzQd/oM0Hf6DNB38gzcfwB9p88AfafPAH2nzwB9p8DD7SfPAH2nzwB9p88AfafPAH2nzwB9J8ZvyBNh/8gTYf/IE2H/yBNh+DjzQf/IE2H/yBNh/8gTYf/IE2H/yBNJ8Ff6DNB3+gzQd/oM0Hf6DNx+AjzQd/oM0Hf6DNB3+gzQd/oM0HfyDNZ8UfaPPBH2jzwR9o88EfaPMx+EjzwR9o88EfaPPBH2jzwR9o88EfSPOJ+ANtPvgDbT74A20++ANtPgYfaT74A20++ANtPvgDbT74A20++ANpPgl/oM0Hf6DNB3+gzQd/oM3H4CPNB3+gzQd/oM0Hf6DNB3+gzQd/oMwnTvgDbT74A20++ANtPvgDbT4GH2k++ANtPvgDbT74A20++ANtPvgDaT4Of6DNB3+gzQd/oM0Hf6DNx+AjzQd/oM0Hf6DNB3+gzQd/oM0HfyDNx+MPtPngD7T54A+0+eAPtPkYfKT54A+0+eAPtPngD7T54A+0+eAPpPkE/IE2H/yBNh/8gTYf/IE2H4OPNB/8gTYf/IE2H/yBNh/8gTYf/IE0H8MfaPPBH2jzwR9o88EfaPMx+EjzwR9o88EfaPPBH2jzwR9o88EfSPOZ8QfafPAH2nzwB9p88AfafAw+0nzwB9p88AfafPAH2nzwB9p88AfSfBb8gTYf/IE2H/yBNh/8gTYfg480H/yBNh/8gTYf/IE2H/yBNh/8gTSfFX+gzQd/oM0Hf6DNB3+gzcfgI80Hf6DNB3+gzQd/oM0Hf6DNB38gzSfiD7T54A+0+eAPtPngD7T5GHyk+eAPtPngD7T54A+0+eAPtPngD6T5JPyBNh/8gTYf/IE2H/yBNh+DjzQf/IE2H/yBNh/8gTYf/IE2H/yBMp804Q+0+eAPtPngD7T54A+0+Rh8pPngD7T54A+0+eAPtPngD7T54A+k+Tj8gTYf/IE2H/yBNh/8gTYfg480H/yBNh/8gTYf/IE2H/yBNh/8gTQfjz/Q5oM/KM4npi2P9Duf98QxAp9KfLWt5Wt0mcRT3E4xpXXf1tvRIYe07Ifs7HbjdzwIAWk8Bh5lPOgAaTzYAGk8yABpPLgAaTyoAGU8ARMgjQcRII0HayCNB2sgjcfAo4wHayCNB2sgjQdrII0HayCNB2ugjMewBtJ4sAbSeLAG0niwBtJ4DDzKeLAG0niwBtJ4sAbSeLAG0niwBsp4ZqyBNB6sgTQerIE0HqyBNB4DjzIerIE0HqyBNB6sgTQerIE0HqyBMp4FayCNB2sgjQdrII0HayCNx8CjjAdrII0HayCNB2sgjQdrII0Ha6CMZ8UaSOPBGnwKT9wfKhlt+g3Pe4zjTveXM9sO27s5E+Mcto1nW262TUeRhy28uFx/bljSyb8R45qA7lAaKHtBOa5h6A7luDaiO5TjmovuUI5rObpDOa4R6Q1lHNeedIdyXNPSHUpsTzcosT3doDRQ9oIS29MNSmxPNyixPd2gxPZ0gxLb0wvKhO3pBiW2pxuU2J5uUGJ7ukFpoOwFJbanG5TYnm5QYnu6QYnt6QYltqcPlH6asD3doMT2dIMS29MNSmxPNygNlL2gxPZ0gxLb0w1KbE83KLE93aDE9vSC0mF7ukGJ7ekGJbanG5TYnm5QGih7QYnt6QYltqcblNieblBie7pBie3pBaXH9nSDEtvTDUpsTzcosT3doDRQ9oIS29MNSmxPNyixPd2gxPZ0gxLb0wvKgO3pBiW2pxuU2J5uUGJ7ukFpoOwFJbanG5TYnm5QYnu6QYnt6QYltqcXlIbt6QYltqcblNieblBie7pBaaDsBSW2pxuU2J5uUGJ7ukGJ7ekGJbanF5QztqcblNieblBie7pBie3pBqWBsheU2J5uUGJ7ukGJ7ekGJbanG5TYnl5QLtieblBie7pBie3pBiW2pxuUBspeUGJ7ukGJ7ekGJbanG5TYnm5QYnt6Qblie7pBie3pBiW2pxuU2J5uUBooe0GJ7ekGJbanG5TYnm5QYnu6QYnt6QVlxPZ0gxLb0w1KbE83KLE93aA0UPaCEtvTDUpsTzcosT3doMT2dIMS29MLyoTt6QYltqcblNieblBie7pBaaDsBSW2pxuU2J5uUGJ7ukGJ7ekGJbanE5RuwvZ0gxLb0w1KbE83KLE93aA0UPaCEtvTDUpsTzcosT3doMT2dIMS29MLSoft6QYltqcblNieblBie7pBaaDsBSW2pxuU2J5uUGJ7ukGJ7ekGJbanF5Qe29MNSmxPNyixPd2gxPZ0g9JA2QtKbE83KLE93aDE9nSDEtvTDUpsTy8oA7anG5TYnm5QYnu6QYnt6QalgbIXlNieblBie7pBie3pBiW2pxuU2J5eUBq2pxuU2J5uUGJ7ukGJ7ekGpYGyF5TYnm5QYnu6QYnt6QYltqcblNieXlDO2J5uUGJ7ukGJ7ekGJbanG5QGyl5QYnu6QYnt6QYltqcblNieblBie3pBuWB7ukGJ7ekGJbanG5TYnm5QGih7QYnt6QYltqcblNieblBie7pBie3pBeWK7ekGJbanG5TYnm5QYnu6QWmg7AUltqcblNieblBie7pBie3pBiW2pxeUEdvTDUpsTzcosT3doMT2dIPSQNkLSmxPNyixPd2gxPZ0gxLb0w1KbE8vKBO2pxuU2J5uUGJ7ukGJ7ekGpYGyF5TYnm5QYnu6QYnt6QYltqcblNieTlD6CdvTDUpsTzcosT3doMT2dIPSQNkLSmxPNyixPd2gxPZ0gxLb0w1KbE8vKB22pxuU2J5uUGJ7ukGJ7ekGpYGyF5TYnm5QYnu6QYnteUMZLIMyLXsgk/MZlrNtG8/xetDrfHgUtuURXLyB6X/xQeHU5eP3Hxz8ER+8jDQfj2zR5oNB0eaDFtHmg+vQ5mPwkeaDldDmg2rQ5oM/KM9nmTZns4T5MZ+4bJvG6K4/do2/8KAPquJJ83aCaZ1+w3Oq1fNYiRGxB2THkNhxKENiR80MiR3jMyR2A/uI2PFTQ2JHew2JHZs2JHYs3ZDYsXQjYjcs3ZDYsXRDYsfSDYkdSzckdgP7iNixdENix9INiR1LNyR2LN2Q2LF0I2KfsXRDYsfSDYkdSzckdizdkNgN7CNix9INiR1LNyR2LN2Q2LF0Q2LH0o2IfcHSDYkdSzckdizdkNixdENiN7CPiB1LNyR2LN2Q2LF0Q2LH0g2JHUs3IvYVSzckdizdkNixdENix9INid3APiJ2LN2Q2LF0Q2LH0g2JHUtXFbszH/ZjtpgB72eLex6re4w+LPO6neBy84WzPhxtHKbtJ4dw25PwqydoPXryiZ5EPCA9+UxPEIf05DM9wTTSk7eNLexfom62fuwJapKefKYnRk/oyVs59m9VDHbztYqHG/u0bj/Zp5gyG5vtDG1ZH2+8ztv5rfHjcB4xsJS1mbLijSnryWWNy37MU3qqrNhuytpMWXH0lPXcsq5+i+5y/9cyG09hg+KnOTzVbO4q0Owum524D0KzlZq97Cc4JfdUs7lzQ7P7bDb3mmj2V5sdJrcTn3zmJ18Y7s0Oyd9u/N5A7mLRwHMbWE74JqOslLWVsnIrjbI2U1ZupVHWk8ta7O5E4lYaZW2mrNxKo6znlnWOO8PFu48jPre8aGDNBoaJW1M0sG4DuYVEA+s2kFs9NPDcBn7lJqaL+yf6XZr8x7pyX4i6NlRXo67UVaau5d7WFyZuI9HsPpvNPSea3WezuUFFs5WaXeoNq2HibhbN7rPZ3CWj2V9vdtqf/eL8kw7DcZeMBtZtIHfJaOCpDSw4ZDluqFHWZsrK7TTK2kxZjbJS1nPLWmxud9wfo6zNlJVbXpT1bePZ/LbxPGc+ufe1J1k8/rx/cNyaooHnNrDYp1KD424TZW2mrNxAoqytlNVzr4mynlzWUh+hDp7bUpS1mbJyW4qynlvWzCcNPfeaaGDdBhoNpIFVG8hdIRpYt4Hc6qGB5zaw5AeoPfeFqGtDdeXOEHXVqWvBN995biPR7C6bHbjnRLP7bDY3qGi2UrOLvWE1cDeLZvfZbO6S0eyvNrvS17OEYJSVsrZSVu69UdaTy1rs7VqB23SUtZmycpOOsp5b1loGjft5NLvPZnM/j2YrNbuYQTPu59HsPpvN/Tya/fVmF3wSp3HfjQbWbSD3x2jgqQ0sOGSZUVbK2kpZuT9GWZspK/fHKOvJZS03t3N/jLI2U1ZuedUt65q2Rrnowm9lfQfEnRttQDM3IMQB4dHFAaGZdQBNywEgLKw4IAOQNiBsmzggDJM4IKyKOCBMgjggTII2oAWTIA4IkyAOCJMgDgiTIA7IAKQNCJMgDgiTIA4IkyAOCJMgDgiToA1oxSSIA8IkiAPCJIgDwiSIAzIAaQPCJIgDwiSIA8IkiAPCJIgDwiRoA4qYBHFAmARxQJgEcUCYBHFABiBtQJgEcUCYBHFAmARxQJgEcUCYBG1ACZOgA+joY/gJkyAOCJMgDgiTIA7IAKQNCJMgDgiTIA4Ik1AX0IOnT74DwiSIA8IkSAOyCZMgDgiTIA4IkyAOCJMgDsgApA0IkyAOCJMgDgiTIA4IkyAOCJOgDchhEsQBYRLEAWESxAFhEsQBGYC0AWESxAFhEsQBYRLEAWESxAFhErQBeUyCOCBMgjggTII4IEyCOCADkDYgTII4IEyCOCBMgjggTII4IEyCNqCASRAHhEkQB4RJEAeESRAHZADSBoRJEAeESRAHhEkQB4RJEAeESdAGZJgEcUCYBHFAmARxQJgEcUAGIG1AmARxQJgEcUCYBHFAmARxQJgEbUAzJkEcECZBHBAmQRwQJkEckAFIGxAmQRwQJkEcECZBHBAmQRwQJkEb0IJJEAeESRAHhEkQB4RJEAdkANIGhEkQB4RJEAeESRAHhEkQB4RJ0Aa0YhLEAWESxAFhEsQBYRLEARmAtAFhEsQBYRLEAWESxAFhEsQBYRK0AUVMgjggTII4IEyCOCBMgjggA5A2IEyCOCBMgjggTII4IEyCOCBMgjaghEkQB4RJEAeESRAHhEkQB2QA0gaESRAHhEkQB4RJEAeESRAHhEmQBjRPmARxQJgEcUCYBHFAmARxQAYgbUCYBHFAmARxQJgEcUCYBHFAmARtQA6TIA4IkyAOCJMgDgiTIA7IAKQNCJMgDgiTIA4IkyAOCJMgDgiToA3IYxLEAWESxAFhEsQBYRLEARmAtAFhEsQBYRLEAWESxAFhEsQBYRK0AQVMgjggTII4IEyCOCBMgjggA5A2IEyCOCBMgjggTII4IEyCOCBMgjYgwySIA8IkiAPCJIgDwiSIAzIAaQPCJIgDwiSIA8IkiAPCJIgDwiRoA5oxCeKAMAnigDAJ4oAwCeKADEDagDAJ4oAwCeKAMAnigDAJ4oAwCdqAFkyCOCBMgjggTII4IEyCOCADkDYgTII4IEyCOCBMgjggTII4IEyCNqAVkyAOCJMgDgiTIA4IkyAOyACkDQiTIA4IkyAOCJMgDgiTIA4Ik6ANKGISxAFhEsQBYRLEAWESxAEZgLQBYRLEAWESxAFhEsQBYRLEAWEStAElTII4IEyCOCBMgjggTII4IAOQNiBMgjggTII4IEyCOCBMgjggTII0oGXCJIgDwiSIA8IkiAPCJIgDMgBpA8IkiAPCJIgDwiSIA8IkiAPCJGgDcpgEcUCYBHFAmARxQJgEcUAGoOKAYtoCSb8Deo8cN/CpyC/Z7j/b2++ZvwfJDF8oSGbtQkEyExcKktm1TJB+3BnzcjLbYYcYM0Haui+qbHW5rS/HveXnQ7rG7sOv1McdHM9M3Ww/blvW29Q/brzO8de2a7wG4u0XoHEHx1MBxWU/7ik9BWjcwfFMQHPcj/vyR+rj3y0j9RNSX/1+tVhvzvLw18LFuEXi0nRwaRl3emwG0bhzqQoiP4XtQPw0h6euROMOxz3SHHdC16G5xJ1mck/RHFcTdEgzjOsqfFp2mkvKSZ9p39o5fyt9js4y7YuVlNbbzA9+cLj+YHMHgMbVGo0AGldrNAJoXK3RCCADkDagcf1HI4DGtR+NABpXaDQCaFxH0QigcbVDG4AMkyAOCJMgDgiTIA4IkyAOyACkDQiTIA4IkyAOCJMgDgiTIA4Ik6ANaMYkiAPCJIgDwiSIA8IkiAMyAGkDwiSIA8IkiAPCJIgDwiSIA8IkaANaMAnigDAJ4oAwCeKAMAnigAxA2oAwCeKAMAnigDAJ4oAwCeKAMAnagFZMgjggTII4IEyCOCBMgjggA5A2IEyCOCBMgjggTII4IEyCOCBMwucAXQ52B5Sm1wGKmARxQJgEcUCYBHFAmARxQAYgbUCYBHFAmARxQJgEcUCYBHFAmARtQAmTIA4IkyAOCJMgDgiTIA7IAKQNCJMgDgiTIA4IkyAOCJMgDgiTIA1onTAJ4oAwCeKAMAnigDAJ4oAMQNqAMAnigDAJ4oAwCeKAMAnigDAJ2oAcJkEcECZBHBAmQRwQJkEckAFIGxAmQRwQJkEcECZBHBAmQRwQJkEbkMckiAPCJIgDwiSIA8IkiAMyAGkDwiSIA8IkiAPCJIgDwiR8DpD3eyJ+8S8EhEnQBhQwCeKAMAnigDAJ4oAwCeKADEDagDAJ4oAwCeKAMAnigDAJ4oAwCdqADJMgDgiTIA4IkyAOCJMgDsgApA0IkyAOCJMgDgiTIA4IkyAOCJOgDWjGJIgDwiSIA8IkiAPCJIgDMgBpA8IkiAPCJIgDwiSIA8IkiAPCJGgDWjAJ4oAwCeKAMAnigDAJ4oAMQNqAMAnigDAJ4oAwCeKAMAnigDAJ2oBWTII4IEyCOCBMgjggTII4IAOQNiBMgjggTII4IEzC5wCFKW4/O8yWARSX7UfH6K7brvFX6NiBE0JP83bYaZ1+C/3c3yBMQj8wI9ahI5gYio5gYjM6gon56AimAbMfmBiVjmBiXzqCianpCCYGqCOYGKB+YCYMUEcwMUAdwcQAdQQTA9QRTANmPzAxQB3BxAB1BBMD1BFMDFBHMDFA3cCMEwaoI5gYoI5gYoA6gokB6gimAbMfmBigjmBigDqCiQHqCCYGqCOYGKB+YDoMUEcwMUAdwcQAdQQTA9QRTANmPzAxQB3BxAB1BBMD1BFMDFBHMDFA/cD0GKCOYGKAOoKJAeoIJgaoI5gGzH5gYoA6gokB6ggmBqgjmBigE2A682E/EosZnH62uJ/l6h4DDcu8boe9LPN143C08fWoQ7ilH37RRxkNTD/gmEamj5QamT4Wq2f6Fra0g9n6kT7aa2T6Bv2e6e/f/RPs5st/Djf2ad1+sk8xZTY228nYsj7eeJ2381vjx7EzYPeoYOUK4iSp4LcqGJf9mKf0VAUxqVSwcgXxv1TwOxVc9+8L9etimY2nMG0bT3N4qq8Ya/raUF8Nx05fz+/rsp/glNxTfeWuAH1tqa/cx6Cvvzae3M5x8pmffCGz9zUkf7vxe6+4Q0KvvtOrcoLSjApSwboV5DYNFaxcQW7TUMFvVbCYIzdu01DByhXkNg0V/E4F57iTWbz7OOZyO4VendCrmdse9OqMXnF7gl6d0StuI9Cr7/TqK7e9XNw/t+vS9PGew8w9B0pYvYRGCSnhySUs+AarmVsU9LWlvnI/g7621FduftDX8/ta7A2BM3dK6GtLfeUODH3d+pr25zY4/+Qcv3AHhl6d0SvuwNCrb/Sq4EiycLOGClauILdqqGDlChoVpILfqWCx2XXh3gsVrFxBbqf0XMHZ/LbxPGc+R/S1z6tnPv+7cNuDXn2nV+U++bZwJ4MKVq4gNyeoYN0KrtzHoILfqmCxD1+u3PKggpUryC0PKvidCmY+97RyH4NendEro1f06oRecceBXp3RK24j0Kvv9KrkRy9X7jlQwuol5K4DJTy7hAXfBrVyi4K+NtTXyP0M+tpSX7n5QV/P72uxNwRG7pTQ15b6yh0Y+vpr40qP2I9GBalg3QpyX4cKfquCxd5iE7kFRAUrV5AbQFTwOxWs5Ya4V0RfW+or94ro6/l9LeaGEveK6GtLfeVeEX3d+lrwmXOJezr06oxece+FXn2jVwVHkmRUkArWrSD3Xqhg5Qpy74UKfquC5WZX7r1QwcoV5HbKGRVc09YTF134rYLvsXNXoELsaUJuV4kdR1sldhTm2bFPy0HsGL4qsRux14gdk1MlduxFldiZ2KvEzpRaJXam1BqxO6bUKrEzpVaJnSm1SuxMqVViN2KvETtTapXYmVKrxM6UWiV2ptQqsTOl1ojdM6VWiZ0ptUrsTKlVYmdKrRK7EXuN2JlSq8TOlFoldqbUKrEzpVaJnSm1RuyBKbVK7EypVWJnSq0SO1NqldiN2GvEzpRaJXam1CqxM6VWiZ0ptUrsTKk1Yjem1LNjP/qApDGlVomdKbVK7EypVWI3Yq8RO1NqldiZUqvEzpR6RuwPniT1HjtTapXYmVJrxD4zpVaJnSm1SuxMqVViZ0qtErsRe43YmVKrxM6UWiV2ptQqsTOlVomdKbVG7AtTapXYmVKrxM6UWiV2ptQqsRux14idKbVK7EypVWJnSq0SO1NqldiZUmvEvjKlVomdKbVK7EypVWJnSq0SuxF7jdiZUqvEzpRaJXam1CqxM6VWiZ0ptUbskSm1SuxMqVViZ0qtEjtTapXYjdhrxM6UWiV2ptQqsTOlVomdKbVK7EypNWJPTKlVYmdKrRI7U2qV2JlSq8RuxF4jdqbUKrEzpVaJnSm1SuxMqVViZ0p9fexhmphSq8TOlFoldqbUKrEzpVaJ3Yi9RuxMqVViZ0qtEjtTapXYmVKrxM6UWiN2x5RaJXam1CqxM6VWiZ0ptUrsRuw1YmdKrRI7U2qV2JlSq8TOlFoldqbUGrF7ptQqsTOlVomdKbVK7EypVWI3Yq8RO1NqldiZUqvEzpRaJXam1CqxM6XWiD0wpVaJnSm1SuxMqVViZ0qtErsRe43YmVKrxM6UWiV2ptQqsTOlVomdKbVG7MaUWiV2ptQqsTOlVomdKbVK7EbsNWJnSq0SO1NqldiZUqvEzpRaJXam1Bqxz0ypVWJnSq0SO1NqldiZUqvEbsReI3am1CqxM6VWiZ0ptUrsTKlVYmdKrRH7wpRaJXam1CqxM6VWiZ0ptUrsRuw1YmdKrRI7U2qV2JlSq8TOlFoldqbUGrGvTKlVYmdKrRI7U2qV2JlSq8RuxF4jdqbUKrEzpVaJnSm1SuxMqVViZ0qtEXtkSq0SO1NqldiZUqvEzpRaJXYj9hqxM6VWiZ0ptUrsTKlVYmdKrRI7U2qN2BNTapXYmVKrxM6UWiV2ptQqsRux14idKbVK7EypVWJnSq0SO1NqldiZUivE7iam1CqxM6VWiZ0ptUrsTKlVYjdirxE7U2qV2JlSq8TOlFoldqbUKrEzpdaI3TGlVomdKbVK7EypVWJnSq0SuxF7jdiZUqvEzpRaJXam1CqxM6VWiZ0ptUbsnim1SuxMqVViZ0qtEjtTapXYjdhrxM6UWiV2ptQqsTOlVomdKbVK7EypNWIPTKlVYmdKrRI7U2qV2JlSq8RuxF4jdqbUKrEzpVaJnSm1SuxMqVViZ0qtEbsxpVaJnSm1SuxMqVViZ0qtErsRe43YmVKrxM6UWiV2ptQqsTOlVomdKbVG7DNTapXYmVKrxM6UWiV2ptQqsRux14idKbVK7EypVWJnSq0SO1NqldiZUmvEvjClVomdKbVK7EypVWJnSq0SuxH7p2Jf/f6zY3S52Ccf9gAnfxO8nw+3n/cIL2tLf83bH/7wdd/Y+d82fkfKBNwdUqbrc5Cu/oo0Lhmk/vIjt/NM0/QkUib37pBiBbpDinH4OtIUMkjTTiil9YrTDpe7+2E4c3a78U9AK25CHBAWQxwQvkMcEGZEHJABSBsQRkQcEH5DHBC2QhwQ7kEcECZBG1DEJIgDwiSIA8IkiAPCJIgDMgBpA8IkiAPCJIgDwiSIA8IkiAPCJGgDSpgEcUCYBHFAmARxQJgEcUAGIG1AmARxQJgEcUCYBHFAmARxQJgEaUB+wiSIA8IkiAPCJIgDwiSIAzIAaQPCJIgDwiSIA8IkiAPCJIgDwiRoA3KYBHFAmARxQJgEcUCYBHFABiBtQJgEcUCYBHFAmARxQJiETwG6TPTb1peF1e/PaHwPctyJf3bbkYQ5hEyQcdly/O1Rl7+ev+39uHP5l2JM83YgaZ1+i/HUPxd+3Km8CTzjzuRN4Bl3Im8Cj4FHGc+403gTeMadxZvAM+4k3gSecefwJvAw3SvjCVgDaTxYA2k8WANpPFgDaTwGHmU8WANpPFgDaTxYA2k8WANpPFgDZTyGNZDGgzWQxoM1kMaDNZDGY+BRxoM1kMaDNZDGgzWQxoM1kMaDNVDGM2MNpPFgDaTxYA2k8WANpPEYeJTxYA2k8WANpPFgDaTxYA2k8WANlPEsWANpPFgDaTxYA2k8WANpPAYeZTxYA2k8WANpPFgDaTxYA2k8WANlPCvW4FN4nPmw/2yLGUCX22hxP+7VPUYUlnndDmRZ5uvG4WjjMG0/OYRbnuEXTzRDXzzxEn3xRGT0xdPg2RRPC/tRm60feaJK+uKJW2mM5/709mA3j28/3NindfvJPsWU2dhsz9qW9fHG67yd3xoPhiaMEKUqXio8FqX6Vaq4fxPIPKWnSoV9o1SlSxVxhpTqfePVb8wvK23LbDyFadt4msNTDcRy0sC6DcTL0sDvNHDZT3BK7qkGYpJpYN0GGg3stoFhcjuZyWd+8iXrvYEh+duN35uCVacppYVZRO1TquKlQu1TquKlQu1TquIWFrVPqUqXKqH2KdWvY4571ot3H0a6hIKnKZ9rCqqcpnyuKShtmvK5phhNoSk/j/krNz9c3D8559L00VMnPDW1OqFWmGpq9fVaFXy7SkJr08C6DcSB08C6DUSY08DvNLDUG6bChF2ngXUbiLXvuYFpP0Xnn5tZLxWmKTTlU03B2tOUwov1MBmlolSlS4Xep1TFS4Xcp1TF5zR8PaUqXioUfFulms3vRz1nPoHwtU+MPv683qWgNIWm/Ny42KdggsN+U6ripUJoU6ripcJ9U6pfpSr10arg0OSUqnipjFJRqvdjfviJieBw3zTlc01BaNOUzzUFS01TPtcU1DNNed+44AergsNTU6vytfKYamr19VoVfFOJR2vTwLoNxIHTwLoNRJjTwO80sNgbprzRQBpYtYFY+34bWOlxxMEj+ClV8VJxL4BS/SpVsbc3eG4bUKripeKmAaWqajYC9xdoYN0Gcn+BBlY1G4H7CzSwbgO5v9BzAws+4SgYTaEpn2oKvp6mFF+s4+spVfFS4espVfFS4espVfE5DV9PqUqXylDwnyvVmjbyLrrwW6neg8QkFwoSIVooSLxeoSCNIL8c5LQcBIkVKhQkJqRQkEz/hYJk4i0UJFNemSBnJptCQTLZFAqSyaZQkEw2hYI0giwTJJNNoSCZbAoFyWRTKEgmm0JBMtmUCXJhsikUJJNNoSCZbAoFyWRTKEgjyDJBMtkUCpLJplCQTDaFgmSyKRQkk02ZIFcmm0JBMtkUCpLJplCQTDaFgjSCLBMkk02hIJlsCgXJZFMoSCabQkEy2ZQJMjLZFAqSyaZQkEw2Xw/y6OMhkcmmUJBGkGWCZLIpFCSTTaEgmWwKBclkUyhIJpvPBfngaQo/g0xMNoWCZLIpFCSTTaEgmWwKBWkEWSZIJptCQTLZFAqSyaZQkEw2hYJksikSpE1MNoWCZLIpFCSTTaEgmWwKBWkEWSZIJptCQTLZFAqSyaZQkEw2hYJksikTpGOyKRQkk02hIJlsCgXJZFMoSCPIMkEy2RQKksmmUJBMNoWCZLIpFCSTTZkgPZNNoSCZbAoFyWRTKEgmm0JBGkGWCZLJplCQTDaFgmSyKRQkk02hIJlsygQZmGwKBclkUyhIJptCQTLZFArSCLJMkEw2hYJksikUJJNNoSCZbAoFyWRTJkhjsikUJJNNoSCZbAoFyWRTKEgjyDJBMtkUCpLJplCQTDaFgmSyKRQkk02ZIGcmm0JBMtkUCpLJplCQTDaFgjSCLBMkk02hIJlsCgXJZFMoSCabQkEy2ZQJcmGyKRQkk02hIJlsCgXJZFMoSCPIMkEy2RQKksmmUJBMNoWCZLIpFCSTTZkgVyabQkEy2RQKksmmUJBMNoWCNIIsEySTTaEgmWwKBclkUyhIJptCQTLZlAkyMtkUCpLJplCQTDaFgmSyKRSkEWSZIJlsCgXJZFMoSCabQkEy2RQKksmmTJCJyaZQkEw2hYJksikUJJNNoSCNIMsEyWRTKEgmm0JBMtkUCpLJplCQTDZFgpwnJptCQTLZFAqSyaZQkEw2hYI0giwTJJNNoSCZbAoFyWRTKEgmm0JBMtmUCdIx2RQKksmmUJBMNoWCZLIpFKQRZJkgmWwKBclkUyhIJptCQTLZFAqSyaZMkJ7JplCQTDaFgmSyKRQkk02hII0gywTJZFMoSCabQkEy2RQKksmmUJBMNmWCDEw2hYJksikUJJNNoSCZbAoFaQRZJkgmm0JBMtkUCpLJplCQTDaFgmSyKROkMdkUCpLJplCQTDaFgmSyKRSkEWSZIJlsCgXJZFMoSCabQkEy2RQKksmmTJAzk02hIJlsCgXJZFMoSCabQkEaQZYJksmmUJBMNoWCZLIpFCSTTaEgmWzKBLkw2RQKksmmUJBMNoWCZLIpFKQRZJkgmWwKBclkUyhIJptCQTLZFAqSyaZMkCuTTaEgmWwKBclkUyhIJptCQRpBlgmSyaZQkEw2hYJksikUJJNNoSCZbMoEGZlsCgXJZFMoSCabQkEy2RQK0giyTJBMNoWCZLIpFCSTTaEgmWwKBclkUybIxGRTKEgmm0JBMtkUCpLJplCQRpBlgmSyKRQkk02hIJlsCgXJZFMoSCabIkEuE5NNoSCZbAoFyWRTKEgmm0JBGkGWCZLJplCQPU02Nl+DjCmzdQrTr43T4vdt/bz+CkZ7Upn9ugcz+2zD4rr98Mt/x5seTOth7M5tR375b/O/bf8ej/b8UT0e7ania/EEN/ntsIOb48fTdYdr/+33a8qc6Dpvx76uN3/QwtHBzNFtEc4x+OdJOdfuofuXHfpq28bzurjMobs17BeddZ73redfhx3aPGxr87Dn5g778t//9p9/+vOf//Q//9uf//rvf/z7n/76l7+9vXJ6+3/85P9w/B3ES9zWCqu/2fvl79sliLeXHX/jbv5l7nsv8997Wfjiyy7/cj+DmS8vPlzNLWn7870uN2socz/3+fay9Xsvi997WfrWy46/VSz/Mve9lx3Si/tVNrrjl4Xvvcy+97L5ey9bvvey9Xsvi9972WFL4rr95YprOnrZ8Tc05F/mvvcy/72Xhe+9zL73svl7LztuSYzby9J6+LL1ey+L33tZ+tbLjp92m3+Z+97L/PdedtiStI//yR/+4hw/pTL/svl7L1u+97L1ey+L33tZ+tbLjp8cdvuyQ27Hz8nKv8x/72XHLbFdbtjhb/fxE3/yL5u/97Lley9bv/ey+L2XpW+97PgpDGnZJmw32fzb6/7lKxtvO3Gv2Il/xU7CK3Zir9jJ/IqdLK/YyfqKncRX7CS9YCfxFb/x8RW/8fEVv/HxFb/x8RW/8fEVv/HxFb/x8RW/8fEVv/HxFb/x6RW/8ekVv/Hp+d+TeV13jX1dEflk+z7mF+zj+W4t07ayu9wFPdxHOn8fbppesRP3ip189WKyvdDF8/viXHrBTvz0ip24V+zk+ZXBst+/Wnw43kl4xU7sFTuZX7GT5RU7WQv8qUj7Tux4J/EVO0kv2EmYXrET94qd+FfsJLzgQhTsFTuZX7GT5RU7WV+xk/iKnbxiwWavWLDZKxZs5l+xk1f8xtsrfuPtFb/x9orfeHvFb7y94jfeXvEbP7/iN35+xW/8/Irf+PnU3/jLv/zbln5Of7j3HtTtxqqb1+ubFd/Wux82jvt7LOO6PN70MqYu28/1083y5teZpz8krcNxk9jxOLHj8WLHE8SOx8SOZxY7nkXseFax4xH78+zE/j57sb/PXuzvsxf7++zF/j57sb/P/sS/z9sunv+Tm9z2zt/k56dPeRU7nih2PEnreMIkdjxO7Hi82PEEseMxseOZxY5H7O9zEPv7HMT+Pgexv88m9vfZxP4+m9jfZzvx7/O2Czt/F/P5u1jO38V6/i7i+btIp+9ins7fhTt/F/78XTxfWjc527X/7TtOrjtZX7CT5Xnkzs/7DQy/+qOd2CvOZH7FTl4BfkkFdhKnfSc3H6K77mSdXrET94qd+FfsJLxiJyV+T1Z/3Uk82sn8ip0sr9jJ+oqdxFfsJL1gJ3F6xU7cK3biX7GT8IqdFPiNv1x/t43d7I52Mr9iJ8srdrK+YifxFTtJL9hJml6xE/eKnfhX7KTAb7yL+7N7XEpHO7FX7GR+xU7iC0aHlF6wEzdNL9mLe8le7CV7mV+yl+Ule1lfspdzf10u/whvm/rFHb/7b91fu0b3eD82bcdkPrNp3Fc4t0+HfPuMwz++KE0vx50aPe7j9xO2cOCu1QP3rR54aPXArdUDn1s98KXVA19bPfBWL5yu1Sunb/XK6Vu9cvpWr5y+1Sunb/XK6U+7cm47ePoKN2+OwmY72sF69g7i2TtIJ+8gTGfv4Om/lHHrtMVwtAN/9g7C2Tuws3fw7G/yPO2PRZni0Q6Ws3ewnr2DePYO0sk7sGdrOvvtgjD7wx3Y2Tt4FvIS9sdszP5oB/HkHcxnRzQ//Ztse4vm9WgHy9k7WM/eQTx7B+nkHSzT2TtwZ+/An72DcPYO7OwdFPxNXpajHSxn7+D53+T9j916uIOnf5P3P9d3dpBO3sE6nb2DZ3+Tl2l/7tmUjnbgz95BOHsHdvYO5rN38PRvctre+rDcfKfIzQ7Ws3cQz95BOnkHcTp7B+7sHfizdxDO3oGdvYO54A6OfpPjcvYOnv9N3t6dvvjDHTz9m7xrxzs7SCfvIE1n7+Dpa3Jmykz+7B2Es3dgZ+9gPnsHy9k7OFuGpPNkyOUf9rahX+KdR5Etdv2+1yX3gA1z+50K8x9PJd57gNbXdnL7FcmZjcs9HeTt4H3LBx9aPnhr+eDnlg9+afng15YPPrZ88Knhg7/zVLNGDr7lK6xv+QrrW77C+pavsL7lK6xv+QrrW77CepUr7HY8L75olnuOzuXgw9TywbuWD963fPCh5YO3lg9+bvngl5YPfm354GPLB9/yFdZavsJay1dYa/kKay1fYa3lK6y1fIU1lSvsdjwqF83teFSug9vxqFzafh3PrHK12o5H5QK0HY/KNWU7HpXLxHY8Kn/5t+NR+WO+Hc+Lf98zT8O8HNEyyR3RizudebjM2xEtchmtckcU1Y5oda8+oocPIH07Ii93REHuiEzuiGa5I3r536OHD9p8O6JV7oii3BEltSOKk9wRObkj8nJHFOSOyOSOaJY7olf/zX78PNa3I1rljijKHVFSO6I0yR2RkzsiL3dEQe6ITO6IXv03+/EjmN+OaJE7olXtiO493Lmirrn3JOiqh+T1DknOs917IHXVQ1r1DinqHVKSOyQn9Hfp8o/5bdPF3/v29cXtOnNx6XrrYE2Hx+Wvn9iz6yetL3/4DrZepv0zzf56Dm6e36L6eUSuwBEtu421dc0d0S641mk6PKLDv5ZLuH4y2Cb3+IiS22ik5eZ45nh09PMu3G5nN5uPfu7s91s88+1HON+eQvNx67i3bQo3knrdzzQMc6Y2zJnOw5zpMsyZrsOcaRzmTNMoZ3r8MY8uz9QNc6bDrJHCMGuk8PwayU12cyciZc51CfszxJdgmR+97tuuN29ucsu0H/7c9uEvbR/+2vbhx7YPPzV9+Da1ffiu7cP3bR9+aPvw277qWttXXWv7qmttX3Wt7auutX3Vndu+6s5tX3Xntq+6c9tX3bntq+7c9lV3bvuqO7d91Z3bvurObV91l7avukvbV92l7avu0vZVd2n7qru0fdVd2r7qLm1fdZe2r7pL21fdte2r7tr2VXdt+6q7tn3VXdu+6q5tX3XXtq+6a9tX3bXtq+7a9lU3tn3VjW1fdWPbV93Y9lU3tn3VjW1fdWPbV93Y9lU3tn3VjW1fdVPbV93U9lU3tX3VTW1fdVPbV93U9lU3tX3VTW1fdVPbV93U9lX3zqMoGjr+tq+7dx5y0dDxt33lvey78eNv+9p75/ElDR1/21ffOw9Gaej4G7/+usavv67x669r/PrrGr/+usavv67x669r/PrrGr/+usavv67x669v/PrrG7/++savv77x62+BR4zVPf7Gr7++8euvb/z66xu//vrGr7+h8etvaPz6Gxq//obGr7+NP77KNf78Ktf4A6xc40+wco0/wso1/gwr1/hDrFzjT7FyjT/GyjX+HCvX+IOsXONPsnKNP8rKNf4sK9f4w6xc40+zco0/zso1/jwr1/gDrVzjT7RyjT/SyjX+TCvX+EOtXONPtXKNP9bKNf5cK9f4g61c40+2co0/2so1/mwr1/jDrVzjT7dyjT/eyjX+fCvX+AOuXONPuHKNP+LKNf6MK9f4Q65c40+5co0/5so1/pwr1/iDrlzjT7pyjT/qyjX+rCvX+MOuXONPu3KNP+7KNf68K9f4A69c40+8co0/8so1/swr1/hDr1zjT71yjT/2yjX+3CvX+IOvXONPvnKNP/rKNf7sK9f4w6/cJ55+5ebM8c/z/h3Tc5x+283Hrf3lluevrb273fotpo8/OwW3/ex0m83h1kvcT/cmGXf4Ndq2bD/Yov9t2z2aOGg0IW59nKd4HE0imuNo/CceCDZsNI5o7kXjieZeNIFo7kVjRHMvmplo7kWzEM29aEZdDX8iGlbDd6NhNXwvGsdq+G40Xa2G17BH45+P5vWrYbM9mjRnTtaHadq2Drd2Z7meQWj+DKz5M5ibP4Ol+TNYmz+D2PwZpNbPwE/Nn4Fr/gyavyb75q/Jn3jYoPoZNH9N9s1fk33z12Tf/DXZN39NDs1fk0Pz1+TQ/DU5qF8PrluHZT48A/XrQf4MxP8WmW0iytuyHJ2Bif8t+sQZiP8t+sQZiP8t+sQZiM8HltZt6zmst2dw4FiD2446BH+1t+t6PV0b63TFrzSlT1f8slT6dMVnmtKnKz4AlT5d9RVK2dOd1ZczXzrdEPbTteXwdNXXPoVPV32hVPh0u1pV5U/XxjrdrlZV+dPtalWVP92uVlX7Bz5CWO3wdLtaVeVPt6tVVfZ0l65WVfnT7WpVlT/drlZV+dPtalWVP13r9HRvPnp4e7pdraryp9vVqip/uj2tquy6iLTjReTS06rqE6fb06oqf7prT6uqT5xuT6uqT5xuT6uqT5xuT6uqT5yu9XS6837dteVwEbn2tKr6xOn2tKr6xOl2tarKn25Xq6r86Xa1qsqebuxqVZU/3a5WVWvaTzcdDoCxq1VV/nS7WlXlT9fGOt2uVlX50+1qVZU/3a5WVfnT7WpVdT3deZoOT7erVVX2dFNXq6r86fa0qpqvi8j5eBGZelpVfeJ0e1pVfeJ0bazT7WlV9YnT7WlV9YnT7WlV9YnT7WlVNS/X6+7x/d3U06oqe7ph6mlV9YnT7WpVlT/drlZV+dPtalWVP10b63S7WlXtG4fFTYen29WqKn+6Xa2q8qfb1aoqf7pdraqyp+u6WlXlT7erVVX+dLtaVd2ebjw83a5WVfnTtbFOt6dV1bJcTzce/+72tKr6xOn2tKr6xOn2tKr6xOn2tKrKn676g2RLn25Pq6pPnG5Pq6olzvvppnR4uj2tqj5xujbW6Xa1qsqfblerqvzpdrWqyp9uV6uq/On2tKpa3fajw+oPB0D1RwGXPt2eVlWfON2eVlWfON2eVlWfOF0b63R7WlV94nR7WlXdnm5YDk+3p1XVJ063p1VV/nTVHwKTfdJ6UH+uyyfOoPWn3Qf1p6984gzUf+2n65PWp3R4BurzUfYM5B97kj8D9Skmfwbqg0n+DNRnjfwZqF+T4/UbaFI8PAP1a3L+DNSvyfkzUL8m589A/RvJ8meg/o1k2TNQf2jGJ85A/RvJ8meg/o1k+TNQ/5bQ/Bk0f01Wf6bEJ86g+Wuy+pMfPnEGzV+T1Z/PkD8D9UcufOIMmr8mqz8Y4RNn0Pw1Wf3xBQ/O4PKP5W3TJS1/OH67qDn/68W2hOueLP08/cvLjt92mX+Z+97L/PdeFr74ssu/1rct43wJ5nDFMq+bP1mW6wcS3ex+vjj+fPEa/nD84Rfbcc/O3ezZvx3wz5f5770sfO9l9r2Xzd972fK9lx0uWma33Yea5/jbyw5+y6Z1+5V0U7z5vbn8Dm07ia/YSXrBTo5/L0vvxL1iJ/4VOwmv2Ik9v5M07Tu5eYPa7U7mV+xkecVO1lfsJL5iJ+kFOwnTK3by/G+8298N4JwPhzvxr9hJeMVO7BU7mV+xk+UVO1lfsZNYdCfBHe4kvWAnNr1iJwV+4+frTpZDJuZfsZPwip3YK3Yyv2Inyyt2sp66k8u/0tu2abE/HJ6OX7ZFm19vLnj2Phy/PanhHz/C5X/6w3ws7C4OaZ8hb9Z8IV5ef/nn//njf/7pj//25//42+Ulb//r//7Lv//9T3/9y69//v3//q/3/+Wy8f8H"}],"outputs":{"globals":{"notes":[{"fields":[{"kind":"integer","sign":false,"value":"00000000000000000000000000000000000000000000000000000000906cb9c3"},{"kind":"string","value":"EcdsaPublicKeyNote"}],"kind":"tuple"}],"storage":[{"fields":[{"name":"public_key","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"0000000000000000000000000000000000000000000000000000000000000001"}}],"kind":"struct"}}],"kind":"struct"}]},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"}},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"}}],"kind":"struct","path":"EcdsaRAccount::entrypoint_parameters"}}],"kind":"struct","path":"EcdsaRAccount::entrypoint_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"signing_pub_key_x","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}}},{"name":"signing_pub_key_y","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}}}],"kind":"struct","path":"EcdsaRAccount::constructor_parameters"}}],"kind":"struct","path":"EcdsaRAccount::constructor_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"inner_hash","type":{"kind":"field"}}],"kind":"struct","path":"EcdsaRAccount::verify_private_authwit_parameters"}},{"name":"return_type","type":{"kind":"field"}}],"kind":"struct","path":"EcdsaRAccount::verify_private_authwit_abi"}]}},"file_map":{"101":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/unconstrained_context.nr","source":"use dep::protocol_types::{address::AztecAddress, traits::Deserialize};\nuse crate::oracle::{\n execution::{get_chain_id, get_version, get_contract_address, get_block_number},\n storage::{raw_storage_read, storage_read}\n};\n\nstruct UnconstrainedContext {\n block_number: u32,\n contract_address: AztecAddress,\n version: Field,\n chain_id: Field,\n}\n\nimpl UnconstrainedContext {\n unconstrained fn new() -> Self {\n // We could call these oracles on the getters instead of at creation, which makes sense given that they might\n // not even be accessed. However any performance gains are minimal, and we'd rather fail early if a user\n // incorrectly attempts to create an UnconstrainedContext in an environment in which these oracles are not\n // available.\n let block_number = get_block_number();\n let contract_address = get_contract_address();\n let chain_id = get_chain_id();\n let version = get_version();\n Self { block_number, contract_address, version, chain_id }\n }\n\n unconstrained fn at(contract_address: AztecAddress) -> Self {\n let block_number = get_block_number();\n let chain_id = get_chain_id();\n let version = get_version();\n Self { block_number, contract_address, version, chain_id }\n }\n\n unconstrained fn at_historical(contract_address: AztecAddress, block_number: u32) -> Self {\n let chain_id = get_chain_id();\n let version = get_version();\n Self { block_number, contract_address, version, chain_id }\n }\n\n fn block_number(self) -> u32 {\n self.block_number\n }\n\n fn this_address(self) -> AztecAddress {\n self.contract_address\n }\n\n fn version(self) -> Field {\n self.version\n }\n\n fn chain_id(self) -> Field {\n self.chain_id\n }\n\n unconstrained fn raw_storage_read<let N: u32>(self: Self, storage_slot: Field) -> [Field; N] {\n storage_read(self.this_address(), storage_slot, self.block_number())\n }\n\n unconstrained fn storage_read<T, let N: u32>(\n self,\n storage_slot: Field\n ) -> T where T: Deserialize<N> {\n T::deserialize(self.raw_storage_read(storage_slot))\n }\n}\n"},"107":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest, public_call_stack_item::PublicCallStackItem,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() });\n }\n\n fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let (end_side_effect_counter, returns_hash) = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"},"115":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/payload.nr","source":"use dep::protocol_types::{address::AztecAddress, scalar::Scalar, point::Point};\nuse std::{\n embedded_curve_ops::fixed_base_scalar_mul as derive_public_key,\n hash::from_field_unsafe as fr_to_fq_unsafe, field::bn254::decompose\n};\n\nuse crate::{\n event::event_interface::EventInterface, oracle::unsafe_rand::unsafe_rand,\n utils::point::point_to_bytes, note::note_interface::NoteInterface,\n encrypted_logs::{\n header::EncryptedLogHeader, incoming_body::EncryptedLogIncomingBody,\n outgoing_body::EncryptedLogOutgoingBody\n},\n keys::public_keys::{OvpkM, IvpkM}\n};\n\npub fn compute_encrypted_event_log<Event, let NB: u32, let MB: u32, let OB: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n ovsk_app: Field,\n ovpk: OvpkM,\n ivpk: IvpkM,\n recipient: AztecAddress,\n event: Event\n) -> [u8; OB] where Event: EventInterface<NB, MB> {\n let (eph_sk, eph_pk) = generate_ephemeral_key_pair();\n\n let header = EncryptedLogHeader::new(contract_address);\n\n let incoming_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ivpk);\n let outgoing_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ovpk);\n let incoming_body_ciphertext = EncryptedLogIncomingBody::from_event(event, randomness).compute_ciphertext(eph_sk, ivpk);\n let outgoing_body_ciphertext: [u8; 144] = EncryptedLogOutgoingBody::new(eph_sk, recipient, ivpk).compute_ciphertext(fr_to_fq(ovsk_app), eph_pk);\n\n let mut encrypted_bytes: [u8; OB] = [0; OB];\n // @todo We ignore the tags for now\n\n let eph_pk_bytes = point_to_bytes(eph_pk);\n for i in 0..32 {\n encrypted_bytes[64 + i] = eph_pk_bytes[i];\n }\n for i in 0..48 {\n encrypted_bytes[96 + i] = incoming_header_ciphertext[i];\n encrypted_bytes[144 + i] = outgoing_header_ciphertext[i];\n }\n for i in 0..144 {\n encrypted_bytes[192 + i] = outgoing_body_ciphertext[i];\n }\n // Then we fill in the rest as the incoming body ciphertext\n let size = OB - 336;\n assert_eq(size, incoming_body_ciphertext.len(), \"ciphertext length mismatch\");\n for i in 0..size {\n encrypted_bytes[336 + i] = incoming_body_ciphertext[i];\n }\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (32 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (144 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding)\n encrypted_bytes\n}\n\npub fn compute_encrypted_note_log<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: OvpkM,\n ivpk: IvpkM,\n recipient: AztecAddress,\n note: Note\n) -> [u8; M] where Note: NoteInterface<N, NB> {\n let (eph_sk, eph_pk) = generate_ephemeral_key_pair();\n\n let header = EncryptedLogHeader::new(contract_address);\n\n let incoming_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ivpk);\n let outgoing_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ovpk);\n let incoming_body_ciphertext = EncryptedLogIncomingBody::from_note(note, storage_slot).compute_ciphertext(eph_sk, ivpk);\n let outgoing_body_ciphertext: [u8; 144] = EncryptedLogOutgoingBody::new(eph_sk, recipient, ivpk).compute_ciphertext(fr_to_fq(ovsk_app), eph_pk);\n\n let mut encrypted_bytes: [u8; M] = [0; M];\n // @todo We ignore the tags for now\n\n let eph_pk_bytes = point_to_bytes(eph_pk);\n for i in 0..32 {\n encrypted_bytes[64 + i] = eph_pk_bytes[i];\n }\n for i in 0..48 {\n encrypted_bytes[96 + i] = incoming_header_ciphertext[i];\n encrypted_bytes[144 + i] = outgoing_header_ciphertext[i];\n }\n for i in 0..144 {\n encrypted_bytes[192 + i] = outgoing_body_ciphertext[i];\n }\n // Then we fill in the rest as the incoming body ciphertext\n let size = M - 336;\n assert_eq(size, incoming_body_ciphertext.len(), \"ciphertext length mismatch\");\n for i in 0..size {\n encrypted_bytes[336 + i] = incoming_body_ciphertext[i];\n }\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (32 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (144 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding)\n encrypted_bytes\n}\n\n/// Converts a base field element to scalar field element.\n/// This is fine because modulus of the base field is smaller than the modulus of the scalar field.\nfn fr_to_fq(r: Field) -> Scalar {\n let (lo, hi) = decompose(r);\n\n Scalar { lo, hi }\n}\n\nfn generate_ephemeral_key_pair() -> (Scalar, Point) {\n // @todo Need to draw randomness from the full domain of Fq not only Fr\n // We use the unsafe version of `fr_to_fq` because multi_scalar_mul (called by derive_public_key) will constrain\n // the scalars.\n let eph_sk = fr_to_fq_unsafe(unsafe_rand());\n let eph_pk = derive_public_key(eph_sk);\n\n (eph_sk, eph_pk)\n}\n\nmod test {\n use crate::{\n encrypted_logs::payload::compute_encrypted_note_log, keys::public_keys::{OvpkM, IvpkM},\n test::mocks::mock_note::MockNoteBuilder\n };\n use dep::protocol_types::{address::AztecAddress, point::Point};\n use std::test::OracleMock;\n\n #[test]\n fn test_encrypted_note_log_matches_typescript() {\n // All the values in this test were copied over from `tagged_log.test.ts`\n let contract_address = AztecAddress::from_field(0x10f48cd9eff7ae5b209c557c70de2e657ee79166868676b787e9417e19260e04);\n let storage_slot = 0x0fe46be583b71f4ab5b70c2657ff1d05cccf1d292a9369628d1a194f944e6599;\n let ovsk_app = 0x03a6513d6def49f41d20373d2cec894c23e7492794b08fc50c0e8a1bd2512612;\n let ovpk_m = OvpkM {\n inner: Point {\n x: 0x1961448682803198631f299340e4206bb12809d4bebbf012b30f59af73ba1a15,\n y: 0x133674060c3925142aceb4f1dcd9f9137d0217d37ff8729ee5ceaa6e2790353d,\n is_infinite: false\n }\n };\n let ivpk_m = IvpkM {\n inner: Point {\n x: 0x260cd3904f6df16e974c29944fdc839e40fb5cf293f03df2eb370851d3a527bc,\n y: 0x0eef2964fe6640e84c82b5d2915892409b38e9e25d39f68dd79edb725c55387f,\n is_infinite: false\n }\n };\n\n let note_value = 0x301640ceea758391b2e161c92c0513f129020f4125256afdae2646ce31099f5c;\n let note = MockNoteBuilder::new(note_value).contract_address(contract_address).storage_slot(storage_slot).build();\n\n let eph_sk = 0x1358d15019d4639393d62b97e1588c095957ce74a1c32d6ec7d62fe6705d9538;\n let _ = OracleMock::mock(\"getRandomField\").returns(eph_sk);\n\n let recipient = AztecAddress::from_field(0x10ee41ee4b62703b16f61e03cb0d88c4b306a9eb4a6ceeb2aff13428541689a2);\n\n let log: [u8; 448] = compute_encrypted_note_log(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n note\n );\n\n // The following value was generated by `tagged_log.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let encrypted_note_log_from_typescript = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 70, 12, 14, 67, 77, 132, 110, 193, 234, 40, 110, 64, 144, 235, 86, 55, 111, 242, 123, 221, 193, 170, 202, 225, 216, 86, 84, 159, 112, 31, 167, 126, 79, 51, 186, 47, 71, 253, 172, 99, 112, 241, 59, 197, 241, 107, 186, 232, 87, 187, 230, 171, 62, 228, 234, 42, 51, 145, 146, 238, 242, 42, 71, 206, 13, 244, 66, 111, 195, 20, 203, 98, 148, 204, 242, 145, 183, 156, 29, 141, 54, 44, 220, 194, 35, 229, 16, 32, 204, 211, 49, 142, 112, 82, 202, 116, 241, 254, 146, 42, 217, 20, 189, 70, 228, 182, 171, 205, 104, 27, 99, 171, 28, 91, 244, 21, 30, 130, 240, 5, 72, 174, 124, 97, 197, 157, 248, 193, 23, 193, 76, 46, 141, 144, 70, 211, 45, 67, 167, 218, 129, 140, 104, 190, 41, 110, 249, 209, 68, 106, 135, 164, 80, 235, 63, 101, 80, 32, 13, 38, 99, 145, 91, 11, 173, 151, 231, 247, 65, 153, 117, 229, 167, 64, 239, 182, 126, 235, 83, 4, 169, 8, 8, 160, 4, 235, 252, 21, 96, 84, 161, 69, 145, 145, 215, 254, 161, 117, 246, 198, 65, 89, 179, 194, 90, 19, 121, 12, 202, 114, 80, 195, 14, 60, 128, 105, 142, 100, 86, 90, 108, 157, 219, 22, 172, 20, 121, 195, 25, 159, 236, 2, 70, 75, 42, 37, 34, 2, 17, 149, 20, 176, 32, 18, 204, 56, 117, 121, 34, 15, 3, 88, 123, 64, 68, 74, 233, 63, 59, 131, 222, 194, 192, 167, 110, 217, 10, 128, 73, 129, 172, 205, 103, 212, 60, 151, 141, 10, 151, 222, 151, 180, 43, 91, 148, 201, 110, 165, 10, 238, 32, 134, 235, 99, 216, 200, 182, 31, 22, 156, 18, 209, 222, 172, 239, 193, 212, 86, 99, 62, 70, 182, 45, 175, 241, 91, 202, 179, 225, 236, 95, 71, 66, 151, 225, 203, 53, 216, 85, 102, 130, 6, 8, 25, 180, 86, 58, 140, 198, 105, 102, 177, 42, 94, 115, 247, 145, 147, 24, 231, 39, 73, 27, 10, 219, 130, 115, 188, 74, 114, 5, 177, 199, 83, 183, 106, 87, 204, 238, 231, 72, 45, 240, 39, 174, 25, 98, 53, 187, 156, 159, 244, 38\n ];\n for i in 0..encrypted_note_log_from_typescript.len() {\n assert_eq(log[i], encrypted_note_log_from_typescript[i]);\n }\n assert_eq(encrypted_note_log_from_typescript.len(), log.len());\n }\n}\n"},"116":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/encrypted_note_emission.nr","source":"use crate::{\n context::PrivateContext, note::{note_emission::NoteEmission, note_interface::NoteInterface},\n keys::{getters::get_current_public_keys, public_keys::{OvpkM, IvpkM}},\n encrypted_logs::payload::compute_encrypted_note_log, oracle::logs_traits::LensForEncryptedLog\n};\nuse dep::protocol_types::{\n hash::sha256_to_field, address::AztecAddress, point::Point, abis::note_hash::NoteHash,\n constants::MAX_NOTE_HASHES_PER_CALL\n};\n\nunconstrained fn compute_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: OvpkM,\n ivpk: IvpkM,\n recipient: AztecAddress,\n note: Note\n) -> ([u8; M], Field) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n compute(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n )\n}\n\nfn compute<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: OvpkM,\n ivpk: IvpkM,\n recipient: AztecAddress,\n note: Note\n) -> ([u8; M], Field) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let encrypted_log: [u8; M] = compute_encrypted_note_log(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n );\n let log_hash = sha256_to_field(encrypted_log);\n (encrypted_log, log_hash)\n}\n\nfn emit_with_keys<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n note: Note,\n ovpk: OvpkM,\n ivpk: IvpkM,\n recipient: AztecAddress,\n inner_compute: fn(AztecAddress, Field, Field, OvpkM, IvpkM, AztecAddress, Note) -> ([u8; M], Field)\n) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let note_header = note.get_header();\n let note_hash_counter = note_header.note_hash_counter;\n let storage_slot = note_header.storage_slot;\n\n let note_exists = context.note_hashes.storage.any(|n: NoteHash| n.counter == note_hash_counter);\n assert(note_exists, \"Can only emit a note log for an existing note.\");\n\n let contract_address: AztecAddress = context.this_address();\n let ovsk_app: Field = context.request_ovsk_app(ovpk.hash());\n\n let (encrypted_log, log_hash) = inner_compute(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n );\n\n context.emit_raw_note_log(note_hash_counter, encrypted_log, log_hash);\n}\n\npub fn encode_and_encrypt_note<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ov: AztecAddress,\n iv: AztecAddress\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n let ovpk = get_current_public_keys(context, ov).ovpk_m;\n let ivpk = get_current_public_keys(context, iv).ivpk_m;\n emit_with_keys(context, e.note, ovpk, ivpk, iv, compute);\n }\n}\n\npub fn encode_and_encrypt_note_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ov: AztecAddress,\n iv: AztecAddress\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n let ovpk = get_current_public_keys(context, ov).ovpk_m;\n let ivpk = get_current_public_keys(context, iv).ivpk_m;\n emit_with_keys(context, e.note, ovpk, ivpk, iv, compute_unconstrained);\n }\n}\n\npub fn encode_and_encrypt_note_with_keys<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ovpk: OvpkM,\n ivpk: IvpkM,\n recipient: AztecAddress\n) -> fn[(&mut PrivateContext, OvpkM, IvpkM, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n emit_with_keys(context, e.note, ovpk, ivpk, recipient, compute);\n }\n}\n\npub fn encode_and_encrypt_note_with_keys_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ovpk: OvpkM,\n ivpk: IvpkM,\n recipient: AztecAddress\n) -> fn[(&mut PrivateContext, OvpkM, IvpkM, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n emit_with_keys(context, e.note, ovpk, ivpk, recipient, compute_unconstrained);\n }\n}\n"},"117":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/outgoing_body.nr","source":"use dep::protocol_types::{\n address::AztecAddress, scalar::Scalar, point::Point, constants::GENERATOR_INDEX__SYMMETRIC_KEY,\n hash::poseidon2_hash_with_separator\n};\nuse std::aes128::aes128_encrypt;\n\nuse crate::{keys::public_keys::IvpkM, utils::point::point_to_bytes};\n\nstruct EncryptedLogOutgoingBody {\n eph_sk: Scalar,\n recipient: AztecAddress,\n recipient_ivpk: IvpkM,\n}\n\nimpl EncryptedLogOutgoingBody {\n pub fn new(eph_sk: Scalar, recipient: AztecAddress, recipient_ivpk: IvpkM) -> Self {\n Self { eph_sk, recipient, recipient_ivpk }\n }\n\n /// Encrypts ephemeral secret key and recipient's ivpk --> with this information the recipient of outgoing will\n /// be able to derive the key with which the incoming log can be decrypted.\n pub fn compute_ciphertext(self, ovsk_app: Scalar, eph_pk: Point) -> [u8; 144] {\n // Again, we could compute `eph_pk` here, but we keep the interface more similar\n // and also make it easier to optimise it later as we just pass it along\n\n let mut buffer = [0 as u8; 128];\n\n let serialized_eph_sk_high = self.eph_sk.hi.to_be_bytes(32);\n let serialized_eph_sk_low = self.eph_sk.lo.to_be_bytes(32);\n\n let address_bytes = self.recipient.to_field().to_be_bytes(32);\n let serialized_recipient_ivpk = point_to_bytes(self.recipient_ivpk.to_point());\n\n for i in 0..32 {\n buffer[i] = serialized_eph_sk_high[i];\n buffer[i + 32] = serialized_eph_sk_low[i];\n buffer[i + 64] = address_bytes[i];\n }\n for i in 0..32 {\n buffer[i + 96] = serialized_recipient_ivpk[i];\n }\n\n // We compute the symmetric key using poseidon.\n let full_key: [u8; 32] = poseidon2_hash_with_separator(\n [ovsk_app.hi, ovsk_app.lo, eph_pk.x, eph_pk.y],\n GENERATOR_INDEX__SYMMETRIC_KEY as Field\n ).to_be_bytes(32).as_array();\n\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(buffer, iv, sym_key).as_array()\n }\n}\n\nmod test {\n use crate::{encrypted_logs::outgoing_body::EncryptedLogOutgoingBody, keys::public_keys::IvpkM};\n use dep::protocol_types::{\n address::AztecAddress, traits::Empty, constants::GENERATOR_INDEX__NOTE_NULLIFIER,\n scalar::Scalar, point::Point, hash::poseidon2_hash_with_separator\n };\n use std::embedded_curve_ops::fixed_base_scalar_mul as derive_public_key;\n\n use crate::context::PrivateContext;\n\n #[test]\n fn test_encrypted_log_outgoing_body_matches_typescript() {\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000d0d302ee245dfaf2807e604eec4715fe,\n hi: 0x000000000000000000000000000000000f096b423017226a18461115fa8d34bb\n };\n let recipient_ivsk = Scalar {\n lo: 0x000000000000000000000000000000004828f8f95676ebb481df163f87fd4022,\n hi: 0x000000000000000000000000000000000f4d97c25d578f9348251a71ca17ae31\n };\n let sender_ovsk_app = Scalar {\n lo: 0x0000000000000000000000000000000074d2e28c6bc5176ac02cf7c7d36a444e,\n hi: 0x00000000000000000000000000000000089c6887cb1446d86c64e81afc78048b\n };\n\n let eph_pk = derive_public_key(eph_sk);\n let recipient_ivpk = IvpkM { inner: derive_public_key(recipient_ivsk) };\n\n let recipient = AztecAddress::from_field(0xdeadbeef);\n\n let body = EncryptedLogOutgoingBody::new(eph_sk, recipient, recipient_ivpk);\n\n let ciphertext = body.compute_ciphertext(sender_ovsk_app, eph_pk);\n\n // The following value was generated by `encrypted_log_outgoing_body.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let outgoing_body_ciphertext_from_typescript = [\n 127, 182, 227, 75, 192, 197, 54, 47, 168, 134, 233, 148, 251, 46, 86, 12, 73, 50, 238, 50, 31, 174, 27, 202, 110, 77, 161, 197, 244, 124, 17, 100, 143, 150, 232, 14, 156, 248, 43, 177, 16, 82, 244, 103, 88, 74, 84, 200, 15, 65, 187, 14, 163, 60, 91, 22, 104, 31, 211, 190, 124, 121, 79, 92, 239, 65, 185, 106, 51, 178, 168, 137, 84, 43, 79, 158, 151, 152, 83, 42, 170, 13, 106, 209, 254, 74, 39, 145, 73, 215, 17, 234, 196, 89, 30, 58, 120, 127, 88, 69, 121, 61, 18, 206, 89, 118, 243, 238, 177, 71, 73, 47, 147, 4, 155, 25, 173, 248, 206, 52, 17, 180, 122, 186, 106, 191, 252, 102, 197, 91, 16, 39, 94, 91, 224, 30, 168, 177, 26, 144, 5, 124, 128, 6\n ];\n\n for i in 0..outgoing_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], outgoing_body_ciphertext_from_typescript[i]);\n }\n assert_eq(outgoing_body_ciphertext_from_typescript.len(), ciphertext.len());\n }\n}\n"},"118":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/header.nr","source":"use dep::protocol_types::{address::AztecAddress, scalar::Scalar, point::Point};\n\nuse crate::keys::{point_to_symmetric_key::point_to_symmetric_key, public_keys::ToPoint};\n\nuse std::aes128::aes128_encrypt;\n\nstruct EncryptedLogHeader {\n address: AztecAddress,\n}\n\nimpl EncryptedLogHeader {\n fn new(address: AztecAddress) -> Self {\n EncryptedLogHeader { address }\n }\n\n fn compute_ciphertext<T>(self, secret: Scalar, pk: T) -> [u8; 48] where T: ToPoint {\n let full_key = point_to_symmetric_key(secret, pk.to_point());\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n\n let input: [u8; 32] = self.address.to_field().to_be_bytes(32).as_array();\n aes128_encrypt(input, iv, sym_key).as_array()\n }\n}\n\n#[test]\nfn test_encrypted_log_header_matches_noir() {\n let address = AztecAddress::from_field(0xdeadbeef);\n let header = EncryptedLogHeader::new(address);\n let secret = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n let point = crate::keys::public_keys::IvpkM {\n inner: Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n }\n };\n\n let ciphertext = header.compute_ciphertext(secret, point);\n\n // The following value was generated by `encrypted_log_header.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let expected_header_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 194, 44, 7, 131, 160, 83, 64, 181, 98, 38, 153, 214, 62, 171, 253, 161, 111, 191, 28, 247, 216, 26, 222, 171, 176, 218, 48, 209, 73, 89, 200, 209\n ];\n\n assert_eq(ciphertext, expected_header_ciphertext_from_typescript);\n}\n"},"119":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/incoming_body.nr","source":"use crate::note::note_interface::NoteInterface;\nuse crate::event::event_interface::EventInterface;\nuse dep::protocol_types::{scalar::Scalar, point::Point};\n\nuse std::aes128::aes128_encrypt;\nuse crate::keys::{point_to_symmetric_key::point_to_symmetric_key, public_keys::IvpkM};\n\nstruct EncryptedLogIncomingBody<let M: u32> {\n plaintext: [u8; M]\n}\n\nimpl<let M: u32> EncryptedLogIncomingBody<M> {\n pub fn from_note<T, let N: u32>(note: T, storage_slot: Field) -> Self where T: NoteInterface<N, M> {\n let mut plaintext = note.to_be_bytes(storage_slot);\n EncryptedLogIncomingBody { plaintext }\n }\n\n pub fn from_event<T, let MR: u32>(\n event: T,\n randomness: Field\n ) -> Self where T: EventInterface<M, MR> {\n let mut plaintext = event.private_to_be_bytes(randomness);\n EncryptedLogIncomingBody { plaintext }\n }\n\n pub fn compute_ciphertext(self, eph_sk: Scalar, ivpk: IvpkM) -> [u8] {\n let full_key = point_to_symmetric_key(eph_sk, ivpk.to_point());\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(self.plaintext, iv, sym_key)\n }\n}\n\nmod test {\n use dep::protocol_types::{\n address::AztecAddress, scalar::Scalar, point::Point, traits::Serialize,\n abis::event_selector::EventSelector\n };\n\n use crate::{\n note::{note_header::NoteHeader, note_interface::NoteInterface},\n encrypted_logs::incoming_body::EncryptedLogIncomingBody, event::event_interface::EventInterface,\n context::PrivateContext, keys::public_keys::IvpkM\n };\n\n struct AddressNote {\n address: AztecAddress,\n owner: AztecAddress,\n randomness: Field,\n header: NoteHeader,\n }\n\n global ADDRESS_NOTE_LEN: Field = 3;\n global ADDRESS_NOTE_BYTES_LEN = 32 * 3 + 64;\n\n impl NoteInterface<ADDRESS_NOTE_LEN, ADDRESS_NOTE_BYTES_LEN> for AddressNote {\n fn compute_note_hiding_point(self) -> Point {\n crate::generators::Ga1\n }\n\n fn get_note_type_id() -> Field {\n 1\n }\n\n fn get_header(self) -> NoteHeader { self.header}\n\n fn set_header(&mut self, header: NoteHeader) {self.header = header; }\n\n fn compute_nullifier(_self: Self, _context: &mut PrivateContext, _note_hash_for_nullify: Field) -> Field {\n 1\n }\n\n fn compute_nullifier_without_context(_self: Self) -> Field {\n 1\n }\n\n fn serialize_content(self) -> [Field; ADDRESS_NOTE_LEN] { [self.address.to_field(), self.owner.to_field(), self.randomness]}\n\n fn deserialize_content(fields: [Field; ADDRESS_NOTE_LEN]) -> Self {\n AddressNote { address: AztecAddress::from_field(fields[0]), owner: AztecAddress::from_field(fields[1]), randomness: fields[2], header: NoteHeader::empty() }\n }\n\n fn to_be_bytes(self, storage_slot: Field) -> [u8; ADDRESS_NOTE_BYTES_LEN] {\n let serialized_note = self.serialize_content();\n\n let mut buffer: [u8; ADDRESS_NOTE_BYTES_LEN] = [0; ADDRESS_NOTE_BYTES_LEN];\n\n let storage_slot_bytes = storage_slot.to_be_bytes(32);\n let note_type_id_bytes = AddressNote::get_note_type_id().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = storage_slot_bytes[i];\n buffer[32 + i] = note_type_id_bytes[i];\n }\n\n for i in 0..serialized_note.len() {\n let bytes = serialized_note[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[64 + i * 32 + j] = bytes[j];\n }\n }\n buffer\n }\n }\n\n impl AddressNote {\n pub fn new(address: AztecAddress, owner: AztecAddress, randomness: Field) -> Self {\n AddressNote { address, owner, randomness, header: NoteHeader::empty() }\n }\n }\n\n #[test]\n fn test_encrypted_note_log_incoming_body_matches_typescript() {\n // All the values in this test were copied over from `encrypted_note_log_incoming_body.test.ts`\n let note = AddressNote::new(\n AztecAddress::from_field(0x1),\n AztecAddress::from_field(0x2),\n 3\n );\n\n let storage_slot = 2;\n\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n let ivpk = IvpkM {\n inner: Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n }\n };\n\n /// 1. `EncryptedLogIncomingBody::from_note` calls `note.to_be_bytes(storage_slot)` function which serializes\n /// the note to bytes - note that in the case of `AddressNote` the `to_be_bytes` function was automatically\n /// implemented by Aztec macros.\n let body = EncryptedLogIncomingBody::from_note(note, storage_slot);\n\n /// 2. `body.compute_ciphertext(...)` function then derives symmetric key from `eph_sk` and `ivpk` and encrypts\n // the note plaintext using AES-128.\n let ciphertext = body.compute_ciphertext(eph_sk, ivpk);\n\n // The following value was generated by `encrypted_note_log_incoming_body.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let note_body_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 147, 228, 160, 190, 146, 61, 95, 203, 124, 153, 68, 168, 17, 150, 92, 0, 99, 214, 85, 64, 191, 78, 157, 131, 149, 96, 236, 253, 96, 172, 157, 30, 27, 176, 228, 74, 242, 190, 138, 48, 33, 93, 46, 37, 223, 130, 25, 245, 188, 163, 159, 223, 187, 24, 139, 206, 131, 154, 159, 130, 37, 17, 158, 114, 242, 141, 124, 193, 232, 54, 146, 96, 145, 100, 125, 234, 57, 43, 95, 115, 183, 39, 121, 232, 134, 229, 148, 25, 46, 77, 87, 127, 95, 7, 77, 188, 37, 234, 245, 142, 232, 87, 252, 28, 67, 67, 90, 214, 254, 89, 47, 68, 66, 187, 227, 8, 59, 162, 25, 141, 97, 141, 217, 197, 115, 15, 212, 202, 157, 41, 150, 62, 219, 57, 224, 92, 185, 212, 142, 94, 146, 41, 178, 145, 68, 169, 23, 185, 206, 138, 70, 47, 176, 210, 165, 236, 23, 206, 229, 108\n ];\n\n assert_eq(note_body_ciphertext_from_typescript.len(), ciphertext.len());\n\n for i in 0..note_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], note_body_ciphertext_from_typescript[i]);\n }\n }\n\n struct TestEvent {\n value0: Field,\n value1: Field,\n value2: Field,\n }\n\n impl Serialize<3> for TestEvent {\n fn serialize(self) -> [Field; 3] {\n [self.value0, self.value1, self.value2]\n }\n }\n\n global TEST_EVENT_LEN: Field = 3;\n global TEST_EVENT_BYTES_LEN = 32 * 3 + 64;\n global TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS = 32 * 3 + 32;\n\n impl EventInterface<TEST_EVENT_BYTES_LEN, TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS> for TestEvent {\n fn get_event_type_id() -> EventSelector {\n EventSelector::from_signature(\"TestEvent(Field,Field,Field)\")\n }\n\n fn private_to_be_bytes(self, randomness: Field) -> [u8; TEST_EVENT_BYTES_LEN] {\n let mut buffer: [u8; TEST_EVENT_BYTES_LEN] = [0; TEST_EVENT_BYTES_LEN];\n\n let randomness_bytes = randomness.to_be_bytes(32);\n let event_type_id_bytes = TestEvent::get_event_type_id().to_field().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = randomness_bytes[i];\n buffer[32 + i] = event_type_id_bytes[i];\n }\n\n let serialized_event = self.serialize();\n\n for i in 0..serialized_event.len() {\n let bytes = serialized_event[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[64 + i * 32 + j] = bytes[j];\n }\n }\n\n buffer\n }\n\n fn to_be_bytes(self) -> [u8; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS] {\n let mut buffer: [u8; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS] = [0; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS];\n\n let event_type_id_bytes = TestEvent::get_event_type_id().to_field().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = event_type_id_bytes[i];\n }\n\n let serialized_event = self.serialize();\n\n for i in 0..serialized_event.len() {\n let bytes = serialized_event[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[32 + i * 32 + j] = bytes[j];\n }\n }\n\n buffer\n }\n\n fn emit<Env>(self, _emit: fn[Env](Self) -> ()) {\n _emit(self);\n }\n }\n\n #[test]\n fn test_encrypted_log_event_incoming_body() {\n let test_event = TestEvent { value0: 1, value1: 2, value2: 3 };\n\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n\n let ivpk = IvpkM {\n inner: Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n }\n };\n\n let randomness = 2;\n\n let body = EncryptedLogIncomingBody::from_event(test_event, randomness);\n\n let ciphertext = body.compute_ciphertext(eph_sk, ivpk);\n\n // The following value was generated by `encrypted_event_log_incoming_body.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let event_body_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 147, 228, 160, 190, 146, 61, 95, 203, 124, 153, 68, 168, 17, 150, 92, 0, 99, 214, 85, 64, 191, 78, 157, 131, 149, 96, 236, 253, 96, 172, 157, 30, 185, 29, 14, 152, 216, 130, 219, 151, 80, 185, 43, 223, 167, 8, 89, 189, 88, 188, 101, 137, 255, 136, 84, 252, 79, 18, 52, 3, 110, 54, 54, 206, 244, 209, 246, 226, 207, 247, 143, 253, 211, 75, 160, 224, 172, 41, 45, 7, 208, 137, 90, 56, 59, 4, 234, 48, 53, 23, 130, 230, 49, 249, 142, 243, 170, 72, 183, 242, 49, 124, 46, 52, 198, 75, 55, 102, 56, 89, 254, 67, 59, 157, 249, 120, 184, 67, 154, 16, 148, 227, 93, 37, 120, 199, 93, 166, 80, 127, 173, 52, 80, 135, 87, 1, 168, 164, 51, 48, 126, 120, 47, 102, 211, 227, 234, 170, 208, 99, 111, 198, 170, 226, 156, 244, 241, 174, 206, 30\n ];\n\n assert_eq(event_body_ciphertext_from_typescript.len(), ciphertext.len());\n\n for i in 0..event_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], event_body_ciphertext_from_typescript[i]);\n }\n }\n}\n"},"123":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/note_getter/mod.nr","source":"use dep::protocol_types::{constants::{MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, GET_NOTES_ORACLE_RETURN_LENGTH}};\nuse crate::context::PrivateContext;\nuse crate::note::{\n constants::{GET_NOTE_ORACLE_RETURN_LENGTH, MAX_NOTES_PER_PAGE, VIEW_NOTE_ORACLE_RETURN_LENGTH},\n note_getter_options::{NoteGetterOptions, Select, Sort, SortOrder, Comparator, NoteStatus, PropertySelector},\n note_interface::NoteInterface, note_viewer_options::NoteViewerOptions,\n utils::compute_note_hash_for_read_request\n};\nuse crate::oracle;\n\nmod test;\n\nfn extract_property_value_from_selector<let N: u32>(\n serialized_note: [Field; N],\n selector: PropertySelector\n) -> Field {\n // Selectors use PropertySelectors in order to locate note properties inside the serialized note. \n // This allows easier packing and custom (de)serialization schemas. A note property is located\n // inside the serialized note using the index inside the array, a byte offset and a length.\n let value = serialized_note[selector.index].to_be_bytes(32);\n let offset = selector.offset;\n let length = selector.length;\n let mut value_field = 0 as Field;\n let mut acc: Field = 1;\n for i in 0..32 {\n if i < length {\n value_field += value[31 + offset - i] as Field * acc;\n acc = acc * 256;\n }\n }\n value_field\n}\n\nfn check_note_header<Note, let N: u32, let M: u32>(\n context: PrivateContext,\n storage_slot: Field,\n note: Note\n) where Note: NoteInterface<N, M> {\n let header = note.get_header();\n let contract_address = context.this_address();\n assert(header.contract_address.eq(contract_address), \"Mismatch note header contract address.\");\n assert(header.storage_slot == storage_slot, \"Mismatch note header storage slot.\");\n}\n\nfn check_note_fields<let N: u32>(\n serialized_note: [Field; N],\n selects: BoundedVec<Option<Select>, N>\n) {\n for i in 0..selects.len {\n let select = selects.get_unchecked(i).unwrap_unchecked();\n let value_field = extract_property_value_from_selector(serialized_note, select.property_selector);\n\n // Values are computed ahead of time because circuits evaluate all branches\n let is_equal = value_field == select.value.to_field();\n let is_lt = value_field.lt(select.value.to_field());\n\n if (select.comparator == Comparator.EQ) {\n assert(is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.NEQ) {\n assert(!is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LT) {\n assert(is_lt, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LTE) {\n assert(is_lt | is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GT) {\n assert(!is_lt & !is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GTE) {\n assert(!is_lt, \"Mismatch return note field.\");\n }\n }\n}\n\nfn check_notes_order<let N: u32>(\n fields_0: [Field; N],\n fields_1: [Field; N],\n sorts: BoundedVec<Option<Sort>, N>\n) {\n for i in 0..sorts.len {\n let sort = sorts.get_unchecked(i).unwrap_unchecked();\n let field_0 = extract_property_value_from_selector(fields_0, sort.property_selector);\n let field_1 = extract_property_value_from_selector(fields_1, sort.property_selector);\n let eq = field_0 == field_1;\n let lt = field_0.lt(field_1);\n if sort.order == SortOrder.ASC {\n assert(eq | lt, \"Return notes not sorted in ascending order.\");\n } else if !eq {\n assert(!lt, \"Return notes not sorted in descending order.\");\n }\n }\n}\n\npub fn get_note<Note, let N: u32, let M: u32>(\n context: &mut PrivateContext,\n storage_slot: Field\n) -> (Note, Field) where Note: NoteInterface<N, M> {\n let note = get_note_internal(storage_slot);\n\n check_note_header(*context, storage_slot, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n\n context.push_note_hash_read_request(note_hash_for_read_request);\n (note, note_hash_for_read_request)\n}\n\npub fn get_notes<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> (BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>) where Note: NoteInterface<N, M> + Eq {\n let opt_notes = get_notes_internal(storage_slot, options);\n\n constrain_get_notes_internal(context, storage_slot, opt_notes, options)\n}\n\nunconstrained fn apply_preprocessor<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS>(\n notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor: fn([Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL], PREPROCESSOR_ARGS) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor_args: PREPROCESSOR_ARGS\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] {\n preprocessor(notes, preprocessor_args)\n}\n\nfn constrain_get_notes_internal<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n opt_notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> (BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>) where Note: NoteInterface<N, M> + Eq {\n // The filter is applied first to avoid pushing note read requests for notes we're not interested in. Note that\n // while the filter function can technically mutate the contents of the notes (as opposed to simply removing some),\n // the private kernel will later validate that these note actually exist, so transformations would cause for that\n // check to fail.\n let filter_fn = options.filter;\n let filter_args = options.filter_args;\n let filtered_notes = filter_fn(opt_notes, filter_args);\n\n let notes = crate::utils::collapse(filtered_notes);\n let mut note_hashes: BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL> = BoundedVec::new();\n\n // We have now collapsed the sparse array of Options into a BoundedVec. This is a more ergonomic type and also\n // results in reduced gate counts when setting a limit value, since we guarantee that the limit is an upper bound\n // for the runtime length, and can therefore have fewer loop iterations.\n assert(notes.len() <= options.limit, \"Got more notes than limit.\");\n\n let mut prev_fields = [0; N];\n for i in 0..options.limit {\n if i < notes.len() {\n let note = notes.get_unchecked(i);\n let fields = note.serialize_content();\n check_note_header(*context, storage_slot, note);\n check_note_fields(fields, options.selects);\n if i != 0 {\n check_notes_order(prev_fields, fields, options.sorts);\n }\n prev_fields = fields;\n\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_note_hash_read_request(note_hash_for_read_request);\n note_hashes.push(note_hash_for_read_request);\n };\n }\n\n (notes, note_hashes)\n}\n\nunconstrained fn get_note_internal<Note, let N: u32, let M: u32>(storage_slot: Field) -> Note where Note: NoteInterface<N, M> {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n oracle::notes::get_notes(\n storage_slot,\n 0,\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n NoteStatus.ACTIVE,\n placeholder_note,\n placeholder_fields,\n placeholder_note_length\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] where Note: NoteInterface<N, M> {\n // This function simply performs some transformations from NoteGetterOptions into the types required by the oracle.\n\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length\n );\n\n apply_preprocessor(opt_notes, options.preprocessor, options.preprocessor_args)\n}\n\nunconstrained pub fn view_notes<Note, let N: u32, let M: u32>(\n storage_slot: Field,\n options: NoteViewerOptions<Note, N, M>\n) -> BoundedVec<Note, MAX_NOTES_PER_PAGE> where Note: NoteInterface<N, M> {\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n\n let notes_array = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length\n );\n\n let mut notes = BoundedVec::new();\n for i in 0..notes_array.len() {\n if notes_array[i].is_some() {\n notes.push(notes_array[i].unwrap_unchecked());\n }\n }\n\n notes\n}\n\nunconstrained fn flatten_options<Note, let N: u32>(\n selects: BoundedVec<Option<Select>, N>,\n sorts: BoundedVec<Option<Sort>, N>\n) -> (u8, [u8; N], [u8; N], [u8; N], [Field; N], [u8; N], [u8; N], [u8; N], [u8; N], [u8; N]) {\n let mut num_selects = 0;\n let mut select_by_indexes = [0; N];\n let mut select_by_offsets = [0; N];\n let mut select_by_lengths = [0; N];\n let mut select_values = [0; N];\n let mut select_comparators = [0; N];\n\n for i in 0..selects.len {\n let select = selects.get(i);\n if select.is_some() {\n select_by_indexes[num_selects] = select.unwrap_unchecked().property_selector.index;\n select_by_offsets[num_selects] = select.unwrap_unchecked().property_selector.offset;\n select_by_lengths[num_selects] = select.unwrap_unchecked().property_selector.length;\n select_values[num_selects] = select.unwrap_unchecked().value;\n select_comparators[num_selects] = select.unwrap_unchecked().comparator;\n num_selects += 1;\n };\n }\n\n let mut sort_by_indexes = [0; N];\n let mut sort_by_offsets = [0; N];\n let mut sort_by_lengths = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sorts.len {\n let sort = sorts.get(i);\n if sort.is_some() {\n sort_by_indexes[i] = sort.unwrap_unchecked().property_selector.index;\n sort_by_offsets[i] = sort.unwrap_unchecked().property_selector.offset;\n sort_by_lengths[i] = sort.unwrap_unchecked().property_selector.length;\n sort_order[i] = sort.unwrap_unchecked().order;\n };\n }\n\n (\n num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order\n )\n}\n"},"125":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/utils.nr","source":"use crate::{context::PrivateContext, note::{note_header::NoteHeader, note_interface::NoteInterface}};\n\nuse dep::protocol_types::{\n hash::{\n compute_unique_note_hash, compute_siloed_note_hash as compute_siloed_note_hash,\n compute_siloed_nullifier as compute_siloed_nullifier_from_preimage\n},\n utils::arr_copy_slice\n};\n\npub fn compute_siloed_nullifier<Note, let N: u32, let M: u32>(\n note_with_header: Note,\n context: &mut PrivateContext\n) -> Field where Note: NoteInterface<N, M> {\n let header = note_with_header.get_header();\n let note_hash_for_nullify = compute_note_hash_for_nullify(note_with_header);\n let inner_nullifier = note_with_header.compute_nullifier(context, note_hash_for_nullify);\n\n compute_siloed_nullifier_from_preimage(header.contract_address, inner_nullifier)\n}\n\n// TODO(#7775): make this not impossible to understand\npub fn compute_note_hash_for_read_request<Note, let N: u32, let M: u32>(note: Note) -> Field where Note: NoteInterface<N, M> {\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n let nonce = note.get_header().nonce;\n let counter = note.get_header().note_hash_counter;\n\n if counter != 0 {\n note_hash\n } else {\n compute_unique_note_hash(nonce, note_hash)\n }\n}\n\n// TODO(#7775): make this not impossible to understand\npub fn compute_note_hash_for_nullify_internal<Note, let N: u32, let M: u32>(\n note: Note,\n note_hash_for_read_request: Field\n) -> Field where Note: NoteInterface<N, M> {\n let header = note.get_header();\n\n if header.note_hash_counter != 0 {\n if header.nonce == 0 {\n // Case 1: Transient note\n note_hash_for_read_request\n } else {\n // Case 2: Non-revertible note, nullified by a revertible nullifier\n let unique_note_hash = compute_unique_note_hash(header.nonce, note_hash_for_read_request);\n compute_siloed_note_hash(header.contract_address, unique_note_hash)\n }\n } else {\n // Case 3: Note from a previous transaction\n // note_hash_for_read_request is already the unique_note_hash in this case\n compute_siloed_note_hash(header.contract_address, note_hash_for_read_request)\n }\n}\n\n// TODO(#7775): nuke this commented out code - kept it around as it contains comments which might be helpful when tackling #7775\n// pub fn compute_note_hash_for_nullify<Note, let N: u32, let M: u32>(note: Note) -> Field where Note: NoteInterface<N, M> {\n// let header = note.get_header();\n// // There are 3 cases for reading a note intended for consumption:\n// // 1. The note was inserted in this transaction, is revertible, or is not nullified by a revertible nullifier in \n// // the same transaction: (note_hash_counter != 0) & (nonce == 0)\n// // 2. The note was inserted in this transaction, is non-revertible, and is nullified by a revertible nullifier in \n// // the same transaction: (note_hash_counter != 0) & (nonce != 0)\n// // 3. The note was inserted in a previous transaction: (note_hash_counter == 0) & (nonce != 0)\n\n// // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n// let note_hash = note.compute_note_hiding_point().x;\n\n// if header.nonce == 0 {\n// // Case 1.\n// // If a note is transient, we just read the note_hash (kernel will hash it with nonce and silo by contract address).\n// note_hash\n// } else {\n// // Case 2: If a note is non-revertible, and is nullified by a revertible nullifier, we cannot squash them in the \n// // private reset circuit. Because if the tx reverts, we will have to keep the note hash and throw away the \n// // nullifier.\n// // And if the tx does not revert, both will be emitted. In which case, the nullifier must be created in the app\n// // from the siloed note hash.\n// // The kernel circuit will check that a nullifier with non-zero note_nonce is linked to a note hash, whose\n// // siloed note hash matches the note hash specified in the nullifier.\n\n// // Case 3: If a note is not from the current transaction, that means we are reading a settled note (from \n// // tree) created in a previous TX. So we need the siloed_note_hash which has already been hashed with\n// // nonce and then contract address. This hash will match the existing leaf in the note hash\n// // tree, so the kernel can just perform a membership check directly on this hash/leaf.\n// let unique_note_hash = compute_unique_note_hash(header.nonce, note_hash);\n// compute_siloed_note_hash(header.contract_address, unique_note_hash)\n// // IMPORTANT NOTE ON REDUNDANT SILOING BY CONTRACT ADDRESS: The note hash computed above is\n// // \"siloed\" by contract address. When a note hash is computed solely for the purpose of\n// // nullification, it is not strictly necessary to silo the note hash before computing\n// // its nullifier. In other words, it is NOT NECESSARY for protocol security that a nullifier\n// // be computed from a siloed note hash. After all, persistable note hashes and nullifiers are\n// // siloed by the kernel circuit. That being said, the siloed note hash computed above CAN be\n// // used for nullifier computation, and this achieves the (arguably unnecessary) property that\n// // nullifiers are computed from a note hash's fully-computed note hash tree leaf.\n// }\n// }\n\npub fn compute_note_hash_for_nullify<Note, let N: u32, let M: u32>(note: Note) -> Field where Note: NoteInterface<N, M> {\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n compute_note_hash_for_nullify_internal(note, note_hash_for_read_request)\n}\n\npub fn compute_note_hash_and_optionally_a_nullifier<T, let N: u32, let M: u32, let S: u32>(\n deserialize_content: fn([Field; N]) -> T,\n note_header: NoteHeader,\n compute_nullifier: bool,\n serialized_note: [Field; S]\n) -> [Field; 4] where T: NoteInterface<N, M> {\n let mut note = deserialize_content(arr_copy_slice(serialized_note, [0; N], 0));\n note.set_header(note_header);\n\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n let unique_note_hash = compute_unique_note_hash(note_header.nonce, note_hash);\n let siloed_note_hash = compute_siloed_note_hash(note_header.contract_address, unique_note_hash);\n\n let inner_nullifier = if compute_nullifier {\n note.compute_nullifier_without_context()\n } else {\n 0\n };\n // docs:start:compute_note_hash_and_optionally_a_nullifier_returns\n [note_hash, unique_note_hash, siloed_note_hash, inner_nullifier]\n // docs:end:compute_note_hash_and_optionally_a_nullifier_returns\n}\n"},"126":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/lifecycle.nr","source":"use crate::context::{PrivateContext, PublicContext};\nuse crate::note::{\n note_header::NoteHeader, note_interface::NoteInterface,\n utils::{compute_note_hash_for_read_request, compute_note_hash_for_nullify_internal},\n note_emission::NoteEmission\n};\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\n\npub fn create_note<Note, N, M>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note\n) -> NoteEmission<Note> where Note: NoteInterface<N, M> {\n let contract_address = (*context).this_address();\n let note_hash_counter = context.side_effect_counter;\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, note_hash_counter };\n note.set_header(header);\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n\n let serialized_note = Note::serialize_content(*note);\n assert(\n notify_created_note(\n storage_slot,\n Note::get_note_type_id(),\n serialized_note,\n note_hash,\n note_hash_counter\n )\n == 0\n );\n\n context.push_note_hash(note_hash);\n\n NoteEmission::new(*note)\n}\n\npub fn create_note_hash_from_public<Note, N, M>(\n context: &mut PublicContext,\n storage_slot: Field,\n note: &mut Note\n) where Note: NoteInterface<N, M> {\n let contract_address = (*context).this_address();\n // Public note hashes are transient, but have no side effect counters, so we just need note_hash_counter != 0\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, note_hash_counter: 1 };\n note.set_header(header);\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n\n context.push_note_hash(note_hash);\n}\n\n// Note: This function is currently totally unused.\npub fn destroy_note<Note, N, M>(\n context: &mut PrivateContext,\n note: Note\n) where Note: NoteInterface<N, M> {\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n\n destroy_note_unsafe(context, note, note_hash_for_read_request)\n}\n\npub fn destroy_note_unsafe<Note, N, M>(\n context: &mut PrivateContext,\n note: Note,\n note_hash_for_read_request: Field\n) where Note: NoteInterface<N, M> {\n let note_hash_for_nullify = compute_note_hash_for_nullify_internal(note, note_hash_for_read_request);\n let nullifier = note.compute_nullifier(context, note_hash_for_nullify);\n\n let note_hash_counter = note.get_header().note_hash_counter;\n let notification_note_hash = if (note_hash_counter == 0) {\n // Counter is zero, so we're nullifying a settled note and we don't populate the note_hash with real value.\n 0\n } else {\n // A non-zero note hash counter implies that we're nullifying a pending note (i.e. one that has not yet been\n // persisted in the trees and is instead in the pending new note hashes array). In such a case we populate its\n // hash with real value to inform the kernel which note we're nullifyng so that it can either squash both\n // the note and the nullifier if it's an inner note hash, or check that the it matches a pending note if it's\n // a siloed note hash.\n note_hash_for_nullify\n };\n\n let nullifier_counter = context.side_effect_counter;\n assert(notify_nullified_note(nullifier, notification_note_hash, nullifier_counter) == 0);\n\n context.push_nullifier_for_note_hash(nullifier, notification_note_hash)\n}\n\n"},"127":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/note_emission.nr","source":"/**\n * A note emission struct containing the information required for emitting a note.\n * The exact `emit` logic is passed in by the application code\n */\nstruct NoteEmission<Note> {\n note: Note\n}\n\nimpl<Note> NoteEmission<Note> {\n pub fn new(note: Note) -> Self {\n Self { note }\n }\n\n pub fn emit<Env>(self, _emit: fn[Env](Self) -> ()) {\n _emit(self);\n }\n\n pub fn discard(_self: Self) {}\n}\n\n/**\n * A struct wrapping note emission in `Option<T>`.\n * This is the struct provided to application codes, which can be used to emit\n * only when a note was actually inserted.\n * It is fairly common to have cases where a function conditionally inserts,\n * and this allows us to keep the same API for emission in both cases (e.g. inserting \n * a change note in a token's transfer function only when there is \"change\" left).\n */\nstruct OuterNoteEmission<Note> {\n emission: Option<NoteEmission<Note>>,\n}\n\nimpl<Note> OuterNoteEmission<Note> {\n pub fn new(emission: Option<NoteEmission<Note>>) -> Self {\n Self { emission }\n }\n\n pub fn emit<Env>(self, _emit: fn[Env](NoteEmission<Note>) -> ()) {\n if self.emission.is_some() {\n _emit(self.emission.unwrap());\n }\n }\n\n pub fn discard(_self: Self) {}\n}\n"},"135":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash,\n hash::{\n pedersen_hash, compute_siloed_nullifier, sha256_to_field, pedersen_commitment,\n poseidon2_hash_with_separator\n}\n};\n// Note: pedersen_commitment is used only as a re-export here\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n poseidon2_hash_with_separator(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n poseidon2_hash_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x1cce4dbf69f14c44865919991ee1057922e34d7310ba237d71759aa422621ca9);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"136":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/initializer.nr","source":"use dep::protocol_types::{\n address::AztecAddress, hash::poseidon2_hash_with_separator, constants::GENERATOR_INDEX__CONSTRUCTOR,\n abis::function_selector::FunctionSelector\n};\n\nuse crate::{\n context::{PrivateContext, PublicContext}, oracle::get_contract_instance::get_contract_instance,\n oracle::get_contract_instance::get_contract_instance_avm\n};\n\npub fn mark_as_initialized_public(context: &mut PublicContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n context.push_nullifier(init_nullifier);\n}\n\npub fn mark_as_initialized_private(context: &mut PrivateContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n context.push_nullifier(init_nullifier);\n}\n\npub fn assert_is_initialized_public(context: &mut PublicContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n assert(context.nullifier_exists(init_nullifier, context.this_address()), \"Not initialized\");\n}\n\npub fn assert_is_initialized_private(context: &mut PrivateContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n context.push_nullifier_read_request(init_nullifier);\n}\n\nfn compute_unsiloed_contract_initialization_nullifier(address: AztecAddress) -> Field {\n address.to_field()\n}\n\npub fn assert_initialization_matches_address_preimage_public(context: PublicContext) {\n let address = context.this_address();\n let instance = get_contract_instance_avm(address).unwrap();\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (instance.deployer.is_zero()) | (instance.deployer == context.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\npub fn assert_initialization_matches_address_preimage_private(context: PrivateContext) {\n let address = context.this_address();\n let instance = get_contract_instance(address);\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (instance.deployer.is_zero()) | (instance.deployer == context.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\npub fn compute_initialization_hash(init_selector: FunctionSelector, init_args_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [init_selector.to_field(), init_args_hash],\n GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n"},"138":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr","source":"use dep::protocol_types::{address::AztecAddress, point::Point};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<let M: u32>(_note_hash_counter: u32, _encrypted_note: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_note_log<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\n#[oracle(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<let M: u32>(_contract_address: AztecAddress, _randomness: Field, _encrypted_event: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_event_log<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedNoteLog)]\nunconstrained fn compute_encrypted_note_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_note_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_note_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedEventLog)]\nunconstrained fn compute_encrypted_event_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _event_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_event_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n event_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_event_log_oracle(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nunconstrained fn emit_unencrypted_log_oracle_private<T>(_contract_address: AztecAddress, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<let N: u32>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, message, counter)\n}\n"},"140":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/returns.nr","source":"#[oracle(packReturns)]\nunconstrained fn pack_returns_oracle<let N: u32>(_returns: [Field]) -> Field {}\n\nunconstrained pub fn pack_returns(returns: [Field]) {\n let _unused = pack_returns_oracle(returns);\n}\n\n#[oracle(unpackReturns)]\nunconstrained fn unpack_returns_oracle<let N: u32>(_return_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn unpack_returns<let N: u32>(return_hash: Field) -> [Field; N] {\n unpack_returns_oracle(return_hash)\n}\n"},"141":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_public_data_witness.nr","source":"use dep::protocol_types::{\n constants::PUBLIC_DATA_TREE_HEIGHT, public_data_tree_leaf_preimage::PublicDataTreeLeafPreimage,\n utils::arr_copy_slice\n};\n\nglobal LEAF_PREIMAGE_LENGTH: u32 = 4;\nglobal PUBLIC_DATA_WITNESS: Field = 45;\n\nstruct PublicDataWitness {\n index: Field,\n leaf_preimage: PublicDataTreeLeafPreimage,\n path: [Field; PUBLIC_DATA_TREE_HEIGHT],\n}\n\n#[oracle(getPublicDataTreeWitness)]\nunconstrained fn get_public_data_witness_oracle(\n _block_number: u32,\n _public_data_tree_index: Field\n) -> [Field; PUBLIC_DATA_WITNESS] {}\n\nunconstrained pub fn get_public_data_witness(block_number: u32, public_data_tree_index: Field) -> PublicDataWitness {\n let fields = get_public_data_witness_oracle(block_number, public_data_tree_index);\n PublicDataWitness {\n index: fields[0],\n leaf_preimage: PublicDataTreeLeafPreimage { slot: fields[1], value: fields[2], next_index: fields[3] as u32, next_slot: fields[4] },\n path: arr_copy_slice(fields, [0; PUBLIC_DATA_TREE_HEIGHT], 1 + LEAF_PREIMAGE_LENGTH)\n }\n}\n"},"142":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/key_validation_request.nr","source":"use dep::protocol_types::abis::validation_requests::{KeyValidationRequest, key_validation_request::KEY_VALIDATION_REQUEST_LENGTH};\n\n#[oracle(getKeyValidationRequest)]\nunconstrained fn get_key_validation_request_oracle(\n _pk_m_hash: Field,\n _key_index: Field\n) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {}\n\nunconstrained fn get_key_validation_request_internal(\n npk_m_hash: Field,\n key_index: Field\n) -> KeyValidationRequest {\n let result = get_key_validation_request_oracle(npk_m_hash, key_index);\n KeyValidationRequest::deserialize(result)\n}\n\npub fn get_key_validation_request(pk_m_hash: Field, key_index: Field) -> KeyValidationRequest {\n get_key_validation_request_internal(pk_m_hash, key_index)\n}\n\n"},"145":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/storage.nr","source":"use dep::protocol_types::{address::AztecAddress, traits::Deserialize};\n\n#[oracle(storageRead)]\nunconstrained fn storage_read_oracle<let N: u32>(address: Field, storage_slot: Field, block_number: Field, length: Field) -> [Field; N] {}\n\nunconstrained pub fn raw_storage_read<let N: u32>(\n address: AztecAddress,\n storage_slot: Field,\n block_number: u32\n) -> [Field; N] {\n storage_read_oracle(\n address.to_field(),\n storage_slot,\n block_number as Field,\n N as Field\n )\n}\n\nunconstrained pub fn storage_read<T, let N: u32>(\n address: AztecAddress,\n storage_slot: Field,\n block_number: u32\n) -> T where T: Deserialize<N> {\n T::deserialize(raw_storage_read(address, storage_slot, block_number))\n}\n\nmod tests {\n use crate::oracle::storage::{raw_storage_read, storage_read};\n use dep::protocol_types::address::AztecAddress;\n\n use std::test::OracleMock;\n use crate::test::mocks::mock_struct::MockStruct;\n\n global address = AztecAddress::from_field(29);\n global slot = 7;\n global block_number = 17;\n\n #[test]\n fn test_raw_storage_read() {\n let written = MockStruct { a: 13, b: 42 };\n\n let _ = OracleMock::mock(\"storageRead\").returns(written.serialize());\n\n let read: [Field; 2] = raw_storage_read(address, slot, block_number);\n assert_eq(read[0], 13);\n assert_eq(read[1], 42);\n }\n\n #[test]\n fn test_storage_read() {\n let written = MockStruct { a: 13, b: 42 };\n\n let _ = OracleMock::mock(\"storageRead\").returns(written.serialize());\n\n let read: MockStruct = storage_read(address, slot, block_number);\n assert_eq(read.a, 13);\n assert_eq(read.b, 42);\n }\n}\n"},"146":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/unsafe_rand.nr","source":"#[oracle(getRandomField)]\nunconstrained fn rand_oracle() -> Field {}\n\n// Called `unsafe_rand` because we do not constrain in circuit that we are dealing with an actual random value.\n// Instead we just trust our PXE.\nunconstrained pub fn unsafe_rand() -> Field {\n rand_oracle()\n}\n"},"148":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress, utils::reader::Reader};\n\n#[oracle(callPrivateFunction)]\nunconstrained fn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; 2] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> (u32, Field) {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let mut reader = Reader::new(fields);\n let end_side_effect_counter = reader.read_u32();\n let returns_hash = reader.read();\n\n (end_side_effect_counter, returns_hash)\n}\n"},"149":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/keys.nr","source":"use crate::keys::{PublicKeys, public_keys::{NpkM, IvpkM, OvpkM, TpkM}};\nuse dep::protocol_types::{address::{AztecAddress, PartialAddress}, point::Point};\n\n#[oracle(getPublicKeysAndPartialAddress)]\nunconstrained fn get_public_keys_and_partial_address_oracle(_address: AztecAddress) -> [Field; 13] {}\n\nunconstrained fn get_public_keys_and_partial_address_oracle_wrapper(address: AztecAddress) -> [Field; 13] {\n get_public_keys_and_partial_address_oracle(address)\n}\n\npub fn get_public_keys_and_partial_address(address: AztecAddress) -> (PublicKeys, PartialAddress) {\n let result = get_public_keys_and_partial_address_oracle_wrapper(address);\n\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: result[0], y: result[1], is_infinite: result[2] as bool } },\n ivpk_m: IvpkM { inner: Point { x: result[3], y: result[4], is_infinite: result[5] as bool } },\n ovpk_m: OvpkM { inner: Point { x: result[6], y: result[7], is_infinite: result[8] as bool } },\n tpk_m: TpkM { inner: Point { x: result[9], y: result[10], is_infinite: result[11] as bool } }\n };\n\n let partial_address = PartialAddress::from_field(result[12]);\n\n (keys, partial_address)\n}\n"},"151":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/notes.nr","source":"use crate::note::{note_header::NoteHeader, note_interface::NoteInterface};\n\nuse dep::protocol_types::{address::AztecAddress, utils::arr_copy_slice};\n\n#[oracle(notifyCreatedNote)]\nunconstrained fn notify_created_note_oracle<let N: u32>(\n _storage_slot: Field,\n _note_type_id: Field,\n _serialized_note: [Field; N],\n _note_hash: Field,\n _counter: u32\n) -> Field {}\n\nunconstrained pub fn notify_created_note<let N: u32>(\n storage_slot: Field,\n note_type_id: Field,\n serialized_note: [Field; N],\n note_hash: Field,\n counter: u32\n) -> Field {\n notify_created_note_oracle(storage_slot, note_type_id, serialized_note, note_hash, counter)\n}\n\n#[oracle(notifyNullifiedNote)]\nunconstrained fn notify_nullified_note_oracle<let N: u32>(_nullifier: Field, _note_hash: Field, _counter: u32) -> Field {}\n\nunconstrained pub fn notify_nullified_note<let N: u32>(\n nullifier: Field,\n note_hash: Field,\n counter: u32\n) -> Field {\n notify_nullified_note_oracle(nullifier, note_hash, counter)\n}\n\n#[oracle(getNotes)]\nunconstrained fn get_notes_oracle<let N: u32, let S: u32>(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by_indexes: [u8; N],\n _select_by_offsets: [u8; N],\n _select_by_lengths: [u8; N],\n _select_values: [Field; N],\n _select_comparators: [u8; N],\n _sort_by_indexes: [u8; N],\n _sort_by_offsets: [u8; N],\n _sort_by_lengths: [u8; N],\n _sort_order: [u8; N],\n _limit: u32,\n _offset: u32,\n _status: u8,\n _return_size: u32,\n _placeholder_fields: [Field; S]\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper<let N: u32, let S: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; N],\n select_by_offsets: [u8; N],\n select_by_lengths: [u8; N],\n select_values: [Field; N],\n select_comparators: [u8; N],\n sort_by_indexes: [u8; N],\n sort_by_offsets: [u8; N],\n sort_by_lengths: [u8; N],\n sort_order: [u8; N],\n limit: u32,\n offset: u32,\n status: u8,\n mut placeholder_fields: [Field; S]\n) -> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n limit,\n offset,\n status,\n return_size,\n placeholder_fields\n )\n}\n\nunconstrained pub fn get_notes<Note, let N: u32, let NB: u32, let M: u32, let S: u32, let NS: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; M],\n select_by_offsets: [u8; M],\n select_by_lengths: [u8; M],\n select_values: [Field; M],\n select_comparators: [u8; M],\n sort_by_indexes: [u8; M],\n sort_by_offsets: [u8; M],\n sort_by_lengths: [u8; M],\n sort_order: [u8; M],\n limit: u32,\n offset: u32,\n status: u8,\n mut placeholder_opt_notes: [Option<Note>; S], // TODO: Remove it and use `limit` to initialize the note array.\n placeholder_fields: [Field; NS], // TODO: Remove it and use `limit` to initialize the note array.\n _placeholder_note_length: [Field; N] // Turbofish hack? Compiler breaks calculating read_offset unless we add this parameter\n) -> [Option<Note>; S] where Note: NoteInterface<N, NB> {\n let fields = get_notes_oracle_wrapper(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n limit,\n offset,\n status,\n placeholder_fields\n );\n let num_notes = fields[0] as u32;\n let contract_address = AztecAddress::from_field(fields[1]);\n for i in 0..placeholder_opt_notes.len() {\n if i < num_notes {\n // lengths named as per typescript.\n let return_header_length: u32 = 2; // num_notes & contract_address.\n let extra_preimage_length: u32 = 2; // nonce & note_hash_counter.\n let read_offset: u32 = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let note_hash_counter = fields[read_offset + 1] as u32;\n let header = NoteHeader { contract_address, nonce, storage_slot, note_hash_counter };\n let serialized_note = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = Note::deserialize_content(serialized_note);\n note.set_header(header);\n placeholder_opt_notes[i] = Option::some(note);\n };\n }\n placeholder_opt_notes\n}\n\n// Only ever use this in private!\n#[oracle(checkNullifierExists)]\nunconstrained fn check_nullifier_exists_oracle(_inner_nullifier: Field) -> Field {}\n\n// Only ever use this in private!\nunconstrained pub fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier) == 1\n}\n"},"152":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr","source":"use dep::protocol_types::{\n address::AztecAddress, contract_instance::ContractInstance, utils::arr_copy_slice,\n constants::CONTRACT_INSTANCE_LENGTH, utils::reader::Reader\n};\n\n#[oracle(getContractInstance)]\nunconstrained fn get_contract_instance_oracle(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {}\n\n// Returns a ContractInstance plus a boolean indicating whether the instance was found.\n#[oracle(avmOpcodeGetContractInstance)]\nunconstrained fn get_contract_instance_oracle_avm(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {}\n\nunconstrained fn get_contract_instance_internal(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n get_contract_instance_oracle(address)\n}\n\nunconstrained pub fn get_contract_instance_internal_avm(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {\n get_contract_instance_oracle_avm(address)\n}\n\npub fn get_contract_instance(address: AztecAddress) -> ContractInstance {\n let instance = ContractInstance::deserialize(get_contract_instance_internal(address));\n assert(instance.to_address().eq(address));\n instance\n}\n\npub fn get_contract_instance_avm(address: AztecAddress) -> Option<ContractInstance> {\n let mut reader = Reader::new(get_contract_instance_internal_avm(address));\n let found = reader.read();\n if found == 0 {\n Option::none()\n } else {\n Option::some(reader.read_struct(ContractInstance::deserialize))\n }\n}\n"},"153":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{abis::{function_selector::FunctionSelector}, address::AztecAddress};\n\n#[oracle(enqueuePublicFunctionCall)]\nunconstrained fn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nunconstrained fn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) {}\n\nunconstrained pub fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n}\n\n#[oracle(notifySetMinRevertibleSideEffectCounter)]\nunconstrained fn notify_set_min_revertible_side_effect_counter_oracle(_counter: u32) {}\n\nunconstrained pub fn notify_set_min_revertible_side_effect_counter(counter: u32) {\n notify_set_min_revertible_side_effect_counter_oracle(counter);\n}\n"},"155":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/execution.nr","source":"use dep::protocol_types::address::AztecAddress;\n\n#[oracle(getContractAddress)]\nunconstrained fn get_contract_address_oracle() -> AztecAddress {}\n\n#[oracle(getBlockNumber)]\nunconstrained fn get_block_number_oracle() -> u32 {}\n\n#[oracle(getChainId)]\nunconstrained fn get_chain_id_oracle() -> Field {}\n\n#[oracle(getVersion)]\nunconstrained fn get_version_oracle() -> Field {}\n\nunconstrained pub fn get_contract_address() -> AztecAddress {\n get_contract_address_oracle()\n}\n\nunconstrained pub fn get_block_number() -> u32 {\n get_block_number_oracle()\n}\n\nunconstrained pub fn get_chain_id() -> Field {\n get_chain_id_oracle()\n}\n\nunconstrained pub fn get_version() -> Field {\n get_version_oracle()\n}\n"},"158":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/map.nr","source":"use dep::protocol_types::{storage::map::derive_storage_slot_in_map, traits::ToField};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:map\nstruct Map<K, V, Context> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, T, Context> Storage<T> for Map<K, T, Context> {}\n\nimpl<K, V, Context> Map<K, V, Context> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map { context, storage_slot, state_var_constructor }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = derive_storage_slot_in_map(self.storage_slot, key);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n"},"160":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/public_mutable.nr","source":"use crate::context::{PublicContext, UnconstrainedContext};\nuse crate::oracle::storage::storage_read;\nuse dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:public_mutable_struct\nstruct PublicMutable<T, Context> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:public_mutable_struct\n\nimpl<T, Context> Storage<T> for PublicMutable<T, Context> {}\n\nimpl<T, Context> PublicMutable<T, Context> {\n // docs:start:public_mutable_struct_new\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n PublicMutable { context, storage_slot }\n }\n // docs:end:public_mutable_struct_new\n}\n\nimpl<T, T_SERIALIZED_LEN> PublicMutable<T, &mut PublicContext> where T: Serialize<T_SERIALIZED_LEN> + Deserialize<T_SERIALIZED_LEN> {\n // docs:start:public_mutable_struct_read\n pub fn read(self) -> T {\n self.context.storage_read(self.storage_slot)\n }\n // docs:end:public_mutable_struct_read\n\n // docs:start:public_mutable_struct_write\n pub fn write(self, value: T) {\n self.context.storage_write(self.storage_slot, value);\n }\n // docs:end:public_mutable_struct_write\n}\n\nimpl<T, T_SERIALIZED_LEN> PublicMutable<T, UnconstrainedContext> where T: Deserialize<T_SERIALIZED_LEN> {\n unconstrained pub fn read(self) -> T {\n self.context.storage_read(self.storage_slot)\n }\n}\n"},"176":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/private_immutable.nr","source":"use dep::protocol_types::{\n address::AztecAddress, constants::GENERATOR_INDEX__INITIALIZATION_NULLIFIER,\n hash::poseidon2_hash_with_separator\n};\n\nuse crate::context::{PrivateContext, UnconstrainedContext};\nuse crate::note::{\n lifecycle::create_note, note_getter::{get_note, view_notes}, note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions, note_emission::NoteEmission\n};\nuse crate::oracle::notes::check_nullifier_exists;\nuse crate::state_vars::storage::Storage;\n\n// docs:start:struct\nstruct PrivateImmutable<Note, Context> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:struct\n\nimpl<T, Context> Storage<T> for PrivateImmutable<T, Context> {}\n\nimpl<Note, Context> PrivateImmutable<Note, Context> {\n // docs:start:new\n pub fn new(context: Context, storage_slot: Field) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot }\n }\n // docs:end:new\n\n // The following computation is leaky, in that it doesn't hide the storage slot that has been initialized, nor does it hide the contract address of this contract.\n // When this initialization nullifier is emitted, an observer could do a dictionary or rainbow attack to learn the preimage of this nullifier to deduce the storage slot and contract address.\n // For some applications, leaking the details that a particular state variable of a particular contract has been initialized will be unacceptable.\n // Under such circumstances, such application developers might wish to _not_ use this state variable type.\n // This is especially dangerous for initial assignment to elements of a `Map<AztecAddress, PrivateImmutable>` type (for example), because the storage slot often also identifies an actor. \n // e.g. the initial assignment to `my_map.at(msg.sender)` will leak: `msg.sender`, the fact that an element of `my_map` was assigned-to for the first time, and the contract_address.\n pub fn compute_initialization_nullifier(self) -> Field {\n poseidon2_hash_with_separator(\n [self.storage_slot],\n GENERATOR_INDEX__INITIALIZATION_NULLIFIER\n )\n }\n}\n\nimpl<Note> PrivateImmutable<Note, &mut PrivateContext> {\n // docs:start:initialize\n pub fn initialize<N, M>(\n self,\n note: &mut Note\n ) -> NoteEmission<Note> where Note: NoteInterface<N, M> {\n // Nullify the storage slot.\n let nullifier = self.compute_initialization_nullifier();\n self.context.push_nullifier(nullifier);\n\n create_note(self.context, self.storage_slot, note)\n }\n // docs:end:initialize\n\n // docs:start:get_note\n pub fn get_note<N, M>(self) -> Note where Note: NoteInterface<N, M> {\n let storage_slot = self.storage_slot;\n get_note(self.context, storage_slot).0\n }\n // docs:end:get_note\n}\n\nimpl<Note> PrivateImmutable<Note, UnconstrainedContext> {\n // docs:start:is_initialized\n unconstrained pub fn is_initialized(self) -> bool {\n let nullifier = self.compute_initialization_nullifier();\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // view_note does not actually use the context, but it calls oracles that are only available in private\n // docs:start:view_note\n unconstrained pub fn view_note<N, M>(self) -> Note where Note: NoteInterface<N, M> {\n let mut options = NoteViewerOptions::new();\n view_notes(self.storage_slot, options.set_limit(1)).get(0)\n }\n // docs:end:view_note\n}\n"},"178":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/utils/point.nr","source":"use dep::protocol_types::point::Point;\n\n// I am storing the modulus divided by 2 plus 1 here because full modulus would throw \"String literal too large\" error\n// Full modulus is 21888242871839275222246405745257275088548364400416034343698204186575808495617\nglobal BN254_FR_MODULUS_DIV_2: Field = 10944121435919637611123202872628637544274182200208017171849102093287904247808;\n\n/// Converts a public key to a byte array.\n///\n/// We don't serialize the point at infinity flag because this function is used in situations where we do not want\n/// to waste the extra byte (encrypted log).\npub fn point_to_bytes(pk: Point) -> [u8; 32] {\n // Note that there is 1 more free bit in the 32 bytes (254 bits currently occupied by the x coordinate, 1 bit for\n // the \"sign\") so it's possible to use that last bit as an \"is_infinite\" flag if desired in the future.\n assert(!pk.is_infinite, \"Cannot serialize point at infinity as bytes.\");\n\n let mut result = pk.x.to_be_bytes(32);\n\n // We store only a \"sign\" of the y coordinate because the rest can be derived from the x coordinate. To get\n // the sign we check if the y coordinate is less or equal than the curve's order minus 1 divided by 2.\n // Ideally we'd do `y <= MOD_DIV_2`, but there's no `lte` function, so instead we do `!(y > MOD_DIV_2)`, which is\n // equivalent, and then rewrite that as `!(MOD_DIV_2 < y)`, since we also have no `gt` function.\n if !BN254_FR_MODULUS_DIV_2.lt(pk.y) {\n // y is <= (modulus - 1) / 2 so we set the sign bit to 1\n // Here we leverage that field fits into 254 bits (log2(Fr.MODULUS) < 254) and given that we serialize Fr to 32\n // bytes and we use big-endian the 2 most significant bits are never populated. Hence we can use one of\n // the bits as a sign bit.\n result[0] += 128;\n }\n\n result.as_array()\n}\n\nmod test {\n use dep::protocol_types::point::Point;\n use crate::utils::point::point_to_bytes;\n\n #[test]\n fn test_point_to_bytes_positive_sign() {\n let p = Point {\n x: 0x1af41f5de96446dc3776a1eb2d98bb956b7acd9979a67854bec6fa7c2973bd73,\n y: 0x07fc22c7f2c7057571f137fe46ea9c95114282bc95d37d71ec4bfb88de457d4a,\n is_infinite: false\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_positive_sign = [\n 154, 244, 31, 93, 233, 100, 70, 220, 55, 118, 161, 235, 45, 152, 187, 149, 107, 122, 205, 153, 121, 166, 120, 84, 190, 198, 250, 124, 41, 115, 189, 115\n ];\n\n assert_eq(expected_compressed_point_positive_sign.len(), compressed_point.len());\n for i in 0..expected_compressed_point_positive_sign.len() {\n assert_eq(compressed_point[i], expected_compressed_point_positive_sign[i]);\n }\n }\n\n #[test]\n fn test_point_to_bytes_negative_sign() {\n let p = Point {\n x: 0x247371652e55dd74c9af8dbe9fb44931ba29a9229994384bd7077796c14ee2b5,\n y: 0x26441aec112e1ae4cee374f42556932001507ad46e255ffb27369c7e3766e5c0,\n is_infinite: false\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_negative_sign = [\n 36, 115, 113, 101, 46, 85, 221, 116, 201, 175, 141, 190, 159, 180, 73, 49, 186, 41, 169, 34, 153, 148, 56, 75, 215, 7, 119, 150, 193, 78, 226, 181\n ];\n\n assert_eq(expected_compressed_point_negative_sign.len(), compressed_point.len());\n for i in 0..expected_compressed_point_negative_sign.len() {\n assert_eq(compressed_point[i], expected_compressed_point_negative_sign[i]);\n }\n }\n}\n"},"195":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr","source":"use crate::{constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize}, point::Point};\n\nstruct KeyValidationRequest {\n pk_m: Point,\n sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m))\n & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest {\n pk_m: Point::empty(),\n sk_app: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.pk_m.x,\n self.pk_m.y,\n self.pk_m.is_infinite as Field,\n self.sk_app,\n ]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: Point { x:fields[0], y: fields[1], is_infinite: fields[2] as bool},\n sk_app: fields[3],\n }\n }\n}\n\n"},"2":{"path":"std/array.nr","source":"use crate::cmp::Ord;\nuse crate::option::Option;\nuse crate::convert::From;\n\nimpl<T, let N: u32> [T; N] {\n #[builtin(array_len)]\n pub fn len(self) -> u32 {}\n\n pub fn sort(self) -> Self where T: Ord {\n self.sort_via(|a: T, b: T| a <= b)\n }\n\n pub fn sort_via<Env>(self, ordering: fn[Env](T, T) -> bool) -> Self {\n let sorted_index = unsafe {\n // Safety: These indices are asserted to be the sorted element indices via `find_index`\n let sorted_index: [u32; N] = self.get_sorting_index(ordering);\n\n for i in 0..N {\n let pos = find_index(sorted_index, i);\n assert(sorted_index[pos] == i);\n }\n\n sorted_index\n };\n\n // Sort the array using the indexes\n let mut result = self;\n for i in 0..N {\n result[i] = self[sorted_index[i]];\n }\n // Ensure the array is sorted\n for i in 0..N - 1 {\n assert(ordering(result[i], result[i + 1]));\n }\n\n result\n }\n\n /// Returns the index of the elements in the array that would sort it, using the provided custom sorting function.\n unconstrained fn get_sorting_index<Env>(self, ordering: fn[Env](T, T) -> bool) -> [u32; N] {\n let mut result = [0; N];\n let mut a = self;\n for i in 0..N {\n result[i] = i;\n }\n for i in 1..N {\n for j in 0..i {\n if ordering(a[i], a[j]) {\n let old_a_j = a[j];\n a[j] = a[i];\n a[i] = old_a_j;\n let old_j = result[j];\n result[j] = result[i];\n result[i] = old_j;\n }\n }\n }\n result\n }\n\n #[builtin(as_slice)]\n pub fn as_slice(self) -> [T] {}\n\n // Apply a function to each element of an array, returning a new array\n // containing the mapped elements.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> [U; N] {\n let first_elem = f(self[0]);\n let mut ret = [first_elem; N];\n\n for i in 1..self.len() {\n ret[i] = f(self[i]);\n }\n\n ret\n }\n\n // Apply a function to each element of the array and an accumulator value,\n // returning the final accumulated value. This function is also sometimes\n // called `foldl`, `fold_left`, `reduce`, or `inject`.\n pub fn fold<U, Env>(self, mut accumulator: U, f: fn[Env](U, T) -> U) -> U {\n for elem in self {\n accumulator = f(accumulator, elem);\n }\n accumulator\n }\n\n // Apply a function to each element of the array and an accumulator value,\n // returning the final accumulated value. Unlike fold, reduce uses the first\n // element of the given array as its starting accumulator value.\n pub fn reduce<Env>(self, f: fn[Env](T, T) -> T) -> T {\n let mut accumulator = self[0];\n for i in 1..self.len() {\n accumulator = f(accumulator, self[i]);\n }\n accumulator\n }\n\n // Returns true if all elements in the array satisfy the predicate\n pub fn all<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = true;\n for elem in self {\n ret &= predicate(elem);\n }\n ret\n }\n\n // Returns true if any element in the array satisfies the predicate\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n for elem in self {\n ret |= predicate(elem);\n }\n ret\n }\n}\n\nimpl<let N: u32> [u8; N] {\n /// Convert a sequence of bytes as-is into a string.\n /// This function performs no UTF-8 validation or similar.\n #[builtin(array_as_str_unchecked)]\n pub fn as_str_unchecked(self) -> str<N> {}\n}\n\n// helper function used to look up the position of a value in an array of Field\n// Note that function returns 0 if the value is not found\nunconstrained fn find_index<let N: u32>(a: [u32; N], find: u32) -> u32 {\n let mut result = 0;\n for i in 0..a.len() {\n if a[i] == find {\n result = i;\n }\n }\n result\n}\n\nimpl<let N: u32> From<str<N>> for [u8; N] {\n fn from(s: str<N>) -> Self {\n s.as_bytes()\n }\n}\n"},"22":{"path":"std/embedded_curve_ops.nr","source":"use crate::ops::arith::{Add, Sub, Neg};\nuse crate::cmp::Eq;\n\n/// A point on the embedded elliptic curve\n/// By definition, the base field of the embedded curve is the scalar field of the proof system curve, i.e the Noir Field.\n/// x and y denotes the Weierstrass coordinates of the point, if is_infinite is false.\nstruct EmbeddedCurvePoint {\n x: Field,\n y: Field,\n is_infinite: bool\n}\n\nimpl EmbeddedCurvePoint {\n /// Elliptic curve point doubling operation\n /// returns the doubled point of a point P, i.e P+P\n fn double(self) -> EmbeddedCurvePoint {\n embedded_curve_add(self, self)\n }\n\n /// Returns the null element of the curve; 'the point at infinity'\n fn point_at_infinity() -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n }\n}\n\nimpl Add for EmbeddedCurvePoint {\n /// Adds two points P+Q, using the curve addition formula, and also handles point at infinity\n fn add(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n embedded_curve_add(self, other)\n }\n}\n\nimpl Sub for EmbeddedCurvePoint {\n /// Points subtraction operation, using addition and negation\n fn sub(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n self + other.neg()\n }\n}\n\nimpl Neg for EmbeddedCurvePoint {\n /// Negates a point P, i.e returns -P, by negating the y coordinate.\n /// If the point is at infinity, then the result is also at infinity.\n fn neg(self) -> EmbeddedCurvePoint { \n EmbeddedCurvePoint {\n x: self.x,\n y: -self.y,\n is_infinite: self.is_infinite\n }\n }\n}\n\nimpl Eq for EmbeddedCurvePoint {\n /// Checks whether two points are equal\n fn eq(self: Self, b: EmbeddedCurvePoint) -> bool {\n (self.is_infinite & b.is_infinite) | ((self.is_infinite == b.is_infinite) & (self.x == b.x) & (self.y == b.y))\n }\n}\n\n/// Scalar for the embedded curve represented as low and high limbs\n/// By definition, the scalar field of the embedded curve is base field of the proving system curve.\n/// It may not fit into a Field element, so it is represented with two Field elements; its low and high limbs.\nstruct EmbeddedCurveScalar {\n lo: Field,\n hi: Field,\n}\n\nimpl EmbeddedCurveScalar {\n pub fn new(lo: Field, hi: Field) -> Self {\n EmbeddedCurveScalar { lo, hi }\n }\n\n #[field(bn254)]\n fn from_field(scalar: Field) -> EmbeddedCurveScalar {\n let (a,b) = crate::field::bn254::decompose(scalar);\n EmbeddedCurveScalar { lo: a, hi: b }\n }\n}\n\nimpl Eq for EmbeddedCurveScalar {\n fn eq(self, other: Self) -> bool {\n (other.hi == self.hi) & (other.lo == self.lo)\n }\n}\n\n// Computes a multi scalar multiplication over the embedded curve.\n// For bn254, We have Grumpkin and Baby JubJub.\n// For bls12-381, we have JubJub and Bandersnatch.\n//\n// The embedded curve being used is decided by the \n// underlying proof system.\n// docs:start:multi_scalar_mul\npub fn multi_scalar_mul<let N: u32>(\n points: [EmbeddedCurvePoint; N],\n scalars: [EmbeddedCurveScalar; N]\n) -> EmbeddedCurvePoint\n// docs:end:multi_scalar_mul\n{\n let point_array = multi_scalar_mul_array_return(points, scalars);\n EmbeddedCurvePoint { x: point_array[0], y: point_array[1], is_infinite: point_array[2] as bool }\n}\n\n#[foreign(multi_scalar_mul)]\nfn multi_scalar_mul_array_return<let N: u32>(points: [EmbeddedCurvePoint; N], scalars: [EmbeddedCurveScalar; N]) -> [Field; 3] {}\n\n#[foreign(multi_scalar_mul)]\npub(crate) fn multi_scalar_mul_slice(points: [EmbeddedCurvePoint], scalars: [EmbeddedCurveScalar]) -> [Field; 3] {}\n\n// docs:start:fixed_base_scalar_mul\npub fn fixed_base_scalar_mul(scalar: EmbeddedCurveScalar) -> EmbeddedCurvePoint\n// docs:end:fixed_base_scalar_mul\n{\n let g1 = EmbeddedCurvePoint { x: 1, y: 17631683881184975370165255887551781615748388533673675138860, is_infinite: false };\n multi_scalar_mul([g1], [scalar])\n}\n\n// This is a hack as returning an `EmbeddedCurvePoint` from a foreign function in brillig returns a [BrilligVariable::SingleAddr; 2] rather than BrilligVariable::BrilligArray\n// as is defined in the brillig bytecode format. This is a workaround which allows us to fix this without modifying the serialization format.\n// docs:start:embedded_curve_add\nfn embedded_curve_add(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint\n) -> EmbeddedCurvePoint\n// docs:end:embedded_curve_add\n{\n let point_array = embedded_curve_add_array_return(point1, point2);\n let x = point_array[0];\n let y = point_array[1];\n EmbeddedCurvePoint { x, y, is_infinite: point_array[2] == 1 }\n}\n\n#[foreign(embedded_curve_add)]\nfn embedded_curve_add_array_return(_point1: EmbeddedCurvePoint, _point2: EmbeddedCurvePoint) -> [Field; 3] {}\n"},"23":{"path":"std/field/bn254.nr","source":"use crate::runtime::is_unconstrained;\n\n// The low and high decomposition of the field modulus\nglobal PLO: Field = 53438638232309528389504892708671455233;\nglobal PHI: Field = 64323764613183177041862057485226039389;\n\nglobal TWO_POW_128: Field = 0x100000000000000000000000000000000;\n\n// Decomposes a single field into two 16 byte fields.\nfn compute_decomposition(x: Field) -> (Field, Field) {\n let x_bytes = x.to_le_bytes(32);\n\n let mut low: Field = 0;\n let mut high: Field = 0;\n\n let mut offset = 1;\n for i in 0..16 {\n low += (x_bytes[i] as Field) * offset;\n high += (x_bytes[i + 16] as Field) * offset;\n offset *= 256;\n }\n\n (low, high)\n}\n\nunconstrained pub(crate) fn decompose_hint(x: Field) -> (Field, Field) {\n compute_decomposition(x)\n}\n\nfn compute_lt(x: Field, y: Field, num_bytes: u32) -> bool {\n let x_bytes = x.to_le_radix(256, num_bytes);\n let y_bytes = y.to_le_radix(256, num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i];\n let y_byte = y_bytes[num_bytes - 1 - i];\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\nfn compute_lte(x: Field, y: Field, num_bytes: u32) -> bool {\n if x == y {\n true\n } else {\n compute_lt(x, y, num_bytes)\n }\n}\n\nunconstrained fn lt_32_hint(x: Field, y: Field) -> bool {\n compute_lt(x, y, 32)\n}\n\nunconstrained fn lte_16_hint(x: Field, y: Field) -> bool {\n compute_lte(x, y, 16)\n}\n\n// Assert that (alo > blo && ahi >= bhi) || (alo <= blo && ahi > bhi)\nfn assert_gt_limbs(a: (Field, Field), b: (Field, Field)) {\n let (alo, ahi) = a;\n let (blo, bhi) = b;\n unsafe {\n let borrow = lte_16_hint(alo, blo);\n\n let rlo = alo - blo - 1 + (borrow as Field) * TWO_POW_128;\n let rhi = ahi - bhi - (borrow as Field);\n\n rlo.assert_max_bit_size(128);\n rhi.assert_max_bit_size(128);\n }\n}\n\n/// Decompose a single field into two 16 byte fields.\npub fn decompose(x: Field) -> (Field, Field) {\n if is_unconstrained() {\n compute_decomposition(x)\n } else {\n unsafe {\n // Take hints of the decomposition\n let (xlo, xhi) = decompose_hint(x);\n\n // Range check the limbs\n xlo.assert_max_bit_size(128);\n xhi.assert_max_bit_size(128);\n\n // Check that the decomposition is correct\n assert_eq(x, xlo + TWO_POW_128 * xhi);\n\n // Assert that the decomposition of P is greater than the decomposition of x\n assert_gt_limbs((PLO, PHI), (xlo, xhi));\n (xlo, xhi)\n }\n }\n}\n\npub fn assert_gt(a: Field, b: Field) {\n if is_unconstrained() {\n assert(compute_lt(b, a, 32));\n } else {\n // Decompose a and b\n let a_limbs = decompose(a);\n let b_limbs = decompose(b);\n\n // Assert that a_limbs is greater than b_limbs\n assert_gt_limbs(a_limbs, b_limbs)\n }\n}\n\npub fn assert_lt(a: Field, b: Field) {\n assert_gt(b, a);\n}\n\npub fn gt(a: Field, b: Field) -> bool {\n if is_unconstrained() {\n compute_lt(b, a, 32)\n } else if a == b {\n false\n } else {\n // Take a hint of the comparison and verify it\n unsafe {\n if lt_32_hint(a, b) {\n assert_gt(b, a);\n false\n } else {\n assert_gt(a, b);\n true\n }\n }\n }\n}\n\npub fn lt(a: Field, b: Field) -> bool {\n gt(b, a)\n}\n\nmod tests {\n // TODO: Allow imports from \"super\"\n use crate::field::bn254::{decompose_hint, decompose, compute_lt, assert_gt, gt, lt, TWO_POW_128, compute_lte, PLO, PHI};\n\n #[test]\n fn check_decompose() {\n assert_eq(decompose(TWO_POW_128), (0, 1));\n assert_eq(decompose(TWO_POW_128 + 0x1234567890), (0x1234567890, 1));\n assert_eq(decompose(0x1234567890), (0x1234567890, 0));\n }\n\n #[test]\n unconstrained fn check_decompose_unconstrained() {\n assert_eq(decompose(TWO_POW_128), (0, 1));\n assert_eq(decompose(TWO_POW_128 + 0x1234567890), (0x1234567890, 1));\n assert_eq(decompose(0x1234567890), (0x1234567890, 0));\n }\n\n #[test]\n fn check_compute_lt() {\n assert(compute_lt(0, 1, 16));\n assert(compute_lt(0, 0x100, 16));\n assert(compute_lt(0x100, TWO_POW_128 - 1, 16));\n assert(!compute_lt(0, TWO_POW_128, 16));\n }\n\n #[test]\n fn check_compute_lte() {\n assert(compute_lte(0, 1, 16));\n assert(compute_lte(0, 0x100, 16));\n assert(compute_lte(0x100, TWO_POW_128 - 1, 16));\n assert(!compute_lte(0, TWO_POW_128, 16));\n\n assert(compute_lte(0, 0, 16));\n assert(compute_lte(0x100, 0x100, 16));\n assert(compute_lte(TWO_POW_128 - 1, TWO_POW_128 - 1, 16));\n assert(compute_lte(TWO_POW_128, TWO_POW_128, 16));\n }\n\n #[test]\n fn check_assert_gt() {\n assert_gt(1, 0);\n assert_gt(0x100, 0);\n assert_gt((0 - 1), (0 - 2));\n assert_gt(TWO_POW_128, 0);\n assert_gt(0 - 1, 0);\n }\n\n #[test]\n unconstrained fn check_assert_gt_unconstrained() {\n assert_gt(1, 0);\n assert_gt(0x100, 0);\n assert_gt((0 - 1), (0 - 2));\n assert_gt(TWO_POW_128, 0);\n assert_gt(0 - 1, 0);\n }\n\n #[test]\n fn check_gt() {\n assert(gt(1, 0));\n assert(gt(0x100, 0));\n assert(gt((0 - 1), (0 - 2)));\n assert(gt(TWO_POW_128, 0));\n assert(!gt(0, 0));\n assert(!gt(0, 0x100));\n assert(gt(0 - 1, 0 - 2));\n assert(!gt(0 - 2, 0 - 1));\n }\n\n #[test]\n unconstrained fn check_gt_unconstrained() {\n assert(gt(1, 0));\n assert(gt(0x100, 0));\n assert(gt((0 - 1), (0 - 2)));\n assert(gt(TWO_POW_128, 0));\n assert(!gt(0, 0));\n assert(!gt(0, 0x100));\n assert(gt(0 - 1, 0 - 2));\n assert(!gt(0 - 2, 0 - 1));\n }\n\n #[test]\n fn check_plo_phi() {\n assert_eq(PLO + PHI * TWO_POW_128, 0);\n let p_bytes = crate::field::modulus_le_bytes();\n let mut p_low: Field = 0;\n let mut p_high: Field = 0;\n\n let mut offset = 1;\n for i in 0..16 {\n p_low += (p_bytes[i] as Field) * offset;\n p_high += (p_bytes[i + 16] as Field) * offset;\n offset *= 256;\n }\n assert_eq(p_low, PLO);\n assert_eq(p_high, PHI);\n }\n}\n"},"24":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n"},"245":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/storage/map.nr","source":"use crate::{hash::pedersen_hash, traits::ToField};\n\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field where K: ToField {\n pedersen_hash([storage_slot, key.to_field()], 0)\n}\n\nmod test {\n use crate::{address::AztecAddress, storage::map::derive_storage_slot_in_map};\n\n #[test]\n fn test_derive_storage_slot_in_map_matches_typescript() {\n let map_slot = 0x132258fb6962c4387ba659d9556521102d227549a386d39f0b22d1890d59c2b5;\n let key = AztecAddress::from_field(0x302dbc2f9b50a73283d5fb2f35bc01eae8935615817a0b4219a057b2ba8a5a3f);\n\n let slot = derive_storage_slot_in_map(map_slot, key);\n\n // The following value was generated by `map_slot.test.ts`\n let slot_from_typescript = 0x2499880e2b1b831785c17286f99a0d5122fee784ce7b1c04e380c4a991da819a;\n\n assert_eq(slot, slot_from_typescript);\n }\n}\n"},"251":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr","source":"use crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, let N: u32>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<let N: u32> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<let N: u32> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<let N: u32> Serialize<N> for [Field; N] {\n fn serialize(self) -> [Field; N] {\n self\n }\n}\nimpl<let N: u32> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<let N: u32> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n\nimpl<let N: u32> Deserialize<N> for [Field; N] {\n fn deserialize(fields: [Field; N]) -> Self {\n fields\n }\n}\n"},"252":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"255":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/public_data_tree_leaf_preimage.nr","source":"use crate::{merkle_tree::leaf_preimage::IndexedTreeLeafPreimage, traits::{Empty, Hash}};\n\nstruct PublicDataTreeLeafPreimage {\n slot : Field,\n value: Field,\n next_slot :Field,\n next_index : u32,\n}\n\nimpl Empty for PublicDataTreeLeafPreimage {\n fn empty() -> Self {\n Self {\n slot: 0,\n value: 0,\n next_slot: 0,\n next_index: 0,\n }\n }\n}\n\nimpl Hash for PublicDataTreeLeafPreimage {\n fn hash(self) -> Field {\n if self.is_empty() {\n 0\n } else {\n crate::hash::poseidon2_hash([self.slot, self.value, (self.next_index as Field), self.next_slot])\n }\n }\n}\n\nimpl IndexedTreeLeafPreimage for PublicDataTreeLeafPreimage {\n fn get_key(self) -> Field {\n self.slot\n }\n\n fn get_next_key(self) -> Field {\n self.next_slot\n }\n\n fn as_leaf(self) -> Field {\n self.hash()\n }\n}\n\nimpl PublicDataTreeLeafPreimage {\n pub fn is_empty(self) -> bool {\n (self.slot == 0) & (self.value == 0) & (self.next_slot == 0) & (self.next_index == 0)\n }\n}\n"},"257":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc, point::Point\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n poseidon2_hash_with_separator(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256([log_hash.contract_address.to_field(), log_hash.log_hash.value])\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0\n )\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(\n inputs: [Field; N],\n separator: T\n) -> Field where T: ToField {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = std::hash::sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3)\n },\n version,\n chainId\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"},"263":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/point.nr","source":"use dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\nuse crate::{traits::{Empty, Hash, Serialize}, hash::poseidon2_hash};\n\nglobal POINT_LENGTH: Field = 3;\n\nimpl Serialize<POINT_LENGTH> for Point {\n fn serialize(self: Self) -> [Field; POINT_LENGTH] {\n [self.x, self.y, self.is_infinite as Field]\n }\n}\n\nimpl Hash for Point {\n fn hash(self) -> Field {\n poseidon2_hash(self.serialize())\n }\n}\n\nimpl Empty for Point {\n /// Note: Does not return a valid point on curve - instead represents an empty/\"unpopulated\" point struct (e.g.\n /// empty/unpopulated value in an array of points).\n fn empty() -> Self {\n Point {\n x: 0,\n y: 0,\n is_infinite: false\n }\n }\n}\n"},"264":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr","source":"use crate::{\n address::{\n aztec_address::AztecAddress, eth_address::EthAddress, partial_address::PartialAddress,\n public_keys_hash::PublicKeysHash\n},\n contract_class_id::ContractClassId,\n constants::{GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA, CONTRACT_INSTANCE_LENGTH},\n traits::{Deserialize, Hash, Serialize}\n};\n\nstruct ContractInstance {\n salt : Field,\n deployer: AztecAddress,\n contract_class_id : ContractClassId,\n initialization_hash : Field,\n public_keys_hash : PublicKeysHash,\n}\n\nimpl Eq for ContractInstance {\n fn eq(self, other: Self) -> bool {\n self.public_keys_hash.eq(other.public_keys_hash) &\n self.initialization_hash.eq(other.initialization_hash) &\n self.contract_class_id.eq(other.contract_class_id) &\n self.salt.eq(other.salt)\n }\n}\n\nimpl Serialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn serialize(self) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n [\n self.salt,\n self.deployer.to_field(),\n self.contract_class_id.to_field(),\n self.initialization_hash,\n self.public_keys_hash.to_field()\n ]\n }\n}\n\nimpl Deserialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn deserialize(serialized: [Field; CONTRACT_INSTANCE_LENGTH]) -> Self {\n Self {\n salt: serialized[0],\n deployer: AztecAddress::from_field(serialized[1]),\n contract_class_id: ContractClassId::from_field(serialized[2]),\n initialization_hash: serialized[3],\n public_keys_hash: PublicKeysHash::from_field(serialized[4]),\n }\n }\n}\n\nimpl Hash for ContractInstance {\n fn hash(self) -> Field {\n self.to_address().to_field()\n }\n}\n\nimpl ContractInstance {\n fn to_address(self) -> AztecAddress {\n AztecAddress::compute(\n self.public_keys_hash,\n PartialAddress::compute(\n self.contract_class_id,\n self.salt,\n self.initialization_hash,\n self.deployer\n )\n )\n }\n}\n"},"27":{"path":"std/hash/mod.nr","source":"mod poseidon;\nmod mimc;\nmod poseidon2;\nmod keccak;\n\nuse crate::default::Default;\nuse crate::uint128::U128;\nuse crate::sha256::{digest, sha256_var};\nuse crate::collections::vec::Vec;\nuse crate::embedded_curve_ops::{EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_slice};\nuse crate::meta::derive_via;\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\n{}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\npub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {\n // docs:end:pedersen_commitment\n pedersen_commitment_with_separator(input, 0)\n}\n\npub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {\n __pedersen_hash_with_separator(input, separator)\n}\n\nfn pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let value = __pedersen_commitment_with_separator(input, separator);\n if (value[0] == 0) & (value[1] == 0) {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n } else {\n EmbeddedCurvePoint { x: value[0], y: value[1], is_infinite: false }\n }\n}\n\n#[no_predicates]\nfn pedersen_commitment_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];\n for i in 0..N {\n // we use the unsafe version because the multi_scalar_mul will constrain the scalars.\n points[i] = from_field_unsafe(input[i]);\n }\n let generators = derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n multi_scalar_mul(generators, points)\n}\n\n#[no_predicates]\nfn pedersen_hash_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> Field {\n let mut scalars: Vec<EmbeddedCurveScalar> = Vec::from_slice([EmbeddedCurveScalar { lo: 0, hi: 0 }; N].as_slice()); //Vec::new();\n\n for i in 0..N {\n scalars.set(i, from_field_unsafe(input[i]));\n }\n scalars.push(EmbeddedCurveScalar { lo: N as Field, hi: 0 as Field });\n let domain_generators :[EmbeddedCurvePoint; N]= derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n let mut vec_generators = Vec::new();\n for i in 0..N {\n vec_generators.push(domain_generators[i]);\n }\n let length_generator : [EmbeddedCurvePoint; 1] = derive_generators(\"pedersen_hash_length\".as_bytes(), 0);\n vec_generators.push(length_generator[0]);\n multi_scalar_mul_slice(vec_generators.slice, scalars.slice)[0]\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n __pedersen_hash_with_separator(input, 0)\n}\n\n#[foreign(pedersen_hash)]\nfn __pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {}\n\n#[foreign(pedersen_commitment)]\nfn __pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\n#[field(bn254)]\nfn derive_generators<let N: u32, let M: u32>(domain_separator_bytes: [u8; M], starting_index: u32) -> [EmbeddedCurvePoint; N] {\n crate::assert_constant(domain_separator_bytes);\n // TODO(https://github.com/noir-lang/noir/issues/5672): Add back assert_constant on starting_index\n __derive_generators(domain_separator_bytes, starting_index)\n}\n\n#[builtin(derive_pedersen_generators)]\n#[field(bn254)]\nfn __derive_generators<let N: u32, let M: u32>(\n domain_separator_bytes: [u8; M],\n starting_index: u32\n) -> [EmbeddedCurvePoint; N] {}\n\n#[field(bn254)]\n // Same as from_field but:\n // does not assert the limbs are 128 bits\n // does not assert the decomposition does not overflow the EmbeddedCurveScalar\n fn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {\n let (xlo, xhi) = unsafe {\n crate::field::bn254::decompose_hint(scalar)\n };\n // Check that the decomposition is correct\n assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);\n EmbeddedCurveScalar { lo: xlo, hi: xhi }\n}\n\npub fn hash_to_field(inputs: [Field]) -> Field {\n let mut sum = 0;\n\n for input in inputs {\n let input_bytes: [u8; 32] = input.to_le_bytes(32).as_array();\n sum += crate::field::bytes32_to_field(blake2s(input_bytes));\n }\n\n sum\n}\n\n// docs:start:keccak256\npub fn keccak256<let N: u32>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{\n crate::hash::keccak::keccak256(input, message_size)\n}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<let N: u32>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n\n// Generic hashing support. \n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\n#[derive_via(derive_hash)]\ntrait Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher;\n}\n\ncomptime fn derive_hash(s: StructDefinition) -> Quoted {\n let name = quote { Hash };\n let signature = quote { fn hash<H>(_self: Self, _state: &mut H) where H: std::hash::Hasher };\n let for_each_field = |name| quote { _self.$name.hash(_state); };\n crate::meta::make_trait_impl(s, name, signature, for_each_field, quote {}, |fields| fields)\n}\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\ntrait Hasher{\n fn finish(self) -> Field;\n \n fn write(&mut self, input: Field);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\ntrait BuildHasher<H> where H: Hasher{\n fn build_hasher(self) -> H;\n}\n\nstruct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn build_hasher(_self: Self) -> H{\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn default() -> Self{\n BuildHasherDefault{}\n } \n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self);\n }\n}\n\nimpl Hash for u1 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u16 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i16 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H) where H: Hasher {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self.lo as Field);\n H::write(state, self.hi as Field);\n }\n}\n\nimpl<T, let N: u32> Hash for [T; N] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<T> Hash for [T] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.len().hash(state);\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B) where A: Hash, B: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C) where A: Hash, B: Hash, C: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D) where A: Hash, B: Hash, C: Hash, D: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E) where A: Hash, B: Hash, C: Hash, D: Hash, E: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n\n// Some test vectors for Pedersen hash and Pedersen Commitment.\n// They have been generated using the same functions so the tests are for now useless\n// but they will be useful when we switch to Noir implementation.\n#[test]\nfn assert_pedersen() {\n assert_eq(\n pedersen_hash_with_separator([1], 1), 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f\n );\n assert_eq(\n pedersen_commitment_with_separator([1], 1), EmbeddedCurvePoint {\n x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,\n y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,\n is_infinite: false\n }\n );\n\n assert_eq(\n pedersen_hash_with_separator([1, 2], 2), 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2], 2), EmbeddedCurvePoint {\n x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,\n y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3], 3), 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3], 3), EmbeddedCurvePoint {\n x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,\n y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4], 4), 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4], 4), EmbeddedCurvePoint {\n x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,\n y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5], 5), 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5), EmbeddedCurvePoint {\n x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,\n y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6), 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6), EmbeddedCurvePoint {\n x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,\n y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7), 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7), EmbeddedCurvePoint {\n x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,\n y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), EmbeddedCurvePoint {\n x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,\n y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), EmbeddedCurvePoint {\n x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,\n y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), EmbeddedCurvePoint {\n x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,\n y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,\n is_infinite: false\n }\n );\n}\n\n"},"276":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/root.nr","source":"use crate::{hash::merkle_hash, merkle_tree::merkle_tree::MerkleTree};\n\n// Calculate the Merkle tree root from the sibling path and leaf.\n//\n// The leaf is hashed with its sibling, and then the result is hashed\n// with the next sibling etc in the path. The last hash is the root.\n//\n// TODO(David/Someone): The cpp code is using a uint256, whereas its\n// TODO a bit simpler in Noir to just have a bit array.\n// TODO: I'd generally like to avoid u256 for algorithms like \n// this because it means we never even need to consider cases where \n// the index is greater than p.\npub fn root_from_sibling_path<let N: u32>(\n leaf: Field,\n leaf_index: Field,\n sibling_path: [Field; N]\n) -> Field {\n let mut node = leaf;\n let indices = leaf_index.to_le_bits(N);\n\n for i in 0..N {\n let (hash_left, hash_right) = if indices[i] == 1 {\n (sibling_path[i], node)\n } else {\n (node, sibling_path[i])\n };\n node = merkle_hash(hash_left, hash_right);\n }\n node\n}\n\npub fn calculate_subtree_root<let N: u32>(leaves: [Field; N]) -> Field {\n MerkleTree::new(leaves).get_root()\n}\n\n// These values are precomputed and we run tests to ensure that they\n// are correct. The values themselves were computed from the cpp code.\n//\n// Would be good if we could use width since the compute_subtree\n// algorithm uses depth.\npub fn calculate_empty_tree_root(depth: u32) -> Field {\n if depth == 0 {\n 0\n } else if depth == 1 {\n 0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1\n } else if depth == 2 {\n 0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290\n } else if depth == 3 {\n 0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20\n } else if depth == 4 {\n 0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e\n } else if depth == 5 {\n 0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf\n } else if depth == 6 {\n 0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76\n } else if depth == 7 {\n 0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b\n } else if depth == 8 {\n 0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1\n } else if depth == 9 {\n 0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972\n } else if depth == 10 {\n 0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686\n } else {\n assert(false, \"depth should be between 0 and 10\");\n 0\n }\n}\n\n#[test]\nfn test_merkle_root_interop_test() {\n // This is a test to ensure that we match the cpp implementation.\n // You can grep for `TEST_F(root_rollup_tests, noir_interop_test)`\n // to find the test that matches this.\n let root = calculate_subtree_root([1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]);\n assert(0x1a09d935ae110b4c861fcec8f9099ec30b4485022aeb3d3cf9d7168e38fdc231 == root);\n\n let empty_root = calculate_subtree_root([0; 16]);\n assert(0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e == empty_root);\n}\n\n#[test]\nfn test_empty_subroot() {\n assert(calculate_empty_tree_root(0) == 0);\n\n let expected_empty_root_2 = calculate_subtree_root([0; 2]);\n assert(calculate_empty_tree_root(1) == expected_empty_root_2);\n\n let expected_empty_root_4 = calculate_subtree_root([0; 4]);\n assert(calculate_empty_tree_root(2) == expected_empty_root_4);\n\n let expected_empty_root_8 = calculate_subtree_root([0; 8]);\n assert(calculate_empty_tree_root(3) == expected_empty_root_8);\n\n let expected_empty_root_16 = calculate_subtree_root([0; 16]);\n assert(calculate_empty_tree_root(4) == expected_empty_root_16);\n\n let expected_empty_root_32 = calculate_subtree_root([0; 32]);\n assert(calculate_empty_tree_root(5) == expected_empty_root_32);\n\n let expected_empty_root_64 = calculate_subtree_root([0; 64]);\n assert(calculate_empty_tree_root(6) == expected_empty_root_64);\n\n let expected_empty_root_128 = calculate_subtree_root([0; 128]);\n assert(calculate_empty_tree_root(7) == expected_empty_root_128);\n\n let expected_empty_root_256 = calculate_subtree_root([0; 256]);\n assert(calculate_empty_tree_root(8) == expected_empty_root_256);\n\n let expected_empty_root_512 = calculate_subtree_root([0; 512]);\n assert(calculate_empty_tree_root(9) == expected_empty_root_512);\n\n let expected_empty_root_1024 = calculate_subtree_root([0; 1024]);\n assert(calculate_empty_tree_root(10) == expected_empty_root_1024);\n}\n"},"280":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<let K: u32>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, let K: u32, let C: u32>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"},"292":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/field.nr","source":"pub fn field_from_bytes<let N: u32>(bytes: [u8; N], big_endian: bool) -> Field {\n assert(bytes.len() < 32, \"field_from_bytes: N must be less than 32\");\n let mut as_field = 0;\n let mut offset = 1;\n for i in 0..N {\n let mut index = i;\n if big_endian {\n index = N - i - 1;\n }\n as_field += (bytes[index] as Field) * offset;\n offset *= 256;\n }\n\n as_field\n}\n\n// Convert a 32 byte array to a field element by truncating the final byte\npub fn field_from_bytes_32_trunc(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..15 {\n // covers bytes 16..30 (31 is truncated and ignored)\n low = low + (bytes32[15 + 15 - i] as Field) * v;\n v = v * 256;\n // covers bytes 0..14\n high = high + (bytes32[14 - i] as Field) * v;\n }\n // covers byte 15\n low = low + (bytes32[15] as Field) * v;\n\n low + high * v\n}\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n\n#[test]\nunconstrained fn bytes_field_test() {\n // Tests correctness of field_from_bytes_32_trunc against existing methods\n // Bytes representing 0x543e0a6642ffeb8039296861765a53407bba62bd1c97ca43374de950bbe0a7\n let inputs = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167\n ];\n let field = field_from_bytes(inputs, true);\n let return_bytes = field.to_be_bytes(31);\n for i in 0..31 {\n assert_eq(inputs[i], return_bytes[i]);\n }\n // 32 bytes - we remove the final byte, and check it matches the field\n let inputs2 = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167, 158\n ];\n let field2 = field_from_bytes_32_trunc(inputs2);\n let return_bytes2 = field.to_be_bytes(31);\n\n for i in 0..31 {\n assert_eq(return_bytes2[i], return_bytes[i]);\n }\n assert_eq(field2, field);\n}\n\n#[test]\nunconstrained fn max_field_test() {\n // Tests the hardcoded value in constants.nr vs underlying modulus\n // NB: We can't use 0-1 in constants.nr as it will be transpiled incorrectly to ts and sol constants files\n let max_value = crate::constants::MAX_FIELD_VALUE;\n assert_eq(max_value, 0 - 1);\n // modulus == 0 is tested elsewhere, so below is more of a sanity check\n let max_bytes = max_value.to_be_bytes(32);\n let mod_bytes = std::field::modulus_be_bytes();\n for i in 0..31 {\n assert_eq(max_bytes[i], mod_bytes[i]);\n }\n assert_eq(max_bytes[31], mod_bytes[31] - 1);\n}\n"},"294":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/mod.nr","source":"// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, let N: u32, let M: u32>(src: [T; N], mut dst: [T; M], offset: u32) -> [T; M] {\n let iterator_len = if N > M { M } else { N };\n for i in 0..iterator_len {\n dst[i] = src[i + offset];\n }\n dst\n}\n"},"307":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","source":"use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash_with_separator,\n traits::{Empty, FromField, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys_hash() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x23ce9be3fa3c846b0f9245cc796902e731d04f086e8a42473bb29e405fc98075;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n"},"309":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr","source":"use crate::{\n address::{\n eth_address::EthAddress, salted_initialization_hash::SaltedInitializationHash,\n aztec_address::AztecAddress\n},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, contract_class_id::ContractClassId,\n hash::poseidon2_hash_with_separator, traits::{ToField, FromField, Serialize, Deserialize}\n};\n\nglobal PARTIAL_ADDRESS_LENGTH = 1;\n\n// Partial address\nstruct PartialAddress {\n inner : Field\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn serialize(self: Self) -> [Field; PARTIAL_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn deserialize(fields: [Field; PARTIAL_ADDRESS_LENGTH]) -> Self {\n PartialAddress { inner: fields[0] }\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n deployer: AztecAddress\n ) -> Self {\n PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n SaltedInitializationHash::compute(salt, initialization_hash, deployer)\n )\n }\n\n pub fn compute_from_salted_initialization_hash(\n contract_class_id: ContractClassId,\n salted_initialization_hash: SaltedInitializationHash\n ) -> Self {\n PartialAddress::from_field(\n poseidon2_hash_with_separator(\n [\n contract_class_id.to_field(),\n salted_initialization_hash.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn is_zero(self) -> bool {\n self.to_field() == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"310":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr","source":"use crate::{\n address::{eth_address::EthAddress, aztec_address::AztecAddress},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, hash::poseidon2_hash_with_separator, traits::ToField\n};\n\n// Salted initialization hash. Used in the computation of a partial address.\nstruct SaltedInitializationHash {\n inner: Field\n}\n\nimpl ToField for SaltedInitializationHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl SaltedInitializationHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(salt: Field, initialization_hash: Field, deployer: AztecAddress) -> Self {\n SaltedInitializationHash::from_field(\n poseidon2_hash_with_separator(\n [\n salt,\n initialization_hash,\n deployer.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"32":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\ncomptime global RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n"},"369":{"path":"/usr/src/noir-projects/noir-contracts/contracts/ecdsa_public_key_note/src/lib.nr","source":"use dep::aztec::prelude::{AztecAddress, FunctionSelector, NoteHeader, NoteInterface, NoteGetterOptions, PrivateContext};\n\nuse dep::aztec::{\n note::utils::compute_note_hash_for_nullify, keys::getters::get_nsk_app,\n protocol_types::{constants::GENERATOR_INDEX__NOTE_NULLIFIER, hash::poseidon2_hash_with_separator}\n};\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n// ECDSA_PUBLIC_KEY_NOTE_LEN * 32 + 32(storage_slot as bytes) + 32(note_type_id as bytes)\nglobal ECDSA_PUBLIC_KEY_NOTE_BYTES_LEN: Field = 5 * 32 + 64;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\n#[aztec(note)]\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n // We store the npk_m_hash only to get the secret key to compute the nullifier\n npk_m_hash: Field,\n}\n\nimpl NoteInterface<ECDSA_PUBLIC_KEY_NOTE_LEN, ECDSA_PUBLIC_KEY_NOTE_BYTES_LEN> for EcdsaPublicKeyNote {\n // Cannot use the automatic serialization since x and y don't fit. Serialize the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = npk_m_hash\n fn serialize_content(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n [x, last_x, y, last_y, self.npk_m_hash]\n }\n\n // Cannot use the automatic deserialization for the aforementioned reasons\n fn deserialize_content(serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x = serialized_note[0].to_be_bytes(32);\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = serialized_note[1].to_be_bytes(32)[31];\n\n let part_y = serialized_note[2].to_be_bytes(32);\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = serialized_note[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote { x, y, npk_m_hash: serialized_note[4], header: NoteHeader::empty() }\n }\n\n fn compute_nullifier(self, context: &mut PrivateContext, note_hash_for_nullify: Field) -> Field {\n let secret = context.request_nsk_app(self.npk_m_hash);\n poseidon2_hash_with_separator([\n note_hash_for_nullify,\n secret\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field,\n )\n }\n\n fn compute_nullifier_without_context(self) -> Field {\n let note_hash_for_nullify = compute_note_hash_for_nullify(self);\n let secret = get_nsk_app(self.npk_m_hash);\n poseidon2_hash_with_separator([\n note_hash_for_nullify,\n secret,\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field,\n )\n }\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], npk_m_hash: Field) -> Self {\n EcdsaPublicKeyNote { x, y, npk_m_hash, header: NoteHeader::empty() }\n }\n}\n"},"370":{"path":"/usr/src/noir-projects/noir-contracts/contracts/ecdsa_r_account_contract/src/main.nr","source":"// Account contract that uses ECDSA signatures for authentication on random version of the p256 curve (to use with touchID).\ncontract EcdsaRAccount {\n use dep::aztec::prelude::{AztecAddress, FunctionSelector, NoteHeader, NoteGetterOptions, PrivateContext, PrivateImmutable};\n use dep::aztec::{\n encrypted_logs::encrypted_note_emission::encode_and_encrypt_note_with_keys,\n keys::getters::get_current_public_keys\n };\n\n use dep::aztec::protocol_types::abis::call_context::CallContext;\n use dep::std;\n\n use dep::authwit::{\n entrypoint::{app::AppPayload, fee::FeePayload}, account::AccountActions,\n auth_witness::get_auth_witness\n };\n\n use dep::ecdsa_public_key_note::EcdsaPublicKeyNote;\n\n #[aztec(storage)]\n struct Storage {\n public_key: PrivateImmutable<EcdsaPublicKeyNote>,\n }\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n #[aztec(private)]\n #[aztec(initializer)]\n fn constructor(signing_pub_key_x: [u8; 32], signing_pub_key_y: [u8; 32]) {\n let this = context.this_address();\n let this_keys = get_current_public_keys(&mut context, this);\n // Not emitting outgoing for msg_sender here to not have to register keys for the contract through which we\n // deploy this (typically MultiCallEntrypoint). I think it's ok here as I feel the outgoing here is not that\n // important.\n\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this_keys.npk_m.hash());\n storage.public_key.initialize(&mut pub_key_note).emit(encode_and_encrypt_note_with_keys(&mut context, this_keys.ovpk_m, this_keys.ivpk_m, this));\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update default_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload, fee_payload: FeePayload) {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.entrypoint(app_payload, fee_payload);\n }\n\n #[aztec(private)]\n #[aztec(noinitcheck)]\n #[aztec(view)]\n fn verify_private_authwit(inner_hash: Field) -> Field {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.verify_private_authwit(inner_hash)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, outer_hash: Field) -> bool {\n // Load public key from storage\n let storage = Storage::init(context);\n let public_key = storage.public_key.get_note();\n\n // Load auth witness\n let witness: [Field; 64] = get_auth_witness(outer_hash);\n let mut signature: [u8; 64] = [0; 64];\n for i in 0..64 {\n signature[i] = witness[i] as u8;\n }\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let outer_hash_bytes: [u8; 32] = outer_hash.to_be_bytes(32).as_array();\n let hashed_message: [u8; 32] = std::hash::sha256(outer_hash_bytes);\n let verification = std::ecdsa_secp256r1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n true\n }\n}\n"},"5":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::mem::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Get an element from the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Get an element from the vector at the given index.\n /// Responds with undefined data for `index` where `self.len < index < self.max_len()`.\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Write an element to the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Write an element to the vector at the given index.\n /// Does not check whether the passed `index` is a valid index within the vector.\n ///\n /// Silently writes past the end of the vector for `index` where `self.len < index < self.max_len()`\n /// Panics if the given index points beyond the maximum length of the vector (`self.max_len()`).\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u32 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::mem::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n ret\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n \n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n crate::println(vec.get(0));\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n\n // Need to use println to avoid DIE removing the write operation.\n crate::println(vec.get(0));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.storage()[2], 0);\n }\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n assert_eq(bounded_vec.storage()[2], 3);\n }\n\n #[test(should_fail_with=\"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n}\n"},"50":{"path":"std/option.nr","source":"use crate::hash::{Hash, Hasher};\nuse crate::cmp::{Ordering, Ord, Eq};\nuse crate::default::Default;\n\nstruct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::mem::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some { self._value } else { default }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// Asserts `self.is_some()` with a provided custom message and returns the contained `Some` value\n fn expect<let N: u32, MessageTypes>(self, message: fmtstr<N, MessageTypes>) -> T {\n assert(self.is_some(), message);\n self._value\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some { self } else { other }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some { self } else { default() }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some { Option::none() } else { self }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n\nimpl<T> Default for Option<T> {\n fn default() -> Self {\n Option::none()\n }\n}\n\nimpl<T> Eq for Option<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n if self._is_some == other._is_some {\n if self._is_some {\n self._value == other._value\n } else {\n true\n }\n } else {\n false\n }\n }\n}\n\nimpl<T> Hash for Option<T> where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher {\n self._is_some.hash(state);\n if self._is_some {\n self._value.hash(state);\n }\n }\n}\n\n// For this impl we're declaring Option::none < Option::some\nimpl<T> Ord for Option<T> where T: Ord {\n fn cmp(self, other: Self) -> Ordering {\n if self._is_some {\n if other._is_some {\n self._value.cmp(other._value)\n } else {\n Ordering::greater()\n }\n } else {\n if other._is_some {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n"},"64":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth_witness.nr","source":"#[oracle(getAuthWitness)]\nunconstrained fn get_auth_witness_oracle<let N: u32>(_message_hash: Field) -> [Field; N] {}\n\n/**\n * Oracle wrapper to fetch an `auth_witness` for a given `message_hash` from the PXE.\n * \n * @param message_hash The hash of the message for which the `auth_witness` is to be fetched.\n * @return The `auth_witness` for the given `message_hash` as Field array.\n */\nunconstrained pub fn get_auth_witness<let N: u32>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n"},"65":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr","source":"use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{\n GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER, GENERATOR_INDEX__AUTHWIT_NULLIFIER,\n CANONICAL_AUTH_REGISTRY_ADDRESS\n},\n hash::poseidon2_hash_with_separator\n};\nuse dep::aztec::{prelude::Deserialize, context::{PrivateContext, PublicContext, gas::GasOpts}, hash::hash_args_array};\n\n/**\n * Authenticaion witness helper library\n *\n * Authentication Witness is a scheme for authenticating actions on Aztec, so users can allow third-parties \n * (e.g. protocols or other users) to execute an action on their behalf.\n * \n * This library provides helper functions to manage such witnesses.\n * The authentication witness, is some \"witness\" (data) that authenticates a `message_hash`.\n * The simplest example of an authentication witness, is a signature. The signature is the \"evidence\",\n * that the signer has seen the message, agrees with it, and has allowed it.\n * It does not need to be a signature. It could be any kind of \"proof\" that the message is allowed.\n * Another proof could be knowing some kind of secret, or having some kind of \"token\" that allows the message.\n *\n * The `message_hash` is a hash of the following structure:\n * hash(consumer, chain_id, version, inner_hash)\n * - consumer: the address of the contract that is \"consuming\" the message,\n * - chain_id: the chain id of the chain that the message is being consumed on,\n * - version: the version of the chain that the message is being consumed on,\n * - inner_hash: the hash of the \"inner\" message that is being consumed, this is the \"actual\" message or action.\n *\n * While the `inner_hash` could be anything, such as showing you signed a specific message, it will often be \n * a hash of the \"action\" to approve, along with who made the call. As part of this library, we provide a few \n * helper functions to deal with such messages.\n *\n * For example, we provide helper function that is used for checking that the message is an encoding of the current call.\n * This can be used to let some contract \"allow\" another contract to act on its behalf, as long as it can \n * show that it is acting on behalf of the contract.\n *\n * If we take a case of allowing a contract to transfer tokens on behalf of an account, the `inner_hash` can be \n * derived as:\n * inner_hash = hash(caller, \"transfer\", hash(to, amount))\n * \n * Where the `caller` would be the address of the contract that is trying to transfer the tokens, and `to` and `amount`\n * the arguments for the transfer. \n * \n * Note that we have both a `caller` and a `consumer`, the `consumer` will be the contract that is consuming the message,\n * in the case of the transfer, it would be the `Token` contract itself, while the caller, will be the actor that is \n * allowed to transfer the tokens.\n *\n *\n * The authentication mechanism works differently in public and private contexts. In private, we recall that everything\n * is executed on the user's device, so we can use `oracles` to \"ask\" the user (not contract) for information. In public\n * we cannot do this, since it is executed by the sequencer (someone else). Therefore we can instead use a \"registry\"\n * to store the messages that we have approved.\n * \n * A simple example would be a \"token\" that is being \"pulled\" from one account into another. We will first outline \n * how this would look in private, and then in public later. \n *\n * Say that a user `Alice` wants to deposit some tokens into a DeFi protocol (say a DEX). \n * `Alice` would make a `deposit` transaction, that she is executing using her account contract. \n * The account would call the `DeFi` contract to execute `deposit`, which would try to pull funds from the `Token` \n * contract. Since the `DeFi` contract is trying to pull funds from an account that is not its own, it needs to \n * convince the `Token` contract that it is allowed to do so. \n * \n * This is where the authentication witness comes in The `Token` contract computes a `message_hash` from the \n * `transfer` call, and then asks `Alice Account` contract to verify that the `DeFi` contract is allowed to \n * execute that call.\n * \n * `Alice Account` contract can then ask `Alice` if she wants to allow the `DeFi` contract to pull funds from her \n * account. If she does, she will sign the `message_hash` and return the signature to the `Alice Account` which\n * will validate it and return success to the `Token` contract which will then allow the `DeFi` contract to pull\n * funds from `Alice`.\n * \n * To ensure that the same \"approval\" cannot be used multiple times, we also compute a `nullifier` for the\n * authentication witness, and emit it from the `Token` contract (consumer).\n * \n * Note that we can do this flow as we are in private were we can do oracle calls out from contracts. \n * \n *\n * Person Contract Contract Contract\n * Alice Alice Account Token DeFi\n * | | | |\n * | Defi.deposit(Token, 1000) | |\n * |----------------->| | |\n * | | deposit(Token, 1000) |\n * | |---------------------------------------->|\n * | | | |\n * | | | transfer(Alice, Defi, 1000)\n * | | |<---------------------|\n * | | | |\n * | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | |<-----------------| |\n * | | | |\n * | Please give me AuthWit for DeFi | |\n * | calling transfer(Alice, Defi, 1000) | |\n * |<-----------------| | |\n * | | | |\n * | | | |\n * | AuthWit for transfer(Alice, Defi, 1000) |\n * |----------------->| | |\n * | | AuthWit validity | |\n * | |----------------->| |\n * | | | |\n * | | throw if invalid AuthWit |\n * | | | |\n * | | emit AuthWit nullifier |\n * | | | |\n * | | transfer(Alice, Defi, 1000) |\n * | | | |\n * | | | |\n * | | | success |\n * | | |--------------------->|\n * | | | |\n * | | | |\n * | | | deposit(Token, 1000)\n * | | | |\n * | | | |\n *\n * \n * If we instead were in public, we cannot do the same flow. Instead we would use an authentication registry to store \n * the messages that we have approved. \n * \n * To approve a message, `Alice Account` can make a `set_authorized` call to the registry, to set a `message_hash`\n * as authorized. This is essentially a mapping from `message_hash` to `true` for `Alice Contract`. Every account\n * has its own map in the registry, so `Alice` cannot approve a message for `Bob`.\n *\n * The `Token` contract can then try to \"spend\" the approval by calling `consume` on the registry. If the message\n * was approved, the value is updated to `false`, and we return the success flag. For more information on the\n * registry, see `main.nr` in `auth_registry_contract`.\n *\n * Person Contract Contract Contract Contract\n * Alice Alice Account Registry Token DeFi\n * | | | | |\n * | Registry.set_authorized(..., true) | | |\n * |----------------->| | | |\n * | | set_authorized(..., true) | |\n * | |------------------->| | |\n * | | | | |\n * | | set authorized to true | |\n * | | | | |\n * | | | | |\n * | Defi.deposit(Token, 1000) | | |\n * |----------------->| | | |\n * | | deposit(Token, 1000) | |\n * | |-------------------------------------------------------------->|\n * | | | | |\n * | | | transfer(Alice, Defi, 1000) |\n * | | | |<---------------------|\n * | | | | |\n * | | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | | |<------------------| |\n * | | | | |\n * | | throw if invalid AuthWit | |\n * | | | | |\n * | | | | |\n * | | set authorized to false | |\n * | | | | |\n * | | | | |\n * | | | AuthWit validity | |\n * | | |------------------>| |\n * | | | | |\n * | | | | transfer(Alice, Defi, 1000)\n * | | | |<-------------------->|\n * | | | | |\n * | | | | success |\n * | | | |--------------------->|\n * | | | | |\n * | | | | deposit(Token, 1000)\n * | | | | |\n *\n *\n * --- FAQ ---\n * Q: Why are we using a success flag of `keccak256(\"IS_VALID()\")` instead of just returning a boolean?\n * A: We want to make sure that we don't accidentally return `true` if there is a collision in the function selector.\n * By returning a hash of `IS_VALID()`, it becomes very unlikely that there is both a colission and we return \n * a success flag.\n * \n * Q: Why are we using static calls?\n * A: We are using static calls to ensure that the account contract cannot re-enter. If it was a normal call, it\n * could make a new call and do a re-entry attack. Using a static ensures that it cannot update any state.\n *\n * Q: Would it not be cheaper to use a nullifier instead of updating state in public?\n * A: At a quick glance, a public state update + nullifier is 96 bytes, but two state updates are 128, so it would be \n * cheaper to use a nullifier, if this is the way it would always be done. However, if both the approval and the \n * consumption is done in the same transaction, then we will be able to squash the updates (only final tx state diff is posted to DA), and now it is cheaper.\n * \n * Q: Why is the chain id and the version part of the message hash?\n * A: The chain id and the version is part of the message hash to ensure that the message is only valid on a specific\n * chain to avoid a case where the same message could be used across multiple chains. \n */\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n/** \n * Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the \n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n * \n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n assert_inner_hash_valid_authwit(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit\n\n/** \n * Assert that a specific `inner_hash` is valid for the `on_behalf_of` address\n * \n * Used as an internal function for `assert_current_call_valid_authwit` and can be used as a standalone function when\n * the `inner_hash` is from a different source, e.g., say a block of text etc.\n * \n * @param on_behalf_of The address that have authorized the current call\n * @param inner_hash The hash of the message to authorize \n */\npub fn assert_inner_hash_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress, inner_hash: Field) {\n // We perform a static call here and not a standard one to ensure that the account contract cannot re-enter.\n let result: Field = context.static_call_private_function(\n on_behalf_of,\n FunctionSelector::from_signature(\"verify_private_authwit(Field)\"),\n [inner_hash]\n ).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n // Compute the nullifier, similar computation to the outer hash, but without the chain_id and version.\n // Those should already be handled in the verification, so we just need something to nullify, that allow same inner_hash for multiple actors.\n let nullifier = compute_authwit_nullifier(on_behalf_of, inner_hash);\n context.push_nullifier(nullifier);\n}\n\n/** \n * Assert that `on_behalf_of` have authorized the current call in the authentication registry\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the \n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n * \n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n * \n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit_public\npub fn assert_current_call_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n assert_inner_hash_valid_authwit_public(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n/** \n * Assert that `on_behalf_of` have authorized a speicifc `inner_hash` in the authentication registry\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the \n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n * \n * @param on_behalf_of The address that have authorized the `inner_hash`\n */\npub fn assert_inner_hash_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress, inner_hash: Field) {\n let result: Field = context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n FunctionSelector::from_signature(\"consume((Field),Field)\"),\n [on_behalf_of.to_field(), inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n\n/**\n * Compute the `message_hash` from a function call to be used by an authentication witness \n * \n * Useful for when you need a non-account contract to approve during execution. For example if you need a contract\n * to make a call to nested contract, e.g., contract A wants to exit token T to L1 using bridge B, so it needs to allow\n * B to transfer T on its behalf.\n * \n * @param caller The address of the contract that is calling the function, in the example above, this would be B\n * @param consumer The address of the contract that is consuming the message, in the example above, this would be T\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param selector The function selector of the function that is being called\n * @param args The arguments of the function that is being called\n */\n// docs:start:compute_authwit_message_hash_from_call\npub fn compute_authwit_message_hash_from_call<let N: u32>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_authwit_message_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_authwit_message_hash_from_call\n\n/**\n * Computes the `inner_hash` of the authentication witness\n * \n * This is used internally, but also useful in cases where you want to compute the `inner_hash` for a specific message\n * that is not necessarily a call, but just some \"bytes\" or text.\n * \n * @param args The arguments to hash\n */\npub fn compute_inner_authwit_hash<let N: u32>(args: [Field; N]) -> Field {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\n/** \n * Computs the `authwit_nullifier` for a specific `on_behalf_of` and `inner_hash`\n * \n * Using the `on_behalf_of` and the `inner_hash` to ensure that the nullifier is siloed for a specific `on_behalf_of`.\n * \n * @param on_behalf_of The address that have authorized the `inner_hash`\n * @param inner_hash The hash of the message to authorize\n */\npub fn compute_authwit_nullifier(on_behalf_of: AztecAddress, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [on_behalf_of.to_field(), inner_hash],\n GENERATOR_INDEX__AUTHWIT_NULLIFIER\n )\n}\n\n/**\n * Computes the `message_hash` for the authentication witness\n * \n * @param consumer The address of the contract that is consuming the message\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param inner_hash The hash of the \"inner\" message that is being consumed\n */\npub fn compute_authwit_message_hash(consumer: AztecAddress, chain_id: Field, version: Field, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n\n/**\n * Helper function to set the authorization status of a message hash\n * \n * Wraps a public call to the authentication registry to set the authorization status of a `message_hash`\n * \n * @param message_hash The hash of the message to authorize\n * @param authorize True if the message should be authorized, false if it should be revoked\n */\npub fn set_authorized(context: &mut PublicContext, message_hash: Field, authorize: bool) {\n context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n FunctionSelector::from_signature(\"set_authorized(Field,bool)\"),\n [message_hash, authorize as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n\n/**\n * Helper function to reject all authwits\n * \n * Wraps a public call to the authentication registry to set the `reject_all` flag\n *\n * @param reject True if all authwits should be rejected, false otherwise \n */\npub fn set_reject_all(context: &mut PublicContext, reject: bool) {\n context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n FunctionSelector::from_signature(\"set_reject_all(bool)\"),\n [context.this_address().to_field(), reject as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n"},"66":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/account.nr","source":"use dep::aztec::{\n context::PrivateContext, protocol_types::constants::GENERATOR_INDEX__COMBINED_PAYLOAD,\n hash::poseidon2_hash_with_separator\n};\n\nuse crate::entrypoint::{app::AppPayload, fee::FeePayload};\nuse crate::auth::{IS_VALID_SELECTOR, compute_authwit_message_hash};\n\nstruct AccountActions<Context> {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n}\n\nimpl<Context> AccountActions<Context> {\n pub fn init(context: Context, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions { context, is_valid_impl }\n }\n}\n\n/**\n * An implementation of the Account Action struct for the private context.\n *\n * Implements logic to verify authorization and execute payloads.\n */\nimpl AccountActions<&mut PrivateContext> {\n\n /**\n * Verifies that the `app_hash` and `fee_hash` are authorized and then executes them.\n *\n * Executes the `fee_payload` and `app_payload` in sequence.\n * Will execute the `fee_payload` as part of the setup, and then enter the app phase.\n *\n * @param app_payload The payload that contains the calls to be executed in the app phase.\n * @param fee_payload The payload that contains the calls to be executed in the setup phase.\n */\n // docs:start:entrypoint\n pub fn entrypoint(self, app_payload: AppPayload, fee_payload: FeePayload) {\n let valid_fn = self.is_valid_impl;\n\n let combined_payload_hash = poseidon2_hash_with_separator(\n [app_payload.hash(), fee_payload.hash()],\n GENERATOR_INDEX__COMBINED_PAYLOAD\n );\n assert(valid_fn(self.context, combined_payload_hash));\n\n fee_payload.execute_calls(self.context);\n self.context.end_setup();\n app_payload.execute_calls(self.context);\n }\n // docs:end:entrypoint\n\n /**\n * Verifies that the `msg_sender` is authorized to consume `inner_hash` by the account.\n *\n * Computes the `message_hash` using the `msg_sender`, `chain_id`, `version` and `inner_hash`.\n * Then executes the `is_valid_impl` function to verify that the message is authorized.\n *\n * Will revert if the message is not authorized.\n *\n * @param inner_hash The hash of the message that the `msg_sender` is trying to consume.\n */\n // docs:start:verify_private_authwit\n pub fn verify_private_authwit(self, inner_hash: Field) -> Field {\n // The `inner_hash` is \"siloed\" with the `msg_sender` to ensure that only it can\n // consume the message.\n // This ensures that contracts cannot consume messages that are not intended for them.\n let message_hash = compute_authwit_message_hash(\n self.context.msg_sender(),\n self.context.chain_id(),\n self.context.version(),\n inner_hash\n );\n let valid_fn = self.is_valid_impl;\n assert(valid_fn(self.context, message_hash) == true, \"Message not authorized by account\");\n IS_VALID_SELECTOR\n }\n // docs:end:verify_private_authwit\n}\n"},"67":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n"},"69":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/fee.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__FEE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\nuse crate::entrypoint::function_call::FunctionCall;\n\n// 2 * 5 (FUNCTION_CALL_SIZE) + 2\nglobal FEE_PAYLOAD_SIZE: Field = 12;\n\n// 2 * 98 (FUNCTION_CALL_SIZE_IN_BYTES) + 32\nglobal FEE_PAYLOAD_SIZE_IN_BYTES: Field = 228;\n\nglobal MAX_FEE_FUNCTION_CALLS = 2;\n\n// docs:start:fee-payload-struct\nstruct FeePayload {\n function_calls: [FunctionCall; MAX_FEE_FUNCTION_CALLS],\n nonce: Field,\n is_fee_payer: bool,\n}\n// docs:end:fee-payload-struct\n\nimpl Serialize<FEE_PAYLOAD_SIZE> for FeePayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; FEE_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, FEE_PAYLOAD_SIZE> = BoundedVec::new();\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n fields.extend_from_array(self.function_calls[i].serialize());\n }\n fields.push(self.nonce);\n fields.push(self.is_fee_payer as Field);\n fields.storage\n }\n}\n\nimpl Hash for FeePayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__FEE_PAYLOAD\n )\n }\n}\n\nimpl FeePayload {\n fn to_be_bytes(self) -> [u8; FEE_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, FEE_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n bytes.push(self.is_fee_payer as u8);\n\n bytes.storage\n }\n\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n if self.is_fee_payer {\n context.set_as_fee_payer();\n }\n }\n}\n"},"75":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/point_to_symmetric_key.nr","source":"use dep::protocol_types::{constants::GENERATOR_INDEX__SYMMETRIC_KEY, scalar::Scalar, point::Point, utils::arr_copy_slice};\nuse crate::utils::point::point_to_bytes;\nuse std::{hash::sha256, embedded_curve_ops::multi_scalar_mul};\n\n// TODO(#5726): This function is called deriveAESSecret in TS. I don't like point_to_symmetric_key name much since\n// point is not the only input of the function. Unify naming with TS once we have a better name.\npub fn point_to_symmetric_key(secret: Scalar, point: Point) -> [u8; 32] {\n let shared_secret: Point = multi_scalar_mul([point], [secret]);\n let shared_secret = point_to_bytes(shared_secret);\n let mut shared_secret_bytes_with_separator = [0 as u8; 33];\n shared_secret_bytes_with_separator = arr_copy_slice(shared_secret, shared_secret_bytes_with_separator, 0);\n shared_secret_bytes_with_separator[32] = GENERATOR_INDEX__SYMMETRIC_KEY;\n sha256(shared_secret_bytes_with_separator)\n}\n\n#[test]\nfn test_point_to_symmetric_key_matches_noir() {\n // Value taken from \"derive shared secret\" test in encrypt_buffer.test.ts\n let secret = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n let point = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n };\n\n let key = point_to_symmetric_key(secret, point);\n\n // The following value was generated by `encrypt_buffer.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let key_from_typescript = [\n 251, 232, 177, 34, 2, 174, 35, 92, 165, 118, 168, 3, 153, 140, 46, 210, 203, 154, 184, 158, 236, 33, 95, 77, 93, 120, 72, 88, 190, 209, 64, 159\n ];\n assert_eq(key, key_from_typescript);\n}\n"},"76":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/stored_keys.nr","source":"use crate::keys::public_keys::{PublicKeys, PUBLIC_KEYS_LENGTH};\nuse dep::protocol_types::traits::{Serialize, Deserialize};\n\n// This struct represents how public keys are stored in the key registry. We store not just the keys themselves but also\n// their hash, so that when reading in private we can perform a historical read for the hash and then show that it\n// corresponds to a preimage obtained from an unconstrained hint. We do store the keys keys regardless as they might be\n// needed during public execution, and since we need to broadcast and produce hints in some standardized way.\n// While it might seem odd to create a struct for what is effectively some data and a pure function called on it, state\n// variables rely on serializable structs in order to persist data to storage, so we must use this abstraction.\nstruct StoredKeys {\n public_keys: PublicKeys,\n hash: Field,\n}\n\nimpl StoredKeys {\n // Instances of StoredKeys are expected to only be created by calling this function so that we guarantee that the\n // hash field does indeed correspond to the hash of the keys. Ideally we'd forbid direct access to the struct, but \n // Noir doesn't yet support private members.\n fn new(public_keys: PublicKeys) -> Self {\n Self { public_keys, hash: public_keys.hash().inner }\n }\n}\n\n// Our serialization is the concatenation of the public keys serialization plush the hash, so we need one extra field.\nglobal STORED_KEYS_LENGTH: u32 = PUBLIC_KEYS_LENGTH + 1;\n\nimpl Serialize<STORED_KEYS_LENGTH> for StoredKeys {\n fn serialize(self) -> [Field; STORED_KEYS_LENGTH] {\n // The code below is equivalent to:\n // [ ...self.public_keys.serialize(), self.hash ]\n\n let mut array = [0; STORED_KEYS_LENGTH];\n\n let serialized_keys = self.public_keys.serialize();\n for i in 0..serialized_keys.len() {\n array[i] = serialized_keys[i];\n }\n\n array[PUBLIC_KEYS_LENGTH] = self.hash;\n\n array\n }\n}\n\nimpl Deserialize<STORED_KEYS_LENGTH> for StoredKeys {\n fn deserialize(array: [Field; STORED_KEYS_LENGTH]) -> Self {\n // The code below is equivalent to:\n // Self { public_keys: PublicKeys::deserialize(array[0 : PUBLIC_KEYS_LENGTH]), hash: array[PUBLIC_KEYS_LENGTH] }\n\n let mut serialized_keys = [0; PUBLIC_KEYS_LENGTH];\n for i in 0..serialized_keys.len() {\n serialized_keys[i] = array[i];\n }\n\n let hash = array[PUBLIC_KEYS_LENGTH];\n\n Self { public_keys: PublicKeys::deserialize(serialized_keys), hash }\n }\n}\n"},"77":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/public_keys.nr","source":"use dep::protocol_types::{\n address::PublicKeysHash, constants::GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n hash::poseidon2_hash_with_separator, point::{Point, POINT_LENGTH},\n traits::{Deserialize, Serialize, Empty, is_empty, Hash}\n};\nuse crate::keys::constants::{NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX};\n\nglobal PUBLIC_KEYS_LENGTH: u32 = 12;\n\nstruct PublicKeys {\n npk_m: NpkM,\n ivpk_m: IvpkM,\n ovpk_m: OvpkM,\n tpk_m: TpkM,\n}\n\ntrait ToPoint {\n fn to_point(self) -> Point;\n}\n\nstruct NpkM {\n inner: Point\n}\n\nimpl ToPoint for NpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for NpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\n// Note: If we store npk_m_hash directly we can remove this trait implementation. See #8091\nimpl Hash for NpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nstruct IvpkM {\n inner: Point\n}\n\nimpl ToPoint for IvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for IvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nstruct OvpkM {\n inner: Point\n}\n\nimpl Hash for OvpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nimpl ToPoint for OvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for OvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nstruct TpkM {\n inner: Point\n}\n\nimpl ToPoint for TpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Empty for PublicKeys {\n fn empty() -> Self {\n PublicKeys {\n npk_m : NpkM { inner: Point::empty() },\n ivpk_m : IvpkM { inner: Point::empty() },\n ovpk_m : OvpkM { inner: Point::empty() },\n tpk_m : TpkM { inner: Point::empty() }\n }\n }\n}\n\nimpl Eq for PublicKeys {\n fn eq(self, other: PublicKeys) -> bool {\n ( self.npk_m.inner == other.npk_m.inner ) &\n ( self.ivpk_m.inner == other.ivpk_m.inner ) &\n ( self.ovpk_m.inner == other.ovpk_m.inner ) &\n ( self.tpk_m.inner == other.tpk_m.inner )\n }\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(\n if is_empty(self) {\n 0\n } else {\n poseidon2_hash_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_KEYS_HASH as Field)\n }\n )\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.inner.x,\n self.npk_m.inner.y,\n self.npk_m.inner.is_infinite as Field,\n self.ivpk_m.inner.x,\n self.ivpk_m.inner.y,\n self.ivpk_m.inner.is_infinite as Field,\n self.ovpk_m.inner.x,\n self.ovpk_m.inner.y,\n self.ovpk_m.inner.is_infinite as Field,\n self.tpk_m.inner.x,\n self.tpk_m.inner.y,\n self.tpk_m.inner.is_infinite as Field\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: NpkM { inner: Point { x:serialized[0], y:serialized[1], is_infinite: serialized[2] as bool } },\n ivpk_m: IvpkM { inner: Point { x:serialized[3], y: serialized[4], is_infinite: serialized[5] as bool } },\n ovpk_m: OvpkM { inner: Point { x:serialized[6], y: serialized[7], is_infinite: serialized[8] as bool } },\n tpk_m: TpkM { inner: Point { x:serialized[9], y: serialized[10], is_infinite: serialized[11] as bool } }\n }\n }\n}\n\n#[test]\nfn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash = 0x0fecd9a32db731fec1fded1b9ff957a1625c069245a3613a2538bd527068b0ad;\n\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nfn compute_empty_hash() {\n let keys = PublicKeys::empty();\n\n let actual = keys.hash();\n let test_data_empty_hash = 0x0000000000000000000000000000000000000000000000000000000000000000;\n\n assert(actual.to_field() == test_data_empty_hash);\n}\n\n#[test]\nfn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.inner.x, deserialized.npk_m.inner.x);\n assert_eq(keys.npk_m.inner.y, deserialized.npk_m.inner.y);\n assert_eq(keys.ivpk_m.inner.x, deserialized.ivpk_m.inner.x);\n assert_eq(keys.ivpk_m.inner.y, deserialized.ivpk_m.inner.y);\n assert_eq(keys.ovpk_m.inner.x, deserialized.ovpk_m.inner.x);\n assert_eq(keys.ovpk_m.inner.y, deserialized.ovpk_m.inner.y);\n assert_eq(keys.tpk_m.inner.x, deserialized.tpk_m.inner.x);\n assert_eq(keys.tpk_m.inner.y, deserialized.tpk_m.inner.y);\n}\n"},"79":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr","source":"use dep::protocol_types::{\n header::Header, abis::validation_requests::KeyValidationRequest, address::AztecAddress,\n constants::CANONICAL_KEY_REGISTRY_ADDRESS, point::Point, storage::map::derive_storage_slot_in_map,\n traits::is_empty\n};\nuse crate::{\n context::{PrivateContext, UnconstrainedContext},\n oracle::{keys::get_public_keys_and_partial_address, key_validation_request::get_key_validation_request},\n keys::{\n public_keys::{PublicKeys, PUBLIC_KEYS_LENGTH}, stored_keys::StoredKeys,\n constants::{NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX, TAGGING_INDEX}\n},\n state_vars::{\n shared_mutable::shared_mutable_private_getter::SharedMutablePrivateGetter,\n public_mutable::PublicMutable, map::Map\n}\n};\n\nmod test;\n\n// This is the number of blocks that must pass after a key rotation event until the old keys are fully phased out and\n// become invalid.\nglobal KEY_REGISTRY_UPDATE_BLOCKS = 5;\n\nglobal KEY_REGISTRY_STORAGE_SLOT = 1;\n\n// A helper function since requesting nsk_app is very common\n// TODO(#6543)\npub fn get_nsk_app(npk_m_hash: Field) -> Field {\n get_key_validation_request(npk_m_hash, NULLIFIER_INDEX).sk_app\n}\n\n// Returns all current public keys for a given account, applying proper constraints to the context. We read all\n// keys at once since the constraints for reading them all are actually fewer than if we read them one at a time - any\n// read keys that are not required by the caller can simply be discarded.\npub fn get_current_public_keys(context: &mut PrivateContext, account: AztecAddress) -> PublicKeys {\n // We're going to perform historical reads from public storage, and so need to constrain the caller so that they\n // cannot use very old blocks when constructing proofs, and hence e.g. read very old keys. We are lax and allow\n // _any_ recent block number to be used, regardless of whether there may have been a recent key rotation. This means\n // that multiple sets of keys are valid for a while immediately after rotation, until the old keys become phased\n // out. We *must* be lax to prevent denial of service and transaction fingerprinting attacks by accounts that rotate\n // their keys frequently.\n // Note that we constrain the max block number even if the registry ends up being empty: this ensures that proof of\n // an empty registry is also fresh.\n let current_header = context.get_header();\n context.set_tx_max_block_number(current_header.global_variables.block_number as u32 + KEY_REGISTRY_UPDATE_BLOCKS);\n\n get_historical_public_keys(current_header, account)\n}\n\n// Returns historical public keys for a given account at some block determined by a block header. We read all keys at\n// once since the constraints for reading them all are actually fewer than if we read them one at a time - any read keys\n// that are not required by the caller can simply be discarded.\n// WARNING: if called with a historical header created from a fixed block this function will explicitly ignore key\n// rotation! This means that callers of this may force a user to use old keys, potentially leaking privacy (e.g. if the\n// old keys were leaked). Only call this function with a header from a fixed block if you understand the implications of\n// breaking key rotation very well.\npub fn get_historical_public_keys(historical_header: Header, account: AztecAddress) -> PublicKeys {\n // TODO: improve this so that we always hint the correct set of keys (either registry or canonical) and hash them\n // once instead of having two different hints and twice as many constraints due to the double hashing.\n\n // The key registry is the primary source of information for keys, as that's where accounts store their new keys\n // when they perform rotation. The key registry conveniently stores a hash of each user's keys, so we can read that\n // single field and then prove that we know its preimage (i.e. the current set of keys).\n let key_registry_hash = key_registry_hash_public_historical_read(historical_header, account);\n if key_registry_hash != 0 {\n let hinted_registry_public_keys = key_registry_get_stored_keys_hint(\n account,\n historical_header.global_variables.block_number as u32\n );\n assert_eq(hinted_registry_public_keys.hash().to_field(), key_registry_hash);\n\n hinted_registry_public_keys\n } else {\n // If nothing was written to the registry, we may still be able to produce the correct keys if we happen to know\n // the canonical set (i.e. the ones that are part of the account's preimage).\n let (hinted_canonical_public_keys, partial_address) = get_public_keys_and_partial_address(account);\n assert_eq(\n account, AztecAddress::compute(hinted_canonical_public_keys.hash(), partial_address), \"Invalid public keys hint for address\"\n );\n\n hinted_canonical_public_keys\n }\n}\n\nfn key_registry_hash_public_historical_read(historical_header: Header, account: AztecAddress) -> Field {\n // The keys are stored in a Map that is keyed with the address of each account, so we first derive the corresponding\n // slot for this account.\n let keys_storage_slot = derive_storage_slot_in_map(KEY_REGISTRY_STORAGE_SLOT, account);\n\n // The keys are stored as [ ...serialized_keys, hash ], and since arrays get allocated sequential storage slots\n // (prior to siloing!), we simply add the length to the base slot to get the last element.\n let hash_storage_slot = keys_storage_slot + PUBLIC_KEYS_LENGTH as Field;\n\n historical_header.public_storage_historical_read(hash_storage_slot, CANONICAL_KEY_REGISTRY_ADDRESS)\n}\n\nunconstrained fn key_registry_get_stored_keys_hint(account: AztecAddress, block_number: u32) -> PublicKeys {\n // This is equivalent to the key registry contract having an unconstrained getter that we call from an oracle, but\n // PXE does not yet support that functionality so we do this manually instad. Note that this would be a *historical*\n // call!\n\n // TODO (#7524): call the unconstrained KeyRegistry.get_current_keys() function instead\n\n let context = UnconstrainedContext::at_historical(CANONICAL_KEY_REGISTRY_ADDRESS, block_number);\n let keys_storage = Map::new(\n context,\n KEY_REGISTRY_STORAGE_SLOT,\n |context, slot| { PublicMutable::new(context, slot) }\n );\n\n let stored_keys: StoredKeys = keys_storage.at(account).read();\n stored_keys.public_keys\n}\n"},"93":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/history/public_storage.nr","source":"use dep::protocol_types::{\n constants::GENERATOR_INDEX__PUBLIC_LEAF_INDEX, hash::poseidon2_hash_with_separator,\n address::AztecAddress, header::Header, utils::field::full_field_less_than\n};\nuse dep::protocol_types::merkle_tree::root::root_from_sibling_path;\n\nuse crate::{context::PrivateContext, oracle::get_public_data_witness::get_public_data_witness};\n\ntrait PublicStorageHistoricalRead {\n fn public_storage_historical_read(header: Header, storage_slot: Field, contract_address: AztecAddress) -> Field;\n}\n\nimpl PublicStorageHistoricalRead for Header {\n fn public_storage_historical_read(self, storage_slot: Field, contract_address: AztecAddress) -> Field {\n // 1) Compute the leaf slot by siloing the storage slot with the contract address\n let public_data_tree_index = poseidon2_hash_with_separator(\n [contract_address.to_field(), storage_slot],\n GENERATOR_INDEX__PUBLIC_LEAF_INDEX\n );\n\n // 2) Get the membership witness of the slot\n let witness = get_public_data_witness(\n self.global_variables.block_number as u32,\n public_data_tree_index\n );\n\n // 3) Extract the value from the witness leaf and check that the storage slot is correct\n let preimage = witness.leaf_preimage;\n\n // Here we have two cases. Code based on same checks in `validate_public_data_reads` in `base_rollup_inputs`\n // 1. The value is the same as the one in the witness\n // 2. The value was never initialized and is zero\n let is_less_than_slot = full_field_less_than(preimage.slot, public_data_tree_index);\n let is_next_greater_than = full_field_less_than(public_data_tree_index, preimage.next_slot);\n let is_max = ((preimage.next_index == 0) & (preimage.next_slot == 0));\n let is_in_range = is_less_than_slot & (is_next_greater_than | is_max);\n\n let value = if is_in_range {\n 0\n } else {\n assert_eq(preimage.slot, public_data_tree_index, \"Public data tree index doesn't match witness\");\n preimage.value\n };\n\n // 4) Prove that the leaf exists in the public data tree. Note that `hash` returns not just the hash of the value\n // but also the metadata (slot, next index and next slot).\n assert(\n self.state.partial.public_data_tree.root\n == root_from_sibling_path(preimage.hash(), witness.index, witness.path), \"Proving public value inclusion failed\"\n );\n\n value\n }\n}\n"}}}