@aztec/l1-artifacts 0.74.0 → 0.75.0

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.
Files changed (172) hide show
  1. package/dest/CoinIssuerAbi.d.ts +12 -0
  2. package/dest/CoinIssuerAbi.d.ts.map +1 -1
  3. package/dest/CoinIssuerAbi.js +17 -1
  4. package/dest/EmpireBaseAbi.d.ts +12 -0
  5. package/dest/EmpireBaseAbi.d.ts.map +1 -1
  6. package/dest/EmpireBaseAbi.js +17 -1
  7. package/dest/ErrorsAbi.d.ts +12 -0
  8. package/dest/ErrorsAbi.d.ts.map +1 -1
  9. package/dest/ErrorsAbi.js +17 -1
  10. package/dest/ExtRollupLibAbi.d.ts +12 -0
  11. package/dest/ExtRollupLibAbi.d.ts.map +1 -1
  12. package/dest/ExtRollupLibAbi.js +17 -1
  13. package/dest/ExtRollupLibBytecode.d.ts +1 -1
  14. package/dest/ExtRollupLibBytecode.d.ts.map +1 -1
  15. package/dest/ExtRollupLibBytecode.js +2 -2
  16. package/dest/FeeJuicePortalAbi.d.ts +12 -0
  17. package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
  18. package/dest/FeeJuicePortalAbi.js +17 -1
  19. package/dest/FeeJuicePortalBytecode.d.ts +1 -1
  20. package/dest/FeeJuicePortalBytecode.js +1 -1
  21. package/dest/ForwarderAbi.d.ts +12 -0
  22. package/dest/ForwarderAbi.d.ts.map +1 -1
  23. package/dest/ForwarderAbi.js +17 -1
  24. package/dest/ForwarderBytecode.d.ts +1 -1
  25. package/dest/ForwarderBytecode.js +1 -1
  26. package/dest/GovernanceAbi.d.ts +12 -0
  27. package/dest/GovernanceAbi.d.ts.map +1 -1
  28. package/dest/GovernanceAbi.js +17 -1
  29. package/dest/GovernanceProposerAbi.d.ts +12 -0
  30. package/dest/GovernanceProposerAbi.d.ts.map +1 -1
  31. package/dest/GovernanceProposerAbi.js +17 -1
  32. package/dest/GovernanceProposerBytecode.d.ts +1 -1
  33. package/dest/GovernanceProposerBytecode.js +1 -1
  34. package/dest/HonkVerifierAbi.d.ts +16 -0
  35. package/dest/HonkVerifierAbi.d.ts.map +1 -1
  36. package/dest/HonkVerifierAbi.js +22 -1
  37. package/dest/HonkVerifierBytecode.d.ts +1 -1
  38. package/dest/HonkVerifierBytecode.d.ts.map +1 -1
  39. package/dest/HonkVerifierBytecode.js +2 -2
  40. package/dest/IERC20Abi.d.ts +12 -0
  41. package/dest/IERC20Abi.d.ts.map +1 -1
  42. package/dest/IERC20Abi.js +17 -1
  43. package/dest/IProofCommitmentEscrowAbi.d.ts +12 -0
  44. package/dest/IProofCommitmentEscrowAbi.d.ts.map +1 -1
  45. package/dest/IProofCommitmentEscrowAbi.js +17 -1
  46. package/dest/IVerifierAbi.d.ts +12 -0
  47. package/dest/IVerifierAbi.d.ts.map +1 -1
  48. package/dest/IVerifierAbi.js +17 -1
  49. package/dest/InboxAbi.d.ts +12 -0
  50. package/dest/InboxAbi.d.ts.map +1 -1
  51. package/dest/InboxAbi.js +17 -1
  52. package/dest/InboxBytecode.d.ts +1 -1
  53. package/dest/InboxBytecode.js +1 -1
  54. package/dest/MockVerifierAbi.d.ts +12 -0
  55. package/dest/MockVerifierAbi.d.ts.map +1 -1
  56. package/dest/MockVerifierAbi.js +17 -1
  57. package/dest/NewGovernanceProposerPayloadAbi.d.ts +12 -0
  58. package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
  59. package/dest/NewGovernanceProposerPayloadAbi.js +17 -1
  60. package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
  61. package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
  62. package/dest/OutboxAbi.d.ts +12 -0
  63. package/dest/OutboxAbi.d.ts.map +1 -1
  64. package/dest/OutboxAbi.js +17 -1
  65. package/dest/OutboxBytecode.d.ts +1 -1
  66. package/dest/OutboxBytecode.js +1 -1
  67. package/dest/ProofCommitmentEscrowAbi.d.ts +12 -0
  68. package/dest/ProofCommitmentEscrowAbi.d.ts.map +1 -1
  69. package/dest/ProofCommitmentEscrowAbi.js +17 -1
  70. package/dest/ProofCommitmentEscrowBytecode.d.ts +1 -1
  71. package/dest/ProofCommitmentEscrowBytecode.js +1 -1
  72. package/dest/RegistryAbi.d.ts +12 -0
  73. package/dest/RegistryAbi.d.ts.map +1 -1
  74. package/dest/RegistryAbi.js +17 -1
  75. package/dest/RewardDistributorAbi.d.ts +12 -0
  76. package/dest/RewardDistributorAbi.d.ts.map +1 -1
  77. package/dest/RewardDistributorAbi.js +17 -1
  78. package/dest/RollupAbi.d.ts +23 -11
  79. package/dest/RollupAbi.d.ts.map +1 -1
  80. package/dest/RollupAbi.js +31 -15
  81. package/dest/RollupBytecode.d.ts +56 -41
  82. package/dest/RollupBytecode.d.ts.map +1 -1
  83. package/dest/RollupBytecode.js +62 -42
  84. package/dest/RollupStorage.d.ts +10 -10
  85. package/dest/RollupStorage.js +11 -11
  86. package/dest/SlashFactoryAbi.d.ts +12 -0
  87. package/dest/SlashFactoryAbi.d.ts.map +1 -1
  88. package/dest/SlashFactoryAbi.js +17 -1
  89. package/dest/SlashFactoryBytecode.d.ts +1 -1
  90. package/dest/SlashFactoryBytecode.js +1 -1
  91. package/dest/SlasherAbi.d.ts +12 -0
  92. package/dest/SlasherAbi.d.ts.map +1 -1
  93. package/dest/SlasherAbi.js +17 -1
  94. package/dest/SlasherBytecode.d.ts +1 -1
  95. package/dest/SlasherBytecode.js +1 -1
  96. package/dest/SlashingProposerAbi.d.ts +12 -0
  97. package/dest/SlashingProposerAbi.d.ts.map +1 -1
  98. package/dest/SlashingProposerAbi.js +17 -1
  99. package/dest/SlashingProposerBytecode.d.ts +1 -1
  100. package/dest/SlashingProposerBytecode.js +1 -1
  101. package/dest/StakingLibAbi.d.ts +12 -0
  102. package/dest/StakingLibAbi.d.ts.map +1 -1
  103. package/dest/StakingLibAbi.js +17 -1
  104. package/dest/StakingLibBytecode.d.ts +1 -1
  105. package/dest/StakingLibBytecode.d.ts.map +1 -1
  106. package/dest/StakingLibBytecode.js +2 -2
  107. package/dest/TestERC20Abi.d.ts +12 -0
  108. package/dest/TestERC20Abi.d.ts.map +1 -1
  109. package/dest/TestERC20Abi.js +17 -1
  110. package/dest/TokenPortalAbi.d.ts +12 -0
  111. package/dest/TokenPortalAbi.d.ts.map +1 -1
  112. package/dest/TokenPortalAbi.js +17 -1
  113. package/dest/TokenPortalBytecode.d.ts +1 -1
  114. package/dest/TokenPortalBytecode.js +1 -1
  115. package/dest/UniswapPortalAbi.d.ts +12 -0
  116. package/dest/UniswapPortalAbi.d.ts.map +1 -1
  117. package/dest/UniswapPortalAbi.js +17 -1
  118. package/dest/UniswapPortalBytecode.d.ts +1 -1
  119. package/dest/UniswapPortalBytecode.js +1 -1
  120. package/dest/ValidatorSelectionLibAbi.d.ts +12 -0
  121. package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
  122. package/dest/ValidatorSelectionLibAbi.js +17 -1
  123. package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
  124. package/dest/ValidatorSelectionLibBytecode.d.ts.map +1 -1
  125. package/dest/ValidatorSelectionLibBytecode.js +2 -2
  126. package/generated/CoinIssuerAbi.ts +16 -0
  127. package/generated/EmpireBaseAbi.ts +16 -0
  128. package/generated/ErrorsAbi.ts +16 -0
  129. package/generated/ExtRollupLibAbi.ts +16 -0
  130. package/generated/ExtRollupLibBytecode.ts +1 -1
  131. package/generated/FeeJuicePortalAbi.ts +16 -0
  132. package/generated/FeeJuicePortalBytecode.ts +1 -1
  133. package/generated/ForwarderAbi.ts +16 -0
  134. package/generated/ForwarderBytecode.ts +1 -1
  135. package/generated/GovernanceAbi.ts +16 -0
  136. package/generated/GovernanceProposerAbi.ts +16 -0
  137. package/generated/GovernanceProposerBytecode.ts +1 -1
  138. package/generated/HonkVerifierAbi.ts +21 -0
  139. package/generated/HonkVerifierBytecode.ts +1 -1
  140. package/generated/IERC20Abi.ts +16 -0
  141. package/generated/IProofCommitmentEscrowAbi.ts +16 -0
  142. package/generated/IVerifierAbi.ts +16 -0
  143. package/generated/InboxAbi.ts +16 -0
  144. package/generated/InboxBytecode.ts +1 -1
  145. package/generated/MockVerifierAbi.ts +16 -0
  146. package/generated/NewGovernanceProposerPayloadAbi.ts +16 -0
  147. package/generated/NewGovernanceProposerPayloadBytecode.ts +1 -1
  148. package/generated/OutboxAbi.ts +16 -0
  149. package/generated/OutboxBytecode.ts +1 -1
  150. package/generated/ProofCommitmentEscrowAbi.ts +16 -0
  151. package/generated/ProofCommitmentEscrowBytecode.ts +1 -1
  152. package/generated/RegistryAbi.ts +16 -0
  153. package/generated/RewardDistributorAbi.ts +16 -0
  154. package/generated/RollupAbi.ts +30 -14
  155. package/generated/RollupBytecode.ts +61 -41
  156. package/generated/RollupStorage.ts +10 -10
  157. package/generated/SlashFactoryAbi.ts +16 -0
  158. package/generated/SlashFactoryBytecode.ts +1 -1
  159. package/generated/SlasherAbi.ts +16 -0
  160. package/generated/SlasherBytecode.ts +1 -1
  161. package/generated/SlashingProposerAbi.ts +16 -0
  162. package/generated/SlashingProposerBytecode.ts +1 -1
  163. package/generated/StakingLibAbi.ts +16 -0
  164. package/generated/StakingLibBytecode.ts +1 -1
  165. package/generated/TestERC20Abi.ts +16 -0
  166. package/generated/TokenPortalAbi.ts +16 -0
  167. package/generated/TokenPortalBytecode.ts +1 -1
  168. package/generated/UniswapPortalAbi.ts +16 -0
  169. package/generated/UniswapPortalBytecode.ts +1 -1
  170. package/generated/ValidatorSelectionLibAbi.ts +16 -0
  171. package/generated/ValidatorSelectionLibBytecode.ts +1 -1
  172. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
3
  */
4
- export const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a0526103dc60c05260805160a05160c0516154346100625f395f61059501525f81816106410152818161079401528181610c160152610d6401525f61053e01526154345ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b36600461503d565b610054565b604051901515815260200160405180910390f35b5f5f61005e610169565b90505f61006b878761017e565b604083015190915084146100925760405163fa06659360e01b815260040160405180910390fd5b5f6100a3828787866040015161047d565b90506100f48686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508451606081015160809091015160408801519193509150610528565b815160a001525f6101058383610639565b905080610125576040516313f8744360e31b815260040160405180910390fd5b5f61013184868561073a565b905080610151576040516352ec174560e11b815260040160405180910390fd5b81801561015b5750805b9a9950505050505050505050565b61017161480f565b610179610ed9565b905090565b610186614b8d565b61019360205f8486615105565b61019c9161512c565b81526101ac604060208486615105565b6101b59161512c565b60208201526101c8606060408486615105565b6101d19161512c565b60408201526101ec6101e760e060608587615105565b6117c0565b60608201526102036101e761016060e08587615105565b608082015261021b6101e76101e06101608587615105565b60a08201526102336101e76102606101e08587615105565b61010082015261024c6101e76102e06102608587615105565b6101208201526102656101e76103606102e08587615105565b60c082015261027d6101e76103e06103608587615105565b6101408201526102966101e76104606103e08587615105565b60e08201526104605f5b601c81101561032d575f5b6008811015610324576102d78684876102c582602061515d565b926102d293929190615105565b6118b4565b84610160015183601c81106102ee576102ee615170565b6020020151826008811061030457610304615170565b60200201818152505060208361031a919061515d565b92506001016102ab565b506001016102a0565b505f5b60288110156103815761034a8583866102c582602061515d565b836101800151826028811061036157610361615170565b602002018181525050602082610377919061515d565b9150600101610330565b505f5b6103906001601c615184565b8110156103e6576103b58583866103a882608061515d565b926101e793929190615105565b836101a0015182601b81106103cc576103cc615170565b60200201526103dc60808361515d565b9150600101610384565b505f5b601c81101561043a576104038583866102c582602061515d565b836101c0015182601c811061041a5761041a615170565b602002018181525050602082610430919061515d565b91506001016103e9565b5061044c8482856103a882608061515d565b6101e083015261045d81608061515d565b90506104708482856103a882608061515d565b6102008301525092915050565b610485614d92565b5f6104938686868685611910565b90835290506104a2818761198d565b602084019190915290506104b581611b26565b604084019190915290506104c98682611b87565b606084019190915290506104dd8682611c5b565b608084019190915290506104f18682611ce6565b60a084019190915290506105058682611e54565b60c084019190915290506105198682611ec6565b5060e083015250949350505050565b5f600180826105718661056c896105676105628a7f000000000000000000000000000000000000000000000000000000000000000061515d565b611f1d565b611f3b565b611f54565b90505f61058f8761058a8a6105676105628b600161515d565b611f6d565b90505f5b7f0000000000000000000000000000000000000000000000000000000000000000811015610621575f6105de8b83815181106105d1576105d1615170565b6020026020010151611f1d565b90506105ee866105678684611f54565b95506105fe856105678584611f54565b945061060a848b611f54565b9350610616838b611f6d565b925050600101610593565b5061062c8484611f9c565b9998505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610710575f86610160015182601c811061067f5761067f615170565b602002015190505f6106918286611faa565b9050806106b1576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106106c8576106c8615170565b602002015190506106d98382611fcd565b9550610700886040015185601c81106106f4576106f4615170565b6020020151868361217c565b945050505080600101905061063f565b505f61072a866101800151865f01518760200151856121a7565b90508281145b9695505050505050565b5f6107686040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b5f6107768460a00151612215565b9050610780614e16565b610788614e35565b5f6107b88760e00151857f000000000000000000000000000000000000000000000000000000000000000061227a565b805160c08901519192506107d89161056c908460015b6020020151611f3b565b855260a0870151610804906107ec9061230a565b825160c08a0151610567919061058a908660016107ce565b6020860152600183526101e089015161081c90612373565b82526001606086018190525f60808701525b602381116108d45761084f610845875f01516123bd565b8760600151611f3b565b84826046811061086157610861615170565b602002015260808601516101808b01516108a4919061056c90610885600186615184565b6028811061089557610895615170565b60200201518960600151611f3b565b8660800181815250506108bf86606001518960800151611f3b565b60608701526108cd81615197565b905061082e565b505f6108e26023600161515d565b90505b60288111610963576108fd61084587602001516123bd565b84826046811061090f5761090f615170565b602002015260808601516101808b0151610933919061056c90610885600186615184565b86608001818152505061094e86606001518960800151611f3b565b606087015261095c81615197565b90506108e5565b50606088015182600160200201526080880151826002602002015260a0880151826003602002015260c0880151826004602002015260e0880151826005602002015261010088015182600660200201526101208801518260076020020152610140880151826008602002015261016088015182600960200201526101a088015182600a602002015261018088015182600b60200201526101c088015182600c60200201526101e088015182600d602002015261020088015182600e602002015261022088015182600f60200201526102408801518260106020020152610260880151826011602002015261028088015182601260200201526102a088015182601360200201526102c088015182601460200201526102e08801518260156020020152610300880151826016602002015261032088015182601760200201526103408801518260186020020152610360880151826019602002015261038088015182601a60200201526103a088015182601b60200201526060890151610ae790612373565b6103808301526080890151610afb90612373565b6103a083015260a0890151610b0f90612373565b6103c083015260c0890151610b2390612373565b6103e083015260e0890151610b3790612373565b610400830152610140890151610b4c90612373565b610420830152610100890151610b6190612373565b610440830152610120890151610b7690612373565b6104608301526060890151610b8a90612373565b6104808301526080890151610b9e90612373565b6104a083015260a0890151610bb290612373565b6104c083015260c0890151610bc690612373565b6104e083015260e0890151610bda90612373565b6105008301525f604086015260c0870151610bf4906123d5565b60608601525f5b610c076001601c615184565b811015610d4c575f610c3a60017f0000000000000000000000000000000000000000000000000000000000000000615184565b82101590505f81610ca3576060880151610c6a9085610c5a86600261515d565b601d81106107ce576107ce615170565b9050610c75816123bd565b8684610c836028600161515d565b610c8d919061515d565b60468110610c9d57610c9d615170565b60200201525b610cd2886040015161056c838f6101c00151876001610cc2919061515d565b601c81106107ce576107ce615170565b6040890152606088015160c08b0151610ceb9190611f3b565b60608901526101a08c0151610d159084601b8110610d0b57610d0b615170565b6020020151612373565b8584610d236028600161515d565b610d2d919061515d565b60468110610d3d57610d3d615170565b60200201525050600101610bfb565b505f610d88886060015187608001518c6101c00151887f00000000000000000000000000000000000000000000000000000000000000006123e0565b6040870151909150610d9f9061056c83855f6107ce565b604087018190526101c08b01515160c08a0151610dcd929161056c91610dc59190611f3b565b8560016107ce565b6040808801919091528051808201909152600181526002602082015283610df6601c602861515d565b60468110610e0657610e06615170565b6020020152604086015184610e1d601c602861515d565b60468110610e2d57610e2d615170565b60200201526102008a01515f90610e4390612373565b90508084610e53601c602861515d565b610e5e90600161515d565b60468110610e6e57610e6e615170565b602002015260e089015185610e85601c602861515d565b610e9090600161515d565b60468110610ea057610ea0615170565b60200201525f610eb085876124da565b90505f610ebc836125ab565b9050610ec88282612622565b9d9c50505050505050505050505050565b610ee161480f565b50604080516103c0810182526302000000815260196020808301919091526103dc82840152825180840184527f26ab71bbdb087e5b294d0f24726a53d7846adddab99160c60aac22bc0c192fec81527f1652ac078fb34401bff2461022ea82bd1354f28cb231ce88fe3f2817a2c171cb818301526060830152825180840184527f0b4f45ce63baf9f788406e3a195f129e1e493deb8417543ccf585eb7d58ce37781527f1885941455b8f817010ba162464f408be85f2290f2203507df35671b7ffc6baa818301526080830152825180840184527f0cc4e05e6c5f5a50e9c443e7d24af92d134771fe990b6c20b5e2d50dae29610781527f2177645ea945d91c9186ea285e4a6a227b0ee4831a2982c41d3ef8187cdc29ea8183015260a0830152825180840184527f0896eaf5a5ae9e6fb2ccf72ceb9234e591f1c2f3e57591740a3090cc7a436ee481527f2e7a5436a0c6c22817c0b1d6fe4880740050a5ef8089a73e6a8d48c9271a8c4d8183015260c0830152825180840184527f16816576a3c8d627a547394505b6812b19ddc619b606e5f70246a62b7e131fba81527f1b47e1d33ad68f80d0018a3524e4f3416497e6c48717d5d303a801cdbf88462f8183015260e0830152825180840184527edcc6f45301f45f3326fce97a30b6888058fdc9e2fa247133433116ba02553b81527f0c3d30ab4117bdccfd753ad5ecc31c1f29c31e039005b6faedd9f49c41a9971481830152610100830152825180840184527f035d97a928b728d4f4d460c4bdcf11ea8c8bd382f233fe512c394b0b6da9152481527f26961d0bf338d36d2b5ec2f59675073ad262b9bacae3bc100ea54158e763f64781830152610120830152825180840184527f109505aee57f1e3b6576176fde9c58f0f907e5a14a93b7e4669a7f5c252dfe0581527f01641f04f7c2b4cf6b84f81017633c05db7e81f9f7dcfeef8841563d4571a61b81830152610140830152825180840184527f16881d80359faff76a99b7ad59a79f1a65e8efec873cbbe4c031136f4fb87a5781527f0f9f995ae0cb7df46d56b2c4e3e7992e7034389ab073bb924ff487cfe310955e81830152610160830152825180840184527f06914692bb8cafd3c69e1e99a64299a337baa181920a73582c8da22db578299e81527f071ac3267ab76d9275a6890b6f8010f985d9f477a02593e5133fa4af95c672cc81830152610180830152825180840184527f06fcf6bd82e253d151d9a8cbbb5697344263a8f0d29b62bd66a9dd67c43dfd4c81527f0a19b7e25dc7759b45e88cbdae55c2f7a0ec1354613946d5255dfebc76dcef36818301526101a0830152825180840184527f013815912ca61ce14a17aba0e76b1db960f8e034973e5d9f9ec5c334984d6a9281527f1e1c476d538b66c4f6da45ace8ccebe3140b644ceb8ee0dfa61b59dd622bdf55818301526101c0830152825180840184527f0f3ecfa910cc1bc8dafc4eda762918328df986ca517e44570ac6428e4e05950f81527f278cd8881417f95b1206a7caf56bda89a42edc67c19093b3ecee1047f4669e82818301526101e0830152825180840184527f24a8b17823ae1807eabb32c9798b3beef26b6c3e09ad6582f190ce3d0fe6454281527f1a34e50d7ea00b6813d051ba73017ed25efef2353d9df39c33ccdcb50fccf99181830152610200830152825180840184527f04a318c75001c78ca1edf4a973a90e9958bf09d6723cf63874adeb380f9ed83281527f12c4d4e3c7602d751e59098a2c3ad6f5c90c18ba6a81a9924e51dacc99bdf43581830152610220830152825180840184527f0d7478136cbecc20ad029d5f2c79200f0f22a9f704ffc0cd7204f5370de91fd881527f1bd8cd43d8ea02b3b47420de3219fed543f79ca57ed92eeb17db7437e48f621281830152610240830152825180840184527f2f7978918d0c3e8513b601b71cfdf103f142bb7df34fe3731be2a443091367e481527f024ef88d9bed26ee55cad924c643926fb3d44ab1722b67b93b3afd03e9f14fa181830152610260830152825180840184527f0ebc6f14c8fa50ea049b2d4c08a5110c071d42d12f59f1f7eb431e62145db6a181527f2fc053f7d400c8ffa8297be23a5cef5feedd8e941bc3d0efa7aaaf084e92f1ac81830152610280830152825180840184527f0a50d89668422dca2ebb968f5343d9c04151cc33dc38c19e349b5d21a677c14481527f0a0274270c44907a55ec7cc6acaabc4c51802e8a819df3f7621b67d305458b33818301526102a0830152825180840184527f287d50a3792b23cd752ecbaa809add8f5635ced5d9fd762b305aba9a5406b4d481527f2f4a38d8eeabc65db189a0393033bdd1006dcfa32b23b6cb4010e49bf5df63cd818301526102c0830152825180840184527f2d9afd3b5e1b57d08f181b0640d57a6bc7a25a80dbcf60dd598fe5cae4e7801881527f034d07d8cec6de44360590734d734c60ea828db8ee3d7d6e4fb83102c2dba31a818301526102e0830152825180840184527f0d1c51a0944e73b5bf5059109cfc7756b18ab597ee97fcdceb68e08e7a9325ec81527f2d0ebb65c43bb88f0e0af105cb368e35a8117262fa463c5e4a91e60a63285d5881830152610300830152825180840184527f237fc3d6ca839bf8fe66beb52f778994d8d05f3496301df3cb1030649802eb1881527f1013ad0339d32e695efdc9e28675f47f332bda5954966f00469214f4ee763b8481830152610320830152825180840184527f0c124a2788b4e0e45ebc1003affc7b699ea00567da3fa1f4bef7f9f97698340481527f0655bd829b537acf9fdc36831274395bdd5d3c181d2e84ddd3dfa1192c5f518481830152610340830152825180840184527f2664e1b3d5bd93796c3e968511ad456c3b10db55de4e939e1a8eb6279d99ea9a81527f2a8a81f4857a08db4de35ca43cc4e145c8719ce30616be286b5a565e4ee99e9c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f257314f261f03f3604a0c61db979676930acd9a375709a86f68a3d1771066c5183527f0d97fcd6da6a3dcf3c5b37ef382ad300ae61187a2ae093e003ac4d2670adc137908301526103a081019190915290565b6117e760405180608001604052805f81526020015f81526020015f81526020015f81525090565b608082146118325760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064015b60405180910390fd5b60408051608081019091528061184b60205f8688615105565b6118549161512c565b815260209081019061186a906040908688615105565b6118739161512c565b8152602001611886606060408688615105565b61188f9161512c565b81526020016118a2608060608688615105565b6118ab9161512c565b90529392505050565b5f602082146118fc5760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b6044820152606401611829565b611909610562838561512c565b9392505050565b6119436040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61195087878787612826565b60408601919091526020850191909152908352925061196f8388612c59565b60808501919091526060840191909152919791965090945050505050565b611995614e6e565b5f61199e614e8d565b8481526101408401805151602080840191909152815181015160408085019190915282518101516060808601919091529251830151608085015260e080880180515160a0870152805184015160c087015280518301519186019190915251909201516101008401529051611a3391611a18918491016151af565b60405160208183030381529060405280519060200120611f1d565b9150611a3e82612d2c565b6020850152835260015b611a54600260196151f7565b811015611ad457611a7183604051602001611a1891815260200190565b9250611a7c83612d2c565b85611a8884600261520a565b60198110611a9857611a98615170565b6020020186611aa885600261520a565b611ab390600161515d565b60198110611ac357611ac3615170565b602002019190915252600101611a48565b50611aeb82604051602001611a1891815260200190565b91505f611af783612d2c565b85611b0460016019615184565b60198110611b1457611b14615170565b60200201919091525050509250929050565b611b2e614eac565b5f805b601c811015611b8057611b5084604051602001611a1891815260200190565b93505f611b5c85612d2c565b8584601c8110611b6e57611b6e615170565b60200201919091525050600101611b31565b5090929050565b611b8f614eac565b5f805b601c811015611c5257611ba3614e8d565b8481525f5b6008811015611c0c5786610160015183601c8110611bc857611bc8615170565b60200201518160088110611bde57611bde615170565b602002015182611bef83600161515d565b60098110611bff57611bff615170565b6020020152600101611ba8565b50611c2181604051602001611a1891906151af565b94505f611c2d86612d2c565b8685601c8110611c3f57611c3f615170565b6020020191909152505050600101611b92565b50909391925050565b5f5f611c65614ecb565b8381525f5b6028811015611cb8578561018001518160288110611c8a57611c8a615170565b602002015182611c9b83600161515d565b60298110611cab57611cab615170565b6020020152600101611c6a565b50611ccd81604051602001611a189190615221565b91505f611cd983612d2c565b5096929550919350505050565b5f5f611cf0614eea565b8381525f5b611d016001601c615184565b811015611e3f57856101a0015181601b8110611d1f57611d1f615170565b60200201515182611d3183600461520a565b611d3c90600161515d565b606d8110611d4c57611d4c615170565b60200201526101a086015181601b8110611d6857611d68615170565b60200201516020015182826004611d7f919061520a565b611d8a90600261515d565b606d8110611d9a57611d9a615170565b60200201526101a086015181601b8110611db657611db6615170565b60200201516040015182611dcb83600461520a565b611dd690600361515d565b606d8110611de657611de6615170565b60200201526101a086015181601b8110611e0257611e02615170565b60200201516060015182611e1783600461520a565b611e2290600461515d565b606d8110611e3257611e32615170565b6020020152600101611cf5565b50611ccd81604051602001611a189190615255565b5f5f611e5e614f09565b8381525f5b601c811015611eb157856101c0015181601c8110611e8357611e83615170565b602002015182611e9483600161515d565b601d8110611ea457611ea4615170565b6020020152600101611e63565b50611ccd81604051602001611a189190615289565b5f5f611ed0614f28565b8381526101e085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611ccd91611a18918491016152bd565b5f611f355f5160206153df5f395f51905f52836152f0565b92915050565b5f5f5160206153df5f395f51905f528284099392505050565b5f5f5160206153df5f395f51905f528284089392505050565b5f5f5160206153df5f395f51905f52611f93835f5160206153df5f395f51905f52615184565b84089392505050565b5f611909836105678461230a565b81515f908190611fc2908560015b6020020151611f54565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156120b4576120aa826105678784611f6d565b9150600101612093565b506120bd614f46565b5f5b600881101561211e575f8482600881106120db576120db615170565b602002015190506120f0816105678985611f6d565b90506120fb8161230a565b90508083836008811061211057612110615170565b6020020152506001016120bf565b505f5b6008811015612171575f87826008811061213d5761213d615170565b6020020151905061215a818484600881106107ce576107ce615170565b90506121668682611f54565b955050600101612121565b506107308483611f3b565b5f5f612192600161056c85610567896001611f6d565b905061219e8482611f3b565b95945050505050565b5f6121b0614f65565b6121bb868285612d65565b6121c786868386612f11565b6121d3868683866130f9565b6121de8682856132f5565b6121e98682856134dd565b6121f586868386613820565b6122008682856140ba565b61220b868285614485565b610730818561477a565b61221d614eac565b81815260015b601c811015612274576122558261223b600184615184565b601c811061224b5761224b615170565b60200201516123d5565b8282601c811061226757612267615170565b6020020152600101612223565b50919050565b612282614f09565b8361229b61229682865f6020020151611f6d565b61230a565b82525f5b601c811015612301575f6122b485600161515d565b82116122d6576122d3612296848885601c8110611fb857611fb8615170565b90505b80846122e384600161515d565b601d81106122f3576122f3615170565b60200201525060010161229f565b50509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206153df5f395f51905f520360808201525f5160206153df5f395f51905f5260a082015260205f60c08360055afa905080612368575f5ffd5b50505f519392505050565b604080518082019091525f8082526020820152604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f611f35825f5160206153df5f395f51905f52615184565b5f611f358283611f3b565b5f601c5b80156124cf575f846123f7600184615184565b601c811061240757612407615170565b602002015190505f8861241b600185615184565b601c811061242b5761242b615170565b602002015190505f8761243f600186615184565b601c811061244f5761244f615170565b602002015190505f61248a61246e612467868d611f3b565b6002611f3b565b61058a846105676124848961056760018b611f6d565b88611f6d565b90506124ab816105676122966124a58861056760018a611f6d565b87611f54565b9050868511806124b957819a505b5050505050806124c890615303565b90506123e4565b509395945050505050565b604080518082019091525f80825260208201525f6124fa601c602861515d565b61250590600261515d565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156125935760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa9092169160010161253a565b50805184526020810151602085015250505092915050565b604080518082019091525f80825260208201527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4782602001517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4761260f9190615184565b61261991906152f0565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516127b89190615318565b5f60405180830381855afa9150503d805f81146127f0576040519150601f19603f3d011682016040523d82523d5f602084013e6127f5565b606091505b50915091505f8180602001905181019061280f919061532e565b905082801561281b5750805b979650505050505050565b5f8080808061283686600361515d565b61284190600c61515d565b67ffffffffffffffff8111156128595761285961534d565b604051908082528060200260200182016040528015612882578160200160208202803683370190505b509050885f01515f1b815f8151811061289d5761289d615170565b60200260200101818152505088602001515f1b816001815181106128c3576128c3615170565b60200260200101818152505088604001515f1b816002815181106128e9576128e9615170565b60209081029190910101525f5b868110156129485788888281811061291057612910615170565b9050602002013582826003612925919061515d565b8151811061293557612935615170565b60209081029190910101526001016128f6565b506060890151518161295b88600361515d565b8151811061296b5761296b615170565b60209081029190910181019190915260608a015101518161298d88600361515d565b61299890600161515d565b815181106129a8576129a8615170565b6020908102919091010152606089015160400151816129c888600361515d565b6129d390600261515d565b815181106129e3576129e3615170565b60209081029190910101526060808a0151015181612a0288600361515d565b612a0d90600361515d565b81518110612a1d57612a1d615170565b602090810291909101015260808901515181612a3a88600361515d565b612a4590600461515d565b81518110612a5557612a55615170565b60209081029190910181019190915260808a0151015181612a7788600361515d565b612a8290600561515d565b81518110612a9257612a92615170565b602090810291909101015260808901516040015181612ab288600361515d565b612abd90600661515d565b81518110612acd57612acd615170565b602090810291909101015260808901516060015181612aed88600361515d565b612af890600761515d565b81518110612b0857612b08615170565b602090810291909101015260a08901515181612b2588600361515d565b612b3090600861515d565b81518110612b4057612b40615170565b60209081029190910181019190915260a08a0151015181612b6288600361515d565b612b6d90600961515d565b81518110612b7d57612b7d615170565b602090810291909101015260a08901516040015181612b9d88600361515d565b612ba890600a61515d565b81518110612bb857612bb8615170565b602090810291909101015260a08901516060015181612bd888600361515d565b612be390600b61515d565b81518110612bf357612bf3615170565b602002602001018181525050612c1381604051602001611a189190615361565b9150612c1e82612d2c565b6040805160208101869052929750909550612c399101611a18565b91505f612c4583612d2c565b50959a949950949750909550919350505050565b5f5f5f612c64614f84565b8581526101008581018051516020808501919091528151810151604080860191909152825181015160608087019190915292518301516080860152610120808a0180515160a0880152805184015160c080890191909152815184015160e089015290518501519587019590955293890180515194860194909452835182015161014086015283518101516101608601529251909101516101808401529051612d1291611a1891849101615396565b9150612d1d82612d2c565b90979096509194509092505050565b5f80826fffffffffffffffffffffffffffffffff8116608082901c612d5082611f1d565b9450612d5b81611f1d565b9350505050915091565b5f612d718460076147df565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612dd2612dcc612da6856003611f6d565b610567612dc1612db68b5f6147df565b6105678c601c6147df565b6105678b601b6147df565b83611f3b565b9050612e53612e48612e2f612e16612dfd8561056c612df28d60026147df565b6105678e601b6147df565b61056c612e0b8c60036147df565b6105678d601c6147df565b61056c612e248b60046147df565b6105678c601d6147df565b61056c612e3d8a60056147df565b6105678b601e6147df565b61056c8860016147df565b9050612e728161056c612e67866001611f6d565b6105678a60266147df565b9050612e7e8184611f3b565b9050612e8a8185611f3b565b8552505f9050612ec4612eba612eaf612ea488601b6147df565b61056c89601e6147df565b61058a8860236147df565b61056c875f6147df565b9050612ed581610567846002611f6d565b9050612ee681610567846001611f6d565b9050612ef28183611f3b565b9050612efe8184611f3b565b9050808460015b60200201525050505050565b5f5f5f612f47612f3d612f2589601b6147df565b61056c612f338b60116147df565b8a60600151611f3b565b8760800151611f54565b9050612f8081610567612f76612f5e8b601c6147df565b61056c612f6c8d60126147df565b8c60600151611f3b565b8960800151611f54565b9050612fa581610567612f76612f978b601d6147df565b61056c612f6c8d60136147df565b9050612fca81610567612f76612fbc8b601e6147df565b61056c612f6c8d60146147df565b92505f9050612fee612f3d612fe089601b6147df565b61056c612f338b600d6147df565b905061301381610567612f766130058b601c6147df565b61056c612f6c8d600e6147df565b905061303881610567612f7661302a8b601d6147df565b61056c612f6c8d600f6147df565b905061305d81610567612f7661304f8b601e6147df565b61056c612f6c8d60106147df565b91505f905061308461307e61307389601f6147df565b61056c8a60196147df565b84611f3b565b90506130b98161058a6130b361309b8b60276147df565b61056c6130a98d601a6147df565b8c60a00151611f3b565b85611f3b565b90506130c58185611f3b565b6040860152505f6130e86130b36130dd89601a6147df565b6105678a60276147df565b606090950194909452505050505050565b5f5f61315761313f613127613112612f768a60156147df565b61056c6131208b60166147df565b8a51611f3b565b61056c6131358a60176147df565b8960200151611f3b565b61056c61314d8960186147df565b8860400151611f3b565b91505f61318e61317561316b89601b6147df565b8860800151611f54565b61056c6131838a60036147df565b6105678b60236147df565b90505f6131b761319f89601c6147df565b61056c6131ac8b5f6147df565b6105678c60246147df565b90505f6131e16131c88a601d6147df565b61056c6131d68c60016147df565b6105678d60256147df565b90506132206132086131fa8561056c868d5f0151611f3b565b61056c848c60200151611f3b565b61056c6132168c60046147df565b8b60400151611f3b565b93505050505f61323461307e8860206147df565b90505f61324561307e8960206147df565b90505f61327d6132646132598b60226147df565b61056c8c60066147df565b61058a6132728c60226147df565b6105678d60066147df565b90505f6132a161329b6132908789611f3b565b6105678d60206147df565b83611f6d565b90506132ad8188611f3b565b90505f6132d56132c76132c18d60066147df565b87611f3b565b61058a6132c18e60216147df565b60808a018390529050808960055b60200201525050505050505050505050565b5f6133015f6001611f6d565b90505f61330f5f6002611f6d565b90505f61331d5f6003611f6d565b90505f61333961332e88601c6147df565b61058a89601b6147df565b90505f61335561334a89601d6147df565b61058a8a601c6147df565b90505f6133716133668a601e6147df565b61058a8b601d6147df565b90505f61338d6133828b60236147df565b61058a8c601e6147df565b90508361339e81610567818b611f54565b90506133ae81610567878a611f54565b90506133be816105678789611f54565b90506133cf816105678d60086147df565b90506133db818a611f3b565b60c08b015250826133f081610567818b611f54565b905061340081610567868a611f54565b9050613410816105678689611f54565b9050613421816105678d60086147df565b905061342d818a611f3b565b60e08b0152508161344281610567818b611f54565b905061345281610567858a611f54565b9050613462816105678589611f54565b9050613473816105678d60086147df565b905061347f818a611f3b565b6101008b0152508061349581610567818b611f54565b90506134a581610567848a611f54565b90506134b5816105678489611f54565b90506134c6816105678d60086147df565b90506134d2818a611f3b565b9050808a60096132e3565b6135166040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61352184601c6147df565b815261352e84601d6147df565b602082015261353e8460236147df565b604082015261354e8460266147df565b606082015261355e8460256147df565b608082015261356e8460246147df565b60a08201525f61357f8560026147df565b90505f61358c865f6147df565b90505f6135a08460400151855f0151611f6d565b90505f6135b585602001518660200151611f3b565b606086015190915086905f906135cb9080611f3b565b90505f6135e96135e389602001518a60600151611f3b565b88611f3b565b90505f6136086136018a60a001518b60400151611f54565b8a51611f54565b90506136176132c18288611f3b565b905061363861363261362c6124848487611f6d565b84611f54565b83611f54565b905061366061365561364a8387611f3b565b6105678f60096147df565b61056760018a611f6d565b6101408c015250505050602085015160808601515f9161367f91611f54565b90505f61369d613693886060015188611f3b565b8860200151611f6d565b90505f6136c16136ad8487611f3b565b61056c6130b38b60a001518c5f0151611f6d565b90506136e96136de6136d3838c611f3b565b6105678e60096147df565b610567600189611f6d565b6101608b0152505f915061370a9050613703836011611f54565b8751611f3b565b90505f6137178384611f54565b90506137238182611f54565b90505f613731836009611f3b565b905061375a61375461307e61374d8b60a001518c5f0151611f54565b8b51611f54565b82611f6d565b60c089018190525f90613775906135e39061364a908d611f3b565b90506137888b600a602002015182611f54565b6101408c0152505086515f92506137af9150613703906137a89080611f54565b8851611f54565b90505f6137ef6137ca836105678a5f01518b60a00151611f6d565b602089015161058a906137dd9080611f54565b6105678b602001518c60800151611f54565b905061380c89600b602002015161056c6135e361364a858d611f3b565b89600b602002015250505050505050505050565b6138b4604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6138e96138d06138c587601b6147df565b6105678860246147df565b61056c6138de8860236147df565b61056789601c6147df565b815261392e61392361390a6138ff88601b6147df565b61056789601e6147df565b61056c61391889601c6147df565b6105678a601d6147df565b61058a8760256147df565b6040820181905261394390600160441b611f3b565b604082018190526139599061058a8760266147df565b60408201819052815161396c9190611f54565b60408201819052613982906105678760056147df565b6040820152805161399790600160441b611f3b565b8082526139b79061056c6139ac8860236147df565b6105678960246147df565b808252602082018190526139d39061058a612ea488601d6147df565b602082018190526139e9906105678760046147df565b6020820152805160608201819052613a069061056c87601e6147df565b60608201819052613a2a9061058a613a1f8860256147df565b61056c8960266147df565b60608201819052613a3f90610567875f6147df565b8160600181815250505f613a68613a5e83602001518460400151611f54565b8360600151611f54565b9050613a79816105678860036147df565b9050613a91613a898760246147df565b614000611f3b565b60808301819052613aa79061056c8860236147df565b60808301819052613aba90614000611f3b565b60808301819052613ad09061056c88601d6147df565b60808301819052613ae390614000611f3b565b60808301819052613af99061056c88601c6147df565b60808301819052613b0c90614000611f3b565b60808301819052613b229061056c88601b6147df565b60808301819052613b389061058a88601e6147df565b60808301819052613b4e906105678860056147df565b6080830152613b61613a898760256147df565b60a08301819052613b779061056c8860246147df565b60a08301819052613b8a90614000611f3b565b60a08301819052613ba09061056c8860236147df565b60a08301819052613bb390614000611f3b565b60a08301819052613bc99061056c88601e6147df565b60a08301819052613bdc90614000611f3b565b60a08301819052613bf29061056c88601d6147df565b60a08301819052613c089061058a8860266147df565b60a08301819052613c1d90610567885f6147df565b60a0830181905260808301515f91613c359190611f54565b9050613c46816105678960046147df565b9050613c60613c5688601d6147df565b8760400151611f3b565b60c08401819052613c799061056c6131358a601c6147df565b60c08401819052613c999061056c613c928a601b6147df565b8951611f3b565b60c08401819052613caf9061056c8960016147df565b60c0840181905260e08401819052613ccc9061058a89601e6147df565b60c0840152613cdf61332e8860236147df565b610140840152613cfe613cf38860266147df565b61058a89601e6147df565b610120840152610140830151613d2390613d189080611f3b565b846101400151611f6d565b610280840152610140830151613d6590613d5a90613d539061056760015f5160206153df5f395f51905f52615184565b6001611f54565b846101200151611f3b565b6101608401819052613d9c90613d8e90610567613d838b60026147df565b6105678c60036147df565b6105676132c18a600a6147df565b6101a0860152610280830151613dbe90613d8e90610567613d838b60026147df565b6101c086015260c0830151613de690610567613ddb8a60026147df565b6105678b60036147df565b6101e08401525f613e05613dfb89601e6147df565b8560e00151611f6d565b9050613e146137548283611f3b565b6101a0850152613e2861314d8960256147df565b6101008501819052613e4c9061056c613e428b60246147df565b8a60200151611f3b565b6101008501819052613e669061056c6131208b60236147df565b610100850152613e85613e7a8960266147df565b856101000151611f6d565b6101008501525f613e9a6133668a60256147df565b9050613eee613ec8612dcc613d5388610140015160015f5160206153df5f395f51905f526105679190615184565b610567613d5388610100015160015f5160206153df5f395f51905f526105679190615184565b610180860152610100850151613f1390613f089080611f3b565b866101000151611f6d565b6101c0860152610180850151613f4690613f32906105678c60076147df565b610567613f408c600a6147df565b89611f3b565b6101e0880152610280850151613f6590613f32906105678c60076147df565b6102008801526101c0850151613f8490613f32906105678c60076147df565b6102208801526101a0850151613f9f906105678b60076147df565b610200860152613fbe613fb38a60246147df565b61058a8b601c6147df565b610220860152610140850151613ffd9061336690613ff290613d539061056760015f5160206153df5f395f51905f52615184565b876102200151611f3b565b61024086018190526101e086015161026087018190526140349161056c906105676140298e60056147df565b6105678f60026147df565b610260860181905260c0860151614057919061056c906105676140298e5f6147df565b610260860181905261020086015161406f9190611f54565b61026086018190526140859061362c9086611f54565b6102a0860181905261409f90610567613f408c600a6147df565b6102a0860181905287600c6020020152505050505050505050565b6141306040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61414961413e85601b6147df565b61056c8660026147df565b815261416461415985601c6147df565b61056c8660036147df565b602082015261418261417785601d6147df565b61056c8660046147df565b60408201526141a061419585601e6147df565b61056c8660056147df565b606082015280516141d2906141cb906141c4906141bd9080611f3b565b8451611f3b565b8351611f3b565b8251611f3b565b6080820152602081015161421090614206906141fc906141f29080611f3b565b8460200151611f3b565b8360200151611f3b565b8260200151611f3b565b60a0820152604081015161424e906142449061423a906142309080611f3b565b8460400151611f3b565b8360400151611f3b565b8260400151611f3b565b60c0820152606081015161428c90614282906142789061426e9080611f3b565b8460600151611f3b565b8360600151611f3b565b8260600151611f3b565b60e0820152608081015160a08201516142a59190611f54565b61010082015260c081015160e08201516142bf9190611f54565b61012082015260a08101516142e3906142d89080611f54565b826101200151611f54565b61014082015260e0810151614307906142fc9080611f54565b826101000151611f54565b61016082015261012081015161431d9080611f54565b6101e0820181905261433e906143339080611f54565b826101600151611f54565b6101e08201526101008101516143549080611f54565b6101a082018190526143759061436a9080611f54565b826101400151611f54565b6101a0820181905261016082015161438c91611f54565b6101808201526101408101516101e08201516143a89190611f54565b6101c08201526143bc612dcc85600b6147df565b61020082018190526102408401516101808301516143e79261056c916105679061058a8a60236147df565b8360126020020152614417836013602002015161056c836102000151610567856101a0015161058a8a60246147df565b8360136020020152614447836014602002015161056c836102000151610567856101c0015161058a8a60256147df565b8360146020020152614477836015602002015161056c836102000151610567856101e0015161058a8a60266147df565b836015602002015250505050565b6144d76040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f604051806080016040528061450c7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7611f1d565b815260200161453a7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b611f1d565b81526020016145677e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15611f1d565b81526020016145957f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b611f1d565b905290506145b26145a786601b6147df565b61056c8760026147df565b61012083018190526145e6906145db90613d5a906145d09080611f3b565b856101200151611f3b565b836101200151611f3b565b82526145f385601c6147df565b602083015261460385601d6147df565b604083015261461385601e6147df565b60608301528151602083015161463b91613a5e916146319190611f54565b8460400151611f54565b608083015261464e61307e86600c6147df565b610140830152815161466f9061466590835f6107ce565b8360800151611f54565b60a083015261469b846016602002015161056c8461014001516105678660a0015161058a8b60236147df565b6102c085015260208201516146b690614665908360016107ce565b60c08301526146e2846017602002015161056c8461014001516105678660c0015161058a8b60246147df565b6102e085015260408201516146fd90614665908360026107ce565b60e0830152614729846018602002015161056c8461014001516105678660e0015161058a8b60256147df565b610300850152606082015161474490614665908360036107ce565b610100830152614772846019602002015161056c84610140015161056786610100015161058a8b60266147df565b846019612f05565b5f614786818481611fb8565b905060015b601a8110156147d8576147ce8261056c8684601a81106147ad576147ad615170565b6020020151866147be600187615184565b601981106107ce576107ce615170565b915060010161478b565b5092915050565b5f828260278111156147f3576147f36153ca565b6028811061480357614803615170565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161484860405180604001604052805f81526020015f81525090565b815260200161486860405180604001604052805f81526020015f81525090565b815260200161488860405180604001604052805f81526020015f81525090565b81526020016148a860405180604001604052805f81526020015f81525090565b81526020016148c860405180604001604052805f81526020015f81525090565b81526020016148e860405180604001604052805f81526020015f81525090565b815260200161490860405180604001604052805f81526020015f81525090565b815260200161492860405180604001604052805f81526020015f81525090565b815260200161494860405180604001604052805f81526020015f81525090565b815260200161496860405180604001604052805f81526020015f81525090565b815260200161498860405180604001604052805f81526020015f81525090565b81526020016149a860405180604001604052805f81526020015f81525090565b81526020016149c860405180604001604052805f81526020015f81525090565b81526020016149e860405180604001604052805f81526020015f81525090565b8152602001614a0860405180604001604052805f81526020015f81525090565b8152602001614a2860405180604001604052805f81526020015f81525090565b8152602001614a4860405180604001604052805f81526020015f81525090565b8152602001614a6860405180604001604052805f81526020015f81525090565b8152602001614a8860405180604001604052805f81526020015f81525090565b8152602001614aa860405180604001604052805f81526020015f81525090565b8152602001614ac860405180604001604052805f81526020015f81525090565b8152602001614ae860405180604001604052805f81526020015f81525090565b8152602001614b0860405180604001604052805f81526020015f81525090565b8152602001614b2860405180604001604052805f81526020015f81525090565b8152602001614b4860405180604001604052805f81526020015f81525090565b8152602001614b6860405180604001604052805f81526020015f81525090565b8152602001614b8860405180604001604052805f81526020015f81525090565b905290565b6040518061022001604052805f81526020015f81526020015f8152602001614bd260405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614bfe60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c2a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c5660405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c8260405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614cae60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614cda60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614d0660405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614d13614fa3565b8152602001614d20614fd1565b8152602001614d2d614ff0565b8152602001614d3a614eac565b8152602001614d6660405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614b8860405180608001604052805f81526020015f81526020015f81526020015f81525090565b604051806101000160405280614dd16040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001614dde614e6e565b8152602001614deb614eac565b8152602001614df8614eac565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b604080518082019091525f8082526020820152815260200190600190039081614e455790505090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b604051806101a00160405280600d906020820280368337509192915050565b604051806103800160405280601c905b614fbb614f46565b815260200190600190039081614fb35790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b61502760405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001906001900390816150005790505090565b5f5f5f5f60408587031215615050575f5ffd5b843567ffffffffffffffff811115615066575f5ffd5b8501601f81018713615076575f5ffd5b803567ffffffffffffffff81111561508c575f5ffd5b87602082840101111561509d575f5ffd5b60209182019550935085013567ffffffffffffffff8111156150bd575f5ffd5b8501601f810187136150cd575f5ffd5b803567ffffffffffffffff8111156150e3575f5ffd5b8760208260051b84010111156150f7575f5ffd5b949793965060200194505050565b5f5f85851115615113575f5ffd5b8386111561511f575f5ffd5b5050820193919092039150565b80356020831015611f35575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611f3557611f35615149565b634e487b7160e01b5f52603260045260245ffd5b81810381811115611f3557611f35615149565b5f600182016151a8576151a8615149565b5060010190565b5f8183825b60098110156151d35781518352602092830192909101906001016151b4565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82615205576152056151e3565b500490565b8082028115828204841417611f3557611f35615149565b5f8183825b6029811015615245578151835260209283019290910190600101615226565b5050506105208201905092915050565b5f8183825b606d81101561527957815183526020928301929091019060010161525a565b505050610da08201905092915050565b5f8183825b601d8110156152ad57815183526020928301929091019060010161528e565b5050506103a08201905092915050565b5f8183825b60058110156152e15781518352602092830192909101906001016152c2565b50505060a08201905092915050565b5f826152fe576152fe6151e3565b500690565b5f8161531157615311615149565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561533e575f5ffd5b81518015158114611909575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b8281101561538b57815184526020938401939091019060010161536d565b509195945050505050565b5f8183825b600d8110156153ba57815183526020928301929091019060010161539b565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212207baa5aa9e30b20f06a5f303a085a6ce61bec5c25e8a52a5617ee50236354f9e064736f6c634300081b0033";
4
+ export const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a0526103dc60c05260805160a05160c0516154606100625f395f6105c101525f818161066d015281816107c001528181610c420152610d9001525f61056a01526154605ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615069565b610054565b604051901515815260200160405180910390f35b5f6100626101bb6020615145565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a610195565b90505f61009787876101aa565b604083015190915084146100be5760405163fa06659360e01b815260040160405180910390fd5b5f6100cf82878786604001516104a9565b90506101208686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508451606081015160809091015160408801519193509150610554565b815160a001525f6101318383610665565b905080610151576040516313f8744360e31b815260040160405180910390fd5b5f61015d848685610766565b90508061017d576040516352ec174560e11b815260040160405180910390fd5b8180156101875750805b9a9950505050505050505050565b61019d61483b565b6101a5610f05565b905090565b6101b2614bb9565b6101bf60205f848661515c565b6101c891615183565b81526101d860406020848661515c565b6101e191615183565b60208201526101f460606040848661515c565b6101fd91615183565b604082015261021861021360e06060858761515c565b6117ec565b606082015261022f61021361016060e0858761515c565b60808201526102476102136101e0610160858761515c565b60a082015261025f6102136102606101e0858761515c565b6101008201526102786102136102e0610260858761515c565b6101208201526102916102136103606102e0858761515c565b60c08201526102a96102136103e0610360858761515c565b6101408201526102c26102136104606103e0858761515c565b60e08201526104605f5b601c811015610359575f5b6008811015610350576103038684876102f18260206151a0565b926102fe9392919061515c565b6118e0565b84610160015183601c811061031a5761031a6151b3565b60200201518260088110610330576103306151b3565b60200201818152505060208361034691906151a0565b92506001016102d7565b506001016102cc565b505f5b60288110156103ad576103768583866102f18260206151a0565b836101800151826028811061038d5761038d6151b3565b6020020181815250506020826103a391906151a0565b915060010161035c565b505f5b6103bc6001601c6151c7565b811015610412576103e18583866103d48260806151a0565b926102139392919061515c565b836101a0015182601b81106103f8576103f86151b3565b60200201526104086080836151a0565b91506001016103b0565b505f5b601c8110156104665761042f8583866102f18260206151a0565b836101c0015182601c8110610446576104466151b3565b60200201818152505060208261045c91906151a0565b9150600101610415565b506104788482856103d48260806151a0565b6101e08301526104898160806151a0565b905061049c8482856103d48260806151a0565b6102008301525092915050565b6104b1614dbe565b5f6104bf868686868561193c565b90835290506104ce81876119b9565b602084019190915290506104e181611b52565b604084019190915290506104f58682611bb3565b606084019190915290506105098682611c87565b6080840191909152905061051d8682611d12565b60a084019190915290506105318682611e80565b60c084019190915290506105458682611ef2565b5060e083015250949350505050565b5f6001808261059d866105988961059361058e8a7f00000000000000000000000000000000000000000000000000000000000000006151a0565b611f49565b611f67565b611f80565b90505f6105bb876105b68a61059361058e8b60016151a0565b611f99565b90505f5b7f000000000000000000000000000000000000000000000000000000000000000081101561064d575f61060a8b83815181106105fd576105fd6151b3565b6020026020010151611f49565b905061061a866105938684611f80565b955061062a856105938584611f80565b9450610636848b611f80565b9350610642838b611f99565b9250506001016105bf565b506106588484611fc8565b9998505050505050505050565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561073c575f86610160015182601c81106106ab576106ab6151b3565b602002015190505f6106bd8286611fd6565b9050806106dd576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106106f4576106f46151b3565b602002015190506107058382611ff9565b955061072c886040015185601c8110610720576107206151b3565b602002015186836121a8565b945050505080600101905061066b565b505f610756866101800151865f01518760200151856121d3565b90508281145b9695505050505050565b5f6107946040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b5f6107a28460a00151612241565b90506107ac614e42565b6107b4614e61565b5f6107e48760e00151857f00000000000000000000000000000000000000000000000000000000000000006122a6565b805160c089015191925061080491610598908460015b6020020151611f67565b855260a08701516108309061081890612336565b825160c08a015161059391906105b6908660016107fa565b6020860152600183526101e08901516108489061239f565b82526001606086018190525f60808701525b602381116109005761087b610871875f01516123e9565b8760600151611f67565b84826046811061088d5761088d6151b3565b602002015260808601516101808b01516108d09190610598906108b16001866151c7565b602881106108c1576108c16151b3565b60200201518960600151611f67565b8660800181815250506108eb86606001518960800151611f67565b60608701526108f9816151da565b905061085a565b505f61090e602360016151a0565b90505b6028811161098f5761092961087187602001516123e9565b84826046811061093b5761093b6151b3565b602002015260808601516101808b015161095f9190610598906108b16001866151c7565b86608001818152505061097a86606001518960800151611f67565b6060870152610988816151da565b9050610911565b50606088015182600160200201526080880151826002602002015260a0880151826003602002015260c0880151826004602002015260e0880151826005602002015261010088015182600660200201526101208801518260076020020152610140880151826008602002015261016088015182600960200201526101a088015182600a602002015261018088015182600b60200201526101c088015182600c60200201526101e088015182600d602002015261020088015182600e602002015261022088015182600f60200201526102408801518260106020020152610260880151826011602002015261028088015182601260200201526102a088015182601360200201526102c088015182601460200201526102e08801518260156020020152610300880151826016602002015261032088015182601760200201526103408801518260186020020152610360880151826019602002015261038088015182601a60200201526103a088015182601b60200201526060890151610b139061239f565b6103808301526080890151610b279061239f565b6103a083015260a0890151610b3b9061239f565b6103c083015260c0890151610b4f9061239f565b6103e083015260e0890151610b639061239f565b610400830152610140890151610b789061239f565b610420830152610100890151610b8d9061239f565b610440830152610120890151610ba29061239f565b6104608301526060890151610bb69061239f565b6104808301526080890151610bca9061239f565b6104a083015260a0890151610bde9061239f565b6104c083015260c0890151610bf29061239f565b6104e083015260e0890151610c069061239f565b6105008301525f604086015260c0870151610c2090612401565b60608601525f5b610c336001601c6151c7565b811015610d78575f610c6660017f00000000000000000000000000000000000000000000000000000000000000006151c7565b82101590505f81610ccf576060880151610c969085610c868660026151a0565b601d81106107fa576107fa6151b3565b9050610ca1816123e9565b8684610caf602860016151a0565b610cb991906151a0565b60468110610cc957610cc96151b3565b60200201525b610cfe8860400151610598838f6101c00151876001610cee91906151a0565b601c81106107fa576107fa6151b3565b6040890152606088015160c08b0151610d179190611f67565b60608901526101a08c0151610d419084601b8110610d3757610d376151b3565b602002015161239f565b8584610d4f602860016151a0565b610d5991906151a0565b60468110610d6957610d696151b3565b60200201525050600101610c27565b505f610db4886060015187608001518c6101c00151887f000000000000000000000000000000000000000000000000000000000000000061240c565b6040870151909150610dcb9061059883855f6107fa565b604087018190526101c08b01515160c08a0151610df9929161059891610df19190611f67565b8560016107fa565b6040808801919091528051808201909152600181526002602082015283610e22601c60286151a0565b60468110610e3257610e326151b3565b6020020152604086015184610e49601c60286151a0565b60468110610e5957610e596151b3565b60200201526102008a01515f90610e6f9061239f565b90508084610e7f601c60286151a0565b610e8a9060016151a0565b60468110610e9a57610e9a6151b3565b602002015260e089015185610eb1601c60286151a0565b610ebc9060016151a0565b60468110610ecc57610ecc6151b3565b60200201525f610edc8587612506565b90505f610ee8836125d7565b9050610ef4828261264e565b9d9c50505050505050505050505050565b610f0d61483b565b50604080516103c0810182526302000000815260196020808301919091526103dc82840152825180840184527f26ab71bbdb087e5b294d0f24726a53d7846adddab99160c60aac22bc0c192fec81527f1652ac078fb34401bff2461022ea82bd1354f28cb231ce88fe3f2817a2c171cb818301526060830152825180840184527f0b4f45ce63baf9f788406e3a195f129e1e493deb8417543ccf585eb7d58ce37781527f1885941455b8f817010ba162464f408be85f2290f2203507df35671b7ffc6baa818301526080830152825180840184527f0cc4e05e6c5f5a50e9c443e7d24af92d134771fe990b6c20b5e2d50dae29610781527f2177645ea945d91c9186ea285e4a6a227b0ee4831a2982c41d3ef8187cdc29ea8183015260a0830152825180840184527f0896eaf5a5ae9e6fb2ccf72ceb9234e591f1c2f3e57591740a3090cc7a436ee481527f2e7a5436a0c6c22817c0b1d6fe4880740050a5ef8089a73e6a8d48c9271a8c4d8183015260c0830152825180840184527f16816576a3c8d627a547394505b6812b19ddc619b606e5f70246a62b7e131fba81527f1b47e1d33ad68f80d0018a3524e4f3416497e6c48717d5d303a801cdbf88462f8183015260e0830152825180840184527edcc6f45301f45f3326fce97a30b6888058fdc9e2fa247133433116ba02553b81527f0c3d30ab4117bdccfd753ad5ecc31c1f29c31e039005b6faedd9f49c41a9971481830152610100830152825180840184527f035d97a928b728d4f4d460c4bdcf11ea8c8bd382f233fe512c394b0b6da9152481527f26961d0bf338d36d2b5ec2f59675073ad262b9bacae3bc100ea54158e763f64781830152610120830152825180840184527f109505aee57f1e3b6576176fde9c58f0f907e5a14a93b7e4669a7f5c252dfe0581527f01641f04f7c2b4cf6b84f81017633c05db7e81f9f7dcfeef8841563d4571a61b81830152610140830152825180840184527f16881d80359faff76a99b7ad59a79f1a65e8efec873cbbe4c031136f4fb87a5781527f0f9f995ae0cb7df46d56b2c4e3e7992e7034389ab073bb924ff487cfe310955e81830152610160830152825180840184527f06914692bb8cafd3c69e1e99a64299a337baa181920a73582c8da22db578299e81527f071ac3267ab76d9275a6890b6f8010f985d9f477a02593e5133fa4af95c672cc81830152610180830152825180840184527f06fcf6bd82e253d151d9a8cbbb5697344263a8f0d29b62bd66a9dd67c43dfd4c81527f0a19b7e25dc7759b45e88cbdae55c2f7a0ec1354613946d5255dfebc76dcef36818301526101a0830152825180840184527f013815912ca61ce14a17aba0e76b1db960f8e034973e5d9f9ec5c334984d6a9281527f1e1c476d538b66c4f6da45ace8ccebe3140b644ceb8ee0dfa61b59dd622bdf55818301526101c0830152825180840184527f0f3ecfa910cc1bc8dafc4eda762918328df986ca517e44570ac6428e4e05950f81527f278cd8881417f95b1206a7caf56bda89a42edc67c19093b3ecee1047f4669e82818301526101e0830152825180840184527f24a8b17823ae1807eabb32c9798b3beef26b6c3e09ad6582f190ce3d0fe6454281527f1a34e50d7ea00b6813d051ba73017ed25efef2353d9df39c33ccdcb50fccf99181830152610200830152825180840184527f04a318c75001c78ca1edf4a973a90e9958bf09d6723cf63874adeb380f9ed83281527f12c4d4e3c7602d751e59098a2c3ad6f5c90c18ba6a81a9924e51dacc99bdf43581830152610220830152825180840184527f0d7478136cbecc20ad029d5f2c79200f0f22a9f704ffc0cd7204f5370de91fd881527f1bd8cd43d8ea02b3b47420de3219fed543f79ca57ed92eeb17db7437e48f621281830152610240830152825180840184527f2f7978918d0c3e8513b601b71cfdf103f142bb7df34fe3731be2a443091367e481527f024ef88d9bed26ee55cad924c643926fb3d44ab1722b67b93b3afd03e9f14fa181830152610260830152825180840184527f0ebc6f14c8fa50ea049b2d4c08a5110c071d42d12f59f1f7eb431e62145db6a181527f2fc053f7d400c8ffa8297be23a5cef5feedd8e941bc3d0efa7aaaf084e92f1ac81830152610280830152825180840184527f0a50d89668422dca2ebb968f5343d9c04151cc33dc38c19e349b5d21a677c14481527f0a0274270c44907a55ec7cc6acaabc4c51802e8a819df3f7621b67d305458b33818301526102a0830152825180840184527f287d50a3792b23cd752ecbaa809add8f5635ced5d9fd762b305aba9a5406b4d481527f2f4a38d8eeabc65db189a0393033bdd1006dcfa32b23b6cb4010e49bf5df63cd818301526102c0830152825180840184527f2d9afd3b5e1b57d08f181b0640d57a6bc7a25a80dbcf60dd598fe5cae4e7801881527f034d07d8cec6de44360590734d734c60ea828db8ee3d7d6e4fb83102c2dba31a818301526102e0830152825180840184527f0d1c51a0944e73b5bf5059109cfc7756b18ab597ee97fcdceb68e08e7a9325ec81527f2d0ebb65c43bb88f0e0af105cb368e35a8117262fa463c5e4a91e60a63285d5881830152610300830152825180840184527f237fc3d6ca839bf8fe66beb52f778994d8d05f3496301df3cb1030649802eb1881527f1013ad0339d32e695efdc9e28675f47f332bda5954966f00469214f4ee763b8481830152610320830152825180840184527f0c124a2788b4e0e45ebc1003affc7b699ea00567da3fa1f4bef7f9f97698340481527f0655bd829b537acf9fdc36831274395bdd5d3c181d2e84ddd3dfa1192c5f518481830152610340830152825180840184527f2664e1b3d5bd93796c3e968511ad456c3b10db55de4e939e1a8eb6279d99ea9a81527f2a8a81f4857a08db4de35ca43cc4e145c8719ce30616be286b5a565e4ee99e9c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f257314f261f03f3604a0c61db979676930acd9a375709a86f68a3d1771066c5183527f0d97fcd6da6a3dcf3c5b37ef382ad300ae61187a2ae093e003ac4d2670adc137908301526103a081019190915290565b61181360405180608001604052805f81526020015f81526020015f81526020015f81525090565b6080821461185e5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064015b60405180910390fd5b60408051608081019091528061187760205f868861515c565b61188091615183565b815260209081019061189690604090868861515c565b61189f91615183565b81526020016118b260606040868861515c565b6118bb91615183565b81526020016118ce60806060868861515c565b6118d791615183565b90529392505050565b5f602082146119285760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b6044820152606401611855565b61193561058e8385615183565b9392505050565b61196f6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61197c87878787612852565b60408601919091526020850191909152908352925061199b8388612c85565b60808501919091526060840191909152919791965090945050505050565b6119c1614e9a565b5f6119ca614eb9565b8481526101408401805151602080840191909152815181015160408085019190915282518101516060808601919091529251830151608085015260e080880180515160a0870152805184015160c087015280518301519186019190915251909201516101008401529051611a5f91611a44918491016151f2565b60405160208183030381529060405280519060200120611f49565b9150611a6a82612d58565b6020850152835260015b611a806002601961523a565b811015611b0057611a9d83604051602001611a4491815260200190565b9250611aa883612d58565b85611ab4846002615145565b60198110611ac457611ac46151b3565b6020020186611ad4856002615145565b611adf9060016151a0565b60198110611aef57611aef6151b3565b602002019190915252600101611a74565b50611b1782604051602001611a4491815260200190565b91505f611b2383612d58565b85611b30600160196151c7565b60198110611b4057611b406151b3565b60200201919091525050509250929050565b611b5a614ed8565b5f805b601c811015611bac57611b7c84604051602001611a4491815260200190565b93505f611b8885612d58565b8584601c8110611b9a57611b9a6151b3565b60200201919091525050600101611b5d565b5090929050565b611bbb614ed8565b5f805b601c811015611c7e57611bcf614eb9565b8481525f5b6008811015611c385786610160015183601c8110611bf457611bf46151b3565b60200201518160088110611c0a57611c0a6151b3565b602002015182611c1b8360016151a0565b60098110611c2b57611c2b6151b3565b6020020152600101611bd4565b50611c4d81604051602001611a4491906151f2565b94505f611c5986612d58565b8685601c8110611c6b57611c6b6151b3565b6020020191909152505050600101611bbe565b50909391925050565b5f5f611c91614ef7565b8381525f5b6028811015611ce4578561018001518160288110611cb657611cb66151b3565b602002015182611cc78360016151a0565b60298110611cd757611cd76151b3565b6020020152600101611c96565b50611cf981604051602001611a44919061524d565b91505f611d0583612d58565b5096929550919350505050565b5f5f611d1c614f16565b8381525f5b611d2d6001601c6151c7565b811015611e6b57856101a0015181601b8110611d4b57611d4b6151b3565b60200201515182611d5d836004615145565b611d689060016151a0565b606d8110611d7857611d786151b3565b60200201526101a086015181601b8110611d9457611d946151b3565b60200201516020015182826004611dab9190615145565b611db69060026151a0565b606d8110611dc657611dc66151b3565b60200201526101a086015181601b8110611de257611de26151b3565b60200201516040015182611df7836004615145565b611e029060036151a0565b606d8110611e1257611e126151b3565b60200201526101a086015181601b8110611e2e57611e2e6151b3565b60200201516060015182611e43836004615145565b611e4e9060046151a0565b606d8110611e5e57611e5e6151b3565b6020020152600101611d21565b50611cf981604051602001611a449190615281565b5f5f611e8a614f35565b8381525f5b601c811015611edd57856101c0015181601c8110611eaf57611eaf6151b3565b602002015182611ec08360016151a0565b601d8110611ed057611ed06151b3565b6020020152600101611e8f565b50611cf981604051602001611a4491906152b5565b5f5f611efc614f54565b8381526101e085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611cf991611a44918491016152e9565b5f611f615f51602061540b5f395f51905f528361531c565b92915050565b5f5f51602061540b5f395f51905f528284099392505050565b5f5f51602061540b5f395f51905f528284089392505050565b5f5f51602061540b5f395f51905f52611fbf835f51602061540b5f395f51905f526151c7565b84089392505050565b5f6119358361059384612336565b81515f908190611fee908560015b6020020151611f80565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156120e0576120d6826105938784611f99565b91506001016120bf565b506120e9614f72565b5f5b600881101561214a575f848260088110612107576121076151b3565b6020020151905061211c816105938985611f99565b905061212781612336565b90508083836008811061213c5761213c6151b3565b6020020152506001016120eb565b505f5b600881101561219d575f878260088110612169576121696151b3565b60200201519050612186818484600881106107fa576107fa6151b3565b90506121928682611f80565b95505060010161214d565b5061075c8483611f67565b5f5f6121be600161059885610593896001611f99565b90506121ca8482611f67565b95945050505050565b5f6121dc614f91565b6121e7868285612d91565b6121f386868386612f3d565b6121ff86868386613125565b61220a868285613321565b612215868285613509565b6122218686838661384c565b61222c8682856140e6565b6122378682856144b1565b61075c81856147a6565b612249614ed8565b81815260015b601c8110156122a057612281826122676001846151c7565b601c8110612277576122776151b3565b6020020151612401565b8282601c8110612293576122936151b3565b602002015260010161224f565b50919050565b6122ae614f35565b836122c76122c282865f6020020151611f99565b612336565b82525f5b601c81101561232d575f6122e08560016151a0565b8211612302576122ff6122c2848885601c8110611fe457611fe46151b3565b90505b808461230f8460016151a0565b601d811061231f5761231f6151b3565b6020020152506001016122cb565b50509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061540b5f395f51905f520360808201525f51602061540b5f395f51905f5260a082015260205f60c08360055afa905080612394575f5ffd5b50505f519392505050565b604080518082019091525f8082526020820152604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f611f61825f51602061540b5f395f51905f526151c7565b5f611f618283611f67565b5f601c5b80156124fb575f846124236001846151c7565b601c8110612433576124336151b3565b602002015190505f886124476001856151c7565b601c8110612457576124576151b3565b602002015190505f8761246b6001866151c7565b601c811061247b5761247b6151b3565b602002015190505f6124b661249a612493868d611f67565b6002611f67565b6105b6846105936124b08961059360018b611f99565b88611f99565b90506124d7816105936122c26124d18861059360018a611f99565b87611f80565b9050868511806124e557819a505b5050505050806124f49061532f565b9050612410565b509395945050505050565b604080518082019091525f80825260208201525f612526601c60286151a0565b6125319060026151a0565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156125bf5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612566565b50805184526020810151602085015250505092915050565b604080518082019091525f80825260208201527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4782602001517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4761263b91906151c7565b612645919061531c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516127e49190615344565b5f60405180830381855afa9150503d805f811461281c576040519150601f19603f3d011682016040523d82523d5f602084013e612821565b606091505b50915091505f8180602001905181019061283b919061535a565b90508280156128475750805b979650505050505050565b5f808080806128628660036151a0565b61286d90600c6151a0565b67ffffffffffffffff81111561288557612885615379565b6040519080825280602002602001820160405280156128ae578160200160208202803683370190505b509050885f01515f1b815f815181106128c9576128c96151b3565b60200260200101818152505088602001515f1b816001815181106128ef576128ef6151b3565b60200260200101818152505088604001515f1b81600281518110612915576129156151b3565b60209081029190910101525f5b868110156129745788888281811061293c5761293c6151b3565b905060200201358282600361295191906151a0565b81518110612961576129616151b3565b6020908102919091010152600101612922565b50606089015151816129878860036151a0565b81518110612997576129976151b3565b60209081029190910181019190915260608a01510151816129b98860036151a0565b6129c49060016151a0565b815181106129d4576129d46151b3565b6020908102919091010152606089015160400151816129f48860036151a0565b6129ff9060026151a0565b81518110612a0f57612a0f6151b3565b60209081029190910101526060808a0151015181612a2e8860036151a0565b612a399060036151a0565b81518110612a4957612a496151b3565b602090810291909101015260808901515181612a668860036151a0565b612a719060046151a0565b81518110612a8157612a816151b3565b60209081029190910181019190915260808a0151015181612aa38860036151a0565b612aae9060056151a0565b81518110612abe57612abe6151b3565b602090810291909101015260808901516040015181612ade8860036151a0565b612ae99060066151a0565b81518110612af957612af96151b3565b602090810291909101015260808901516060015181612b198860036151a0565b612b249060076151a0565b81518110612b3457612b346151b3565b602090810291909101015260a08901515181612b518860036151a0565b612b5c9060086151a0565b81518110612b6c57612b6c6151b3565b60209081029190910181019190915260a08a0151015181612b8e8860036151a0565b612b999060096151a0565b81518110612ba957612ba96151b3565b602090810291909101015260a08901516040015181612bc98860036151a0565b612bd490600a6151a0565b81518110612be457612be46151b3565b602090810291909101015260a08901516060015181612c048860036151a0565b612c0f90600b6151a0565b81518110612c1f57612c1f6151b3565b602002602001018181525050612c3f81604051602001611a44919061538d565b9150612c4a82612d58565b6040805160208101869052929750909550612c659101611a44565b91505f612c7183612d58565b50959a949950949750909550919350505050565b5f5f5f612c90614fb0565b8581526101008581018051516020808501919091528151810151604080860191909152825181015160608087019190915292518301516080860152610120808a0180515160a0880152805184015160c080890191909152815184015160e089015290518501519587019590955293890180515194860194909452835182015161014086015283518101516101608601529251909101516101808401529051612d3e91611a44918491016153c2565b9150612d4982612d58565b90979096509194509092505050565b5f80826fffffffffffffffffffffffffffffffff8116608082901c612d7c82611f49565b9450612d8781611f49565b9350505050915091565b5f612d9d84600761480b565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612dfe612df8612dd2856003611f99565b610593612ded612de28b5f61480b565b6105938c601c61480b565b6105938b601b61480b565b83611f67565b9050612e7f612e74612e5b612e42612e2985610598612e1e8d600261480b565b6105938e601b61480b565b610598612e378c600361480b565b6105938d601c61480b565b610598612e508b600461480b565b6105938c601d61480b565b610598612e698a600561480b565b6105938b601e61480b565b61059888600161480b565b9050612e9e81610598612e93866001611f99565b6105938a602661480b565b9050612eaa8184611f67565b9050612eb68185611f67565b8552505f9050612ef0612ee6612edb612ed088601b61480b565b61059889601e61480b565b6105b688602361480b565b610598875f61480b565b9050612f0181610593846002611f99565b9050612f1281610593846001611f99565b9050612f1e8183611f67565b9050612f2a8184611f67565b9050808460015b60200201525050505050565b5f5f5f612f73612f69612f5189601b61480b565b610598612f5f8b601161480b565b8a60600151611f67565b8760800151611f80565b9050612fac81610593612fa2612f8a8b601c61480b565b610598612f988d601261480b565b8c60600151611f67565b8960800151611f80565b9050612fd181610593612fa2612fc38b601d61480b565b610598612f988d601361480b565b9050612ff681610593612fa2612fe88b601e61480b565b610598612f988d601461480b565b92505f905061301a612f6961300c89601b61480b565b610598612f5f8b600d61480b565b905061303f81610593612fa26130318b601c61480b565b610598612f988d600e61480b565b905061306481610593612fa26130568b601d61480b565b610598612f988d600f61480b565b905061308981610593612fa261307b8b601e61480b565b610598612f988d601061480b565b91505f90506130b06130aa61309f89601f61480b565b6105988a601961480b565b84611f67565b90506130e5816105b66130df6130c78b602761480b565b6105986130d58d601a61480b565b8c60a00151611f67565b85611f67565b90506130f18185611f67565b6040860152505f6131146130df61310989601a61480b565b6105938a602761480b565b606090950194909452505050505050565b5f5f61318361316b61315361313e612fa28a601561480b565b61059861314c8b601661480b565b8a51611f67565b6105986131618a601761480b565b8960200151611f67565b61059861317989601861480b565b8860400151611f67565b91505f6131ba6131a161319789601b61480b565b8860800151611f80565b6105986131af8a600361480b565b6105938b602361480b565b90505f6131e36131cb89601c61480b565b6105986131d88b5f61480b565b6105938c602461480b565b90505f61320d6131f48a601d61480b565b6105986132028c600161480b565b6105938d602561480b565b905061324c61323461322685610598868d5f0151611f67565b610598848c60200151611f67565b6105986132428c600461480b565b8b60400151611f67565b93505050505f6132606130aa88602061480b565b90505f6132716130aa89602061480b565b90505f6132a96132906132858b602261480b565b6105988c600661480b565b6105b661329e8c602261480b565b6105938d600661480b565b90505f6132cd6132c76132bc8789611f67565b6105938d602061480b565b83611f99565b90506132d98188611f67565b90505f6133016132f36132ed8d600661480b565b87611f67565b6105b66132ed8e602161480b565b60808a018390529050808960055b60200201525050505050505050505050565b5f61332d5f6001611f99565b90505f61333b5f6002611f99565b90505f6133495f6003611f99565b90505f61336561335a88601c61480b565b6105b689601b61480b565b90505f61338161337689601d61480b565b6105b68a601c61480b565b90505f61339d6133928a601e61480b565b6105b68b601d61480b565b90505f6133b96133ae8b602361480b565b6105b68c601e61480b565b9050836133ca81610593818b611f80565b90506133da81610593878a611f80565b90506133ea816105938789611f80565b90506133fb816105938d600861480b565b9050613407818a611f67565b60c08b0152508261341c81610593818b611f80565b905061342c81610593868a611f80565b905061343c816105938689611f80565b905061344d816105938d600861480b565b9050613459818a611f67565b60e08b0152508161346e81610593818b611f80565b905061347e81610593858a611f80565b905061348e816105938589611f80565b905061349f816105938d600861480b565b90506134ab818a611f67565b6101008b015250806134c181610593818b611f80565b90506134d181610593848a611f80565b90506134e1816105938489611f80565b90506134f2816105938d600861480b565b90506134fe818a611f67565b9050808a600961330f565b6135426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61354d84601c61480b565b815261355a84601d61480b565b602082015261356a84602361480b565b604082015261357a84602661480b565b606082015261358a84602561480b565b608082015261359a84602461480b565b60a08201525f6135ab85600261480b565b90505f6135b8865f61480b565b90505f6135cc8460400151855f0151611f99565b90505f6135e185602001518660200151611f67565b606086015190915086905f906135f79080611f67565b90505f61361561360f89602001518a60600151611f67565b88611f67565b90505f61363461362d8a60a001518b60400151611f80565b8a51611f80565b90506136436132ed8288611f67565b905061366461365e6136586124b08487611f99565b84611f80565b83611f80565b905061368c6136816136768387611f67565b6105938f600961480b565b61059360018a611f99565b6101408c015250505050602085015160808601515f916136ab91611f80565b90505f6136c96136bf886060015188611f67565b8860200151611f99565b90505f6136ed6136d98487611f67565b6105986130df8b60a001518c5f0151611f99565b905061371561370a6136ff838c611f67565b6105938e600961480b565b610593600189611f99565b6101608b0152505f9150613736905061372f836011611f80565b8751611f67565b90505f6137438384611f80565b905061374f8182611f80565b90505f61375d836009611f67565b90506137866137806130aa6137798b60a001518c5f0151611f80565b8b51611f80565b82611f99565b60c089018190525f906137a19061360f90613676908d611f67565b90506137b48b600a602002015182611f80565b6101408c0152505086515f92506137db915061372f906137d49080611f80565b8851611f80565b90505f61381b6137f6836105938a5f01518b60a00151611f99565b60208901516105b6906138099080611f80565b6105938b602001518c60800151611f80565b905061383889600b602002015161059861360f613676858d611f67565b89600b602002015250505050505050505050565b6138e0604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6139156138fc6138f187601b61480b565b61059388602461480b565b61059861390a88602361480b565b61059389601c61480b565b815261395a61394f61393661392b88601b61480b565b61059389601e61480b565b61059861394489601c61480b565b6105938a601d61480b565b6105b687602561480b565b6040820181905261396f90600160441b611f67565b60408201819052613985906105b687602661480b565b6040820181905281516139989190611f80565b604082018190526139ae9061059387600561480b565b604082015280516139c390600160441b611f67565b8082526139e3906105986139d888602361480b565b61059389602461480b565b808252602082018190526139ff906105b6612ed088601d61480b565b60208201819052613a159061059387600461480b565b6020820152805160608201819052613a329061059887601e61480b565b60608201819052613a56906105b6613a4b88602561480b565b61059889602661480b565b60608201819052613a6b90610593875f61480b565b8160600181815250505f613a94613a8a83602001518460400151611f80565b8360600151611f80565b9050613aa58161059388600361480b565b9050613abd613ab587602461480b565b614000611f67565b60808301819052613ad39061059888602361480b565b60808301819052613ae690614000611f67565b60808301819052613afc9061059888601d61480b565b60808301819052613b0f90614000611f67565b60808301819052613b259061059888601c61480b565b60808301819052613b3890614000611f67565b60808301819052613b4e9061059888601b61480b565b60808301819052613b64906105b688601e61480b565b60808301819052613b7a9061059388600561480b565b6080830152613b8d613ab587602561480b565b60a08301819052613ba39061059888602461480b565b60a08301819052613bb690614000611f67565b60a08301819052613bcc9061059888602361480b565b60a08301819052613bdf90614000611f67565b60a08301819052613bf59061059888601e61480b565b60a08301819052613c0890614000611f67565b60a08301819052613c1e9061059888601d61480b565b60a08301819052613c34906105b688602661480b565b60a08301819052613c4990610593885f61480b565b60a0830181905260808301515f91613c619190611f80565b9050613c728161059389600461480b565b9050613c8c613c8288601d61480b565b8760400151611f67565b60c08401819052613ca5906105986131618a601c61480b565b60c08401819052613cc590610598613cbe8a601b61480b565b8951611f67565b60c08401819052613cdb9061059889600161480b565b60c0840181905260e08401819052613cf8906105b689601e61480b565b60c0840152613d0b61335a88602361480b565b610140840152613d2a613d1f88602661480b565b6105b689601e61480b565b610120840152610140830151613d4f90613d449080611f67565b846101400151611f99565b610280840152610140830151613d9190613d8690613d7f9061059360015f51602061540b5f395f51905f526151c7565b6001611f80565b846101200151611f67565b6101608401819052613dc890613dba90610593613daf8b600261480b565b6105938c600361480b565b6105936132ed8a600a61480b565b6101a0860152610280830151613dea90613dba90610593613daf8b600261480b565b6101c086015260c0830151613e1290610593613e078a600261480b565b6105938b600361480b565b6101e08401525f613e31613e2789601e61480b565b8560e00151611f99565b9050613e406137808283611f67565b6101a0850152613e5461317989602561480b565b6101008501819052613e7890610598613e6e8b602461480b565b8a60200151611f67565b6101008501819052613e929061059861314c8b602361480b565b610100850152613eb1613ea689602661480b565b856101000151611f99565b6101008501525f613ec66133928a602561480b565b9050613f1a613ef4612df8613d7f88610140015160015f51602061540b5f395f51905f5261059391906151c7565b610593613d7f88610100015160015f51602061540b5f395f51905f5261059391906151c7565b610180860152610100850151613f3f90613f349080611f67565b866101000151611f99565b6101c0860152610180850151613f7290613f5e906105938c600761480b565b610593613f6c8c600a61480b565b89611f67565b6101e0880152610280850151613f9190613f5e906105938c600761480b565b6102008801526101c0850151613fb090613f5e906105938c600761480b565b6102208801526101a0850151613fcb906105938b600761480b565b610200860152613fea613fdf8a602461480b565b6105b68b601c61480b565b610220860152610140850151614029906133929061401e90613d7f9061059360015f51602061540b5f395f51905f526151c7565b876102200151611f67565b61024086018190526101e0860151610260870181905261406091610598906105936140558e600561480b565b6105938f600261480b565b610260860181905260c08601516140839190610598906105936140558e5f61480b565b610260860181905261020086015161409b9190611f80565b61026086018190526140b1906136589086611f80565b6102a086018190526140cb90610593613f6c8c600a61480b565b6102a0860181905287600c6020020152505050505050505050565b61415c6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61417561416a85601b61480b565b61059886600261480b565b815261419061418585601c61480b565b61059886600361480b565b60208201526141ae6141a385601d61480b565b61059886600461480b565b60408201526141cc6141c185601e61480b565b61059886600561480b565b606082015280516141fe906141f7906141f0906141e99080611f67565b8451611f67565b8351611f67565b8251611f67565b6080820152602081015161423c90614232906142289061421e9080611f67565b8460200151611f67565b8360200151611f67565b8260200151611f67565b60a0820152604081015161427a90614270906142669061425c9080611f67565b8460400151611f67565b8360400151611f67565b8260400151611f67565b60c082015260608101516142b8906142ae906142a49061429a9080611f67565b8460600151611f67565b8360600151611f67565b8260600151611f67565b60e0820152608081015160a08201516142d19190611f80565b61010082015260c081015160e08201516142eb9190611f80565b61012082015260a081015161430f906143049080611f80565b826101200151611f80565b61014082015260e0810151614333906143289080611f80565b826101000151611f80565b6101608201526101208101516143499080611f80565b6101e0820181905261436a9061435f9080611f80565b826101600151611f80565b6101e08201526101008101516143809080611f80565b6101a082018190526143a1906143969080611f80565b826101400151611f80565b6101a082018190526101608201516143b891611f80565b6101808201526101408101516101e08201516143d49190611f80565b6101c08201526143e8612df885600b61480b565b61020082018190526102408401516101808301516144139261059891610593906105b68a602361480b565b83601260200201526144438360136020020151610598836102000151610593856101a001516105b68a602461480b565b83601360200201526144738360146020020151610598836102000151610593856101c001516105b68a602561480b565b83601460200201526144a38360156020020151610598836102000151610593856101e001516105b68a602661480b565b836015602002015250505050565b6145036040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806145387f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7611f49565b81526020016145667f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b611f49565b81526020016145937e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15611f49565b81526020016145c17f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b611f49565b905290506145de6145d386601b61480b565b61059887600261480b565b61012083018190526146129061460790613d86906145fc9080611f67565b856101200151611f67565b836101200151611f67565b825261461f85601c61480b565b602083015261462f85601d61480b565b604083015261463f85601e61480b565b60608301528151602083015161466791613a8a9161465d9190611f80565b8460400151611f80565b608083015261467a6130aa86600c61480b565b610140830152815161469b9061469190835f6107fa565b8360800151611f80565b60a08301526146c784601660200201516105988461014001516105938660a001516105b68b602361480b565b6102c085015260208201516146e290614691908360016107fa565b60c083015261470e84601760200201516105988461014001516105938660c001516105b68b602461480b565b6102e0850152604082015161472990614691908360026107fa565b60e083015261475584601860200201516105988461014001516105938660e001516105b68b602561480b565b610300850152606082015161477090614691908360036107fa565b61010083015261479e84601960200201516105988461014001516105938661010001516105b68b602661480b565b846019612f31565b5f6147b2818481611fe4565b905060015b601a811015614804576147fa826105988684601a81106147d9576147d96151b3565b6020020151866147ea6001876151c7565b601981106107fa576107fa6151b3565b91506001016147b7565b5092915050565b5f8282602781111561481f5761481f6153f6565b6028811061482f5761482f6151b3565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161487460405180604001604052805f81526020015f81525090565b815260200161489460405180604001604052805f81526020015f81525090565b81526020016148b460405180604001604052805f81526020015f81525090565b81526020016148d460405180604001604052805f81526020015f81525090565b81526020016148f460405180604001604052805f81526020015f81525090565b815260200161491460405180604001604052805f81526020015f81525090565b815260200161493460405180604001604052805f81526020015f81525090565b815260200161495460405180604001604052805f81526020015f81525090565b815260200161497460405180604001604052805f81526020015f81525090565b815260200161499460405180604001604052805f81526020015f81525090565b81526020016149b460405180604001604052805f81526020015f81525090565b81526020016149d460405180604001604052805f81526020015f81525090565b81526020016149f460405180604001604052805f81526020015f81525090565b8152602001614a1460405180604001604052805f81526020015f81525090565b8152602001614a3460405180604001604052805f81526020015f81525090565b8152602001614a5460405180604001604052805f81526020015f81525090565b8152602001614a7460405180604001604052805f81526020015f81525090565b8152602001614a9460405180604001604052805f81526020015f81525090565b8152602001614ab460405180604001604052805f81526020015f81525090565b8152602001614ad460405180604001604052805f81526020015f81525090565b8152602001614af460405180604001604052805f81526020015f81525090565b8152602001614b1460405180604001604052805f81526020015f81525090565b8152602001614b3460405180604001604052805f81526020015f81525090565b8152602001614b5460405180604001604052805f81526020015f81525090565b8152602001614b7460405180604001604052805f81526020015f81525090565b8152602001614b9460405180604001604052805f81526020015f81525090565b8152602001614bb460405180604001604052805f81526020015f81525090565b905290565b6040518061022001604052805f81526020015f81526020015f8152602001614bfe60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c2a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c5660405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c8260405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614cae60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614cda60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614d0660405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614d3260405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614d3f614fcf565b8152602001614d4c614ffd565b8152602001614d5961501c565b8152602001614d66614ed8565b8152602001614d9260405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614bb460405180608001604052805f81526020015f81526020015f81526020015f81525090565b604051806101000160405280614dfd6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001614e0a614e9a565b8152602001614e17614ed8565b8152602001614e24614ed8565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b604080518082019091525f8082526020820152815260200190600190039081614e715790505090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b604051806101a00160405280600d906020820280368337509192915050565b604051806103800160405280601c905b614fe7614f72565b815260200190600190039081614fdf5790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b61505360405180608001604052805f81526020015f81526020015f81526020015f81525090565b81526020019060019003908161502c5790505090565b5f5f5f5f6040858703121561507c575f5ffd5b843567ffffffffffffffff811115615092575f5ffd5b8501601f810187136150a2575f5ffd5b803567ffffffffffffffff8111156150b8575f5ffd5b8760208284010111156150c9575f5ffd5b60209182019550935085013567ffffffffffffffff8111156150e9575f5ffd5b8501601f810187136150f9575f5ffd5b803567ffffffffffffffff81111561510f575f5ffd5b8760208260051b8401011115615123575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417611f6157611f61615131565b5f5f8585111561516a575f5ffd5b83861115615176575f5ffd5b5050820193919092039150565b80356020831015611f61575f19602084900360031b1b1692915050565b80820180821115611f6157611f61615131565b634e487b7160e01b5f52603260045260245ffd5b81810381811115611f6157611f61615131565b5f600182016151eb576151eb615131565b5060010190565b5f8183825b60098110156152165781518352602092830192909101906001016151f7565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261524857615248615226565b500490565b5f8183825b6029811015615271578151835260209283019290910190600101615252565b5050506105208201905092915050565b5f8183825b606d8110156152a5578151835260209283019290910190600101615286565b505050610da08201905092915050565b5f8183825b601d8110156152d95781518352602092830192909101906001016152ba565b5050506103a08201905092915050565b5f8183825b600581101561530d5781518352602092830192909101906001016152ee565b50505060a08201905092915050565b5f8261532a5761532a615226565b500690565b5f8161533d5761533d615131565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561536a575f5ffd5b81518015158114611935575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156153b7578151845260209384019390910190600101615399565b509195945050505050565b5f8183825b600d8110156153e65781518352602092830192909101906001016153c7565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212206f5e433db6d64a17e9443a33f59a0150cf549a22ca7ad3061225b9583a2b26be64736f6c634300081b0033";
5
5
  /**
6
6
  * HonkVerifier link references.
7
7
  */
@@ -1294,6 +1294,22 @@ export const IERC20Abi = [
1294
1294
  }
1295
1295
  ]
1296
1296
  },
1297
+ {
1298
+ "type": "error",
1299
+ "name": "Staking__InvalidDeposit",
1300
+ "inputs": [
1301
+ {
1302
+ "name": "attester",
1303
+ "type": "address",
1304
+ "internalType": "address"
1305
+ },
1306
+ {
1307
+ "name": "proposer",
1308
+ "type": "address",
1309
+ "internalType": "address"
1310
+ }
1311
+ ]
1312
+ },
1297
1313
  {
1298
1314
  "type": "error",
1299
1315
  "name": "Staking__NoOneToSlash",
@@ -1326,6 +1326,22 @@ export const IProofCommitmentEscrowAbi = [
1326
1326
  }
1327
1327
  ]
1328
1328
  },
1329
+ {
1330
+ "type": "error",
1331
+ "name": "Staking__InvalidDeposit",
1332
+ "inputs": [
1333
+ {
1334
+ "name": "attester",
1335
+ "type": "address",
1336
+ "internalType": "address"
1337
+ },
1338
+ {
1339
+ "name": "proposer",
1340
+ "type": "address",
1341
+ "internalType": "address"
1342
+ }
1343
+ ]
1344
+ },
1329
1345
  {
1330
1346
  "type": "error",
1331
1347
  "name": "Staking__NoOneToSlash",
@@ -1269,6 +1269,22 @@ export const IVerifierAbi = [
1269
1269
  }
1270
1270
  ]
1271
1271
  },
1272
+ {
1273
+ "type": "error",
1274
+ "name": "Staking__InvalidDeposit",
1275
+ "inputs": [
1276
+ {
1277
+ "name": "attester",
1278
+ "type": "address",
1279
+ "internalType": "address"
1280
+ },
1281
+ {
1282
+ "name": "proposer",
1283
+ "type": "address",
1284
+ "internalType": "address"
1285
+ }
1286
+ ]
1287
+ },
1272
1288
  {
1273
1289
  "type": "error",
1274
1290
  "name": "Staking__NoOneToSlash",
@@ -1323,6 +1323,22 @@ export const InboxAbi = [
1323
1323
  }
1324
1324
  ]
1325
1325
  },
1326
+ {
1327
+ "type": "error",
1328
+ "name": "Staking__InvalidDeposit",
1329
+ "inputs": [
1330
+ {
1331
+ "name": "attester",
1332
+ "type": "address",
1333
+ "internalType": "address"
1334
+ },
1335
+ {
1336
+ "name": "proposer",
1337
+ "type": "address",
1338
+ "internalType": "address"
1339
+ }
1340
+ ]
1341
+ },
1326
1342
  {
1327
1343
  "type": "error",
1328
1344
  "name": "Staking__NoOneToSlash",
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Inbox bytecode.
3
3
  */
4
- export const InboxBytecode = "0x610100604052610010600180610375565b5f555f600355348015610021575f5ffd5b50604051610f77380380610f7783398101604081905261004091610388565b6001600160a01b03821660805260a081905261005d8160026104a2565b60c05261006b600182610099565b60a05160c0515f8054815260026020526040902061008e92909160019190610142565b60e0525061055c9050565b5f8080526020839052604081205560015b81811161013d5761011d835f6100c16001856104b4565b81526020019081526020015f2054845f015f6001856100e091906104b4565b81526020019081526020015f2054604051602001610108929190918252602082015260400190565b60408051601f1981840301815291905261029b565b5f8281526020859052604090205580610135816104c7565b9150506100aa565b505050565b83545f908082036101625750505f82815260208490526040902054610293565b8281036101805750505f828152600185016020526040902054610293565b5f61018c6001836104b4565b90505f61019882610336565b5f81815260018a01602052604090205490915082821c825b8881101561028a57600180831614801561024f575f82815260018d01602052604090205484900361021c5760405162461bcd60e51b81526020600482015260126024820152714d697374616b65732077657265206d61646560701b604482015260640160405180910390fd5b5f82815260018d0160209081526040918290205482519182015290810185905261024890606001610108565b935061027d565b5f82815260208c815260409182902054915161027a9261010892889201918252602082015260400190565b93505b50600191821c91016101b0565b50909450505050505b949350505050565b6040805160018082528183019092525f91602082018180368337019050506002836040516102c991906104f6565b602060405180830381855afa1580156102e4573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103079190610501565b604051602001610318929190610518565b60405160208183030381529060405261033090610536565b92915050565b5f80825b8060011660010361035a578161034f816104c7565b92505060011c61033a565b5092915050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561033057610330610361565b5f5f60408385031215610399575f5ffd5b82516001600160a01b03811681146103af575f5ffd5b6020939093015192949293505050565b6001815b60018411156103fa578085048111156103de576103de610361565b60018416156103ec57908102905b60019390931c9280026103c3565b935093915050565b5f8261041057506001610330565b8161041c57505f610330565b8160018114610432576002811461043c57610458565b6001915050610330565b60ff84111561044d5761044d610361565b50506001821b610330565b5060208310610133831016604e8410600b841016171561047b575081810a610330565b6104875f1984846103bf565b805f190482111561049a5761049a610361565b029392505050565b5f6104ad8383610402565b9392505050565b8181038181111561033057610330610361565b5f600182016104d8576104d8610361565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6104ad82846104df565b5f60208284031215610511575f5ffd5b5051919050565b5f61052382856104df565b60ff199390931683525050601f01919050565b80516020808301519190811015610556575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516109c56105b25f395f6103ed01525f8181610240015281816102920152818161044b01526104d701525f818161042a01526104b601525f8181610101015261038c01526109c55ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80637a508022116100585780637a508022146100d557806387351813146100f45780639611c5c2146100fc5780639b24b3b01461013b575f5ffd5b8063086dc8d41461007e5780631f6d510b1461009a578063483f31ab146100c2575b5f5ffd5b61008760035481565b6040519081526020015b60405180910390f35b6100ad6100a8366004610813565b61014e565b60408051928352602083019190915201610091565b6100876100d036600461088b565b610380565b6100876100e336600461088b565b60026020525f908152604090205481565b6100875f5481565b6101237f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610091565b61008761014936600461088b565b6104a1565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156101a1576040516353bb503760e11b815260040161019891815260200190565b60405180910390fd5b50837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156101e7576040516311d1480560e21b815260040161019891815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000081111561022d57604051633b379f8b60e21b815260040161019891815260200190565b505f8054815260026020526040902080547f00000000000000000000000000000000000000000000000000000000000000000361028b5760015f5f82825461027591906108b6565b90915550505f8054815260026020526040902090505b5f815f01547f000000000000000000000000000000000000000000000000000000000000000060015f546102bf91906108c9565b6102c991906108dc565b6102d391906108b6565b6040805160e0810182523360a082019081524660c08301528152602081018a905290810188905260608101879052608081018290529091505f610315826104fb565b9050610321848261057d565b5060038054905f610331836108f3565b9190505550805f547f1f0faf82fa8c7b10dd392417c6976d0ed764deb80fb07211d5928c2944ddb80d8560405161036a91815260200190565b60405180910390a3989197509095505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103ca5760405163e5336a6b60e01b815260040160405180910390fd5b5f5482106103eb5760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001831115610472575f83815260026020526040902061046f9060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006105fe565b90505b5f5461047f8460016108b6565b0361049b5760015f5f82825461049591906108b6565b90915550505b92915050565b5f81815260026020526040812061049b9060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006105fe565b5f61049b825f0151836020015184604001518560600151866080015160405160200161056995949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610753565b81545f908161058b826107e8565b9050835f5b828110156105ce575f818152600188016020908152604091829020548251918201529081018390526105c490606001610569565b9150600101610590565b505f828152600187016020526040812082905586549087906105ef836108f3565b90915550929695505050505050565b83545f9080820361061e5750505f8281526020849052604090205461074b565b82810361063c5750505f82815260018501602052604090205461074b565b5f6106486001836108c9565b90505f610654826107e8565b5f81815260018a01602052604090205490915082821c825b88811015610742576001808316148015610707575f82815260018d0160205260409020548490036106d45760405162461bcd60e51b81526020600482015260126024820152714d697374616b65732077657265206d61646560701b6044820152606401610198565b5f82815260018d0160209081526040918290205482519182015290810185905261070090606001610569565b9350610735565b5f82815260208c81526040918290205491516107329261056992889201918252602082015260400190565b93505b50600191821c910161066c565b50909450505050505b949350505050565b6040805160018082528183019092525f91602082018180368337019050506002836040516107819190610922565b602060405180830381855afa15801561079c573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107bf9190610934565b6040516020016107d092919061094b565b60405160208183030381529060405261049b90610969565b5f80825b8060011660010361080c5781610801816108f3565b92505060011c6107ec565b5092915050565b5f5f5f8385036080811215610826575f5ffd5b6040811215610833575f5ffd5b506040516040810181811067ffffffffffffffff8211171561086357634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f6020828403121561089b575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561049b5761049b6108a2565b8181038181111561049b5761049b6108a2565b808202811582820484141761049b5761049b6108a2565b5f60018201610904576109046108a2565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61092d828461090b565b9392505050565b5f60208284031215610944575f5ffd5b5051919050565b5f610956828561090b565b60ff199390931683525050601f01919050565b80516020808301519190811015610989575f198160200360031b1b821691505b5091905056fea26469706673582212200b74a09c624bef4d3dcfcbeab253cdf2cfebf78a57220e8d08ccfd5988cbff7264736f6c634300081b0033";
4
+ export const InboxBytecode = "0x610100604052610010600180610375565b5f555f600355348015610021575f5ffd5b50604051610f77380380610f7783398101604081905261004091610388565b6001600160a01b03821660805260a081905261005d8160026104a2565b60c05261006b600182610099565b60a05160c0515f8054815260026020526040902061008e92909160019190610142565b60e0525061055c9050565b5f8080526020839052604081205560015b81811161013d5761011d835f6100c16001856104b4565b81526020019081526020015f2054845f015f6001856100e091906104b4565b81526020019081526020015f2054604051602001610108929190918252602082015260400190565b60408051601f1981840301815291905261029b565b5f8281526020859052604090205580610135816104c7565b9150506100aa565b505050565b83545f908082036101625750505f82815260208490526040902054610293565b8281036101805750505f828152600185016020526040902054610293565b5f61018c6001836104b4565b90505f61019882610336565b5f81815260018a01602052604090205490915082821c825b8881101561028a57600180831614801561024f575f82815260018d01602052604090205484900361021c5760405162461bcd60e51b81526020600482015260126024820152714d697374616b65732077657265206d61646560701b604482015260640160405180910390fd5b5f82815260018d0160209081526040918290205482519182015290810185905261024890606001610108565b935061027d565b5f82815260208c815260409182902054915161027a9261010892889201918252602082015260400190565b93505b50600191821c91016101b0565b50909450505050505b949350505050565b6040805160018082528183019092525f91602082018180368337019050506002836040516102c991906104f6565b602060405180830381855afa1580156102e4573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103079190610501565b604051602001610318929190610518565b60405160208183030381529060405261033090610536565b92915050565b5f80825b8060011660010361035a578161034f816104c7565b92505060011c61033a565b5092915050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561033057610330610361565b5f5f60408385031215610399575f5ffd5b82516001600160a01b03811681146103af575f5ffd5b6020939093015192949293505050565b6001815b60018411156103fa578085048111156103de576103de610361565b60018416156103ec57908102905b60019390931c9280026103c3565b935093915050565b5f8261041057506001610330565b8161041c57505f610330565b8160018114610432576002811461043c57610458565b6001915050610330565b60ff84111561044d5761044d610361565b50506001821b610330565b5060208310610133831016604e8410600b841016171561047b575081810a610330565b6104875f1984846103bf565b805f190482111561049a5761049a610361565b029392505050565b5f6104ad8383610402565b9392505050565b8181038181111561033057610330610361565b5f600182016104d8576104d8610361565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6104ad82846104df565b5f60208284031215610511575f5ffd5b5051919050565b5f61052382856104df565b60ff199390931683525050601f01919050565b80516020808301519190811015610556575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516109c56105b25f395f6103ed01525f8181610240015281816102920152818161044b01526104d701525f818161042a01526104b601525f8181610101015261038c01526109c55ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80637a508022116100585780637a508022146100d557806387351813146100f45780639611c5c2146100fc5780639b24b3b01461013b575f5ffd5b8063086dc8d41461007e5780631f6d510b1461009a578063483f31ab146100c2575b5f5ffd5b61008760035481565b6040519081526020015b60405180910390f35b6100ad6100a8366004610813565b61014e565b60408051928352602083019190915201610091565b6100876100d036600461088b565b610380565b6100876100e336600461088b565b60026020525f908152604090205481565b6100875f5481565b6101237f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610091565b61008761014936600461088b565b6104a1565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156101a1576040516353bb503760e11b815260040161019891815260200190565b60405180910390fd5b50837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156101e7576040516311d1480560e21b815260040161019891815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000081111561022d57604051633b379f8b60e21b815260040161019891815260200190565b505f8054815260026020526040902080547f00000000000000000000000000000000000000000000000000000000000000000361028b5760015f5f82825461027591906108b6565b90915550505f8054815260026020526040902090505b5f815f01547f000000000000000000000000000000000000000000000000000000000000000060015f546102bf91906108c9565b6102c991906108dc565b6102d391906108b6565b6040805160e0810182523360a082019081524660c08301528152602081018a905290810188905260608101879052608081018290529091505f610315826104fb565b9050610321848261057d565b5060038054905f610331836108f3565b9190505550805f547f1f0faf82fa8c7b10dd392417c6976d0ed764deb80fb07211d5928c2944ddb80d8560405161036a91815260200190565b60405180910390a3989197509095505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103ca5760405163e5336a6b60e01b815260040160405180910390fd5b5f5482106103eb5760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001831115610472575f83815260026020526040902061046f9060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006105fe565b90505b5f5461047f8460016108b6565b0361049b5760015f5f82825461049591906108b6565b90915550505b92915050565b5f81815260026020526040812061049b9060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006105fe565b5f61049b825f0151836020015184604001518560600151866080015160405160200161056995949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610753565b81545f908161058b826107e8565b9050835f5b828110156105ce575f818152600188016020908152604091829020548251918201529081018390526105c490606001610569565b9150600101610590565b505f828152600187016020526040812082905586549087906105ef836108f3565b90915550929695505050505050565b83545f9080820361061e5750505f8281526020849052604090205461074b565b82810361063c5750505f82815260018501602052604090205461074b565b5f6106486001836108c9565b90505f610654826107e8565b5f81815260018a01602052604090205490915082821c825b88811015610742576001808316148015610707575f82815260018d0160205260409020548490036106d45760405162461bcd60e51b81526020600482015260126024820152714d697374616b65732077657265206d61646560701b6044820152606401610198565b5f82815260018d0160209081526040918290205482519182015290810185905261070090606001610569565b9350610735565b5f82815260208c81526040918290205491516107329261056992889201918252602082015260400190565b93505b50600191821c910161066c565b50909450505050505b949350505050565b6040805160018082528183019092525f91602082018180368337019050506002836040516107819190610922565b602060405180830381855afa15801561079c573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107bf9190610934565b6040516020016107d092919061094b565b60405160208183030381529060405261049b90610969565b5f80825b8060011660010361080c5781610801816108f3565b92505060011c6107ec565b5092915050565b5f5f5f8385036080811215610826575f5ffd5b6040811215610833575f5ffd5b506040516040810181811067ffffffffffffffff8211171561086357634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f6020828403121561089b575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561049b5761049b6108a2565b8181038181111561049b5761049b6108a2565b808202811582820484141761049b5761049b6108a2565b5f60018201610904576109046108a2565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61092d828461090b565b9392505050565b5f60208284031215610944575f5ffd5b5051919050565b5f610956828561090b565b60ff199390931683525050601f01919050565b80516020808301519190811015610989575f198160200360031b1b821691505b5091905056fea26469706673582212207858868812e9a96cba67c780169d078dfd2d2e9378eaf98c749c141cbad8d12364736f6c634300081b0033";
5
5
  /**
6
6
  * Inbox link references.
7
7
  */
@@ -1269,6 +1269,22 @@ export const MockVerifierAbi = [
1269
1269
  }
1270
1270
  ]
1271
1271
  },
1272
+ {
1273
+ "type": "error",
1274
+ "name": "Staking__InvalidDeposit",
1275
+ "inputs": [
1276
+ {
1277
+ "name": "attester",
1278
+ "type": "address",
1279
+ "internalType": "address"
1280
+ },
1281
+ {
1282
+ "name": "proposer",
1283
+ "type": "address",
1284
+ "internalType": "address"
1285
+ }
1286
+ ]
1287
+ },
1272
1288
  {
1273
1289
  "type": "error",
1274
1290
  "name": "Staking__NoOneToSlash",
@@ -1306,6 +1306,22 @@ export const NewGovernanceProposerPayloadAbi = [
1306
1306
  }
1307
1307
  ]
1308
1308
  },
1309
+ {
1310
+ "type": "error",
1311
+ "name": "Staking__InvalidDeposit",
1312
+ "inputs": [
1313
+ {
1314
+ "name": "attester",
1315
+ "type": "address",
1316
+ "internalType": "address"
1317
+ },
1318
+ {
1319
+ "name": "proposer",
1320
+ "type": "address",
1321
+ "internalType": "address"
1322
+ }
1323
+ ]
1324
+ },
1309
1325
  {
1310
1326
  "type": "error",
1311
1327
  "name": "Staking__NoOneToSlash",
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * NewGovernanceProposerPayload bytecode.
3
3
  */
4
- export const NewGovernanceProposerPayloadBytecode = "0x60c060405234801561000f575f5ffd5b5060405161103038038061103083398101604081905261002e916100a7565b6001600160a01b038116608052604051819061029b906103e8906100519061009a565b6001600160a01b03909316835260208301919091526040820152606001604051809103905ff080158015610087573d5f5f3e3d5ffd5b506001600160a01b031660a052506100d4565b610bef8061044183390190565b5f602082840312156100b7575f5ffd5b81516001600160a01b03811681146100cd575f5ffd5b9392505050565b60805160a0516103406101015f395f818160a101526101a101525f81816048015261010901526103405ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806306433b1b14610043578063504d080b14610087578063e2d150981461009c575b5f5ffd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61008f6100c3565b60405161007e9190610226565b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040805160018082528183019092526060915f9190816020015b604080518082019091525f8152606060208201528152602001906001900390816100dd5790505090505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610163573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061018791906102c9565b6040805180820182526001600160a01b03838116825282517f0000000000000000000000000000000000000000000000000000000000000000909116602480830191909152835180830390910181526044909101909252602082810180516001600160e01b0316635c83e07560e11b17905281019190915283519192509083905f90610215576102156102f6565b602090810291909101015250919050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156102bd57868503603f19018452815180516001600160a01b0316865260209081015160408288018190528151908801819052909181908301606089015e5f606082890101526060601f19601f8301168801019650505060208201915060208401935060018101905061024c565b50929695505050505050565b5f602082840312156102d9575f5ffd5b81516001600160a01b03811681146102ef575f5ffd5b9392505050565b634e487b7160e01b5f52603260045260245ffdfea2646970667358221220c22587601ee758ddd8965b7d290a51717c35849761f363e65559b68289d2cd8d64736f6c634300081b003360e060405234801561000f575f5ffd5b50604051610bef380380610bef83398101604081905261002e916100c7565b608082905260a08190528181610045600282610106565b60805160a0519091821161007a576040516365424f5b60e11b8152600481019290925260248201526044015b60405180910390fd5b505060a05160805190808211156100ad5760405163103804ad60e11b815260048101929092526024820152604401610071565b5050506001600160a01b0390931660c05250610125915050565b5f5f5f606084860312156100d9575f5ffd5b83516001600160a01b03811681146100ef575f5ffd5b602085015160409095015190969495509392505050565b5f8261012057634e487b7160e01b5f52601260045260245ffd5b500490565b60805160a05160c051610a8561016a5f395f818160af01528181610501015261083901525f8181610168015261080b01525f818161021a015261040a0152610a855ff3fe608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c80636dd7d8ea1161006e5780636dd7d8ea14610192578063a97f36a8146101a5578063b59c46fb146101ad578063c9e525df14610215578063d11eb2b21461023c578063de7b5d141461024f575f5ffd5b806306433b1b146100aa5780630d61b519146100ee57806362c69d7214610111578063693f917e146101635780636c1032af1461018a575b5f5ffd5b6100d17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101016100fc366004610907565b610257565b60405190151581526020016100e5565b61015561011f366004610935565b6001600160a01b038084165f90815260208181526040808320868452825280832093851683526002909301905220549392505050565b6040519081526020016100e5565b6101557f000000000000000000000000000000000000000000000000000000000000000081565b6100d16104fe565b6101016101a0366004610974565b610584565b610155600581565b6101f06101bb366004610996565b5f602081815292815260408082209093529081522080546001909101546001600160a01b03811690600160a01b900460ff1683565b604080519384526001600160a01b0390921660208401521515908201526060016100e5565b6101557f000000000000000000000000000000000000000000000000000000000000000081565b61015561024a366004610907565b610805565b6100d1610836565b5f5f610261610836565b9050806001600160a01b0381163b61029d57604051635fa9262560e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505f8190505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102df573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030391906109c0565b90505f61030f82610805565b90508086106103315760405163117e3a7760e31b815260040160405180910390fd5b8061033d6005886109d7565b1015868290916103695760405163c3d7aa4f60e01b815260048101929092526024820152604401610294565b50506001600160a01b0384165f90815260208181526040808320898452909152902060018101548790600160a01b900460ff16156103bd5760405163058240ed60e31b815260040161029491815260200190565b5060018101546001600160a01b03166103e957604051630b560ca160e11b815260040160405180910390fd5b60018101546001600160a01b03165f908152600282016020526040902054807f000000000000000000000000000000000000000000000000000000000000000080821015610453576040516357d5327960e11b815260048101929092526024820152604401610294565b505060018201805460ff60a01b198116600160a01b1790915560405189916001600160a01b0316907f7bfd03e44f31b1867e10c41d419cd8073b4719d321ccc5c3a3c79ac2babab3c3905f90a360018201546104b7906001600160a01b0316610893565b60018301546001600160a01b0316906104ef576040516323653eff60e21b81526001600160a01b039091166004820152602401610294565b50600198975050505050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061057f91906109f6565b905090565b5f5f61058e610836565b9050806001600160a01b0381163b6105c557604051635fa9262560e01b81526001600160a01b039091166004820152602401610294565b505f8190505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610607573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061062b91906109c0565b90505f61063782610805565b6001600160a01b0385165f9081526020818152604080832084845290915290208054919250908311839061068157604051631d30a86560e11b815260040161029491815260200190565b505f846001600160a01b0316633b10244b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e391906109f6565b905033816001600160a01b038116821461072357604051633a8db46b60e21b81526001600160a01b03928316600482015291166024820152604401610294565b50506001600160a01b0388165f908152600283016020526040812080546001929061074f9084906109d7565b909155505083825560018201546001600160a01b0389811691161480159061079d575060018201546001600160a01b039081165f90815260028401602052604080822054928b168252902054115b156107c0576001820180546001600160a01b0319166001600160a01b038a161790555b604051339084906001600160a01b038b16907f75b35ca960bbb2cc550471a4098b1a96255dd657fe926e331754cd7c2e4489b3905f90a4506001979650505050505050565b5f6108307f000000000000000000000000000000000000000000000000000000000000000083610a11565b92915050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a4d2342a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055b573d5f5f3e3d5ffd5b5f61089c6104fe565b604051630126795160e01b81526001600160a01b03848116600483015291909116906301267951906024016020604051808303815f875af11580156108e3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108309190610a30565b5f60208284031215610917575f5ffd5b5035919050565b6001600160a01b0381168114610932575f5ffd5b50565b5f5f5f60608486031215610947575f5ffd5b83356109528161091e565b92506020840135915060408401356109698161091e565b809150509250925092565b5f60208284031215610984575f5ffd5b813561098f8161091e565b9392505050565b5f5f604083850312156109a7575f5ffd5b82356109b28161091e565b946020939093013593505050565b5f602082840312156109d0575f5ffd5b5051919050565b8082018082111561083057634e487b7160e01b5f52601160045260245ffd5b5f60208284031215610a06575f5ffd5b815161098f8161091e565b5f82610a2b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215610a40575f5ffd5b8151801515811461098f575f5ffdfea264697066735822122061130a688c2ca3d2d1a2be17a6bc799941aa60b7efe84466c2ca20721ed5995664736f6c634300081b0033";
4
+ export const NewGovernanceProposerPayloadBytecode = "0x60c060405234801561000f575f5ffd5b5060405161103038038061103083398101604081905261002e916100a7565b6001600160a01b038116608052604051819061029b906103e8906100519061009a565b6001600160a01b03909316835260208301919091526040820152606001604051809103905ff080158015610087573d5f5f3e3d5ffd5b506001600160a01b031660a052506100d4565b610bef8061044183390190565b5f602082840312156100b7575f5ffd5b81516001600160a01b03811681146100cd575f5ffd5b9392505050565b60805160a0516103406101015f395f818160a101526101a101525f81816048015261010901526103405ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806306433b1b14610043578063504d080b14610087578063e2d150981461009c575b5f5ffd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61008f6100c3565b60405161007e9190610226565b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040805160018082528183019092526060915f9190816020015b604080518082019091525f8152606060208201528152602001906001900390816100dd5790505090505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610163573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061018791906102c9565b6040805180820182526001600160a01b03838116825282517f0000000000000000000000000000000000000000000000000000000000000000909116602480830191909152835180830390910181526044909101909252602082810180516001600160e01b0316635c83e07560e11b17905281019190915283519192509083905f90610215576102156102f6565b602090810291909101015250919050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156102bd57868503603f19018452815180516001600160a01b0316865260209081015160408288018190528151908801819052909181908301606089015e5f606082890101526060601f19601f8301168801019650505060208201915060208401935060018101905061024c565b50929695505050505050565b5f602082840312156102d9575f5ffd5b81516001600160a01b03811681146102ef575f5ffd5b9392505050565b634e487b7160e01b5f52603260045260245ffdfea26469706673582212205ca8b2f80dea580ba8635a76a20265fc147bcc674192bf6ca62b07fce70b3ed664736f6c634300081b003360e060405234801561000f575f5ffd5b50604051610bef380380610bef83398101604081905261002e916100c7565b608082905260a08190528181610045600282610106565b60805160a0519091821161007a576040516365424f5b60e11b8152600481019290925260248201526044015b60405180910390fd5b505060a05160805190808211156100ad5760405163103804ad60e11b815260048101929092526024820152604401610071565b5050506001600160a01b0390931660c05250610125915050565b5f5f5f606084860312156100d9575f5ffd5b83516001600160a01b03811681146100ef575f5ffd5b602085015160409095015190969495509392505050565b5f8261012057634e487b7160e01b5f52601260045260245ffd5b500490565b60805160a05160c051610a8561016a5f395f818160af01528181610501015261083901525f8181610168015261080b01525f818161021a015261040a0152610a855ff3fe608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c80636dd7d8ea1161006e5780636dd7d8ea14610192578063a97f36a8146101a5578063b59c46fb146101ad578063c9e525df14610215578063d11eb2b21461023c578063de7b5d141461024f575f5ffd5b806306433b1b146100aa5780630d61b519146100ee57806362c69d7214610111578063693f917e146101635780636c1032af1461018a575b5f5ffd5b6100d17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101016100fc366004610907565b610257565b60405190151581526020016100e5565b61015561011f366004610935565b6001600160a01b038084165f90815260208181526040808320868452825280832093851683526002909301905220549392505050565b6040519081526020016100e5565b6101557f000000000000000000000000000000000000000000000000000000000000000081565b6100d16104fe565b6101016101a0366004610974565b610584565b610155600581565b6101f06101bb366004610996565b5f602081815292815260408082209093529081522080546001909101546001600160a01b03811690600160a01b900460ff1683565b604080519384526001600160a01b0390921660208401521515908201526060016100e5565b6101557f000000000000000000000000000000000000000000000000000000000000000081565b61015561024a366004610907565b610805565b6100d1610836565b5f5f610261610836565b9050806001600160a01b0381163b61029d57604051635fa9262560e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505f8190505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102df573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030391906109c0565b90505f61030f82610805565b90508086106103315760405163117e3a7760e31b815260040160405180910390fd5b8061033d6005886109d7565b1015868290916103695760405163c3d7aa4f60e01b815260048101929092526024820152604401610294565b50506001600160a01b0384165f90815260208181526040808320898452909152902060018101548790600160a01b900460ff16156103bd5760405163058240ed60e31b815260040161029491815260200190565b5060018101546001600160a01b03166103e957604051630b560ca160e11b815260040160405180910390fd5b60018101546001600160a01b03165f908152600282016020526040902054807f000000000000000000000000000000000000000000000000000000000000000080821015610453576040516357d5327960e11b815260048101929092526024820152604401610294565b505060018201805460ff60a01b198116600160a01b1790915560405189916001600160a01b0316907f7bfd03e44f31b1867e10c41d419cd8073b4719d321ccc5c3a3c79ac2babab3c3905f90a360018201546104b7906001600160a01b0316610893565b60018301546001600160a01b0316906104ef576040516323653eff60e21b81526001600160a01b039091166004820152602401610294565b50600198975050505050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061057f91906109f6565b905090565b5f5f61058e610836565b9050806001600160a01b0381163b6105c557604051635fa9262560e01b81526001600160a01b039091166004820152602401610294565b505f8190505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610607573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061062b91906109c0565b90505f61063782610805565b6001600160a01b0385165f9081526020818152604080832084845290915290208054919250908311839061068157604051631d30a86560e11b815260040161029491815260200190565b505f846001600160a01b0316633b10244b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e391906109f6565b905033816001600160a01b038116821461072357604051633a8db46b60e21b81526001600160a01b03928316600482015291166024820152604401610294565b50506001600160a01b0388165f908152600283016020526040812080546001929061074f9084906109d7565b909155505083825560018201546001600160a01b0389811691161480159061079d575060018201546001600160a01b039081165f90815260028401602052604080822054928b168252902054115b156107c0576001820180546001600160a01b0319166001600160a01b038a161790555b604051339084906001600160a01b038b16907f75b35ca960bbb2cc550471a4098b1a96255dd657fe926e331754cd7c2e4489b3905f90a4506001979650505050505050565b5f6108307f000000000000000000000000000000000000000000000000000000000000000083610a11565b92915050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a4d2342a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055b573d5f5f3e3d5ffd5b5f61089c6104fe565b604051630126795160e01b81526001600160a01b03848116600483015291909116906301267951906024016020604051808303815f875af11580156108e3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108309190610a30565b5f60208284031215610917575f5ffd5b5035919050565b6001600160a01b0381168114610932575f5ffd5b50565b5f5f5f60608486031215610947575f5ffd5b83356109528161091e565b92506020840135915060408401356109698161091e565b809150509250925092565b5f60208284031215610984575f5ffd5b813561098f8161091e565b9392505050565b5f5f604083850312156109a7575f5ffd5b82356109b28161091e565b946020939093013593505050565b5f602082840312156109d0575f5ffd5b5051919050565b8082018082111561083057634e487b7160e01b5f52601160045260245ffd5b5f60208284031215610a06575f5ffd5b815161098f8161091e565b5f82610a2b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215610a40575f5ffd5b8151801515811461098f575f5ffdfea2646970667358221220e3bea304973d3350e615da873c7d4ad0718e24ad81e6aca12a5d4642ac8fd80864736f6c634300081b0033";
5
5
  /**
6
6
  * NewGovernanceProposerPayload link references.
7
7
  */
@@ -1349,6 +1349,22 @@ export const OutboxAbi = [
1349
1349
  }
1350
1350
  ]
1351
1351
  },
1352
+ {
1353
+ "type": "error",
1354
+ "name": "Staking__InvalidDeposit",
1355
+ "inputs": [
1356
+ {
1357
+ "name": "attester",
1358
+ "type": "address",
1359
+ "internalType": "address"
1360
+ },
1361
+ {
1362
+ "name": "proposer",
1363
+ "type": "address",
1364
+ "internalType": "address"
1365
+ }
1366
+ ]
1367
+ },
1352
1368
  {
1353
1369
  "type": "error",
1354
1370
  "name": "Staking__NoOneToSlash",
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Outbox bytecode.
3
3
  */
4
- export const OutboxBytecode = "0x60a060405234801561000f575f5ffd5b50604051610a36380380610a3683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f5ffd5b81516001600160a01b0381168114610065575f5ffd5b9392505050565b60805161099e6100985f395f818160f201528181610130015281816101e50152610276015261099e5ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80632249f653146100595780633d96c2c9146100865780637fb349671461009b57806384f15db2146100ae5780639611c5c2146100ed575b5f5ffd5b61006c6100673660046106b1565b61012c565b604080519283526020830191909152015b60405180910390f35b6100996100943660046106c8565b6101da565b005b6100996100a93660046106f1565b610274565b6100dd6100bc36600461078a565b5f918252602082815260408084209284526002909201905290205460ff1690565b604051901515815260200161007d565b6101147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007d565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b67d057b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561018a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ae91906107aa565b8311156101bf57505f928392509050565b50505f90815260208190526040902080546001909101549091565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102235760405163164a486160e11b815260040160405180910390fd5b5f83815260208181526040918290208481556001018390559051828152839185917fd3fab397eb3e47fb43090430543ca9623e09aeddf27bfde1bf7bdca871ee9ebc910160405180910390a3505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b67d057b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102d0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102f491906107aa565b841115849061032257604051630e194a6d60e01b815260040161031991815260200190565b60405180910390fd5b5061033360608601604087016107dc565b6001600160a01b0316331461034e60608701604088016107dc565b339091610381576040516357aad58160e01b81526001600160a01b03928316600482015291166024820152604401610319565b5050466060860135146103a7576040516315dfb1f160e21b815260040160405180910390fd5b5f848152602081905260409020805485816103d857604051635228479160e11b815260040161031991815260200190565b505f8581526002830160205260409020548690869060ff161561041757604051633f5c70b560e21b815260048101929092526024820152604401610319565b5050600182015480848082111561044a57604051631206f36760e21b815260048101929092526024820152604401610319565b505f9050610465610460368b90038b018b610860565b6104d9565b90506104748686838a8761053b565b5f87815260028501602052604090819020805460ff1916600117905551819084908a907f34bc3301c4660a5642d2246e175e7fea498c94258d39dcaa555a52464dbb083d906104c6908c815260200190565b60405180910390a4505050505050505050565b80516020808301516040808501518151855181860152948401519185019190915281516001600160a01b03166060850152910151608083015260a08201525f906105359060c0015b60405160208183030381529060405261061c565b92915050565b82825f5b868110156105d4576001808316148061058e57610589848a8a85818110610568576105686108ee565b90506020020135604051602001610521929190918252602082015260400190565b6105c5565b6105c58989848181106105a3576105a36108ee565b9050602002013585604051602001610521929190918252602082015260400190565b935050600191821c910161053f565b508282868682841461060f57604051635f216bf160e01b81526004810194909452602484019290925260448301526064820152608401610319565b5050505050505050505050565b6040805160018082528183019092525f916020820181803683370190505060028360405161064a9190610919565b602060405180830381855afa158015610665573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061068891906107aa565b604051602001610699929190610924565b60405160208183030381529060405261053590610942565b5f602082840312156106c1575f5ffd5b5035919050565b5f5f5f606084860312156106da575f5ffd5b505081359360208301359350604090920135919050565b5f5f5f5f5f858703610100811215610707575f5ffd5b60a0811215610714575f5ffd5b5085945060a0850135935060c0850135925060e085013567ffffffffffffffff81111561073f575f5ffd5b8601601f8101881361074f575f5ffd5b803567ffffffffffffffff811115610765575f5ffd5b8860208260051b8401011115610779575f5ffd5b959894975092955050506020019190565b5f5f6040838503121561079b575f5ffd5b50508035926020909101359150565b5f602082840312156107ba575f5ffd5b5051919050565b80356001600160a01b03811681146107d7575f5ffd5b919050565b5f602082840312156107ec575f5ffd5b6107f5826107c1565b9392505050565b6040516060810167ffffffffffffffff8111828210171561082b57634e487b7160e01b5f52604160045260245ffd5b60405290565b6040805190810167ffffffffffffffff8111828210171561082b57634e487b7160e01b5f52604160045260245ffd5b5f81830360a081128015610872575f5ffd5b5061087b6107fc565b6040821215610888575f5ffd5b610890610831565b843581526020808601359082015281526040603f19830112156108b1575f5ffd5b6108b9610831565b91506108c7604085016107c1565b82526060840135602080840191909152810191909152608090920135604083015250919050565b634e487b7160e01b5f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f6107f58284610902565b5f61092f8285610902565b60ff199390931683525050601f01919050565b80516020808301519190811015610962575f198160200360031b1b821691505b5091905056fea264697066735822122090809c26d1f2bd1f0cd78ddbebcd175f4c3235554fb2b2cb4547bf80bfb8c03264736f6c634300081b0033";
4
+ export const OutboxBytecode = "0x60a060405234801561000f575f5ffd5b50604051610a36380380610a3683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f5ffd5b81516001600160a01b0381168114610065575f5ffd5b9392505050565b60805161099e6100985f395f818160f201528181610130015281816101e50152610276015261099e5ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80632249f653146100595780633d96c2c9146100865780637fb349671461009b57806384f15db2146100ae5780639611c5c2146100ed575b5f5ffd5b61006c6100673660046106b1565b61012c565b604080519283526020830191909152015b60405180910390f35b6100996100943660046106c8565b6101da565b005b6100996100a93660046106f1565b610274565b6100dd6100bc36600461078a565b5f918252602082815260408084209284526002909201905290205460ff1690565b604051901515815260200161007d565b6101147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007d565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b67d057b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561018a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ae91906107aa565b8311156101bf57505f928392509050565b50505f90815260208190526040902080546001909101549091565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102235760405163164a486160e11b815260040160405180910390fd5b5f83815260208181526040918290208481556001018390559051828152839185917fd3fab397eb3e47fb43090430543ca9623e09aeddf27bfde1bf7bdca871ee9ebc910160405180910390a3505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b67d057b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102d0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102f491906107aa565b841115849061032257604051630e194a6d60e01b815260040161031991815260200190565b60405180910390fd5b5061033360608601604087016107dc565b6001600160a01b0316331461034e60608701604088016107dc565b339091610381576040516357aad58160e01b81526001600160a01b03928316600482015291166024820152604401610319565b5050466060860135146103a7576040516315dfb1f160e21b815260040160405180910390fd5b5f848152602081905260409020805485816103d857604051635228479160e11b815260040161031991815260200190565b505f8581526002830160205260409020548690869060ff161561041757604051633f5c70b560e21b815260048101929092526024820152604401610319565b5050600182015480848082111561044a57604051631206f36760e21b815260048101929092526024820152604401610319565b505f9050610465610460368b90038b018b610860565b6104d9565b90506104748686838a8761053b565b5f87815260028501602052604090819020805460ff1916600117905551819084908a907f34bc3301c4660a5642d2246e175e7fea498c94258d39dcaa555a52464dbb083d906104c6908c815260200190565b60405180910390a4505050505050505050565b80516020808301516040808501518151855181860152948401519185019190915281516001600160a01b03166060850152910151608083015260a08201525f906105359060c0015b60405160208183030381529060405261061c565b92915050565b82825f5b868110156105d4576001808316148061058e57610589848a8a85818110610568576105686108ee565b90506020020135604051602001610521929190918252602082015260400190565b6105c5565b6105c58989848181106105a3576105a36108ee565b9050602002013585604051602001610521929190918252602082015260400190565b935050600191821c910161053f565b508282868682841461060f57604051635f216bf160e01b81526004810194909452602484019290925260448301526064820152608401610319565b5050505050505050505050565b6040805160018082528183019092525f916020820181803683370190505060028360405161064a9190610919565b602060405180830381855afa158015610665573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061068891906107aa565b604051602001610699929190610924565b60405160208183030381529060405261053590610942565b5f602082840312156106c1575f5ffd5b5035919050565b5f5f5f606084860312156106da575f5ffd5b505081359360208301359350604090920135919050565b5f5f5f5f5f858703610100811215610707575f5ffd5b60a0811215610714575f5ffd5b5085945060a0850135935060c0850135925060e085013567ffffffffffffffff81111561073f575f5ffd5b8601601f8101881361074f575f5ffd5b803567ffffffffffffffff811115610765575f5ffd5b8860208260051b8401011115610779575f5ffd5b959894975092955050506020019190565b5f5f6040838503121561079b575f5ffd5b50508035926020909101359150565b5f602082840312156107ba575f5ffd5b5051919050565b80356001600160a01b03811681146107d7575f5ffd5b919050565b5f602082840312156107ec575f5ffd5b6107f5826107c1565b9392505050565b6040516060810167ffffffffffffffff8111828210171561082b57634e487b7160e01b5f52604160045260245ffd5b60405290565b6040805190810167ffffffffffffffff8111828210171561082b57634e487b7160e01b5f52604160045260245ffd5b5f81830360a081128015610872575f5ffd5b5061087b6107fc565b6040821215610888575f5ffd5b610890610831565b843581526020808601359082015281526040603f19830112156108b1575f5ffd5b6108b9610831565b91506108c7604085016107c1565b82526060840135602080840191909152810191909152608090920135604083015250919050565b634e487b7160e01b5f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f6107f58284610902565b5f61092f8285610902565b60ff199390931683525050601f01919050565b80516020808301519190811015610962575f198160200360031b1b821691505b5091905056fea26469706673582212203ae9d8d44e94da52ed76debf575cc51a6bf0e13d40f3ede1d252979f027fbf0764736f6c634300081b0033";
5
5
  /**
6
6
  * Outbox link references.
7
7
  */
@@ -1376,6 +1376,22 @@ export const ProofCommitmentEscrowAbi = [
1376
1376
  }
1377
1377
  ]
1378
1378
  },
1379
+ {
1380
+ "type": "error",
1381
+ "name": "Staking__InvalidDeposit",
1382
+ "inputs": [
1383
+ {
1384
+ "name": "attester",
1385
+ "type": "address",
1386
+ "internalType": "address"
1387
+ },
1388
+ {
1389
+ "name": "proposer",
1390
+ "type": "address",
1391
+ "internalType": "address"
1392
+ }
1393
+ ]
1394
+ },
1379
1395
  {
1380
1396
  "type": "error",
1381
1397
  "name": "Staking__NoOneToSlash",
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * ProofCommitmentEscrow bytecode.
3
3
  */
4
- export const ProofCommitmentEscrowBytecode = "0x60e060405234801561000f575f5ffd5b50604051610a14380380610a1483398101604081905261002e9161006f565b6001600160a01b0380841660a052841660c05261004b81836100b4565b608052506100dd92505050565b6001600160a01b038116811461006c575f5ffd5b50565b5f5f5f5f60808587031215610082575f5ffd5b845161008d81610058565b602086015190945061009e81610058565b6040860151606090960151949790965092505050565b80820281158282048414176100d757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c0516108dd6101375f395f818161016a015281816101fb0152818161046b015261065e01525f81816101a9015281816102e001526103ab01525f818160e001528181610248015261053e01526108dd5ff3fe608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c80639611c5c21161006e5780639611c5c2146101a4578063b6b55f25146101cb578063c60d588d146101de578063f8fd9795146101f1578063fc0c546a146101f9578063fc7e286d1461021f575f5ffd5b806308b4af71146100b55780630d5e5fff146100db5780631c87b6ac146101025780632c865e301461011757806352df49ec1461012a57806382bfefc814610165575b5f5ffd5b6100c86100c33660046107e4565b61023e565b6040519081526020015b60405180910390f35b6100c87f000000000000000000000000000000000000000000000000000000000000000081565b61011561011036600461080e565b6102d5565b005b61011561012536600461080e565b6103a0565b610150610138366004610836565b600160208190525f9182526040909120805491015482565b604080519283526020830191909152016100d2565b61018c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100d2565b61018c7f000000000000000000000000000000000000000000000000000000000000000081565b6101156101d9366004610856565b61045e565b6101156101ec366004610856565b6104ef565b6101156105bf565b7f000000000000000000000000000000000000000000000000000000000000000061018c565b6100c861022d366004610836565b5f6020819052908152604090205481565b5f6102728361026d7f000000000000000000000000000000000000000000000000000000000000000042610881565b111590565b1561027e57505f6102cf565b6001600160a01b0382165f90815260208181526040808320546001928390529220015484106102cc576001600160a01b0383165f908152600160205260409020546102c99082610894565b90505b90505b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016811461033057604051632ac332c160e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001600160a01b0382165f9081526020819052604081208054839290610358908490610894565b90915550506040518181526001600160a01b038316907f8c2455f4b82f1285751e0f21f0cda7612aa81cf700ab606c3e2250253ff1e400906020015b60405180910390a25050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681146103f657604051632ac332c160e01b81526001600160a01b039091166004820152602401610327565b506001600160a01b0382165f908152602081905260408120805483929061041e908490610881565b90915550506040518181526001600160a01b038316907f6567969aa8387adeedb0b23fd1b47a09157bfb8fdb2a11e8b1c03b8b0e78b48f90602001610394565b6104936001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330846106ba565b335f90815260208190526040812080548392906104b1908490610881565b909155505060405181815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c906020015b60405180910390a250565b335f908152602081905260409020548180821015610529576040516309b8b78960e01b815260048101929092526024820152604401610327565b505060405180604001604052808281526020017f0000000000000000000000000000000000000000000000000000000000000000426105689190610881565b9052335f818152600160208181526040928390208551815594015193018390555190917f9d22371eec6fd87e081855b42b28f152e79799fa5a89bf4e30f8acf26d29ed95916104e491858252602082015260400190565b335f90815260016020818152604092839020835180850190945280548452909101549082018190524290808210156106135760405163b32ab8a760e01b815260048101929092526024820152604401610327565b5050335f908152600160208181526040808420848155909201839055835190839052908220805491929091610649908490610894565b90915550508051610686906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016903390610727565b805160405190815233907fa5b1c510c6d1fc318ad8a59c08331317c170ad7f42e0bff2ece9b32d0feb6859906020016104e4565b6040516001600160a01b0384811660248301528381166044830152606482018390526107219186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061075d565b50505050565b6040516001600160a01b0383811660248301526044820183905261075891859182169063a9059cbb906064016106ef565b505050565b5f5f60205f8451602086015f885af18061077c576040513d5f823e3d81fd5b50505f513d915081156107935780600114156107a0565b6001600160a01b0384163b155b1561072157604051635274afe760e01b81526001600160a01b0385166004820152602401610327565b80356001600160a01b03811681146107df575f5ffd5b919050565b5f5f604083850312156107f5575f5ffd5b82359150610805602084016107c9565b90509250929050565b5f5f6040838503121561081f575f5ffd5b610828836107c9565b946020939093013593505050565b5f60208284031215610846575f5ffd5b61084f826107c9565b9392505050565b5f60208284031215610866575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156102cf576102cf61086d565b818103818111156102cf576102cf61086d56fea26469706673582212209c08578d48e2ad0325f8c85f7600f0e9de6f6312630e1e7913cbe82c7e0b8c2164736f6c634300081b0033";
4
+ export const ProofCommitmentEscrowBytecode = "0x60e060405234801561000f575f5ffd5b50604051610a14380380610a1483398101604081905261002e9161006f565b6001600160a01b0380841660a052841660c05261004b81836100b4565b608052506100dd92505050565b6001600160a01b038116811461006c575f5ffd5b50565b5f5f5f5f60808587031215610082575f5ffd5b845161008d81610058565b602086015190945061009e81610058565b6040860151606090960151949790965092505050565b80820281158282048414176100d757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c0516108dd6101375f395f818161016a015281816101fb0152818161046b015261065e01525f81816101a9015281816102e001526103ab01525f818160e001528181610248015261053e01526108dd5ff3fe608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c80639611c5c21161006e5780639611c5c2146101a4578063b6b55f25146101cb578063c60d588d146101de578063f8fd9795146101f1578063fc0c546a146101f9578063fc7e286d1461021f575f5ffd5b806308b4af71146100b55780630d5e5fff146100db5780631c87b6ac146101025780632c865e301461011757806352df49ec1461012a57806382bfefc814610165575b5f5ffd5b6100c86100c33660046107e4565b61023e565b6040519081526020015b60405180910390f35b6100c87f000000000000000000000000000000000000000000000000000000000000000081565b61011561011036600461080e565b6102d5565b005b61011561012536600461080e565b6103a0565b610150610138366004610836565b600160208190525f9182526040909120805491015482565b604080519283526020830191909152016100d2565b61018c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100d2565b61018c7f000000000000000000000000000000000000000000000000000000000000000081565b6101156101d9366004610856565b61045e565b6101156101ec366004610856565b6104ef565b6101156105bf565b7f000000000000000000000000000000000000000000000000000000000000000061018c565b6100c861022d366004610836565b5f6020819052908152604090205481565b5f6102728361026d7f000000000000000000000000000000000000000000000000000000000000000042610881565b111590565b1561027e57505f6102cf565b6001600160a01b0382165f90815260208181526040808320546001928390529220015484106102cc576001600160a01b0383165f908152600160205260409020546102c99082610894565b90505b90505b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016811461033057604051632ac332c160e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001600160a01b0382165f9081526020819052604081208054839290610358908490610894565b90915550506040518181526001600160a01b038316907f8c2455f4b82f1285751e0f21f0cda7612aa81cf700ab606c3e2250253ff1e400906020015b60405180910390a25050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681146103f657604051632ac332c160e01b81526001600160a01b039091166004820152602401610327565b506001600160a01b0382165f908152602081905260408120805483929061041e908490610881565b90915550506040518181526001600160a01b038316907f6567969aa8387adeedb0b23fd1b47a09157bfb8fdb2a11e8b1c03b8b0e78b48f90602001610394565b6104936001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330846106ba565b335f90815260208190526040812080548392906104b1908490610881565b909155505060405181815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c906020015b60405180910390a250565b335f908152602081905260409020548180821015610529576040516309b8b78960e01b815260048101929092526024820152604401610327565b505060405180604001604052808281526020017f0000000000000000000000000000000000000000000000000000000000000000426105689190610881565b9052335f818152600160208181526040928390208551815594015193018390555190917f9d22371eec6fd87e081855b42b28f152e79799fa5a89bf4e30f8acf26d29ed95916104e491858252602082015260400190565b335f90815260016020818152604092839020835180850190945280548452909101549082018190524290808210156106135760405163b32ab8a760e01b815260048101929092526024820152604401610327565b5050335f908152600160208181526040808420848155909201839055835190839052908220805491929091610649908490610894565b90915550508051610686906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016903390610727565b805160405190815233907fa5b1c510c6d1fc318ad8a59c08331317c170ad7f42e0bff2ece9b32d0feb6859906020016104e4565b6040516001600160a01b0384811660248301528381166044830152606482018390526107219186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061075d565b50505050565b6040516001600160a01b0383811660248301526044820183905261075891859182169063a9059cbb906064016106ef565b505050565b5f5f60205f8451602086015f885af18061077c576040513d5f823e3d81fd5b50505f513d915081156107935780600114156107a0565b6001600160a01b0384163b155b1561072157604051635274afe760e01b81526001600160a01b0385166004820152602401610327565b80356001600160a01b03811681146107df575f5ffd5b919050565b5f5f604083850312156107f5575f5ffd5b82359150610805602084016107c9565b90509250929050565b5f5f6040838503121561081f575f5ffd5b610828836107c9565b946020939093013593505050565b5f60208284031215610846575f5ffd5b61084f826107c9565b9392505050565b5f60208284031215610866575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156102cf576102cf61086d565b818103818111156102cf576102cf61086d56fea2646970667358221220207c3cff79ea94bb53d7741d62548b883e234bc65430407918f1cb32963a8a7c64736f6c634300081b0033";
5
5
  /**
6
6
  * ProofCommitmentEscrow link references.
7
7
  */
@@ -1340,6 +1340,22 @@ export const RegistryAbi = [
1340
1340
  }
1341
1341
  ]
1342
1342
  },
1343
+ {
1344
+ "type": "error",
1345
+ "name": "Staking__InvalidDeposit",
1346
+ "inputs": [
1347
+ {
1348
+ "name": "attester",
1349
+ "type": "address",
1350
+ "internalType": "address"
1351
+ },
1352
+ {
1353
+ "name": "proposer",
1354
+ "type": "address",
1355
+ "internalType": "address"
1356
+ }
1357
+ ]
1358
+ },
1343
1359
  {
1344
1360
  "type": "error",
1345
1361
  "name": "Staking__NoOneToSlash",
@@ -1381,6 +1381,22 @@ export const RewardDistributorAbi = [
1381
1381
  }
1382
1382
  ]
1383
1383
  },
1384
+ {
1385
+ "type": "error",
1386
+ "name": "Staking__InvalidDeposit",
1387
+ "inputs": [
1388
+ {
1389
+ "name": "attester",
1390
+ "type": "address",
1391
+ "internalType": "address"
1392
+ },
1393
+ {
1394
+ "name": "proposer",
1395
+ "type": "address",
1396
+ "internalType": "address"
1397
+ }
1398
+ ]
1399
+ },
1384
1400
  {
1385
1401
  "type": "error",
1386
1402
  "name": "Staking__NoOneToSlash",