@aztec/l1-artifacts 0.81.0 → 0.82.1-alpha-testnet.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dest/CoinIssuerAbi.d.ts +12 -0
  2. package/dest/CoinIssuerAbi.d.ts.map +1 -1
  3. package/dest/CoinIssuerAbi.js +16 -0
  4. package/dest/CoinIssuerBytecode.d.ts +1 -1
  5. package/dest/CoinIssuerBytecode.js +1 -1
  6. package/dest/EmpireBaseAbi.d.ts +12 -0
  7. package/dest/EmpireBaseAbi.d.ts.map +1 -1
  8. package/dest/EmpireBaseAbi.js +16 -0
  9. package/dest/ErrorsAbi.d.ts +12 -0
  10. package/dest/ErrorsAbi.d.ts.map +1 -1
  11. package/dest/ErrorsAbi.js +16 -0
  12. package/dest/ExtRollupLibAbi.d.ts +12 -0
  13. package/dest/ExtRollupLibAbi.d.ts.map +1 -1
  14. package/dest/ExtRollupLibAbi.js +16 -0
  15. package/dest/ExtRollupLibBytecode.d.ts +1 -1
  16. package/dest/ExtRollupLibBytecode.d.ts.map +1 -1
  17. package/dest/ExtRollupLibBytecode.js +1 -1
  18. package/dest/FeeAssetHandlerAbi.d.ts +1232 -0
  19. package/dest/FeeAssetHandlerAbi.d.ts.map +1 -0
  20. package/dest/FeeAssetHandlerAbi.js +1629 -0
  21. package/dest/FeeAssetHandlerBytecode.d.ts +9 -0
  22. package/dest/FeeAssetHandlerBytecode.d.ts.map +1 -0
  23. package/dest/FeeAssetHandlerBytecode.js +6 -0
  24. package/dest/FeeJuicePortalAbi.d.ts +12 -0
  25. package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
  26. package/dest/FeeJuicePortalAbi.js +16 -0
  27. package/dest/FeeJuicePortalBytecode.d.ts +1 -1
  28. package/dest/FeeJuicePortalBytecode.js +1 -1
  29. package/dest/ForwarderAbi.d.ts +12 -0
  30. package/dest/ForwarderAbi.d.ts.map +1 -1
  31. package/dest/ForwarderAbi.js +16 -0
  32. package/dest/GovernanceAbi.d.ts +12 -0
  33. package/dest/GovernanceAbi.d.ts.map +1 -1
  34. package/dest/GovernanceAbi.js +16 -0
  35. package/dest/GovernanceProposerAbi.d.ts +12 -0
  36. package/dest/GovernanceProposerAbi.d.ts.map +1 -1
  37. package/dest/GovernanceProposerAbi.js +16 -0
  38. package/dest/GovernanceProposerBytecode.d.ts +1 -1
  39. package/dest/GovernanceProposerBytecode.d.ts.map +1 -1
  40. package/dest/GovernanceProposerBytecode.js +1 -1
  41. package/dest/HonkVerifierAbi.d.ts +12 -0
  42. package/dest/HonkVerifierAbi.d.ts.map +1 -1
  43. package/dest/HonkVerifierAbi.js +16 -0
  44. package/dest/HonkVerifierBytecode.d.ts +1 -1
  45. package/dest/HonkVerifierBytecode.d.ts.map +1 -1
  46. package/dest/HonkVerifierBytecode.js +1 -1
  47. package/dest/IERC20Abi.d.ts +12 -0
  48. package/dest/IERC20Abi.d.ts.map +1 -1
  49. package/dest/IERC20Abi.js +16 -0
  50. package/dest/IVerifierAbi.d.ts +12 -0
  51. package/dest/IVerifierAbi.d.ts.map +1 -1
  52. package/dest/IVerifierAbi.js +16 -0
  53. package/dest/InboxAbi.d.ts +12 -0
  54. package/dest/InboxAbi.d.ts.map +1 -1
  55. package/dest/InboxAbi.js +16 -0
  56. package/dest/InboxBytecode.d.ts +1 -1
  57. package/dest/InboxBytecode.js +1 -1
  58. package/dest/MockVerifierAbi.d.ts +12 -0
  59. package/dest/MockVerifierAbi.d.ts.map +1 -1
  60. package/dest/MockVerifierAbi.js +16 -0
  61. package/dest/NewGovernanceProposerPayloadAbi.d.ts +12 -0
  62. package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
  63. package/dest/NewGovernanceProposerPayloadAbi.js +16 -0
  64. package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
  65. package/dest/NewGovernanceProposerPayloadBytecode.d.ts.map +1 -1
  66. package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
  67. package/dest/OutboxAbi.d.ts +12 -0
  68. package/dest/OutboxAbi.d.ts.map +1 -1
  69. package/dest/OutboxAbi.js +16 -0
  70. package/dest/OutboxBytecode.d.ts +1 -1
  71. package/dest/OutboxBytecode.js +1 -1
  72. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts +12 -0
  73. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
  74. package/dest/RegisterNewRollupVersionPayloadAbi.js +16 -0
  75. package/dest/RegistryAbi.d.ts +12 -0
  76. package/dest/RegistryAbi.d.ts.map +1 -1
  77. package/dest/RegistryAbi.js +16 -0
  78. package/dest/RewardDistributorAbi.d.ts +12 -0
  79. package/dest/RewardDistributorAbi.d.ts.map +1 -1
  80. package/dest/RewardDistributorAbi.js +16 -0
  81. package/dest/RollupAbi.d.ts +38 -6
  82. package/dest/RollupAbi.d.ts.map +1 -1
  83. package/dest/RollupAbi.js +48 -6
  84. package/dest/RollupBytecode.d.ts +6 -6
  85. package/dest/RollupBytecode.d.ts.map +1 -1
  86. package/dest/RollupBytecode.js +6 -6
  87. package/dest/RollupStorage.d.ts +4 -4
  88. package/dest/RollupStorage.js +4 -4
  89. package/dest/SlashFactoryAbi.d.ts +12 -0
  90. package/dest/SlashFactoryAbi.d.ts.map +1 -1
  91. package/dest/SlashFactoryAbi.js +16 -0
  92. package/dest/SlashFactoryBytecode.d.ts +1 -1
  93. package/dest/SlashFactoryBytecode.js +1 -1
  94. package/dest/SlasherAbi.d.ts +12 -0
  95. package/dest/SlasherAbi.d.ts.map +1 -1
  96. package/dest/SlasherAbi.js +16 -0
  97. package/dest/SlasherBytecode.d.ts +1 -1
  98. package/dest/SlasherBytecode.d.ts.map +1 -1
  99. package/dest/SlasherBytecode.js +1 -1
  100. package/dest/SlashingProposerAbi.d.ts +12 -0
  101. package/dest/SlashingProposerAbi.d.ts.map +1 -1
  102. package/dest/SlashingProposerAbi.js +16 -0
  103. package/dest/SlashingProposerBytecode.d.ts +1 -1
  104. package/dest/SlashingProposerBytecode.d.ts.map +1 -1
  105. package/dest/SlashingProposerBytecode.js +1 -1
  106. package/dest/TestERC20Abi.d.ts +72 -18
  107. package/dest/TestERC20Abi.d.ts.map +1 -1
  108. package/dest/TestERC20Abi.js +95 -23
  109. package/dest/TestERC20Bytecode.d.ts +1 -1
  110. package/dest/TestERC20Bytecode.d.ts.map +1 -1
  111. package/dest/TestERC20Bytecode.js +1 -1
  112. package/dest/TokenPortalAbi.d.ts +12 -0
  113. package/dest/TokenPortalAbi.d.ts.map +1 -1
  114. package/dest/TokenPortalAbi.js +16 -0
  115. package/dest/TokenPortalBytecode.d.ts +1 -1
  116. package/dest/TokenPortalBytecode.js +1 -1
  117. package/dest/UniswapPortalAbi.d.ts +12 -0
  118. package/dest/UniswapPortalAbi.d.ts.map +1 -1
  119. package/dest/UniswapPortalAbi.js +16 -0
  120. package/dest/UniswapPortalBytecode.d.ts +1 -1
  121. package/dest/UniswapPortalBytecode.js +1 -1
  122. package/dest/ValidatorSelectionLibAbi.d.ts +12 -0
  123. package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
  124. package/dest/ValidatorSelectionLibAbi.js +16 -0
  125. package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
  126. package/dest/ValidatorSelectionLibBytecode.js +1 -1
  127. package/dest/checksum.d.ts +1 -1
  128. package/dest/checksum.js +1 -1
  129. package/dest/index.d.ts +40 -38
  130. package/dest/index.d.ts.map +1 -1
  131. package/dest/index.js +40 -38
  132. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
3
  */
4
- export declare const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a0526103dc60c05260805160a05160c05161500f6100625f395f61057101525f818161061d0152818161077001528181610be90152610d3701525f61051a015261500f5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614c31565b610054565b604051901515815260200160405180910390f35b5f6100626101b86020614d09565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a610198565b90505f61009787876101ad565b604083015190915084146100be5760405163fa06659360e01b815260040160405180910390fd5b5f6100d5828787865f015187604001516001610455565b90506101238686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508451606081015160809091015190925090506001610504565b815160a001525f6101348383610615565b905080610154576040516313f8744360e31b815260040160405180910390fd5b5f610160848685610716565b905080610180576040516352ec174560e11b815260040160405180910390fd5b81801561018a5750805b9a9950505050505050505050565b6101a0614735565b6101a8610eac565b905090565b6101b56148b2565b6101ca6101c560805f8587614d20565b611793565b81526101de6101c561010060808587614d20565b60208201526101f66101c56101806101008587614d20565b604082015261020e6101c56102006101808587614d20565b60a08201526102266101c56102806102008587614d20565b60c082015261023e6101c56103006102808587614d20565b60608201526102566101c56103806103008587614d20565b60e082015261026e6101c56104006103808587614d20565b60808201526104005f5b601c811015610305575f5b60088110156102fc576102af86848761029d826020614d47565b926102aa93929190614d20565b611868565b84610100015183601c81106102c6576102c6614d5a565b602002015182600881106102dc576102dc614d5a565b6020020181815250506020836102f29190614d47565b9250600101610283565b50600101610278565b505f5b60288110156103595761032285838661029d826020614d47565b836101200151826028811061033957610339614d5a565b60200201818152505060208261034f9190614d47565b9150600101610308565b505f5b6103686001601c614d6e565b8110156103be5761038d858386610380826080614d47565b926101c593929190614d20565b83610140015182601b81106103a4576103a4614d5a565b60200201526103b4608083614d47565b915060010161035c565b505f5b601c811015610412576103db85838661029d826020614d47565b83610160015182601c81106103f2576103f2614d5a565b6020020181815250506020826104089190614d47565b91506001016103c1565b50610424848285610380826080614d47565b610180830152610435816080614d47565b9050610448848285610380826080614d47565b6101a08301525092915050565b61045d61496f565b5f61046d888888888888876118c4565b908352905061047c818961191a565b6020840191909152905061048f81611ab5565b604084019190915290506104a38882611b16565b606084019190915290506104b78882611bea565b608084019190915290506104cb8882611c75565b60a084019190915290506104df8882611de3565b60c084019190915290506104f38882611e55565b5060e0830152509695505050505050565b5f6001808261054d866105488961054361053e8a7f0000000000000000000000000000000000000000000000000000000000000000614d47565b611eac565b611eca565b611ee3565b90505f61056b876105668a61054361053e8b6001614d47565b611efc565b90505f5b7f00000000000000000000000000000000000000000000000000000000000000008110156105fd575f6105ba8b83815181106105ad576105ad614d5a565b6020026020010151611eac565b90506105ca866105438684611ee3565b95506105da856105438584611ee3565b94506105e6848b611ee3565b93506105f2838b611efc565b92505060010161056f565b506106088484611f2b565b9998505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156106ec575f86610100015182601c811061065b5761065b614d5a565b602002015190505f61066d8286611f39565b90508061068d576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106106a4576106a4614d5a565b602002015190506106b58382611f5c565b95506106dc886040015185601c81106106d0576106d0614d5a565b6020020151868361210b565b945050505080600101905061061b565b505f610706866101200151865f0151876020015185612136565b90508281145b9695505050505050565b5f6107446040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b5f6107528460a001516121a4565b905061075c6149c8565b6107646149e7565b5f6107948760e00151857f0000000000000000000000000000000000000000000000000000000000000000612209565b805160c08901519192506107b491610548908460015b6020020151611eca565b855260a08701516107e0906107c890612299565b825160c08a01516105439190610566908660016107aa565b6020860152600183526101808901516107f890612302565b82526001606086018190525f60808701525b602381116108b05761082b610821875f0151612341565b8760600151611eca565b84826046811061083d5761083d614d5a565b602002015260808601516101208b0151610880919061054890610861600186614d6e565b6028811061087157610871614d5a565b60200201518960600151611eca565b86608001818152505061089b86606001518960800151611eca565b60608701526108a981614d81565b905061080a565b505f6108be60236001614d47565b90505b6028811161093f576108d96108218760200151612341565b8482604681106108eb576108eb614d5a565b602002015260808601516101208b015161090f919061054890610861600186614d6e565b86608001818152505061092a86606001518960800151611eca565b606087015261093881614d81565b90506108c1565b50606088015182600160200201526080880151826002602002015260a0880151826003602002015260c0880151826004602002015260e0880151826005602002015261010088015182600660200201526101208801518260076020020152610140880151826008602002015261016088015182600960200201526101a088015182600a602002015261018088015182600b60200201526101c088015182600c60200201526101e088015182600d602002015261020088015182600e602002015261022088015182600f60200201526102408801518260106020020152610260880151826011602002015261028088015182601260200201526102a088015182601360200201526102c088015182601460200201526102e08801518260156020020152610300880151826016602002015261032088015182601760200201526103408801518260186020020152610360880151826019602002015261038088015182601a60200201526103a088015182601b60200201528851610ac090612302565b6103808301526020890151610ad490612302565b6103a08301526040890151610ae890612302565b6103c08301526060890151610afc90612302565b6103e08301526080890151610b1090612302565b61040083015260e0890151610b2490612302565b61042083015260a0890151610b3890612302565b61044083015260c0890151610b4c90612302565b6104608301528851610b5d90612302565b6104808301526020890151610b7190612302565b6104a08301526040890151610b8590612302565b6104c08301526060890151610b9990612302565b6104e08301526080890151610bad90612302565b6105008301525f604086015260c0870151610bc790612359565b60608601525f5b610bda6001601c614d6e565b811015610d1f575f610c0d60017f0000000000000000000000000000000000000000000000000000000000000000614d6e565b82101590505f81610c76576060880151610c3d9085610c2d866002614d47565b601d81106107aa576107aa614d5a565b9050610c4881612341565b8684610c5660286001614d47565b610c609190614d47565b60468110610c7057610c70614d5a565b60200201525b610ca58860400151610548838f6101600151876001610c959190614d47565b601c81106107aa576107aa614d5a565b6040890152606088015160c08b0151610cbe9190611eca565b60608901526101408c0151610ce89084601b8110610cde57610cde614d5a565b6020020151612302565b8584610cf660286001614d47565b610d009190614d47565b60468110610d1057610d10614d5a565b60200201525050600101610bce565b505f610d5b886060015187608001518c6101600151887f0000000000000000000000000000000000000000000000000000000000000000612364565b6040870151909150610d729061054883855f6107aa565b604087018190526101608b01515160c08a0151610da0929161054891610d989190611eca565b8560016107aa565b6040808801919091528051808201909152600181526002602082015283610dc9601c6028614d47565b60468110610dd957610dd9614d5a565b6020020152604086015184610df0601c6028614d47565b60468110610e0057610e00614d5a565b60200201526101a08a01515f90610e1690612302565b90508084610e26601c6028614d47565b610e31906001614d47565b60468110610e4157610e41614d5a565b602002015260e089015185610e58601c6028614d47565b610e63906001614d47565b60468110610e7357610e73614d5a565b60200201525f610e83858761245e565b90505f610e8f83612524565b9050610e9b828261256a565b9d9c50505050505050505050505050565b610eb4614735565b50604080516103c0810182526302000000815260196020808301919091526103dc82840152825180840184527f170ae417ca2c02644887ea808eb720c8cfeee5ab7be7720ed81ef5d129cb2ecc81527f0e342aae70485daf8370c3b189e97affef36102109d1dea6f515d68c62abba52818301526060830152825180840184527f2dd0a65306089e15225e0237f021ac878f480f9dee84c950937b6d29a59a2d3481527f245fa29fb5ee8683e6f1106b15c123681f2fba7bbdd13da6124d09ccc37a1ef3818301526080830152825180840184527f0d2fd0a2f349dd4aa92b80b8bed4239c4993c1693cfcf2bc11e6cbadc7b8070d81527f1f388f8e48dea3ee46177870437c9833e1ad1998b1df56be85951ac7793151058183015260a0830152825180840184527f1e83f67c5e99b6e5bf90accc791cffd78e3a3864c8bfb344b0bd9a7156d0746f81527f158da79ca584639e09d5caa10a36da2b4ae414eb37468b3bc5a1234b001d282a8183015260c0830152825180840184527f0feb5d2db08673885f2c11dc08d2515fa44677b1f21799b028a467eb8e5adc0081527f2bbd3085e5c1ba5f6f115e53dde9b5510e00c2d7072ae08b597da80199f297108183015260e0830152825180840184527f2d8a16f66544c41c2cbe0ec556c4202fbc9c845d0c582e0c2c7eda9d3e3b4b2c81527f18564b2edfb722ffab4d570365358384956fadf32bed0ba73cb206cb74f8b9c381830152610100830152825180840184527f035d97a928b728d4f4d460c4bdcf11ea8c8bd382f233fe512c394b0b6da9152481527f26961d0bf338d36d2b5ec2f59675073ad262b9bacae3bc100ea54158e763f64781830152610120830152825180840184527f2f5e221634ec73c973188b8b9e5b5bae4a39a68463bacb7ff3a99a1ac0c4d7de81527f21c0f601e76949e2bad6a938d5e08033aa593cf7884d26c132a97c8c158eb68881830152610140830152825180840184527f30520768a30d6d1b34815f23061de8980b2ea06f0173beea5af27369bf55726581527f0ea904ddddde2bd7ea42eeffc2fe7edb30dd4dbdc37aaf48a250d7797281eba881830152610160830152825180840184527f082db83a04d5433d8a4a21b0d0f82a94bb0449c73de30917f6a40e5c6e44919681527f2b4df619057277586e21631662a55913af095874d060fa00e46b9ccb115cb0b581830152610180830152825180840184527f0251580daa93e711615e92ae748fc5854a5c41c60e62a380da7873cd2282502481527f02c4d14b060f4519d63cff8d60e7efcd2eb2b94b4b83c48485f30c5666f6dcbb818301526101a0830152825180840184527f1339014f6f2889e23508cadddc9feaeca4940ed1e5e031b3f5a2b9c93a28267d81527f03e8b6c1dd6429f3638c3d26c7bc59635f4f8500dc6801c59bdcf30617f1e8e1818301526101c0830152825180840184527f020be7bbc39cc7b00a92540ebd16dd0117bd96341997fe0672328bb8b82b656a81527e9550756bcb6ba62b6f90c9f9dae8ee28483b31530f6f8c05cfb4844381e743818301526101e0830152825180840184527f2e6eb1f4caad430c818e876bf5dfbfdba2493da7357d0dfdfb32812c8aa6414b81527f19155dd78b98df52804d5fe08999f08ac20926917d9a4b9b937e298fc2faedc781830152610200830152825180840184527f25c2da1e5c1bd4a6670d0f2997776f845d5645a7f4b089806972253258e5525981527f1a1cabdc54707581f5261d0110b89bd91ffa0c91bf81e471cf2fef4a85c4ec3781830152610220830152825180840184527f11072d17565b328651e22bced432a5c0414d4a0ee0a507b0b0aeabbd7d2f736681527f25f8aa1a0768405519262de020986005e3baabcb6389a1f38693e83e78f4f31e81830152610240830152825180840184527f2dfccf3249bd611011ba0fd646b99164fe8adc9339c8b8199cf4bb90ec63f37081527f29c045f85b437f1a2c66308a4d2df3a1397d0eb15ebcf8e7b6e55be1b1b9d64881830152610260830152825180840184527f2d84a3830fee6da0db5d7c52dce5d0be3d413e02ad3cda17344ab35ed58cfb3281527f2af8ad04900c9c6ce3efbb743c445a4f5895768e30ff14284d4d30084d5b62f481830152610280830152825180840184527f1cd2596b4e06e770ee9be4dad89d32a6d51b5c65e3dc188c236db76a3190356081527f2476ca07897364f7c86a535b4498fe10fd2d0d5971f4a698595fff4830563905818301526102a0830152825180840184527f2eac895d2f963002a9a4f1e670fdffdf928116032d35e5da0e003c96f3605ed281527f2f150d7aff30876edc5534f079437fac1bb9aa36c565b425a1df1f18e7d3074b818301526102c0830152825180840184527f296ec08eef9a0f6a3b12ea70dd599e73b797939b439b6838dab23265af26d8ca81527f20e23635b2a109d6422ee1419ec9ef0b4bd586b9e212a4e8996138fa7e772fdf818301526102e0830152825180840184527f0d1c51a0944e73b5bf5059109cfc7756b18ab597ee97fcdceb68e08e7a9325ec81527f2d0ebb65c43bb88f0e0af105cb368e35a8117262fa463c5e4a91e60a63285d5881830152610300830152825180840184527f237fc3d6ca839bf8fe66beb52f778994d8d05f3496301df3cb1030649802eb1881527f1013ad0339d32e695efdc9e28675f47f332bda5954966f00469214f4ee763b8481830152610320830152825180840184527f0c124a2788b4e0e45ebc1003affc7b699ea00567da3fa1f4bef7f9f97698340481527f0655bd829b537acf9fdc36831274395bdd5d3c181d2e84ddd3dfa1192c5f518481830152610340830152825180840184527f2664e1b3d5bd93796c3e968511ad456c3b10db55de4e939e1a8eb6279d99ea9a81527f2a8a81f4857a08db4de35ca43cc4e145c8719ce30616be286b5a565e4ee99e9c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f11320cd8905bdbbf7b9808e52e7ad61b0d2b5ed1061e1f329a52269f9405afc183527f0118c026eca4c1a353a8c6e86d226dab2941ec5743d717f08130eca70a8c00a5908301526103a081019190915290565b61179b614a15565b608082146117e65760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064015b60405180910390fd5b6040805160808101909152806117ff60205f8688614d20565b61180891614d99565b815260209081019061181e906040908688614d20565b61182791614d99565b815260200161183a606060408688614d20565b61184391614d99565b8152602001611856608060608688614d20565b61185f91614d99565b90529392505050565b5f602082146118b05760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064016117dd565b6118bd61053e8385614d99565b9392505050565b6118cc614a39565b5f6118db89898989898961276e565b6040860191909152602085019190915290835292506118fa838a612b90565b608085019190915260608401919091529199919850909650505050505050565b611922614a69565b5f61192b614a88565b84815260e0848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608080870191909152880180515160a0870152805183015160c087015280518201519486019490945292519091015161010084015290516119c2916119a791849101614db6565b60405160208183030381529060405280519060200120611eac565b91506119cd82612c5b565b6020850152835260015b6119e360026019614dfe565b811015611a6357611a00836040516020016119a791815260200190565b9250611a0b83612c5b565b85611a17846002614d09565b60198110611a2757611a27614d5a565b6020020186611a37856002614d09565b611a42906001614d47565b60198110611a5257611a52614d5a565b6020020191909152526001016119d7565b50611a7a826040516020016119a791815260200190565b91505f611a8683612c5b565b85611a9360016019614d6e565b60198110611aa357611aa3614d5a565b60200201919091525050509250929050565b611abd614aa7565b5f805b601c811015611b0f57611adf846040516020016119a791815260200190565b93505f611aeb85612c5b565b8584601c8110611afd57611afd614d5a565b60200201919091525050600101611ac0565b5090929050565b611b1e614aa7565b5f805b601c811015611be157611b32614a88565b8481525f5b6008811015611b9b5786610100015183601c8110611b5757611b57614d5a565b60200201518160088110611b6d57611b6d614d5a565b602002015182611b7e836001614d47565b60098110611b8e57611b8e614d5a565b6020020152600101611b37565b50611bb0816040516020016119a79190614db6565b94505f611bbc86612c5b565b8685601c8110611bce57611bce614d5a565b6020020191909152505050600101611b21565b50909391925050565b5f5f611bf4614ac6565b8381525f5b6028811015611c47578561012001518160288110611c1957611c19614d5a565b602002015182611c2a836001614d47565b60298110611c3a57611c3a614d5a565b6020020152600101611bf9565b50611c5c816040516020016119a79190614e11565b91505f611c6883612c5b565b5096929550919350505050565b5f5f611c7f614ae5565b8381525f5b611c906001601c614d6e565b811015611dce5785610140015181601b8110611cae57611cae614d5a565b60200201515182611cc0836004614d09565b611ccb906001614d47565b606d8110611cdb57611cdb614d5a565b602002015261014086015181601b8110611cf757611cf7614d5a565b60200201516020015182826004611d0e9190614d09565b611d19906002614d47565b606d8110611d2957611d29614d5a565b602002015261014086015181601b8110611d4557611d45614d5a565b60200201516040015182611d5a836004614d09565b611d65906003614d47565b606d8110611d7557611d75614d5a565b602002015261014086015181601b8110611d9157611d91614d5a565b60200201516060015182611da6836004614d09565b611db1906004614d47565b606d8110611dc157611dc1614d5a565b6020020152600101611c84565b50611c5c816040516020016119a79190614e45565b5f5f611ded614b04565b8381525f5b601c811015611e405785610160015181601c8110611e1257611e12614d5a565b602002015182611e23836001614d47565b601d8110611e3357611e33614d5a565b6020020152600101611df2565b50611c5c816040516020016119a79190614e79565b5f5f611e5f614b23565b83815261018085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611c5c916119a791849101614ead565b5f611ec45f516020614fef5f395f51905f5283614ee0565b92915050565b5f5f516020614fef5f395f51905f528284099392505050565b5f5f516020614fef5f395f51905f528284089392505050565b5f5f516020614fef5f395f51905f52611f22835f516020614fef5f395f51905f52614d6e565b84089392505050565b5f6118bd8361054384612299565b81515f908190611f51908560015b6020020151611ee3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561204357612039826105438784611efc565b9150600101612022565b5061204c614b41565b5f5b60088110156120ad575f84826008811061206a5761206a614d5a565b6020020151905061207f816105438985611efc565b905061208a81612299565b90508083836008811061209f5761209f614d5a565b60200201525060010161204e565b505f5b6008811015612100575f8782600881106120cc576120cc614d5a565b602002015190506120e9818484600881106107aa576107aa614d5a565b90506120f58682611ee3565b9550506001016120b0565b5061070c8483611eca565b5f5f612121600161054885610543896001611efc565b905061212d8482611eca565b95945050505050565b5f61213f614b60565b61214a868285612c8b565b61215686868386612e37565b6121628686838661301f565b61216d86828561321b565b612178868285613403565b61218486868386613746565b61218f868285613fe0565b61219a8682856143ab565b61070c81856146a0565b6121ac614aa7565b81815260015b601c811015612203576121e4826121ca600184614d6e565b601c81106121da576121da614d5a565b6020020151612359565b8282601c81106121f6576121f6614d5a565b60200201526001016121b2565b50919050565b612211614b04565b8361222a61222582865f6020020151611efc565b612299565b82525f5b601c811015612290575f612243856001614d47565b821161226557612262612225848885601c8110611f4757611f47614d5a565b90505b8084612272846001614d47565b601d811061228257612282614d5a565b60200201525060010161222e565b50509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020614fef5f395f51905f520360808201525f516020614fef5f395f51905f5260a082015260205f60c08360055afa9050806122f7575f5ffd5b50505f519392505050565b61230a614b7f565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f611ec4825f516020614fef5f395f51905f52614d6e565b5f611ec48283611eca565b5f601c5b8015612453575f8461237b600184614d6e565b601c811061238b5761238b614d5a565b602002015190505f8861239f600185614d6e565b601c81106123af576123af614d5a565b602002015190505f876123c3600186614d6e565b601c81106123d3576123d3614d5a565b602002015190505f61240e6123f26123eb868d611eca565b6002611eca565b610566846105436124088961054360018b611efc565b88611efc565b905061242f816105436122256124298861054360018a611efc565b87611ee3565b90508685118061243d57819a505b50505050508061244c90614ef3565b9050612368565b509395945050505050565b612466614b7f565b5f612473601c6028614d47565b61247e906002614d47565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561250c5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa909216916001016124b3565b50805184526020810151602085015250505092915050565b61252c614b7f565b5f516020614fcf5f395f51905f5282602001515f516020614fcf5f395f51905f526125579190614d6e565b6125619190614ee0565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516127009190614f08565b5f60405180830381855afa9150503d805f8114612738576040519150601f19603f3d011682016040523d82523d5f602084013e61273d565b606091505b50915091505f818060200190518101906127579190614f1e565b90508280156127635750805b979650505050505050565b5f8080808061277e876003614d47565b61278990600c614d47565b6001600160401b038111156127a0576127a0614f3d565b6040519080825280602002602001820160405280156127c9578160200160208202803683370190505b509050875f1b815f815181106127e1576127e1614d5a565b602002602001018181525050865f1b8160018151811061280357612803614d5a565b602002602001018181525050855f1b8160028151811061282557612825614d5a565b60209081029190910101525f5b87811015612884578a8a8281811061284c5761284c614d5a565b90506020020135828260036128619190614d47565b8151811061287157612871614d5a565b6020908102919091010152600101612832565b508a515181612894896003614d47565b815181106128a4576128a4614d5a565b6020908102919091018101919091528b510151816128c3896003614d47565b6128ce906001614d47565b815181106128de576128de614d5a565b60209081029190910101528a5160400151816128fb896003614d47565b612906906002614d47565b8151811061291657612916614d5a565b60209081029190910101528a516060015181612933896003614d47565b61293e906003614d47565b8151811061294e5761294e614d5a565b6020908102919091018101919091528b0151518161296d896003614d47565b612978906004614d47565b8151811061298857612988614d5a565b6020908102919091018101919091528b8101510151816129a9896003614d47565b6129b4906005614d47565b815181106129c4576129c4614d5a565b6020908102919091018101919091528b015160400151816129e6896003614d47565b6129f1906006614d47565b81518110612a0157612a01614d5a565b6020908102919091018101919091528b01516060015181612a23896003614d47565b612a2e906007614d47565b81518110612a3e57612a3e614d5a565b602090810291909101015260408b01515181612a5b896003614d47565b612a66906008614d47565b81518110612a7657612a76614d5a565b60209081029190910181019190915260408c0151015181612a98896003614d47565b612aa3906009614d47565b81518110612ab357612ab3614d5a565b60209081029190910101526040808c0151015181612ad2896003614d47565b612add90600a614d47565b81518110612aed57612aed614d5a565b602090810291909101015260408b01516060015181612b0d896003614d47565b612b1890600b614d47565b81518110612b2857612b28614d5a565b602002602001018181525050612b48816040516020016119a79190614f51565b9150612b5382612c5b565b6040805160208101869052929750909550612b6e91016119a7565b91505f612b7a83612c5b565b50959c949b509499509097509195505050505050565b5f5f5f612b9b614b97565b85815260a0858101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260c0808a0180515195870195909552845183015190860152835181015160e086015292518201516101008501528188018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612c41916119a791849101614f86565b9150612c4c82612c5b565b90979096509194509092505050565b5f80826001600160801b038116608082901c612c7682611eac565b9450612c8181611eac565b9350505050915091565b5f612c97846007614705565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612cf8612cf2612ccc856003611efc565b610543612ce7612cdc8b5f614705565b6105438c601c614705565b6105438b601b614705565b83611eca565b9050612d79612d6e612d55612d3c612d2385610548612d188d6002614705565b6105438e601b614705565b610548612d318c6003614705565b6105438d601c614705565b610548612d4a8b6004614705565b6105438c601d614705565b610548612d638a6005614705565b6105438b601e614705565b610548886001614705565b9050612d9881610548612d8d866001611efc565b6105438a6026614705565b9050612da48184611eca565b9050612db08185611eca565b8552505f9050612dea612de0612dd5612dca88601b614705565b61054889601e614705565b610566886023614705565b610548875f614705565b9050612dfb81610543846002611efc565b9050612e0c81610543846001611efc565b9050612e188183611eca565b9050612e248184611eca565b9050808460015b60200201525050505050565b5f5f5f612e6d612e63612e4b89601b614705565b610548612e598b6011614705565b8a60600151611eca565b8760800151611ee3565b9050612ea681610543612e9c612e848b601c614705565b610548612e928d6012614705565b8c60600151611eca565b8960800151611ee3565b9050612ecb81610543612e9c612ebd8b601d614705565b610548612e928d6013614705565b9050612ef081610543612e9c612ee28b601e614705565b610548612e928d6014614705565b92505f9050612f14612e63612f0689601b614705565b610548612e598b600d614705565b9050612f3981610543612e9c612f2b8b601c614705565b610548612e928d600e614705565b9050612f5e81610543612e9c612f508b601d614705565b610548612e928d600f614705565b9050612f8381610543612e9c612f758b601e614705565b610548612e928d6010614705565b91505f9050612faa612fa4612f9989601f614705565b6105488a6019614705565b84611eca565b9050612fdf81610566612fd9612fc18b6027614705565b610548612fcf8d601a614705565b8c60a00151611eca565b85611eca565b9050612feb8185611eca565b6040860152505f61300e612fd961300389601a614705565b6105438a6027614705565b606090950194909452505050505050565b5f5f61307d61306561304d613038612e9c8a6015614705565b6105486130468b6016614705565b8a51611eca565b61054861305b8a6017614705565b8960200151611eca565b610548613073896018614705565b8860400151611eca565b91505f6130b461309b61309189601b614705565b8860800151611ee3565b6105486130a98a6003614705565b6105438b6023614705565b90505f6130dd6130c589601c614705565b6105486130d28b5f614705565b6105438c6024614705565b90505f6131076130ee8a601d614705565b6105486130fc8c6001614705565b6105438d6025614705565b905061314661312e61312085610548868d5f0151611eca565b610548848c60200151611eca565b61054861313c8c6004614705565b8b60400151611eca565b93505050505f61315a612fa4886020614705565b90505f61316b612fa4896020614705565b90505f6131a361318a61317f8b6022614705565b6105488c6006614705565b6105666131988c6022614705565b6105438d6006614705565b90505f6131c76131c16131b68789611eca565b6105438d6020614705565b83611efc565b90506131d38188611eca565b90505f6131fb6131ed6131e78d6006614705565b87611eca565b6105666131e78e6021614705565b60808a018390529050808960055b60200201525050505050505050505050565b5f6132275f6001611efc565b90505f6132355f6002611efc565b90505f6132435f6003611efc565b90505f61325f61325488601c614705565b61056689601b614705565b90505f61327b61327089601d614705565b6105668a601c614705565b90505f61329761328c8a601e614705565b6105668b601d614705565b90505f6132b36132a88b6023614705565b6105668c601e614705565b9050836132c481610543818b611ee3565b90506132d481610543878a611ee3565b90506132e4816105438789611ee3565b90506132f5816105438d6008614705565b9050613301818a611eca565b60c08b0152508261331681610543818b611ee3565b905061332681610543868a611ee3565b9050613336816105438689611ee3565b9050613347816105438d6008614705565b9050613353818a611eca565b60e08b0152508161336881610543818b611ee3565b905061337881610543858a611ee3565b9050613388816105438589611ee3565b9050613399816105438d6008614705565b90506133a5818a611eca565b6101008b015250806133bb81610543818b611ee3565b90506133cb81610543848a611ee3565b90506133db816105438489611ee3565b90506133ec816105438d6008614705565b90506133f8818a611eca565b9050808a6009613209565b61343c6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61344784601c614705565b815261345484601d614705565b6020820152613464846023614705565b6040820152613474846026614705565b6060820152613484846025614705565b6080820152613494846024614705565b60a08201525f6134a5856002614705565b90505f6134b2865f614705565b90505f6134c68460400151855f0151611efc565b90505f6134db85602001518660200151611eca565b606086015190915086905f906134f19080611eca565b90505f61350f61350989602001518a60600151611eca565b88611eca565b90505f61352e6135278a60a001518b60400151611ee3565b8a51611ee3565b905061353d6131e78288611eca565b905061355e6135586135526124088487611efc565b84611ee3565b83611ee3565b905061358661357b6135708387611eca565b6105438f6009614705565b61054360018a611efc565b6101408c015250505050602085015160808601515f916135a591611ee3565b90505f6135c36135b9886060015188611eca565b8860200151611efc565b90505f6135e76135d38487611eca565b610548612fd98b60a001518c5f0151611efc565b905061360f6136046135f9838c611eca565b6105438e6009614705565b610543600189611efc565b6101608b0152505f91506136309050613629836011611ee3565b8751611eca565b90505f61363d8384611ee3565b90506136498182611ee3565b90505f613657836009611eca565b905061368061367a612fa46136738b60a001518c5f0151611ee3565b8b51611ee3565b82611efc565b60c089018190525f9061369b9061350990613570908d611eca565b90506136ae8b600a602002015182611ee3565b6101408c0152505086515f92506136d59150613629906136ce9080611ee3565b8851611ee3565b90505f6137156136f0836105438a5f01518b60a00151611efc565b6020890151610566906137039080611ee3565b6105438b602001518c60800151611ee3565b905061373289600b6020020151610548613509613570858d611eca565b89600b602002015250505050505050505050565b6137da604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61380f6137f66137eb87601b614705565b610543886024614705565b610548613804886023614705565b61054389601c614705565b815261385461384961383061382588601b614705565b61054389601e614705565b61054861383e89601c614705565b6105438a601d614705565b610566876025614705565b6040820181905261386990600160441b611eca565b6040820181905261387f90610566876026614705565b6040820181905281516138929190611ee3565b604082018190526138a890610543876005614705565b604082015280516138bd90600160441b611eca565b8082526138dd906105486138d2886023614705565b610543896024614705565b808252602082018190526138f990610566612dca88601d614705565b6020820181905261390f90610543876004614705565b602082015280516060820181905261392c9061054887601e614705565b6060820181905261395090610566613945886025614705565b610548896026614705565b6060820181905261396590610543875f614705565b8160600181815250505f61398e61398483602001518460400151611ee3565b8360600151611ee3565b905061399f81610543886003614705565b90506139b76139af876024614705565b614000611eca565b608083018190526139cd90610548886023614705565b608083018190526139e090614000611eca565b608083018190526139f69061054888601d614705565b60808301819052613a0990614000611eca565b60808301819052613a1f9061054888601c614705565b60808301819052613a3290614000611eca565b60808301819052613a489061054888601b614705565b60808301819052613a5e9061056688601e614705565b60808301819052613a7490610543886005614705565b6080830152613a876139af876025614705565b60a08301819052613a9d90610548886024614705565b60a08301819052613ab090614000611eca565b60a08301819052613ac690610548886023614705565b60a08301819052613ad990614000611eca565b60a08301819052613aef9061054888601e614705565b60a08301819052613b0290614000611eca565b60a08301819052613b189061054888601d614705565b60a08301819052613b2e90610566886026614705565b60a08301819052613b4390610543885f614705565b60a0830181905260808301515f91613b5b9190611ee3565b9050613b6c81610543896004614705565b9050613b86613b7c88601d614705565b8760400151611eca565b60c08401819052613b9f9061054861305b8a601c614705565b60c08401819052613bbf90610548613bb88a601b614705565b8951611eca565b60c08401819052613bd590610548896001614705565b60c0840181905260e08401819052613bf29061056689601e614705565b60c0840152613c05613254886023614705565b610140840152613c24613c19886026614705565b61056689601e614705565b610120840152610140830151613c4990613c3e9080611eca565b846101400151611efc565b610280840152610140830151613c8b90613c8090613c799061054360015f516020614fef5f395f51905f52614d6e565b6001611ee3565b846101200151611eca565b6101608401819052613cc290613cb490610543613ca98b6002614705565b6105438c6003614705565b6105436131e78a600a614705565b6101a0860152610280830151613ce490613cb490610543613ca98b6002614705565b6101c086015260c0830151613d0c90610543613d018a6002614705565b6105438b6003614705565b6101e08401525f613d2b613d2189601e614705565b8560e00151611efc565b9050613d3a61367a8283611eca565b6101a0850152613d4e613073896025614705565b6101008501819052613d7290610548613d688b6024614705565b8a60200151611eca565b6101008501819052613d8c906105486130468b6023614705565b610100850152613dab613da0896026614705565b856101000151611efc565b6101008501525f613dc061328c8a6025614705565b9050613e14613dee612cf2613c7988610140015160015f516020614fef5f395f51905f526105439190614d6e565b610543613c7988610100015160015f516020614fef5f395f51905f526105439190614d6e565b610180860152610100850151613e3990613e2e9080611eca565b866101000151611efc565b6101c0860152610180850151613e6c90613e58906105438c6007614705565b610543613e668c600a614705565b89611eca565b6101e0880152610280850151613e8b90613e58906105438c6007614705565b6102008801526101c0850151613eaa90613e58906105438c6007614705565b6102208801526101a0850151613ec5906105438b6007614705565b610200860152613ee4613ed98a6024614705565b6105668b601c614705565b610220860152610140850151613f239061328c90613f1890613c799061054360015f516020614fef5f395f51905f52614d6e565b876102200151611eca565b61024086018190526101e08601516102608701819052613f5a9161054890610543613f4f8e6005614705565b6105438f6002614705565b610260860181905260c0860151613f7d919061054890610543613f4f8e5f614705565b6102608601819052610200860151613f959190611ee3565b6102608601819052613fab906135529086611ee3565b6102a08601819052613fc590610543613e668c600a614705565b6102a0860181905287600c6020020152505050505050505050565b6140566040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61406f61406485601b614705565b610548866002614705565b815261408a61407f85601c614705565b610548866003614705565b60208201526140a861409d85601d614705565b610548866004614705565b60408201526140c66140bb85601e614705565b610548866005614705565b606082015280516140f8906140f1906140ea906140e39080611eca565b8451611eca565b8351611eca565b8251611eca565b608082015260208101516141369061412c90614122906141189080611eca565b8460200151611eca565b8360200151611eca565b8260200151611eca565b60a082015260408101516141749061416a90614160906141569080611eca565b8460400151611eca565b8360400151611eca565b8260400151611eca565b60c082015260608101516141b2906141a89061419e906141949080611eca565b8460600151611eca565b8360600151611eca565b8260600151611eca565b60e0820152608081015160a08201516141cb9190611ee3565b61010082015260c081015160e08201516141e59190611ee3565b61012082015260a0810151614209906141fe9080611ee3565b826101200151611ee3565b61014082015260e081015161422d906142229080611ee3565b826101000151611ee3565b6101608201526101208101516142439080611ee3565b6101e08201819052614264906142599080611ee3565b826101600151611ee3565b6101e082015261010081015161427a9080611ee3565b6101a0820181905261429b906142909080611ee3565b826101400151611ee3565b6101a082018190526101608201516142b291611ee3565b6101808201526101408101516101e08201516142ce9190611ee3565b6101c08201526142e2612cf285600b614705565b610200820181905261024084015161018083015161430d9261054891610543906105668a6023614705565b836012602002015261433d8360136020020151610548836102000151610543856101a001516105668a6024614705565b836013602002015261436d8360146020020151610548836102000151610543856101c001516105668a6025614705565b836014602002015261439d8360156020020151610548836102000151610543856101e001516105668a6026614705565b836015602002015250505050565b6143fd6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806144327f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7611eac565b81526020016144607f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b611eac565b815260200161448d7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15611eac565b81526020016144bb7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b611eac565b905290506144d86144cd86601b614705565b610548876002614705565b610120830181905261450c9061450190613c80906144f69080611eca565b856101200151611eca565b836101200151611eca565b825261451985601c614705565b602083015261452985601d614705565b604083015261453985601e614705565b60608301528151602083015161456191613984916145579190611ee3565b8460400151611ee3565b6080830152614574612fa486600c614705565b61014083015281516145959061458b90835f6107aa565b8360800151611ee3565b60a08301526145c184601660200201516105488461014001516105438660a001516105668b6023614705565b6102c085015260208201516145dc9061458b908360016107aa565b60c083015261460884601760200201516105488461014001516105438660c001516105668b6024614705565b6102e085015260408201516146239061458b908360026107aa565b60e083015261464f84601860200201516105488461014001516105438660e001516105668b6025614705565b610300850152606082015161466a9061458b908360036107aa565b61010083015261469884601960200201516105488461014001516105438661010001516105668b6026614705565b846019612e2b565b5f6146ac818481611f47565b905060015b601a8110156146fe576146f4826105488684601a81106146d3576146d3614d5a565b6020020151866146e4600187614d6e565b601981106107aa576107aa614d5a565b91506001016146b1565b5092915050565b5f8282602781111561471957614719614fba565b6028811061472957614729614d5a565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161475b614b7f565b8152602001614768614b7f565b8152602001614775614b7f565b8152602001614782614b7f565b815260200161478f614b7f565b815260200161479c614b7f565b81526020016147a9614b7f565b81526020016147b6614b7f565b81526020016147c3614b7f565b81526020016147d0614b7f565b81526020016147dd614b7f565b81526020016147ea614b7f565b81526020016147f7614b7f565b8152602001614804614b7f565b8152602001614811614b7f565b815260200161481e614b7f565b815260200161482b614b7f565b8152602001614838614b7f565b8152602001614845614b7f565b8152602001614852614b7f565b815260200161485f614b7f565b815260200161486c614b7f565b8152602001614879614b7f565b8152602001614886614b7f565b8152602001614893614b7f565b81526020016148a0614b7f565b81526020016148ad614b7f565b905290565b604051806101c001604052806148c6614a15565b81526020016148d3614a15565b81526020016148e0614a15565b81526020016148ed614a15565b81526020016148fa614a15565b8152602001614907614a15565b8152602001614914614a15565b8152602001614921614a15565b815260200161492e614bb6565b815260200161493b614be4565b8152602001614948614c03565b8152602001614955614aa7565b8152602001614962614a15565b81526020016148ad614a15565b604051806101000160405280614983614a39565b8152602001614990614a69565b815260200161499d614aa7565b81526020016149aa614aa7565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b6149ff614b7f565b8152602001906001900390816149f75790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b604051806103800160405280601c905b614bce614b41565b815260200190600190039081614bc65790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614c1b614a15565b815260200190600190039081614c135790505090565b5f5f5f5f60408587031215614c44575f5ffd5b84356001600160401b03811115614c59575f5ffd5b8501601f81018713614c69575f5ffd5b80356001600160401b03811115614c7e575f5ffd5b876020828401011115614c8f575f5ffd5b6020918201955093508501356001600160401b03811115614cae575f5ffd5b8501601f81018713614cbe575f5ffd5b80356001600160401b03811115614cd3575f5ffd5b8760208260051b8401011115614ce7575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417611ec457611ec4614cf5565b5f5f85851115614d2e575f5ffd5b83861115614d3a575f5ffd5b5050820193919092039150565b80820180821115611ec457611ec4614cf5565b634e487b7160e01b5f52603260045260245ffd5b81810381811115611ec457611ec4614cf5565b5f60018201614d9257614d92614cf5565b5060010190565b80356020831015611ec4575f19602084900360031b1b1692915050565b5f8183825b6009811015614dda578151835260209283019290910190600101614dbb565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82614e0c57614e0c614dea565b500490565b5f8183825b6029811015614e35578151835260209283019290910190600101614e16565b5050506105208201905092915050565b5f8183825b606d811015614e69578151835260209283019290910190600101614e4a565b505050610da08201905092915050565b5f8183825b601d811015614e9d578151835260209283019290910190600101614e7e565b5050506103a08201905092915050565b5f8183825b6005811015614ed1578151835260209283019290910190600101614eb2565b50505060a08201905092915050565b5f82614eee57614eee614dea565b500690565b5f81614f0157614f01614cf5565b505f190190565b5f82518060208501845e5f920191825250919050565b5f60208284031215614f2e575f5ffd5b815180151581146118bd575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b82811015614f7b578151845260209384019390910190600101614f5d565b509195945050505050565b5f8183825b600d811015614faa578151835260209283019290910190600101614f8b565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
4
+ export declare const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a0526103dc60c05260805160a05160c05161507f61005a5f395f61057101525f818161061d01528181610bf60152610c9201525f61051a015261507f5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614ca1565b610054565b604051901515815260200160405180910390f35b5f6100626101b86020614d79565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a610198565b90505f61009787876101ad565b604083015190915084146100be5760405163fa06659360e01b815260040160405180910390fd5b5f6100d5828787865f015187604001516001610455565b90506101238686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508451606081015160809091015190925090506001610504565b815160a001525f6101348383610615565b905080610154576040516313f8744360e31b815260040160405180910390fd5b5f610160848685610716565b905080610180576040516352ec174560e11b815260040160405180910390fd5b81801561018a5750805b9a9950505050505050505050565b6101a06147a5565b6101a8610f8a565b905090565b6101b5614922565b6101ca6101c560805f8587614d90565b611872565b81526101de6101c561010060808587614d90565b60208201526101f66101c56101806101008587614d90565b604082015261020e6101c56102006101808587614d90565b60a08201526102266101c56102806102008587614d90565b60c082015261023e6101c56103006102808587614d90565b60608201526102566101c56103806103008587614d90565b60e082015261026e6101c56104006103808587614d90565b60808201526104005f5b601c811015610305575f5b60088110156102fc576102af86848761029d826020614db7565b926102aa93929190614d90565b611947565b84610100015183601c81106102c6576102c6614dca565b602002015182600881106102dc576102dc614dca565b6020020181815250506020836102f29190614db7565b9250600101610283565b50600101610278565b505f5b60288110156103595761032285838661029d826020614db7565b836101200151826028811061033957610339614dca565b60200201818152505060208261034f9190614db7565b9150600101610308565b505f5b6103686001601c614dde565b8110156103be5761038d858386610380826080614db7565b926101c593929190614d90565b83610140015182601b81106103a4576103a4614dca565b60200201526103b4608083614db7565b915060010161035c565b505f5b601c811015610412576103db85838661029d826020614db7565b83610160015182601c81106103f2576103f2614dca565b6020020181815250506020826104089190614db7565b91506001016103c1565b50610424848285610380826080614db7565b610180830152610435816080614db7565b9050610448848285610380826080614db7565b6101a08301525092915050565b61045d6149df565b5f61046d888888888888876119a3565b908352905061047c81896119f9565b6020840191909152905061048f81611b94565b604084019190915290506104a38882611bf5565b606084019190915290506104b78882611cc9565b608084019190915290506104cb8882611d54565b60a084019190915290506104df8882611ec2565b60c084019190915290506104f38882611f34565b5060e0830152509695505050505050565b5f6001808261054d866105488961054361053e8a7f0000000000000000000000000000000000000000000000000000000000000000614db7565b611f8b565b611fa9565b611fc2565b90505f61056b876105668a61054361053e8b6001614db7565b611fdb565b90505f5b7f00000000000000000000000000000000000000000000000000000000000000008110156105fd575f6105ba8b83815181106105ad576105ad614dca565b6020026020010151611f8b565b90506105ca866105438684611fc2565b95506105da856105438584611fc2565b94506105e6848b611fc2565b93506105f2838b611fdb565b92505060010161056f565b50610608848461200a565b9998505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156106ec575f86610100015182601c811061065b5761065b614dca565b602002015190505f61066d8286612018565b90508061068d576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106106a4576106a4614dca565b602002015190506106b58382612035565b95506106dc886040015185601c81106106d0576106d0614dca565b602002015186836121e4565b945050505080600101905061061b565b505f610706866101200151865f015187602001518561220f565b90508281145b9695505050505050565b5f61075d6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61076b8460a0015161227d565b9050610775614a38565b61077d614a57565b60e086015161079c9061079790855f5b6020020151611fdb565b6122e2565b60a085015260e08601516107bb9061079790855f5b6020020151611fc2565b60c080860182905260a0860151908801516107da926105489190611fa9565b845260a0860151610808906107ee906122e2565b6105438660a001516105668a60c001518960c00151611fa9565b6020850152600182526101808801516108209061234b565b81526001606085018190525f60808601525b602381116108d857610853610849865f015161238a565b8660600151611fa9565b83826046811061086557610865614dca565b602002015260808501516101208a01516108a8919061054890610889600186614dde565b6028811061089957610899614dca565b60200201518860600151611fa9565b8560800181815250506108c385606001518860800151611fa9565b60608601526108d181614df1565b9050610832565b505f6108e660236001614db7565b90505b6028811161096757610901610849866020015161238a565b83826046811061091357610913614dca565b602002015260808501516101208a0151610937919061054890610889600186614dde565b85608001818152505061095285606001518860800151611fa9565b606086015261096081614df1565b90506108e9565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b60200201528751610ae89061234b565b6103808201526020880151610afc9061234b565b6103a08201526040880151610b109061234b565b6103c08201526060880151610b249061234b565b6103e08201526080880151610b389061234b565b61040082015260e0880151610b4c9061234b565b61042082015260a0880151610b609061234b565b61044082015260c0880151610b749061234b565b6104608201528751610b859061234b565b6104808201526020880151610b999061234b565b6104a08201526040880151610bad9061234b565b6104c08201526060880151610bc19061234b565b6104e08201526080880151610bd59061234b565b610500820152606086015160808501516101608a01515f92610c1a929091877f00000000000000000000000000000000000000000000000000000000000000006123a2565b805160a0870151919250610c2d91611fa9565b604086018190526101608a01515160c0890151610c5d929161054891610c539190611fa9565b8860c00151611fa9565b604086015260c0870151610c70906124bd565b60608601525f5b610c836001601c614dde565b811015610e85575f610cb660017f0000000000000000000000000000000000000000000000000000000000000000614dde565b821015905080610e2b57610ce96107978a60e0015188856001610cd99190614db7565b601c811061078d5761078d614dca565b60a088015260e0890151610d17906107979088610d07866001614db7565b601c81106107b1576107b1614dca565b60c0880152606087015160a0880151610d309190611fa9565b60e0880152606087015160c08a0151610d4c91610c5391611fa9565b6101008801819052610d6e90610d619061238a565b6105488960e0015161238a565b8583610d7c60286001614db7565b610d869190614db7565b60468110610d9657610d96614dca565b60200201526101008701516101608c01515f91610dd291610db8866001614db7565b601c8110610dc857610dc8614dca565b6020020151611fa9565b9050610dee816105488a60e0015187876001610db89190614db7565b9050610dfe886040015182611fc2565b6040890152606088015160c08b0151610e2491610e1a91611fa9565b8b60c00151611fa9565b6060890152505b610e4f8b610140015183601b8110610e4557610e45614dca565b602002015161234b565b8483610e5d60286001614db7565b610e679190614db7565b60468110610e7757610e77614dca565b602002015250600101610c77565b5060408051808201909152600181526002602082015282610ea8601c6028614db7565b60468110610eb857610eb8614dca565b6020020152604085015183610ecf601c6028614db7565b60468110610edf57610edf614dca565b60200201526101a08901515f90610ef59061234b565b90508083610f05601c6028614db7565b610f10906001614db7565b60468110610f2057610f20614dca565b602002015260e088015184610f37601c6028614db7565b610f42906001614db7565b60468110610f5257610f52614dca565b60200201525f610f6284866124c8565b90505f610f6e8361258e565b9050610f7a82826125d4565b9c9b505050505050505050505050565b610f926147a5565b50604080516103c0810182526302000000815260196020808301919091526103dc82840152825180840184527f1f425781e8ef39130b9af37c4df3857dbb57f2c90d773a08dd7bb7223b9c769881527f0b56e6215d3442928b7fd2700b92c9e8f3db72528391ea9c3dc5b88100b958c8818301526060830152825180840184527f199782d5140a68faee5649fa0c0933ae33d898e4ef9d26c8b26bbae6e7544cc581527f0e9d20233f97e641a42027a82d82bfce00c1bac9b53bcf5abf8ec4ee8f57e61e818301526080830152825180840184527f22e9b5f48c858336b414888d3f8033059991647ecf9dd3b832ca9a6f233341db81527f116a43b4e5b709bea4a365956014caa84cf282dc638950aacbada1441d959b928183015260a0830152825180840184527f18ae7c4b61cab36b249cb55057e45bd5db24e439dcab7c418f3e7fa7afa7d7d181527f017d54b734ef59f5862640014bb25dd0ccea353a3f0162b894e88e1c76591daf8183015260c0830152825180840184527f057038a56e9cbebbbdee44328a472c92f427492675502989e327a0429ccf8ef681527f22e2ec127490ecdc92f161ce9450ea748c19e51c0db29111a2704e630f690fce8183015260e0830152825180840184527f2948f25ca9fdd65741a9721edb32a72c0ee12ff54a74a94714de246dd5b27fbb81527f1fafc1bb412198f7cf48b164a6621747f66f8d05891d421f6cb8a0abb48d05f381830152610100830152825180840184527f035d97a928b728d4f4d460c4bdcf11ea8c8bd382f233fe512c394b0b6da9152481527f26961d0bf338d36d2b5ec2f59675073ad262b9bacae3bc100ea54158e763f64781830152610120830152825180840184527f267cfcb47328b7ae6ae044add074918836d0ee7bcd39ced6454cd7f5afecbd1481527f2cbf9b2a5c0fd7af4913b00bb7b922b2553530f7f96d3553f777d9a82603bf5581830152610140830152825180840184527f2b99286034390238d2f87e4a340ec8b43f63e68f4074539df890f4a7c99d842781527f21fcf1b038a7607d36b729d9bb8f7a2b1d9baf7a726a34ad30b3958b7704412081830152610160830152825180840184527f2b04321531676dac0c855123ea0834800a44730384b0f03c77a884e6b896ad5c81527f06f2a41ce4704c3c8f461b27c3d8b5647dd528aed884e5266da0e8a71e0cc73081830152610180830152825180840184527f04307c6f14c1ef3d0b77cb3ae4ca3f9d3499300f88550a76483ec705fb6339e481527f2e6a6c88b20eecd02c1ec2b0154d3bba59b0f429aac1956ee81cea28214b7196818301526101a0830152825180840184527f27188ec9792bf29d81ceec5c249bb2b736ae0844be6954e55b71e6d1cc83dbd581527f1f35519c1d02549cb1883916501985cee5acd60d65423098d7bfbedb060d5c15818301526101c0830152825180840184527f0d131d17a863d1b8c580de3daaa9b2db4bafec94bc8cf7f938b2862897ecfcb781527f239a4ed4df51b3e7b8d0ed6601d6b3ddd36f8cfe5a8dca6c0bf519fd053c8e52818301526101e0830152825180840184527f05a0d344dcbd02bea6acff5c011d642f7904a1869cae2f2058163f07305bc0ce81527f23ec1edcaa244a5e10bb67f327a64b7d763b6ebf703a9efab4b43f3d025b4b7581830152610200830152825180840184527f26a043c8feec2b650aca9a4d01c03695028f8141a8dbbb2f324a7d7992ded6b181527f1d2423009b702d2a7407db0f12f77b00472c0a6f67b585bc2293ff3e6c1cc9c181830152610220830152825180840184527f0fc5bf9cc0c2731f10fbcd23c51651d8ac79f4f2913ea450a9bc9650fb05cb3881527f1eb327112d3d4680915309eb953d82ac47921027dc89ba914f83d39663eb425b81830152610240830152825180840184527f14cc2150916f412892dcd75efcc5aa2da33214ed3452e23cf604588acddeea4481527f1134a39331aa8bb2cf2a27dd82668aa34aa6f84695df48fd252db9447e97390181830152610260830152825180840184527f193d9924725390a4f0f09086e3b578a35e8fc91be6a8dc43345058d5187b2d0b81527f023e6d2627aa62fb44d78e3637f34ab51f82ad5bf90f7d1706ff85e6588fa85e81830152610280830152825180840184527f0fe7cf270c80d8c953574b9cd045788a23620a606eca8616fd7b0817272974b981527f026512584f1ffd93699d7c3d10cc1033f5d22a485056525a06b04f699345838e818301526102a0830152825180840184527f0f17eebdd648a22a2534c6f62afaf6c7825fa2ae41f98d398eec5758e92b5fa281527f0645f63ec34efb355d9c56043a633de3f41fd9af61a7d3ecf46a87e203007cc6818301526102c0830152825180840184527f0525a86d809801993377e82c6810d7124bb2f1995759aba65bf60b0c4fda8f3181527f1b8f05120eb2c53b2cad8099860699db5fc9dce89d1de77360d25f3b83d83baa818301526102e0830152825180840184527f0d1c51a0944e73b5bf5059109cfc7756b18ab597ee97fcdceb68e08e7a9325ec81527f2d0ebb65c43bb88f0e0af105cb368e35a8117262fa463c5e4a91e60a63285d5881830152610300830152825180840184527f237fc3d6ca839bf8fe66beb52f778994d8d05f3496301df3cb1030649802eb1881527f1013ad0339d32e695efdc9e28675f47f332bda5954966f00469214f4ee763b8481830152610320830152825180840184527f0c124a2788b4e0e45ebc1003affc7b699ea00567da3fa1f4bef7f9f97698340481527f0655bd829b537acf9fdc36831274395bdd5d3c181d2e84ddd3dfa1192c5f518481830152610340830152825180840184527f2664e1b3d5bd93796c3e968511ad456c3b10db55de4e939e1a8eb6279d99ea9a81527f2a8a81f4857a08db4de35ca43cc4e145c8719ce30616be286b5a565e4ee99e9c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f10e0775469485c408ab9b0f95d6b3fd5dcaeced274c1a3ba0105915195dc046283527f21369c8875c1b7ede3133157e0412ce94cbf2ad6e7b5c3e666fb0b04fc5cf855908301526103a081019190915290565b61187a614a85565b608082146118c55760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064015b60405180910390fd5b6040805160808101909152806118de60205f8688614d90565b6118e791614e09565b81526020908101906118fd906040908688614d90565b61190691614e09565b8152602001611919606060408688614d90565b61192291614e09565b8152602001611935608060608688614d90565b61193e91614e09565b90529392505050565b5f6020821461198f5760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064016118bc565b61199c61053e8385614e09565b9392505050565b6119ab614aa9565b5f6119ba8989898989896127d8565b6040860191909152602085019190915290835292506119d9838a612bfa565b608085019190915260608401919091529199919850909650505050505050565b611a01614ad9565b5f611a0a614af8565b84815260e0848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608080870191909152880180515160a0870152805183015160c08701528051820151948601949094529251909101516101008401529051611aa191611a8691849101614e26565b60405160208183030381529060405280519060200120611f8b565b9150611aac82612cc5565b6020850152835260015b611ac260026019614e6e565b811015611b4257611adf83604051602001611a8691815260200190565b9250611aea83612cc5565b85611af6846002614d79565b60198110611b0657611b06614dca565b6020020186611b16856002614d79565b611b21906001614db7565b60198110611b3157611b31614dca565b602002019190915252600101611ab6565b50611b5982604051602001611a8691815260200190565b91505f611b6583612cc5565b85611b7260016019614dde565b60198110611b8257611b82614dca565b60200201919091525050509250929050565b611b9c614b17565b5f805b601c811015611bee57611bbe84604051602001611a8691815260200190565b93505f611bca85612cc5565b8584601c8110611bdc57611bdc614dca565b60200201919091525050600101611b9f565b5090929050565b611bfd614b17565b5f805b601c811015611cc057611c11614af8565b8481525f5b6008811015611c7a5786610100015183601c8110611c3657611c36614dca565b60200201518160088110611c4c57611c4c614dca565b602002015182611c5d836001614db7565b60098110611c6d57611c6d614dca565b6020020152600101611c16565b50611c8f81604051602001611a869190614e26565b94505f611c9b86612cc5565b8685601c8110611cad57611cad614dca565b6020020191909152505050600101611c00565b50909391925050565b5f5f611cd3614b36565b8381525f5b6028811015611d26578561012001518160288110611cf857611cf8614dca565b602002015182611d09836001614db7565b60298110611d1957611d19614dca565b6020020152600101611cd8565b50611d3b81604051602001611a869190614e81565b91505f611d4783612cc5565b5096929550919350505050565b5f5f611d5e614b55565b8381525f5b611d6f6001601c614dde565b811015611ead5785610140015181601b8110611d8d57611d8d614dca565b60200201515182611d9f836004614d79565b611daa906001614db7565b606d8110611dba57611dba614dca565b602002015261014086015181601b8110611dd657611dd6614dca565b60200201516020015182826004611ded9190614d79565b611df8906002614db7565b606d8110611e0857611e08614dca565b602002015261014086015181601b8110611e2457611e24614dca565b60200201516040015182611e39836004614d79565b611e44906003614db7565b606d8110611e5457611e54614dca565b602002015261014086015181601b8110611e7057611e70614dca565b60200201516060015182611e85836004614d79565b611e90906004614db7565b606d8110611ea057611ea0614dca565b6020020152600101611d63565b50611d3b81604051602001611a869190614eb5565b5f5f611ecc614b74565b8381525f5b601c811015611f1f5785610160015181601c8110611ef157611ef1614dca565b602002015182611f02836001614db7565b601d8110611f1257611f12614dca565b6020020152600101611ed1565b50611d3b81604051602001611a869190614ee9565b5f5f611f3e614b93565b83815261018085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611d3b91611a8691849101614f1d565b5f611fa35f51602061505f5f395f51905f5283614f50565b92915050565b5f5f51602061505f5f395f51905f528284099392505050565b5f5f51602061505f5f395f51905f528284089392505050565b5f5f51602061505f5f395f51905f52612001835f51602061505f5f395f51905f52614dde565b84089392505050565b5f61199c83610543846122e2565b81515f90819061202a908560016107b1565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561211c57612112826105438784611fdb565b91506001016120fb565b50612125614bb1565b5f5b6008811015612186575f84826008811061214357612143614dca565b60200201519050612158816105438985611fdb565b9050612163816122e2565b90508083836008811061217857612178614dca565b602002015250600101612127565b505f5b60088110156121d9575f8782600881106121a5576121a5614dca565b602002015190506121c281848460088110610dc857610dc8614dca565b90506121ce8682611fc2565b955050600101612189565b5061070c8483611fa9565b5f5f6121fa600161054885610543896001611fdb565b90506122068482611fa9565b95945050505050565b5f612218614bd0565b612223868285612cf5565b61222f86868386612ea1565b61223b86868386613089565b612246868285613285565b61225186828561346d565b61225d868683866137b6565b612268868285614050565b61227386828561441b565b61070c8185614710565b612285614b17565b81815260015b601c8110156122dc576122bd826122a3600184614dde565b601c81106122b3576122b3614dca565b60200201516124bd565b8282601c81106122cf576122cf614dca565b602002015260010161228b565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061505f5f395f51905f520360808201525f51602061505f5f395f51905f5260a082015260205f60c08360055afa905080612340575f5ffd5b50505f519392505050565b612353614bef565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f611fa3825f51602061505f5f395f51905f52614dde565b6123aa614b17565b601c5b80156124b3575f846123c0600184614dde565b601c81106123d0576123d0614dca565b602002015190505f886123e4600185614dde565b601c81106123f4576123f4614dca565b602002015190505f61244f61241361240c858c611fa9565b6002611fa9565b6105668a612422600189614dde565b601c811061243257612432614dca565b60200201516105436124498861054360018a611fdb565b87611fdb565b90506124708161054361079761246a87610543600189611fdb565b86611fc2565b905085841161249f579750878085612489600187614dde565b601c811061249957612499614dca565b60200201525b505050806124ac90614f63565b90506123ad565b5095945050505050565b5f611fa38283611fa9565b6124d0614bef565b5f6124dd601c6028614db7565b6124e8906002614db7565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156125765760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa9092169160010161251d565b50805184526020810151602085015250505092915050565b612596614bef565b5f51602061503f5f395f51905f5282602001515f51602061503f5f395f51905f526125c19190614dde565b6125cb9190614f50565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161276a9190614f78565b5f60405180830381855afa9150503d805f81146127a2576040519150601f19603f3d011682016040523d82523d5f602084013e6127a7565b606091505b50915091505f818060200190518101906127c19190614f8e565b90508280156127cd5750805b979650505050505050565b5f808080806127e8876003614db7565b6127f390600c614db7565b6001600160401b0381111561280a5761280a614fad565b604051908082528060200260200182016040528015612833578160200160208202803683370190505b509050875f1b815f8151811061284b5761284b614dca565b602002602001018181525050865f1b8160018151811061286d5761286d614dca565b602002602001018181525050855f1b8160028151811061288f5761288f614dca565b60209081029190910101525f5b878110156128ee578a8a828181106128b6576128b6614dca565b90506020020135828260036128cb9190614db7565b815181106128db576128db614dca565b602090810291909101015260010161289c565b508a5151816128fe896003614db7565b8151811061290e5761290e614dca565b6020908102919091018101919091528b5101518161292d896003614db7565b612938906001614db7565b8151811061294857612948614dca565b60209081029190910101528a516040015181612965896003614db7565b612970906002614db7565b8151811061298057612980614dca565b60209081029190910101528a51606001518161299d896003614db7565b6129a8906003614db7565b815181106129b8576129b8614dca565b6020908102919091018101919091528b015151816129d7896003614db7565b6129e2906004614db7565b815181106129f2576129f2614dca565b6020908102919091018101919091528b810151015181612a13896003614db7565b612a1e906005614db7565b81518110612a2e57612a2e614dca565b6020908102919091018101919091528b01516040015181612a50896003614db7565b612a5b906006614db7565b81518110612a6b57612a6b614dca565b6020908102919091018101919091528b01516060015181612a8d896003614db7565b612a98906007614db7565b81518110612aa857612aa8614dca565b602090810291909101015260408b01515181612ac5896003614db7565b612ad0906008614db7565b81518110612ae057612ae0614dca565b60209081029190910181019190915260408c0151015181612b02896003614db7565b612b0d906009614db7565b81518110612b1d57612b1d614dca565b60209081029190910101526040808c0151015181612b3c896003614db7565b612b4790600a614db7565b81518110612b5757612b57614dca565b602090810291909101015260408b01516060015181612b77896003614db7565b612b8290600b614db7565b81518110612b9257612b92614dca565b602002602001018181525050612bb281604051602001611a869190614fc1565b9150612bbd82612cc5565b6040805160208101869052929750909550612bd89101611a86565b91505f612be483612cc5565b50959c949b509499509097509195505050505050565b5f5f5f612c05614c07565b85815260a0858101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260c0808a0180515195870195909552845183015190860152835181015160e086015292518201516101008501528188018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612cab91611a8691849101614ff6565b9150612cb682612cc5565b90979096509194509092505050565b5f80826001600160801b038116608082901c612ce082611f8b565b9450612ceb81611f8b565b9350505050915091565b5f612d01846007614775565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612d62612d5c612d36856003611fdb565b610543612d51612d468b5f614775565b6105438c601c614775565b6105438b601b614775565b83611fa9565b9050612de3612dd8612dbf612da6612d8d85610548612d828d6002614775565b6105438e601b614775565b610548612d9b8c6003614775565b6105438d601c614775565b610548612db48b6004614775565b6105438c601d614775565b610548612dcd8a6005614775565b6105438b601e614775565b610548886001614775565b9050612e0281610548612df7866001611fdb565b6105438a6026614775565b9050612e0e8184611fa9565b9050612e1a8185611fa9565b8552505f9050612e54612e4a612e3f612e3488601b614775565b61054889601e614775565b610566886023614775565b610548875f614775565b9050612e6581610543846002611fdb565b9050612e7681610543846001611fdb565b9050612e828183611fa9565b9050612e8e8184611fa9565b9050808460015b60200201525050505050565b5f5f5f612ed7612ecd612eb589601b614775565b610548612ec38b6011614775565b8a60600151611fa9565b8760800151611fc2565b9050612f1081610543612f06612eee8b601c614775565b610548612efc8d6012614775565b8c60600151611fa9565b8960800151611fc2565b9050612f3581610543612f06612f278b601d614775565b610548612efc8d6013614775565b9050612f5a81610543612f06612f4c8b601e614775565b610548612efc8d6014614775565b92505f9050612f7e612ecd612f7089601b614775565b610548612ec38b600d614775565b9050612fa381610543612f06612f958b601c614775565b610548612efc8d600e614775565b9050612fc881610543612f06612fba8b601d614775565b610548612efc8d600f614775565b9050612fed81610543612f06612fdf8b601e614775565b610548612efc8d6010614775565b91505f905061301461300e61300389601f614775565b6105488a6019614775565b84611fa9565b90506130498161056661304361302b8b6027614775565b6105486130398d601a614775565b8c60a00151611fa9565b85611fa9565b90506130558185611fa9565b6040860152505f61307861304361306d89601a614775565b6105438a6027614775565b606090950194909452505050505050565b5f5f6130e76130cf6130b76130a2612f068a6015614775565b6105486130b08b6016614775565b8a51611fa9565b6105486130c58a6017614775565b8960200151611fa9565b6105486130dd896018614775565b8860400151611fa9565b91505f61311e6131056130fb89601b614775565b8860800151611fc2565b6105486131138a6003614775565b6105438b6023614775565b90505f61314761312f89601c614775565b61054861313c8b5f614775565b6105438c6024614775565b90505f6131716131588a601d614775565b6105486131668c6001614775565b6105438d6025614775565b90506131b061319861318a85610548868d5f0151611fa9565b610548848c60200151611fa9565b6105486131a68c6004614775565b8b60400151611fa9565b93505050505f6131c461300e886020614775565b90505f6131d561300e896020614775565b90505f61320d6131f46131e98b6022614775565b6105488c6006614775565b6105666132028c6022614775565b6105438d6006614775565b90505f61323161322b6132208789611fa9565b6105438d6020614775565b83611fdb565b905061323d8188611fa9565b90505f6132656132576132518d6006614775565b87611fa9565b6105666132518e6021614775565b60808a018390529050808960055b60200201525050505050505050505050565b5f6132915f6001611fdb565b90505f61329f5f6002611fdb565b90505f6132ad5f6003611fdb565b90505f6132c96132be88601c614775565b61056689601b614775565b90505f6132e56132da89601d614775565b6105668a601c614775565b90505f6133016132f68a601e614775565b6105668b601d614775565b90505f61331d6133128b6023614775565b6105668c601e614775565b90508361332e81610543818b611fc2565b905061333e81610543878a611fc2565b905061334e816105438789611fc2565b905061335f816105438d6008614775565b905061336b818a611fa9565b60c08b0152508261338081610543818b611fc2565b905061339081610543868a611fc2565b90506133a0816105438689611fc2565b90506133b1816105438d6008614775565b90506133bd818a611fa9565b60e08b015250816133d281610543818b611fc2565b90506133e281610543858a611fc2565b90506133f2816105438589611fc2565b9050613403816105438d6008614775565b905061340f818a611fa9565b6101008b0152508061342581610543818b611fc2565b905061343581610543848a611fc2565b9050613445816105438489611fc2565b9050613456816105438d6008614775565b9050613462818a611fa9565b9050808a6009613273565b6134a66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6134b184601c614775565b81526134be84601d614775565b60208201526134ce846023614775565b60408201526134de846026614775565b60608201526134ee846025614775565b60808201526134fe846024614775565b60a08201525f61350f856002614775565b90505f61351c865f614775565b90505f6135308460400151855f0151611fdb565b90505f61354585602001518660200151611fa9565b606086015190915086905f9061355b9080611fa9565b90505f61357961357389602001518a60600151611fa9565b88611fa9565b90505f6135986135918a60a001518b60400151611fc2565b8a51611fc2565b90506135a76132518288611fa9565b90506135ce6135c86135c26135bc8487611fdb565b88611fdb565b84611fc2565b83611fc2565b90506135f66135eb6135e08387611fa9565b6105438f6009614775565b61054360018a611fdb565b6101408c015250505050602085015160808601515f9161361591611fc2565b90505f613633613629886060015188611fa9565b8860200151611fdb565b90505f6136576136438487611fa9565b6105486130438b60a001518c5f0151611fdb565b905061367f613674613669838c611fa9565b6105438e6009614775565b610543600189611fdb565b6101608b0152505f91506136a09050613699836011611fc2565b8751611fa9565b90505f6136ad8384611fc2565b90506136b98182611fc2565b90505f6136c7836009611fa9565b90506136f06136ea61300e6136e38b60a001518c5f0151611fc2565b8b51611fc2565b82611fdb565b60c089018190525f9061370b90613573906135e0908d611fa9565b905061371e8b600a602002015182611fc2565b6101408c0152505086515f925061374591506136999061373e9080611fc2565b8851611fc2565b90505f613785613760836105438a5f01518b60a00151611fdb565b6020890151610566906137739080611fc2565b6105438b602001518c60800151611fc2565b90506137a289600b60200201516105486135736135e0858d611fa9565b89600b602002015250505050505050505050565b61384a604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61387f61386661385b87601b614775565b610543886024614775565b610548613874886023614775565b61054389601c614775565b81526138c46138b96138a061389588601b614775565b61054389601e614775565b6105486138ae89601c614775565b6105438a601d614775565b610566876025614775565b604082018190526138d990600160441b611fa9565b604082018190526138ef90610566876026614775565b6040820181905281516139029190611fc2565b6040820181905261391890610543876005614775565b6040820152805161392d90600160441b611fa9565b80825261394d90610548613942886023614775565b610543896024614775565b8082526020820181905261396990610566612e3488601d614775565b6020820181905261397f90610543876004614775565b602082015280516060820181905261399c9061054887601e614775565b606082018190526139c0906105666139b5886025614775565b610548896026614775565b606082018190526139d590610543875f614775565b8160600181815250505f6139fe6139f483602001518460400151611fc2565b8360600151611fc2565b9050613a0f81610543886003614775565b9050613a27613a1f876024614775565b614000611fa9565b60808301819052613a3d90610548886023614775565b60808301819052613a5090614000611fa9565b60808301819052613a669061054888601d614775565b60808301819052613a7990614000611fa9565b60808301819052613a8f9061054888601c614775565b60808301819052613aa290614000611fa9565b60808301819052613ab89061054888601b614775565b60808301819052613ace9061056688601e614775565b60808301819052613ae490610543886005614775565b6080830152613af7613a1f876025614775565b60a08301819052613b0d90610548886024614775565b60a08301819052613b2090614000611fa9565b60a08301819052613b3690610548886023614775565b60a08301819052613b4990614000611fa9565b60a08301819052613b5f9061054888601e614775565b60a08301819052613b7290614000611fa9565b60a08301819052613b889061054888601d614775565b60a08301819052613b9e90610566886026614775565b60a08301819052613bb390610543885f614775565b60a0830181905260808301515f91613bcb9190611fc2565b9050613bdc81610543896004614775565b9050613bf6613bec88601d614775565b8760400151611fa9565b60c08401819052613c0f906105486130c58a601c614775565b60c08401819052613c2f90610548613c288a601b614775565b8951611fa9565b60c08401819052613c4590610548896001614775565b60c0840181905260e08401819052613c629061056689601e614775565b60c0840152613c756132be886023614775565b610140840152613c94613c89886026614775565b61056689601e614775565b610120840152610140830151613cb990613cae9080611fa9565b846101400151611fdb565b610280840152610140830151613cfb90613cf090613ce99061054360015f51602061505f5f395f51905f52614dde565b6001611fc2565b846101200151611fa9565b6101608401819052613d3290613d2490610543613d198b6002614775565b6105438c6003614775565b6105436132518a600a614775565b6101a0860152610280830151613d5490613d2490610543613d198b6002614775565b6101c086015260c0830151613d7c90610543613d718a6002614775565b6105438b6003614775565b6101e08401525f613d9b613d9189601e614775565b8560e00151611fdb565b9050613daa6136ea8283611fa9565b6101a0850152613dbe6130dd896025614775565b6101008501819052613de290610548613dd88b6024614775565b8a60200151611fa9565b6101008501819052613dfc906105486130b08b6023614775565b610100850152613e1b613e10896026614775565b856101000151611fdb565b6101008501525f613e306132f68a6025614775565b9050613e84613e5e612d5c613ce988610140015160015f51602061505f5f395f51905f526105439190614dde565b610543613ce988610100015160015f51602061505f5f395f51905f526105439190614dde565b610180860152610100850151613ea990613e9e9080611fa9565b866101000151611fdb565b6101c0860152610180850151613edc90613ec8906105438c6007614775565b610543613ed68c600a614775565b89611fa9565b6101e0880152610280850151613efb90613ec8906105438c6007614775565b6102008801526101c0850151613f1a90613ec8906105438c6007614775565b6102208801526101a0850151613f35906105438b6007614775565b610200860152613f54613f498a6024614775565b6105668b601c614775565b610220860152610140850151613f93906132f690613f8890613ce99061054360015f51602061505f5f395f51905f52614dde565b876102200151611fa9565b61024086018190526101e08601516102608701819052613fca9161054890610543613fbf8e6005614775565b6105438f6002614775565b610260860181905260c0860151613fed919061054890610543613fbf8e5f614775565b61026086018190526102008601516140059190611fc2565b610260860181905261401b906135c29086611fc2565b6102a0860181905261403590610543613ed68c600a614775565b6102a0860181905287600c6020020152505050505050505050565b6140c66040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6140df6140d485601b614775565b610548866002614775565b81526140fa6140ef85601c614775565b610548866003614775565b602082015261411861410d85601d614775565b610548866004614775565b604082015261413661412b85601e614775565b610548866005614775565b60608201528051614168906141619061415a906141539080611fa9565b8451611fa9565b8351611fa9565b8251611fa9565b608082015260208101516141a69061419c90614192906141889080611fa9565b8460200151611fa9565b8360200151611fa9565b8260200151611fa9565b60a082015260408101516141e4906141da906141d0906141c69080611fa9565b8460400151611fa9565b8360400151611fa9565b8260400151611fa9565b60c08201526060810151614222906142189061420e906142049080611fa9565b8460600151611fa9565b8360600151611fa9565b8260600151611fa9565b60e0820152608081015160a082015161423b9190611fc2565b61010082015260c081015160e08201516142559190611fc2565b61012082015260a08101516142799061426e9080611fc2565b826101200151611fc2565b61014082015260e081015161429d906142929080611fc2565b826101000151611fc2565b6101608201526101208101516142b39080611fc2565b6101e082018190526142d4906142c99080611fc2565b826101600151611fc2565b6101e08201526101008101516142ea9080611fc2565b6101a0820181905261430b906143009080611fc2565b826101400151611fc2565b6101a0820181905261016082015161432291611fc2565b6101808201526101408101516101e082015161433e9190611fc2565b6101c0820152614352612d5c85600b614775565b610200820181905261024084015161018083015161437d9261054891610543906105668a6023614775565b83601260200201526143ad8360136020020151610548836102000151610543856101a001516105668a6024614775565b83601360200201526143dd8360146020020151610548836102000151610543856101c001516105668a6025614775565b836014602002015261440d8360156020020151610548836102000151610543856101e001516105668a6026614775565b836015602002015250505050565b61446d6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806144a27f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7611f8b565b81526020016144d07f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b611f8b565b81526020016144fd7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15611f8b565b815260200161452b7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b611f8b565b9052905061454861453d86601b614775565b610548876002614775565b610120830181905261457c9061457190613cf0906145669080611fa9565b856101200151611fa9565b836101200151611fa9565b825261458985601c614775565b602083015261459985601d614775565b60408301526145a985601e614775565b6060830152815160208301516145d1916139f4916145c79190611fc2565b8460400151611fc2565b60808301526145e461300e86600c614775565b6101408301528151614605906145fb90835f610dc8565b8360800151611fc2565b60a083015261463184601660200201516105488461014001516105438660a001516105668b6023614775565b6102c0850152602082015161464c906145fb90836001610dc8565b60c083015261467884601760200201516105488461014001516105438660c001516105668b6024614775565b6102e08501526040820151614693906145fb90836002610dc8565b60e08301526146bf84601860200201516105488461014001516105438660e001516105668b6025614775565b61030085015260608201516146da906145fb90836003610dc8565b61010083015261470884601960200201516105488461014001516105438661010001516105668b6026614775565b846019612e95565b5f61471c8184816107b1565b905060015b601a81101561476e57614764826105488684601a811061474357614743614dca565b602002015186614754600187614dde565b60198110610dc857610dc8614dca565b9150600101614721565b5092915050565b5f828260278111156147895761478961502a565b6028811061479957614799614dca565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f81526020016147cb614bef565b81526020016147d8614bef565b81526020016147e5614bef565b81526020016147f2614bef565b81526020016147ff614bef565b815260200161480c614bef565b8152602001614819614bef565b8152602001614826614bef565b8152602001614833614bef565b8152602001614840614bef565b815260200161484d614bef565b815260200161485a614bef565b8152602001614867614bef565b8152602001614874614bef565b8152602001614881614bef565b815260200161488e614bef565b815260200161489b614bef565b81526020016148a8614bef565b81526020016148b5614bef565b81526020016148c2614bef565b81526020016148cf614bef565b81526020016148dc614bef565b81526020016148e9614bef565b81526020016148f6614bef565b8152602001614903614bef565b8152602001614910614bef565b815260200161491d614bef565b905290565b604051806101c00160405280614936614a85565b8152602001614943614a85565b8152602001614950614a85565b815260200161495d614a85565b815260200161496a614a85565b8152602001614977614a85565b8152602001614984614a85565b8152602001614991614a85565b815260200161499e614c26565b81526020016149ab614c54565b81526020016149b8614c73565b81526020016149c5614b17565b81526020016149d2614a85565b815260200161491d614a85565b6040518061010001604052806149f3614aa9565b8152602001614a00614ad9565b8152602001614a0d614b17565b8152602001614a1a614b17565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614a6f614bef565b815260200190600190039081614a675790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b604051806103800160405280601c905b614c3e614bb1565b815260200190600190039081614c365790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614c8b614a85565b815260200190600190039081614c835790505090565b5f5f5f5f60408587031215614cb4575f5ffd5b84356001600160401b03811115614cc9575f5ffd5b8501601f81018713614cd9575f5ffd5b80356001600160401b03811115614cee575f5ffd5b876020828401011115614cff575f5ffd5b6020918201955093508501356001600160401b03811115614d1e575f5ffd5b8501601f81018713614d2e575f5ffd5b80356001600160401b03811115614d43575f5ffd5b8760208260051b8401011115614d57575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417611fa357611fa3614d65565b5f5f85851115614d9e575f5ffd5b83861115614daa575f5ffd5b5050820193919092039150565b80820180821115611fa357611fa3614d65565b634e487b7160e01b5f52603260045260245ffd5b81810381811115611fa357611fa3614d65565b5f60018201614e0257614e02614d65565b5060010190565b80356020831015611fa3575f19602084900360031b1b1692915050565b5f8183825b6009811015614e4a578151835260209283019290910190600101614e2b565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82614e7c57614e7c614e5a565b500490565b5f8183825b6029811015614ea5578151835260209283019290910190600101614e86565b5050506105208201905092915050565b5f8183825b606d811015614ed9578151835260209283019290910190600101614eba565b505050610da08201905092915050565b5f8183825b601d811015614f0d578151835260209283019290910190600101614eee565b5050506103a08201905092915050565b5f8183825b6005811015614f41578151835260209283019290910190600101614f22565b50505060a08201905092915050565b5f82614f5e57614f5e614e5a565b500690565b5f81614f7157614f71614d65565b505f190190565b5f82518060208501845e5f920191825250919050565b5f60208284031215614f9e575f5ffd5b8151801515811461199c575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b82811015614feb578151845260209384019390910190600101614fcd565b509195945050505050565b5f8183825b600d81101561501a578151835260209283019290910190600101614ffb565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
5
5
  /**
6
6
  * HonkVerifier link references.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,yuwCAAyuwC,CAAC;AAC3wwC;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
1
+ {"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,y7wCAAy7wC,CAAC;AAC39wC;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
- */ export const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a0526103dc60c05260805160a05160c05161500f6100625f395f61057101525f818161061d0152818161077001528181610be90152610d3701525f61051a015261500f5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614c31565b610054565b604051901515815260200160405180910390f35b5f6100626101b86020614d09565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a610198565b90505f61009787876101ad565b604083015190915084146100be5760405163fa06659360e01b815260040160405180910390fd5b5f6100d5828787865f015187604001516001610455565b90506101238686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508451606081015160809091015190925090506001610504565b815160a001525f6101348383610615565b905080610154576040516313f8744360e31b815260040160405180910390fd5b5f610160848685610716565b905080610180576040516352ec174560e11b815260040160405180910390fd5b81801561018a5750805b9a9950505050505050505050565b6101a0614735565b6101a8610eac565b905090565b6101b56148b2565b6101ca6101c560805f8587614d20565b611793565b81526101de6101c561010060808587614d20565b60208201526101f66101c56101806101008587614d20565b604082015261020e6101c56102006101808587614d20565b60a08201526102266101c56102806102008587614d20565b60c082015261023e6101c56103006102808587614d20565b60608201526102566101c56103806103008587614d20565b60e082015261026e6101c56104006103808587614d20565b60808201526104005f5b601c811015610305575f5b60088110156102fc576102af86848761029d826020614d47565b926102aa93929190614d20565b611868565b84610100015183601c81106102c6576102c6614d5a565b602002015182600881106102dc576102dc614d5a565b6020020181815250506020836102f29190614d47565b9250600101610283565b50600101610278565b505f5b60288110156103595761032285838661029d826020614d47565b836101200151826028811061033957610339614d5a565b60200201818152505060208261034f9190614d47565b9150600101610308565b505f5b6103686001601c614d6e565b8110156103be5761038d858386610380826080614d47565b926101c593929190614d20565b83610140015182601b81106103a4576103a4614d5a565b60200201526103b4608083614d47565b915060010161035c565b505f5b601c811015610412576103db85838661029d826020614d47565b83610160015182601c81106103f2576103f2614d5a565b6020020181815250506020826104089190614d47565b91506001016103c1565b50610424848285610380826080614d47565b610180830152610435816080614d47565b9050610448848285610380826080614d47565b6101a08301525092915050565b61045d61496f565b5f61046d888888888888876118c4565b908352905061047c818961191a565b6020840191909152905061048f81611ab5565b604084019190915290506104a38882611b16565b606084019190915290506104b78882611bea565b608084019190915290506104cb8882611c75565b60a084019190915290506104df8882611de3565b60c084019190915290506104f38882611e55565b5060e0830152509695505050505050565b5f6001808261054d866105488961054361053e8a7f0000000000000000000000000000000000000000000000000000000000000000614d47565b611eac565b611eca565b611ee3565b90505f61056b876105668a61054361053e8b6001614d47565b611efc565b90505f5b7f00000000000000000000000000000000000000000000000000000000000000008110156105fd575f6105ba8b83815181106105ad576105ad614d5a565b6020026020010151611eac565b90506105ca866105438684611ee3565b95506105da856105438584611ee3565b94506105e6848b611ee3565b93506105f2838b611efc565b92505060010161056f565b506106088484611f2b565b9998505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156106ec575f86610100015182601c811061065b5761065b614d5a565b602002015190505f61066d8286611f39565b90508061068d576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106106a4576106a4614d5a565b602002015190506106b58382611f5c565b95506106dc886040015185601c81106106d0576106d0614d5a565b6020020151868361210b565b945050505080600101905061061b565b505f610706866101200151865f0151876020015185612136565b90508281145b9695505050505050565b5f6107446040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b5f6107528460a001516121a4565b905061075c6149c8565b6107646149e7565b5f6107948760e00151857f0000000000000000000000000000000000000000000000000000000000000000612209565b805160c08901519192506107b491610548908460015b6020020151611eca565b855260a08701516107e0906107c890612299565b825160c08a01516105439190610566908660016107aa565b6020860152600183526101808901516107f890612302565b82526001606086018190525f60808701525b602381116108b05761082b610821875f0151612341565b8760600151611eca565b84826046811061083d5761083d614d5a565b602002015260808601516101208b0151610880919061054890610861600186614d6e565b6028811061087157610871614d5a565b60200201518960600151611eca565b86608001818152505061089b86606001518960800151611eca565b60608701526108a981614d81565b905061080a565b505f6108be60236001614d47565b90505b6028811161093f576108d96108218760200151612341565b8482604681106108eb576108eb614d5a565b602002015260808601516101208b015161090f919061054890610861600186614d6e565b86608001818152505061092a86606001518960800151611eca565b606087015261093881614d81565b90506108c1565b50606088015182600160200201526080880151826002602002015260a0880151826003602002015260c0880151826004602002015260e0880151826005602002015261010088015182600660200201526101208801518260076020020152610140880151826008602002015261016088015182600960200201526101a088015182600a602002015261018088015182600b60200201526101c088015182600c60200201526101e088015182600d602002015261020088015182600e602002015261022088015182600f60200201526102408801518260106020020152610260880151826011602002015261028088015182601260200201526102a088015182601360200201526102c088015182601460200201526102e08801518260156020020152610300880151826016602002015261032088015182601760200201526103408801518260186020020152610360880151826019602002015261038088015182601a60200201526103a088015182601b60200201528851610ac090612302565b6103808301526020890151610ad490612302565b6103a08301526040890151610ae890612302565b6103c08301526060890151610afc90612302565b6103e08301526080890151610b1090612302565b61040083015260e0890151610b2490612302565b61042083015260a0890151610b3890612302565b61044083015260c0890151610b4c90612302565b6104608301528851610b5d90612302565b6104808301526020890151610b7190612302565b6104a08301526040890151610b8590612302565b6104c08301526060890151610b9990612302565b6104e08301526080890151610bad90612302565b6105008301525f604086015260c0870151610bc790612359565b60608601525f5b610bda6001601c614d6e565b811015610d1f575f610c0d60017f0000000000000000000000000000000000000000000000000000000000000000614d6e565b82101590505f81610c76576060880151610c3d9085610c2d866002614d47565b601d81106107aa576107aa614d5a565b9050610c4881612341565b8684610c5660286001614d47565b610c609190614d47565b60468110610c7057610c70614d5a565b60200201525b610ca58860400151610548838f6101600151876001610c959190614d47565b601c81106107aa576107aa614d5a565b6040890152606088015160c08b0151610cbe9190611eca565b60608901526101408c0151610ce89084601b8110610cde57610cde614d5a565b6020020151612302565b8584610cf660286001614d47565b610d009190614d47565b60468110610d1057610d10614d5a565b60200201525050600101610bce565b505f610d5b886060015187608001518c6101600151887f0000000000000000000000000000000000000000000000000000000000000000612364565b6040870151909150610d729061054883855f6107aa565b604087018190526101608b01515160c08a0151610da0929161054891610d989190611eca565b8560016107aa565b6040808801919091528051808201909152600181526002602082015283610dc9601c6028614d47565b60468110610dd957610dd9614d5a565b6020020152604086015184610df0601c6028614d47565b60468110610e0057610e00614d5a565b60200201526101a08a01515f90610e1690612302565b90508084610e26601c6028614d47565b610e31906001614d47565b60468110610e4157610e41614d5a565b602002015260e089015185610e58601c6028614d47565b610e63906001614d47565b60468110610e7357610e73614d5a565b60200201525f610e83858761245e565b90505f610e8f83612524565b9050610e9b828261256a565b9d9c50505050505050505050505050565b610eb4614735565b50604080516103c0810182526302000000815260196020808301919091526103dc82840152825180840184527f170ae417ca2c02644887ea808eb720c8cfeee5ab7be7720ed81ef5d129cb2ecc81527f0e342aae70485daf8370c3b189e97affef36102109d1dea6f515d68c62abba52818301526060830152825180840184527f2dd0a65306089e15225e0237f021ac878f480f9dee84c950937b6d29a59a2d3481527f245fa29fb5ee8683e6f1106b15c123681f2fba7bbdd13da6124d09ccc37a1ef3818301526080830152825180840184527f0d2fd0a2f349dd4aa92b80b8bed4239c4993c1693cfcf2bc11e6cbadc7b8070d81527f1f388f8e48dea3ee46177870437c9833e1ad1998b1df56be85951ac7793151058183015260a0830152825180840184527f1e83f67c5e99b6e5bf90accc791cffd78e3a3864c8bfb344b0bd9a7156d0746f81527f158da79ca584639e09d5caa10a36da2b4ae414eb37468b3bc5a1234b001d282a8183015260c0830152825180840184527f0feb5d2db08673885f2c11dc08d2515fa44677b1f21799b028a467eb8e5adc0081527f2bbd3085e5c1ba5f6f115e53dde9b5510e00c2d7072ae08b597da80199f297108183015260e0830152825180840184527f2d8a16f66544c41c2cbe0ec556c4202fbc9c845d0c582e0c2c7eda9d3e3b4b2c81527f18564b2edfb722ffab4d570365358384956fadf32bed0ba73cb206cb74f8b9c381830152610100830152825180840184527f035d97a928b728d4f4d460c4bdcf11ea8c8bd382f233fe512c394b0b6da9152481527f26961d0bf338d36d2b5ec2f59675073ad262b9bacae3bc100ea54158e763f64781830152610120830152825180840184527f2f5e221634ec73c973188b8b9e5b5bae4a39a68463bacb7ff3a99a1ac0c4d7de81527f21c0f601e76949e2bad6a938d5e08033aa593cf7884d26c132a97c8c158eb68881830152610140830152825180840184527f30520768a30d6d1b34815f23061de8980b2ea06f0173beea5af27369bf55726581527f0ea904ddddde2bd7ea42eeffc2fe7edb30dd4dbdc37aaf48a250d7797281eba881830152610160830152825180840184527f082db83a04d5433d8a4a21b0d0f82a94bb0449c73de30917f6a40e5c6e44919681527f2b4df619057277586e21631662a55913af095874d060fa00e46b9ccb115cb0b581830152610180830152825180840184527f0251580daa93e711615e92ae748fc5854a5c41c60e62a380da7873cd2282502481527f02c4d14b060f4519d63cff8d60e7efcd2eb2b94b4b83c48485f30c5666f6dcbb818301526101a0830152825180840184527f1339014f6f2889e23508cadddc9feaeca4940ed1e5e031b3f5a2b9c93a28267d81527f03e8b6c1dd6429f3638c3d26c7bc59635f4f8500dc6801c59bdcf30617f1e8e1818301526101c0830152825180840184527f020be7bbc39cc7b00a92540ebd16dd0117bd96341997fe0672328bb8b82b656a81527e9550756bcb6ba62b6f90c9f9dae8ee28483b31530f6f8c05cfb4844381e743818301526101e0830152825180840184527f2e6eb1f4caad430c818e876bf5dfbfdba2493da7357d0dfdfb32812c8aa6414b81527f19155dd78b98df52804d5fe08999f08ac20926917d9a4b9b937e298fc2faedc781830152610200830152825180840184527f25c2da1e5c1bd4a6670d0f2997776f845d5645a7f4b089806972253258e5525981527f1a1cabdc54707581f5261d0110b89bd91ffa0c91bf81e471cf2fef4a85c4ec3781830152610220830152825180840184527f11072d17565b328651e22bced432a5c0414d4a0ee0a507b0b0aeabbd7d2f736681527f25f8aa1a0768405519262de020986005e3baabcb6389a1f38693e83e78f4f31e81830152610240830152825180840184527f2dfccf3249bd611011ba0fd646b99164fe8adc9339c8b8199cf4bb90ec63f37081527f29c045f85b437f1a2c66308a4d2df3a1397d0eb15ebcf8e7b6e55be1b1b9d64881830152610260830152825180840184527f2d84a3830fee6da0db5d7c52dce5d0be3d413e02ad3cda17344ab35ed58cfb3281527f2af8ad04900c9c6ce3efbb743c445a4f5895768e30ff14284d4d30084d5b62f481830152610280830152825180840184527f1cd2596b4e06e770ee9be4dad89d32a6d51b5c65e3dc188c236db76a3190356081527f2476ca07897364f7c86a535b4498fe10fd2d0d5971f4a698595fff4830563905818301526102a0830152825180840184527f2eac895d2f963002a9a4f1e670fdffdf928116032d35e5da0e003c96f3605ed281527f2f150d7aff30876edc5534f079437fac1bb9aa36c565b425a1df1f18e7d3074b818301526102c0830152825180840184527f296ec08eef9a0f6a3b12ea70dd599e73b797939b439b6838dab23265af26d8ca81527f20e23635b2a109d6422ee1419ec9ef0b4bd586b9e212a4e8996138fa7e772fdf818301526102e0830152825180840184527f0d1c51a0944e73b5bf5059109cfc7756b18ab597ee97fcdceb68e08e7a9325ec81527f2d0ebb65c43bb88f0e0af105cb368e35a8117262fa463c5e4a91e60a63285d5881830152610300830152825180840184527f237fc3d6ca839bf8fe66beb52f778994d8d05f3496301df3cb1030649802eb1881527f1013ad0339d32e695efdc9e28675f47f332bda5954966f00469214f4ee763b8481830152610320830152825180840184527f0c124a2788b4e0e45ebc1003affc7b699ea00567da3fa1f4bef7f9f97698340481527f0655bd829b537acf9fdc36831274395bdd5d3c181d2e84ddd3dfa1192c5f518481830152610340830152825180840184527f2664e1b3d5bd93796c3e968511ad456c3b10db55de4e939e1a8eb6279d99ea9a81527f2a8a81f4857a08db4de35ca43cc4e145c8719ce30616be286b5a565e4ee99e9c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f11320cd8905bdbbf7b9808e52e7ad61b0d2b5ed1061e1f329a52269f9405afc183527f0118c026eca4c1a353a8c6e86d226dab2941ec5743d717f08130eca70a8c00a5908301526103a081019190915290565b61179b614a15565b608082146117e65760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064015b60405180910390fd5b6040805160808101909152806117ff60205f8688614d20565b61180891614d99565b815260209081019061181e906040908688614d20565b61182791614d99565b815260200161183a606060408688614d20565b61184391614d99565b8152602001611856608060608688614d20565b61185f91614d99565b90529392505050565b5f602082146118b05760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064016117dd565b6118bd61053e8385614d99565b9392505050565b6118cc614a39565b5f6118db89898989898961276e565b6040860191909152602085019190915290835292506118fa838a612b90565b608085019190915260608401919091529199919850909650505050505050565b611922614a69565b5f61192b614a88565b84815260e0848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608080870191909152880180515160a0870152805183015160c087015280518201519486019490945292519091015161010084015290516119c2916119a791849101614db6565b60405160208183030381529060405280519060200120611eac565b91506119cd82612c5b565b6020850152835260015b6119e360026019614dfe565b811015611a6357611a00836040516020016119a791815260200190565b9250611a0b83612c5b565b85611a17846002614d09565b60198110611a2757611a27614d5a565b6020020186611a37856002614d09565b611a42906001614d47565b60198110611a5257611a52614d5a565b6020020191909152526001016119d7565b50611a7a826040516020016119a791815260200190565b91505f611a8683612c5b565b85611a9360016019614d6e565b60198110611aa357611aa3614d5a565b60200201919091525050509250929050565b611abd614aa7565b5f805b601c811015611b0f57611adf846040516020016119a791815260200190565b93505f611aeb85612c5b565b8584601c8110611afd57611afd614d5a565b60200201919091525050600101611ac0565b5090929050565b611b1e614aa7565b5f805b601c811015611be157611b32614a88565b8481525f5b6008811015611b9b5786610100015183601c8110611b5757611b57614d5a565b60200201518160088110611b6d57611b6d614d5a565b602002015182611b7e836001614d47565b60098110611b8e57611b8e614d5a565b6020020152600101611b37565b50611bb0816040516020016119a79190614db6565b94505f611bbc86612c5b565b8685601c8110611bce57611bce614d5a565b6020020191909152505050600101611b21565b50909391925050565b5f5f611bf4614ac6565b8381525f5b6028811015611c47578561012001518160288110611c1957611c19614d5a565b602002015182611c2a836001614d47565b60298110611c3a57611c3a614d5a565b6020020152600101611bf9565b50611c5c816040516020016119a79190614e11565b91505f611c6883612c5b565b5096929550919350505050565b5f5f611c7f614ae5565b8381525f5b611c906001601c614d6e565b811015611dce5785610140015181601b8110611cae57611cae614d5a565b60200201515182611cc0836004614d09565b611ccb906001614d47565b606d8110611cdb57611cdb614d5a565b602002015261014086015181601b8110611cf757611cf7614d5a565b60200201516020015182826004611d0e9190614d09565b611d19906002614d47565b606d8110611d2957611d29614d5a565b602002015261014086015181601b8110611d4557611d45614d5a565b60200201516040015182611d5a836004614d09565b611d65906003614d47565b606d8110611d7557611d75614d5a565b602002015261014086015181601b8110611d9157611d91614d5a565b60200201516060015182611da6836004614d09565b611db1906004614d47565b606d8110611dc157611dc1614d5a565b6020020152600101611c84565b50611c5c816040516020016119a79190614e45565b5f5f611ded614b04565b8381525f5b601c811015611e405785610160015181601c8110611e1257611e12614d5a565b602002015182611e23836001614d47565b601d8110611e3357611e33614d5a565b6020020152600101611df2565b50611c5c816040516020016119a79190614e79565b5f5f611e5f614b23565b83815261018085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611c5c916119a791849101614ead565b5f611ec45f516020614fef5f395f51905f5283614ee0565b92915050565b5f5f516020614fef5f395f51905f528284099392505050565b5f5f516020614fef5f395f51905f528284089392505050565b5f5f516020614fef5f395f51905f52611f22835f516020614fef5f395f51905f52614d6e565b84089392505050565b5f6118bd8361054384612299565b81515f908190611f51908560015b6020020151611ee3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561204357612039826105438784611efc565b9150600101612022565b5061204c614b41565b5f5b60088110156120ad575f84826008811061206a5761206a614d5a565b6020020151905061207f816105438985611efc565b905061208a81612299565b90508083836008811061209f5761209f614d5a565b60200201525060010161204e565b505f5b6008811015612100575f8782600881106120cc576120cc614d5a565b602002015190506120e9818484600881106107aa576107aa614d5a565b90506120f58682611ee3565b9550506001016120b0565b5061070c8483611eca565b5f5f612121600161054885610543896001611efc565b905061212d8482611eca565b95945050505050565b5f61213f614b60565b61214a868285612c8b565b61215686868386612e37565b6121628686838661301f565b61216d86828561321b565b612178868285613403565b61218486868386613746565b61218f868285613fe0565b61219a8682856143ab565b61070c81856146a0565b6121ac614aa7565b81815260015b601c811015612203576121e4826121ca600184614d6e565b601c81106121da576121da614d5a565b6020020151612359565b8282601c81106121f6576121f6614d5a565b60200201526001016121b2565b50919050565b612211614b04565b8361222a61222582865f6020020151611efc565b612299565b82525f5b601c811015612290575f612243856001614d47565b821161226557612262612225848885601c8110611f4757611f47614d5a565b90505b8084612272846001614d47565b601d811061228257612282614d5a565b60200201525060010161222e565b50509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020614fef5f395f51905f520360808201525f516020614fef5f395f51905f5260a082015260205f60c08360055afa9050806122f7575f5ffd5b50505f519392505050565b61230a614b7f565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f611ec4825f516020614fef5f395f51905f52614d6e565b5f611ec48283611eca565b5f601c5b8015612453575f8461237b600184614d6e565b601c811061238b5761238b614d5a565b602002015190505f8861239f600185614d6e565b601c81106123af576123af614d5a565b602002015190505f876123c3600186614d6e565b601c81106123d3576123d3614d5a565b602002015190505f61240e6123f26123eb868d611eca565b6002611eca565b610566846105436124088961054360018b611efc565b88611efc565b905061242f816105436122256124298861054360018a611efc565b87611ee3565b90508685118061243d57819a505b50505050508061244c90614ef3565b9050612368565b509395945050505050565b612466614b7f565b5f612473601c6028614d47565b61247e906002614d47565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561250c5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa909216916001016124b3565b50805184526020810151602085015250505092915050565b61252c614b7f565b5f516020614fcf5f395f51905f5282602001515f516020614fcf5f395f51905f526125579190614d6e565b6125619190614ee0565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516127009190614f08565b5f60405180830381855afa9150503d805f8114612738576040519150601f19603f3d011682016040523d82523d5f602084013e61273d565b606091505b50915091505f818060200190518101906127579190614f1e565b90508280156127635750805b979650505050505050565b5f8080808061277e876003614d47565b61278990600c614d47565b6001600160401b038111156127a0576127a0614f3d565b6040519080825280602002602001820160405280156127c9578160200160208202803683370190505b509050875f1b815f815181106127e1576127e1614d5a565b602002602001018181525050865f1b8160018151811061280357612803614d5a565b602002602001018181525050855f1b8160028151811061282557612825614d5a565b60209081029190910101525f5b87811015612884578a8a8281811061284c5761284c614d5a565b90506020020135828260036128619190614d47565b8151811061287157612871614d5a565b6020908102919091010152600101612832565b508a515181612894896003614d47565b815181106128a4576128a4614d5a565b6020908102919091018101919091528b510151816128c3896003614d47565b6128ce906001614d47565b815181106128de576128de614d5a565b60209081029190910101528a5160400151816128fb896003614d47565b612906906002614d47565b8151811061291657612916614d5a565b60209081029190910101528a516060015181612933896003614d47565b61293e906003614d47565b8151811061294e5761294e614d5a565b6020908102919091018101919091528b0151518161296d896003614d47565b612978906004614d47565b8151811061298857612988614d5a565b6020908102919091018101919091528b8101510151816129a9896003614d47565b6129b4906005614d47565b815181106129c4576129c4614d5a565b6020908102919091018101919091528b015160400151816129e6896003614d47565b6129f1906006614d47565b81518110612a0157612a01614d5a565b6020908102919091018101919091528b01516060015181612a23896003614d47565b612a2e906007614d47565b81518110612a3e57612a3e614d5a565b602090810291909101015260408b01515181612a5b896003614d47565b612a66906008614d47565b81518110612a7657612a76614d5a565b60209081029190910181019190915260408c0151015181612a98896003614d47565b612aa3906009614d47565b81518110612ab357612ab3614d5a565b60209081029190910101526040808c0151015181612ad2896003614d47565b612add90600a614d47565b81518110612aed57612aed614d5a565b602090810291909101015260408b01516060015181612b0d896003614d47565b612b1890600b614d47565b81518110612b2857612b28614d5a565b602002602001018181525050612b48816040516020016119a79190614f51565b9150612b5382612c5b565b6040805160208101869052929750909550612b6e91016119a7565b91505f612b7a83612c5b565b50959c949b509499509097509195505050505050565b5f5f5f612b9b614b97565b85815260a0858101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260c0808a0180515195870195909552845183015190860152835181015160e086015292518201516101008501528188018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612c41916119a791849101614f86565b9150612c4c82612c5b565b90979096509194509092505050565b5f80826001600160801b038116608082901c612c7682611eac565b9450612c8181611eac565b9350505050915091565b5f612c97846007614705565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612cf8612cf2612ccc856003611efc565b610543612ce7612cdc8b5f614705565b6105438c601c614705565b6105438b601b614705565b83611eca565b9050612d79612d6e612d55612d3c612d2385610548612d188d6002614705565b6105438e601b614705565b610548612d318c6003614705565b6105438d601c614705565b610548612d4a8b6004614705565b6105438c601d614705565b610548612d638a6005614705565b6105438b601e614705565b610548886001614705565b9050612d9881610548612d8d866001611efc565b6105438a6026614705565b9050612da48184611eca565b9050612db08185611eca565b8552505f9050612dea612de0612dd5612dca88601b614705565b61054889601e614705565b610566886023614705565b610548875f614705565b9050612dfb81610543846002611efc565b9050612e0c81610543846001611efc565b9050612e188183611eca565b9050612e248184611eca565b9050808460015b60200201525050505050565b5f5f5f612e6d612e63612e4b89601b614705565b610548612e598b6011614705565b8a60600151611eca565b8760800151611ee3565b9050612ea681610543612e9c612e848b601c614705565b610548612e928d6012614705565b8c60600151611eca565b8960800151611ee3565b9050612ecb81610543612e9c612ebd8b601d614705565b610548612e928d6013614705565b9050612ef081610543612e9c612ee28b601e614705565b610548612e928d6014614705565b92505f9050612f14612e63612f0689601b614705565b610548612e598b600d614705565b9050612f3981610543612e9c612f2b8b601c614705565b610548612e928d600e614705565b9050612f5e81610543612e9c612f508b601d614705565b610548612e928d600f614705565b9050612f8381610543612e9c612f758b601e614705565b610548612e928d6010614705565b91505f9050612faa612fa4612f9989601f614705565b6105488a6019614705565b84611eca565b9050612fdf81610566612fd9612fc18b6027614705565b610548612fcf8d601a614705565b8c60a00151611eca565b85611eca565b9050612feb8185611eca565b6040860152505f61300e612fd961300389601a614705565b6105438a6027614705565b606090950194909452505050505050565b5f5f61307d61306561304d613038612e9c8a6015614705565b6105486130468b6016614705565b8a51611eca565b61054861305b8a6017614705565b8960200151611eca565b610548613073896018614705565b8860400151611eca565b91505f6130b461309b61309189601b614705565b8860800151611ee3565b6105486130a98a6003614705565b6105438b6023614705565b90505f6130dd6130c589601c614705565b6105486130d28b5f614705565b6105438c6024614705565b90505f6131076130ee8a601d614705565b6105486130fc8c6001614705565b6105438d6025614705565b905061314661312e61312085610548868d5f0151611eca565b610548848c60200151611eca565b61054861313c8c6004614705565b8b60400151611eca565b93505050505f61315a612fa4886020614705565b90505f61316b612fa4896020614705565b90505f6131a361318a61317f8b6022614705565b6105488c6006614705565b6105666131988c6022614705565b6105438d6006614705565b90505f6131c76131c16131b68789611eca565b6105438d6020614705565b83611efc565b90506131d38188611eca565b90505f6131fb6131ed6131e78d6006614705565b87611eca565b6105666131e78e6021614705565b60808a018390529050808960055b60200201525050505050505050505050565b5f6132275f6001611efc565b90505f6132355f6002611efc565b90505f6132435f6003611efc565b90505f61325f61325488601c614705565b61056689601b614705565b90505f61327b61327089601d614705565b6105668a601c614705565b90505f61329761328c8a601e614705565b6105668b601d614705565b90505f6132b36132a88b6023614705565b6105668c601e614705565b9050836132c481610543818b611ee3565b90506132d481610543878a611ee3565b90506132e4816105438789611ee3565b90506132f5816105438d6008614705565b9050613301818a611eca565b60c08b0152508261331681610543818b611ee3565b905061332681610543868a611ee3565b9050613336816105438689611ee3565b9050613347816105438d6008614705565b9050613353818a611eca565b60e08b0152508161336881610543818b611ee3565b905061337881610543858a611ee3565b9050613388816105438589611ee3565b9050613399816105438d6008614705565b90506133a5818a611eca565b6101008b015250806133bb81610543818b611ee3565b90506133cb81610543848a611ee3565b90506133db816105438489611ee3565b90506133ec816105438d6008614705565b90506133f8818a611eca565b9050808a6009613209565b61343c6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61344784601c614705565b815261345484601d614705565b6020820152613464846023614705565b6040820152613474846026614705565b6060820152613484846025614705565b6080820152613494846024614705565b60a08201525f6134a5856002614705565b90505f6134b2865f614705565b90505f6134c68460400151855f0151611efc565b90505f6134db85602001518660200151611eca565b606086015190915086905f906134f19080611eca565b90505f61350f61350989602001518a60600151611eca565b88611eca565b90505f61352e6135278a60a001518b60400151611ee3565b8a51611ee3565b905061353d6131e78288611eca565b905061355e6135586135526124088487611efc565b84611ee3565b83611ee3565b905061358661357b6135708387611eca565b6105438f6009614705565b61054360018a611efc565b6101408c015250505050602085015160808601515f916135a591611ee3565b90505f6135c36135b9886060015188611eca565b8860200151611efc565b90505f6135e76135d38487611eca565b610548612fd98b60a001518c5f0151611efc565b905061360f6136046135f9838c611eca565b6105438e6009614705565b610543600189611efc565b6101608b0152505f91506136309050613629836011611ee3565b8751611eca565b90505f61363d8384611ee3565b90506136498182611ee3565b90505f613657836009611eca565b905061368061367a612fa46136738b60a001518c5f0151611ee3565b8b51611ee3565b82611efc565b60c089018190525f9061369b9061350990613570908d611eca565b90506136ae8b600a602002015182611ee3565b6101408c0152505086515f92506136d59150613629906136ce9080611ee3565b8851611ee3565b90505f6137156136f0836105438a5f01518b60a00151611efc565b6020890151610566906137039080611ee3565b6105438b602001518c60800151611ee3565b905061373289600b6020020151610548613509613570858d611eca565b89600b602002015250505050505050505050565b6137da604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61380f6137f66137eb87601b614705565b610543886024614705565b610548613804886023614705565b61054389601c614705565b815261385461384961383061382588601b614705565b61054389601e614705565b61054861383e89601c614705565b6105438a601d614705565b610566876025614705565b6040820181905261386990600160441b611eca565b6040820181905261387f90610566876026614705565b6040820181905281516138929190611ee3565b604082018190526138a890610543876005614705565b604082015280516138bd90600160441b611eca565b8082526138dd906105486138d2886023614705565b610543896024614705565b808252602082018190526138f990610566612dca88601d614705565b6020820181905261390f90610543876004614705565b602082015280516060820181905261392c9061054887601e614705565b6060820181905261395090610566613945886025614705565b610548896026614705565b6060820181905261396590610543875f614705565b8160600181815250505f61398e61398483602001518460400151611ee3565b8360600151611ee3565b905061399f81610543886003614705565b90506139b76139af876024614705565b614000611eca565b608083018190526139cd90610548886023614705565b608083018190526139e090614000611eca565b608083018190526139f69061054888601d614705565b60808301819052613a0990614000611eca565b60808301819052613a1f9061054888601c614705565b60808301819052613a3290614000611eca565b60808301819052613a489061054888601b614705565b60808301819052613a5e9061056688601e614705565b60808301819052613a7490610543886005614705565b6080830152613a876139af876025614705565b60a08301819052613a9d90610548886024614705565b60a08301819052613ab090614000611eca565b60a08301819052613ac690610548886023614705565b60a08301819052613ad990614000611eca565b60a08301819052613aef9061054888601e614705565b60a08301819052613b0290614000611eca565b60a08301819052613b189061054888601d614705565b60a08301819052613b2e90610566886026614705565b60a08301819052613b4390610543885f614705565b60a0830181905260808301515f91613b5b9190611ee3565b9050613b6c81610543896004614705565b9050613b86613b7c88601d614705565b8760400151611eca565b60c08401819052613b9f9061054861305b8a601c614705565b60c08401819052613bbf90610548613bb88a601b614705565b8951611eca565b60c08401819052613bd590610548896001614705565b60c0840181905260e08401819052613bf29061056689601e614705565b60c0840152613c05613254886023614705565b610140840152613c24613c19886026614705565b61056689601e614705565b610120840152610140830151613c4990613c3e9080611eca565b846101400151611efc565b610280840152610140830151613c8b90613c8090613c799061054360015f516020614fef5f395f51905f52614d6e565b6001611ee3565b846101200151611eca565b6101608401819052613cc290613cb490610543613ca98b6002614705565b6105438c6003614705565b6105436131e78a600a614705565b6101a0860152610280830151613ce490613cb490610543613ca98b6002614705565b6101c086015260c0830151613d0c90610543613d018a6002614705565b6105438b6003614705565b6101e08401525f613d2b613d2189601e614705565b8560e00151611efc565b9050613d3a61367a8283611eca565b6101a0850152613d4e613073896025614705565b6101008501819052613d7290610548613d688b6024614705565b8a60200151611eca565b6101008501819052613d8c906105486130468b6023614705565b610100850152613dab613da0896026614705565b856101000151611efc565b6101008501525f613dc061328c8a6025614705565b9050613e14613dee612cf2613c7988610140015160015f516020614fef5f395f51905f526105439190614d6e565b610543613c7988610100015160015f516020614fef5f395f51905f526105439190614d6e565b610180860152610100850151613e3990613e2e9080611eca565b866101000151611efc565b6101c0860152610180850151613e6c90613e58906105438c6007614705565b610543613e668c600a614705565b89611eca565b6101e0880152610280850151613e8b90613e58906105438c6007614705565b6102008801526101c0850151613eaa90613e58906105438c6007614705565b6102208801526101a0850151613ec5906105438b6007614705565b610200860152613ee4613ed98a6024614705565b6105668b601c614705565b610220860152610140850151613f239061328c90613f1890613c799061054360015f516020614fef5f395f51905f52614d6e565b876102200151611eca565b61024086018190526101e08601516102608701819052613f5a9161054890610543613f4f8e6005614705565b6105438f6002614705565b610260860181905260c0860151613f7d919061054890610543613f4f8e5f614705565b6102608601819052610200860151613f959190611ee3565b6102608601819052613fab906135529086611ee3565b6102a08601819052613fc590610543613e668c600a614705565b6102a0860181905287600c6020020152505050505050505050565b6140566040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61406f61406485601b614705565b610548866002614705565b815261408a61407f85601c614705565b610548866003614705565b60208201526140a861409d85601d614705565b610548866004614705565b60408201526140c66140bb85601e614705565b610548866005614705565b606082015280516140f8906140f1906140ea906140e39080611eca565b8451611eca565b8351611eca565b8251611eca565b608082015260208101516141369061412c90614122906141189080611eca565b8460200151611eca565b8360200151611eca565b8260200151611eca565b60a082015260408101516141749061416a90614160906141569080611eca565b8460400151611eca565b8360400151611eca565b8260400151611eca565b60c082015260608101516141b2906141a89061419e906141949080611eca565b8460600151611eca565b8360600151611eca565b8260600151611eca565b60e0820152608081015160a08201516141cb9190611ee3565b61010082015260c081015160e08201516141e59190611ee3565b61012082015260a0810151614209906141fe9080611ee3565b826101200151611ee3565b61014082015260e081015161422d906142229080611ee3565b826101000151611ee3565b6101608201526101208101516142439080611ee3565b6101e08201819052614264906142599080611ee3565b826101600151611ee3565b6101e082015261010081015161427a9080611ee3565b6101a0820181905261429b906142909080611ee3565b826101400151611ee3565b6101a082018190526101608201516142b291611ee3565b6101808201526101408101516101e08201516142ce9190611ee3565b6101c08201526142e2612cf285600b614705565b610200820181905261024084015161018083015161430d9261054891610543906105668a6023614705565b836012602002015261433d8360136020020151610548836102000151610543856101a001516105668a6024614705565b836013602002015261436d8360146020020151610548836102000151610543856101c001516105668a6025614705565b836014602002015261439d8360156020020151610548836102000151610543856101e001516105668a6026614705565b836015602002015250505050565b6143fd6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806144327f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7611eac565b81526020016144607f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b611eac565b815260200161448d7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15611eac565b81526020016144bb7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b611eac565b905290506144d86144cd86601b614705565b610548876002614705565b610120830181905261450c9061450190613c80906144f69080611eca565b856101200151611eca565b836101200151611eca565b825261451985601c614705565b602083015261452985601d614705565b604083015261453985601e614705565b60608301528151602083015161456191613984916145579190611ee3565b8460400151611ee3565b6080830152614574612fa486600c614705565b61014083015281516145959061458b90835f6107aa565b8360800151611ee3565b60a08301526145c184601660200201516105488461014001516105438660a001516105668b6023614705565b6102c085015260208201516145dc9061458b908360016107aa565b60c083015261460884601760200201516105488461014001516105438660c001516105668b6024614705565b6102e085015260408201516146239061458b908360026107aa565b60e083015261464f84601860200201516105488461014001516105438660e001516105668b6025614705565b610300850152606082015161466a9061458b908360036107aa565b61010083015261469884601960200201516105488461014001516105438661010001516105668b6026614705565b846019612e2b565b5f6146ac818481611f47565b905060015b601a8110156146fe576146f4826105488684601a81106146d3576146d3614d5a565b6020020151866146e4600187614d6e565b601981106107aa576107aa614d5a565b91506001016146b1565b5092915050565b5f8282602781111561471957614719614fba565b6028811061472957614729614d5a565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161475b614b7f565b8152602001614768614b7f565b8152602001614775614b7f565b8152602001614782614b7f565b815260200161478f614b7f565b815260200161479c614b7f565b81526020016147a9614b7f565b81526020016147b6614b7f565b81526020016147c3614b7f565b81526020016147d0614b7f565b81526020016147dd614b7f565b81526020016147ea614b7f565b81526020016147f7614b7f565b8152602001614804614b7f565b8152602001614811614b7f565b815260200161481e614b7f565b815260200161482b614b7f565b8152602001614838614b7f565b8152602001614845614b7f565b8152602001614852614b7f565b815260200161485f614b7f565b815260200161486c614b7f565b8152602001614879614b7f565b8152602001614886614b7f565b8152602001614893614b7f565b81526020016148a0614b7f565b81526020016148ad614b7f565b905290565b604051806101c001604052806148c6614a15565b81526020016148d3614a15565b81526020016148e0614a15565b81526020016148ed614a15565b81526020016148fa614a15565b8152602001614907614a15565b8152602001614914614a15565b8152602001614921614a15565b815260200161492e614bb6565b815260200161493b614be4565b8152602001614948614c03565b8152602001614955614aa7565b8152602001614962614a15565b81526020016148ad614a15565b604051806101000160405280614983614a39565b8152602001614990614a69565b815260200161499d614aa7565b81526020016149aa614aa7565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b6149ff614b7f565b8152602001906001900390816149f75790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b604051806103800160405280601c905b614bce614b41565b815260200190600190039081614bc65790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614c1b614a15565b815260200190600190039081614c135790505090565b5f5f5f5f60408587031215614c44575f5ffd5b84356001600160401b03811115614c59575f5ffd5b8501601f81018713614c69575f5ffd5b80356001600160401b03811115614c7e575f5ffd5b876020828401011115614c8f575f5ffd5b6020918201955093508501356001600160401b03811115614cae575f5ffd5b8501601f81018713614cbe575f5ffd5b80356001600160401b03811115614cd3575f5ffd5b8760208260051b8401011115614ce7575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417611ec457611ec4614cf5565b5f5f85851115614d2e575f5ffd5b83861115614d3a575f5ffd5b5050820193919092039150565b80820180821115611ec457611ec4614cf5565b634e487b7160e01b5f52603260045260245ffd5b81810381811115611ec457611ec4614cf5565b5f60018201614d9257614d92614cf5565b5060010190565b80356020831015611ec4575f19602084900360031b1b1692915050565b5f8183825b6009811015614dda578151835260209283019290910190600101614dbb565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82614e0c57614e0c614dea565b500490565b5f8183825b6029811015614e35578151835260209283019290910190600101614e16565b5050506105208201905092915050565b5f8183825b606d811015614e69578151835260209283019290910190600101614e4a565b505050610da08201905092915050565b5f8183825b601d811015614e9d578151835260209283019290910190600101614e7e565b5050506103a08201905092915050565b5f8183825b6005811015614ed1578151835260209283019290910190600101614eb2565b50505060a08201905092915050565b5f82614eee57614eee614dea565b500690565b5f81614f0157614f01614cf5565b505f190190565b5f82518060208501845e5f920191825250919050565b5f60208284031215614f2e575f5ffd5b815180151581146118bd575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b82811015614f7b578151845260209384019390910190600101614f5d565b509195945050505050565b5f8183825b600d811015614faa578151835260209283019290910190600101614f8b565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
3
+ */ export const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a0526103dc60c05260805160a05160c05161507f61005a5f395f61057101525f818161061d01528181610bf60152610c9201525f61051a015261507f5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614ca1565b610054565b604051901515815260200160405180910390f35b5f6100626101b86020614d79565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a610198565b90505f61009787876101ad565b604083015190915084146100be5760405163fa06659360e01b815260040160405180910390fd5b5f6100d5828787865f015187604001516001610455565b90506101238686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508451606081015160809091015190925090506001610504565b815160a001525f6101348383610615565b905080610154576040516313f8744360e31b815260040160405180910390fd5b5f610160848685610716565b905080610180576040516352ec174560e11b815260040160405180910390fd5b81801561018a5750805b9a9950505050505050505050565b6101a06147a5565b6101a8610f8a565b905090565b6101b5614922565b6101ca6101c560805f8587614d90565b611872565b81526101de6101c561010060808587614d90565b60208201526101f66101c56101806101008587614d90565b604082015261020e6101c56102006101808587614d90565b60a08201526102266101c56102806102008587614d90565b60c082015261023e6101c56103006102808587614d90565b60608201526102566101c56103806103008587614d90565b60e082015261026e6101c56104006103808587614d90565b60808201526104005f5b601c811015610305575f5b60088110156102fc576102af86848761029d826020614db7565b926102aa93929190614d90565b611947565b84610100015183601c81106102c6576102c6614dca565b602002015182600881106102dc576102dc614dca565b6020020181815250506020836102f29190614db7565b9250600101610283565b50600101610278565b505f5b60288110156103595761032285838661029d826020614db7565b836101200151826028811061033957610339614dca565b60200201818152505060208261034f9190614db7565b9150600101610308565b505f5b6103686001601c614dde565b8110156103be5761038d858386610380826080614db7565b926101c593929190614d90565b83610140015182601b81106103a4576103a4614dca565b60200201526103b4608083614db7565b915060010161035c565b505f5b601c811015610412576103db85838661029d826020614db7565b83610160015182601c81106103f2576103f2614dca565b6020020181815250506020826104089190614db7565b91506001016103c1565b50610424848285610380826080614db7565b610180830152610435816080614db7565b9050610448848285610380826080614db7565b6101a08301525092915050565b61045d6149df565b5f61046d888888888888876119a3565b908352905061047c81896119f9565b6020840191909152905061048f81611b94565b604084019190915290506104a38882611bf5565b606084019190915290506104b78882611cc9565b608084019190915290506104cb8882611d54565b60a084019190915290506104df8882611ec2565b60c084019190915290506104f38882611f34565b5060e0830152509695505050505050565b5f6001808261054d866105488961054361053e8a7f0000000000000000000000000000000000000000000000000000000000000000614db7565b611f8b565b611fa9565b611fc2565b90505f61056b876105668a61054361053e8b6001614db7565b611fdb565b90505f5b7f00000000000000000000000000000000000000000000000000000000000000008110156105fd575f6105ba8b83815181106105ad576105ad614dca565b6020026020010151611f8b565b90506105ca866105438684611fc2565b95506105da856105438584611fc2565b94506105e6848b611fc2565b93506105f2838b611fdb565b92505060010161056f565b50610608848461200a565b9998505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156106ec575f86610100015182601c811061065b5761065b614dca565b602002015190505f61066d8286612018565b90508061068d576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106106a4576106a4614dca565b602002015190506106b58382612035565b95506106dc886040015185601c81106106d0576106d0614dca565b602002015186836121e4565b945050505080600101905061061b565b505f610706866101200151865f015187602001518561220f565b90508281145b9695505050505050565b5f61075d6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61076b8460a0015161227d565b9050610775614a38565b61077d614a57565b60e086015161079c9061079790855f5b6020020151611fdb565b6122e2565b60a085015260e08601516107bb9061079790855f5b6020020151611fc2565b60c080860182905260a0860151908801516107da926105489190611fa9565b845260a0860151610808906107ee906122e2565b6105438660a001516105668a60c001518960c00151611fa9565b6020850152600182526101808801516108209061234b565b81526001606085018190525f60808601525b602381116108d857610853610849865f015161238a565b8660600151611fa9565b83826046811061086557610865614dca565b602002015260808501516101208a01516108a8919061054890610889600186614dde565b6028811061089957610899614dca565b60200201518860600151611fa9565b8560800181815250506108c385606001518860800151611fa9565b60608601526108d181614df1565b9050610832565b505f6108e660236001614db7565b90505b6028811161096757610901610849866020015161238a565b83826046811061091357610913614dca565b602002015260808501516101208a0151610937919061054890610889600186614dde565b85608001818152505061095285606001518860800151611fa9565b606086015261096081614df1565b90506108e9565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b60200201528751610ae89061234b565b6103808201526020880151610afc9061234b565b6103a08201526040880151610b109061234b565b6103c08201526060880151610b249061234b565b6103e08201526080880151610b389061234b565b61040082015260e0880151610b4c9061234b565b61042082015260a0880151610b609061234b565b61044082015260c0880151610b749061234b565b6104608201528751610b859061234b565b6104808201526020880151610b999061234b565b6104a08201526040880151610bad9061234b565b6104c08201526060880151610bc19061234b565b6104e08201526080880151610bd59061234b565b610500820152606086015160808501516101608a01515f92610c1a929091877f00000000000000000000000000000000000000000000000000000000000000006123a2565b805160a0870151919250610c2d91611fa9565b604086018190526101608a01515160c0890151610c5d929161054891610c539190611fa9565b8860c00151611fa9565b604086015260c0870151610c70906124bd565b60608601525f5b610c836001601c614dde565b811015610e85575f610cb660017f0000000000000000000000000000000000000000000000000000000000000000614dde565b821015905080610e2b57610ce96107978a60e0015188856001610cd99190614db7565b601c811061078d5761078d614dca565b60a088015260e0890151610d17906107979088610d07866001614db7565b601c81106107b1576107b1614dca565b60c0880152606087015160a0880151610d309190611fa9565b60e0880152606087015160c08a0151610d4c91610c5391611fa9565b6101008801819052610d6e90610d619061238a565b6105488960e0015161238a565b8583610d7c60286001614db7565b610d869190614db7565b60468110610d9657610d96614dca565b60200201526101008701516101608c01515f91610dd291610db8866001614db7565b601c8110610dc857610dc8614dca565b6020020151611fa9565b9050610dee816105488a60e0015187876001610db89190614db7565b9050610dfe886040015182611fc2565b6040890152606088015160c08b0151610e2491610e1a91611fa9565b8b60c00151611fa9565b6060890152505b610e4f8b610140015183601b8110610e4557610e45614dca565b602002015161234b565b8483610e5d60286001614db7565b610e679190614db7565b60468110610e7757610e77614dca565b602002015250600101610c77565b5060408051808201909152600181526002602082015282610ea8601c6028614db7565b60468110610eb857610eb8614dca565b6020020152604085015183610ecf601c6028614db7565b60468110610edf57610edf614dca565b60200201526101a08901515f90610ef59061234b565b90508083610f05601c6028614db7565b610f10906001614db7565b60468110610f2057610f20614dca565b602002015260e088015184610f37601c6028614db7565b610f42906001614db7565b60468110610f5257610f52614dca565b60200201525f610f6284866124c8565b90505f610f6e8361258e565b9050610f7a82826125d4565b9c9b505050505050505050505050565b610f926147a5565b50604080516103c0810182526302000000815260196020808301919091526103dc82840152825180840184527f1f425781e8ef39130b9af37c4df3857dbb57f2c90d773a08dd7bb7223b9c769881527f0b56e6215d3442928b7fd2700b92c9e8f3db72528391ea9c3dc5b88100b958c8818301526060830152825180840184527f199782d5140a68faee5649fa0c0933ae33d898e4ef9d26c8b26bbae6e7544cc581527f0e9d20233f97e641a42027a82d82bfce00c1bac9b53bcf5abf8ec4ee8f57e61e818301526080830152825180840184527f22e9b5f48c858336b414888d3f8033059991647ecf9dd3b832ca9a6f233341db81527f116a43b4e5b709bea4a365956014caa84cf282dc638950aacbada1441d959b928183015260a0830152825180840184527f18ae7c4b61cab36b249cb55057e45bd5db24e439dcab7c418f3e7fa7afa7d7d181527f017d54b734ef59f5862640014bb25dd0ccea353a3f0162b894e88e1c76591daf8183015260c0830152825180840184527f057038a56e9cbebbbdee44328a472c92f427492675502989e327a0429ccf8ef681527f22e2ec127490ecdc92f161ce9450ea748c19e51c0db29111a2704e630f690fce8183015260e0830152825180840184527f2948f25ca9fdd65741a9721edb32a72c0ee12ff54a74a94714de246dd5b27fbb81527f1fafc1bb412198f7cf48b164a6621747f66f8d05891d421f6cb8a0abb48d05f381830152610100830152825180840184527f035d97a928b728d4f4d460c4bdcf11ea8c8bd382f233fe512c394b0b6da9152481527f26961d0bf338d36d2b5ec2f59675073ad262b9bacae3bc100ea54158e763f64781830152610120830152825180840184527f267cfcb47328b7ae6ae044add074918836d0ee7bcd39ced6454cd7f5afecbd1481527f2cbf9b2a5c0fd7af4913b00bb7b922b2553530f7f96d3553f777d9a82603bf5581830152610140830152825180840184527f2b99286034390238d2f87e4a340ec8b43f63e68f4074539df890f4a7c99d842781527f21fcf1b038a7607d36b729d9bb8f7a2b1d9baf7a726a34ad30b3958b7704412081830152610160830152825180840184527f2b04321531676dac0c855123ea0834800a44730384b0f03c77a884e6b896ad5c81527f06f2a41ce4704c3c8f461b27c3d8b5647dd528aed884e5266da0e8a71e0cc73081830152610180830152825180840184527f04307c6f14c1ef3d0b77cb3ae4ca3f9d3499300f88550a76483ec705fb6339e481527f2e6a6c88b20eecd02c1ec2b0154d3bba59b0f429aac1956ee81cea28214b7196818301526101a0830152825180840184527f27188ec9792bf29d81ceec5c249bb2b736ae0844be6954e55b71e6d1cc83dbd581527f1f35519c1d02549cb1883916501985cee5acd60d65423098d7bfbedb060d5c15818301526101c0830152825180840184527f0d131d17a863d1b8c580de3daaa9b2db4bafec94bc8cf7f938b2862897ecfcb781527f239a4ed4df51b3e7b8d0ed6601d6b3ddd36f8cfe5a8dca6c0bf519fd053c8e52818301526101e0830152825180840184527f05a0d344dcbd02bea6acff5c011d642f7904a1869cae2f2058163f07305bc0ce81527f23ec1edcaa244a5e10bb67f327a64b7d763b6ebf703a9efab4b43f3d025b4b7581830152610200830152825180840184527f26a043c8feec2b650aca9a4d01c03695028f8141a8dbbb2f324a7d7992ded6b181527f1d2423009b702d2a7407db0f12f77b00472c0a6f67b585bc2293ff3e6c1cc9c181830152610220830152825180840184527f0fc5bf9cc0c2731f10fbcd23c51651d8ac79f4f2913ea450a9bc9650fb05cb3881527f1eb327112d3d4680915309eb953d82ac47921027dc89ba914f83d39663eb425b81830152610240830152825180840184527f14cc2150916f412892dcd75efcc5aa2da33214ed3452e23cf604588acddeea4481527f1134a39331aa8bb2cf2a27dd82668aa34aa6f84695df48fd252db9447e97390181830152610260830152825180840184527f193d9924725390a4f0f09086e3b578a35e8fc91be6a8dc43345058d5187b2d0b81527f023e6d2627aa62fb44d78e3637f34ab51f82ad5bf90f7d1706ff85e6588fa85e81830152610280830152825180840184527f0fe7cf270c80d8c953574b9cd045788a23620a606eca8616fd7b0817272974b981527f026512584f1ffd93699d7c3d10cc1033f5d22a485056525a06b04f699345838e818301526102a0830152825180840184527f0f17eebdd648a22a2534c6f62afaf6c7825fa2ae41f98d398eec5758e92b5fa281527f0645f63ec34efb355d9c56043a633de3f41fd9af61a7d3ecf46a87e203007cc6818301526102c0830152825180840184527f0525a86d809801993377e82c6810d7124bb2f1995759aba65bf60b0c4fda8f3181527f1b8f05120eb2c53b2cad8099860699db5fc9dce89d1de77360d25f3b83d83baa818301526102e0830152825180840184527f0d1c51a0944e73b5bf5059109cfc7756b18ab597ee97fcdceb68e08e7a9325ec81527f2d0ebb65c43bb88f0e0af105cb368e35a8117262fa463c5e4a91e60a63285d5881830152610300830152825180840184527f237fc3d6ca839bf8fe66beb52f778994d8d05f3496301df3cb1030649802eb1881527f1013ad0339d32e695efdc9e28675f47f332bda5954966f00469214f4ee763b8481830152610320830152825180840184527f0c124a2788b4e0e45ebc1003affc7b699ea00567da3fa1f4bef7f9f97698340481527f0655bd829b537acf9fdc36831274395bdd5d3c181d2e84ddd3dfa1192c5f518481830152610340830152825180840184527f2664e1b3d5bd93796c3e968511ad456c3b10db55de4e939e1a8eb6279d99ea9a81527f2a8a81f4857a08db4de35ca43cc4e145c8719ce30616be286b5a565e4ee99e9c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f10e0775469485c408ab9b0f95d6b3fd5dcaeced274c1a3ba0105915195dc046283527f21369c8875c1b7ede3133157e0412ce94cbf2ad6e7b5c3e666fb0b04fc5cf855908301526103a081019190915290565b61187a614a85565b608082146118c55760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064015b60405180910390fd5b6040805160808101909152806118de60205f8688614d90565b6118e791614e09565b81526020908101906118fd906040908688614d90565b61190691614e09565b8152602001611919606060408688614d90565b61192291614e09565b8152602001611935608060608688614d90565b61193e91614e09565b90529392505050565b5f6020821461198f5760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064016118bc565b61199c61053e8385614e09565b9392505050565b6119ab614aa9565b5f6119ba8989898989896127d8565b6040860191909152602085019190915290835292506119d9838a612bfa565b608085019190915260608401919091529199919850909650505050505050565b611a01614ad9565b5f611a0a614af8565b84815260e0848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608080870191909152880180515160a0870152805183015160c08701528051820151948601949094529251909101516101008401529051611aa191611a8691849101614e26565b60405160208183030381529060405280519060200120611f8b565b9150611aac82612cc5565b6020850152835260015b611ac260026019614e6e565b811015611b4257611adf83604051602001611a8691815260200190565b9250611aea83612cc5565b85611af6846002614d79565b60198110611b0657611b06614dca565b6020020186611b16856002614d79565b611b21906001614db7565b60198110611b3157611b31614dca565b602002019190915252600101611ab6565b50611b5982604051602001611a8691815260200190565b91505f611b6583612cc5565b85611b7260016019614dde565b60198110611b8257611b82614dca565b60200201919091525050509250929050565b611b9c614b17565b5f805b601c811015611bee57611bbe84604051602001611a8691815260200190565b93505f611bca85612cc5565b8584601c8110611bdc57611bdc614dca565b60200201919091525050600101611b9f565b5090929050565b611bfd614b17565b5f805b601c811015611cc057611c11614af8565b8481525f5b6008811015611c7a5786610100015183601c8110611c3657611c36614dca565b60200201518160088110611c4c57611c4c614dca565b602002015182611c5d836001614db7565b60098110611c6d57611c6d614dca565b6020020152600101611c16565b50611c8f81604051602001611a869190614e26565b94505f611c9b86612cc5565b8685601c8110611cad57611cad614dca565b6020020191909152505050600101611c00565b50909391925050565b5f5f611cd3614b36565b8381525f5b6028811015611d26578561012001518160288110611cf857611cf8614dca565b602002015182611d09836001614db7565b60298110611d1957611d19614dca565b6020020152600101611cd8565b50611d3b81604051602001611a869190614e81565b91505f611d4783612cc5565b5096929550919350505050565b5f5f611d5e614b55565b8381525f5b611d6f6001601c614dde565b811015611ead5785610140015181601b8110611d8d57611d8d614dca565b60200201515182611d9f836004614d79565b611daa906001614db7565b606d8110611dba57611dba614dca565b602002015261014086015181601b8110611dd657611dd6614dca565b60200201516020015182826004611ded9190614d79565b611df8906002614db7565b606d8110611e0857611e08614dca565b602002015261014086015181601b8110611e2457611e24614dca565b60200201516040015182611e39836004614d79565b611e44906003614db7565b606d8110611e5457611e54614dca565b602002015261014086015181601b8110611e7057611e70614dca565b60200201516060015182611e85836004614d79565b611e90906004614db7565b606d8110611ea057611ea0614dca565b6020020152600101611d63565b50611d3b81604051602001611a869190614eb5565b5f5f611ecc614b74565b8381525f5b601c811015611f1f5785610160015181601c8110611ef157611ef1614dca565b602002015182611f02836001614db7565b601d8110611f1257611f12614dca565b6020020152600101611ed1565b50611d3b81604051602001611a869190614ee9565b5f5f611f3e614b93565b83815261018085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611d3b91611a8691849101614f1d565b5f611fa35f51602061505f5f395f51905f5283614f50565b92915050565b5f5f51602061505f5f395f51905f528284099392505050565b5f5f51602061505f5f395f51905f528284089392505050565b5f5f51602061505f5f395f51905f52612001835f51602061505f5f395f51905f52614dde565b84089392505050565b5f61199c83610543846122e2565b81515f90819061202a908560016107b1565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561211c57612112826105438784611fdb565b91506001016120fb565b50612125614bb1565b5f5b6008811015612186575f84826008811061214357612143614dca565b60200201519050612158816105438985611fdb565b9050612163816122e2565b90508083836008811061217857612178614dca565b602002015250600101612127565b505f5b60088110156121d9575f8782600881106121a5576121a5614dca565b602002015190506121c281848460088110610dc857610dc8614dca565b90506121ce8682611fc2565b955050600101612189565b5061070c8483611fa9565b5f5f6121fa600161054885610543896001611fdb565b90506122068482611fa9565b95945050505050565b5f612218614bd0565b612223868285612cf5565b61222f86868386612ea1565b61223b86868386613089565b612246868285613285565b61225186828561346d565b61225d868683866137b6565b612268868285614050565b61227386828561441b565b61070c8185614710565b612285614b17565b81815260015b601c8110156122dc576122bd826122a3600184614dde565b601c81106122b3576122b3614dca565b60200201516124bd565b8282601c81106122cf576122cf614dca565b602002015260010161228b565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061505f5f395f51905f520360808201525f51602061505f5f395f51905f5260a082015260205f60c08360055afa905080612340575f5ffd5b50505f519392505050565b612353614bef565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f611fa3825f51602061505f5f395f51905f52614dde565b6123aa614b17565b601c5b80156124b3575f846123c0600184614dde565b601c81106123d0576123d0614dca565b602002015190505f886123e4600185614dde565b601c81106123f4576123f4614dca565b602002015190505f61244f61241361240c858c611fa9565b6002611fa9565b6105668a612422600189614dde565b601c811061243257612432614dca565b60200201516105436124498861054360018a611fdb565b87611fdb565b90506124708161054361079761246a87610543600189611fdb565b86611fc2565b905085841161249f579750878085612489600187614dde565b601c811061249957612499614dca565b60200201525b505050806124ac90614f63565b90506123ad565b5095945050505050565b5f611fa38283611fa9565b6124d0614bef565b5f6124dd601c6028614db7565b6124e8906002614db7565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156125765760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa9092169160010161251d565b50805184526020810151602085015250505092915050565b612596614bef565b5f51602061503f5f395f51905f5282602001515f51602061503f5f395f51905f526125c19190614dde565b6125cb9190614f50565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161276a9190614f78565b5f60405180830381855afa9150503d805f81146127a2576040519150601f19603f3d011682016040523d82523d5f602084013e6127a7565b606091505b50915091505f818060200190518101906127c19190614f8e565b90508280156127cd5750805b979650505050505050565b5f808080806127e8876003614db7565b6127f390600c614db7565b6001600160401b0381111561280a5761280a614fad565b604051908082528060200260200182016040528015612833578160200160208202803683370190505b509050875f1b815f8151811061284b5761284b614dca565b602002602001018181525050865f1b8160018151811061286d5761286d614dca565b602002602001018181525050855f1b8160028151811061288f5761288f614dca565b60209081029190910101525f5b878110156128ee578a8a828181106128b6576128b6614dca565b90506020020135828260036128cb9190614db7565b815181106128db576128db614dca565b602090810291909101015260010161289c565b508a5151816128fe896003614db7565b8151811061290e5761290e614dca565b6020908102919091018101919091528b5101518161292d896003614db7565b612938906001614db7565b8151811061294857612948614dca565b60209081029190910101528a516040015181612965896003614db7565b612970906002614db7565b8151811061298057612980614dca565b60209081029190910101528a51606001518161299d896003614db7565b6129a8906003614db7565b815181106129b8576129b8614dca565b6020908102919091018101919091528b015151816129d7896003614db7565b6129e2906004614db7565b815181106129f2576129f2614dca565b6020908102919091018101919091528b810151015181612a13896003614db7565b612a1e906005614db7565b81518110612a2e57612a2e614dca565b6020908102919091018101919091528b01516040015181612a50896003614db7565b612a5b906006614db7565b81518110612a6b57612a6b614dca565b6020908102919091018101919091528b01516060015181612a8d896003614db7565b612a98906007614db7565b81518110612aa857612aa8614dca565b602090810291909101015260408b01515181612ac5896003614db7565b612ad0906008614db7565b81518110612ae057612ae0614dca565b60209081029190910181019190915260408c0151015181612b02896003614db7565b612b0d906009614db7565b81518110612b1d57612b1d614dca565b60209081029190910101526040808c0151015181612b3c896003614db7565b612b4790600a614db7565b81518110612b5757612b57614dca565b602090810291909101015260408b01516060015181612b77896003614db7565b612b8290600b614db7565b81518110612b9257612b92614dca565b602002602001018181525050612bb281604051602001611a869190614fc1565b9150612bbd82612cc5565b6040805160208101869052929750909550612bd89101611a86565b91505f612be483612cc5565b50959c949b509499509097509195505050505050565b5f5f5f612c05614c07565b85815260a0858101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260c0808a0180515195870195909552845183015190860152835181015160e086015292518201516101008501528188018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612cab91611a8691849101614ff6565b9150612cb682612cc5565b90979096509194509092505050565b5f80826001600160801b038116608082901c612ce082611f8b565b9450612ceb81611f8b565b9350505050915091565b5f612d01846007614775565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612d62612d5c612d36856003611fdb565b610543612d51612d468b5f614775565b6105438c601c614775565b6105438b601b614775565b83611fa9565b9050612de3612dd8612dbf612da6612d8d85610548612d828d6002614775565b6105438e601b614775565b610548612d9b8c6003614775565b6105438d601c614775565b610548612db48b6004614775565b6105438c601d614775565b610548612dcd8a6005614775565b6105438b601e614775565b610548886001614775565b9050612e0281610548612df7866001611fdb565b6105438a6026614775565b9050612e0e8184611fa9565b9050612e1a8185611fa9565b8552505f9050612e54612e4a612e3f612e3488601b614775565b61054889601e614775565b610566886023614775565b610548875f614775565b9050612e6581610543846002611fdb565b9050612e7681610543846001611fdb565b9050612e828183611fa9565b9050612e8e8184611fa9565b9050808460015b60200201525050505050565b5f5f5f612ed7612ecd612eb589601b614775565b610548612ec38b6011614775565b8a60600151611fa9565b8760800151611fc2565b9050612f1081610543612f06612eee8b601c614775565b610548612efc8d6012614775565b8c60600151611fa9565b8960800151611fc2565b9050612f3581610543612f06612f278b601d614775565b610548612efc8d6013614775565b9050612f5a81610543612f06612f4c8b601e614775565b610548612efc8d6014614775565b92505f9050612f7e612ecd612f7089601b614775565b610548612ec38b600d614775565b9050612fa381610543612f06612f958b601c614775565b610548612efc8d600e614775565b9050612fc881610543612f06612fba8b601d614775565b610548612efc8d600f614775565b9050612fed81610543612f06612fdf8b601e614775565b610548612efc8d6010614775565b91505f905061301461300e61300389601f614775565b6105488a6019614775565b84611fa9565b90506130498161056661304361302b8b6027614775565b6105486130398d601a614775565b8c60a00151611fa9565b85611fa9565b90506130558185611fa9565b6040860152505f61307861304361306d89601a614775565b6105438a6027614775565b606090950194909452505050505050565b5f5f6130e76130cf6130b76130a2612f068a6015614775565b6105486130b08b6016614775565b8a51611fa9565b6105486130c58a6017614775565b8960200151611fa9565b6105486130dd896018614775565b8860400151611fa9565b91505f61311e6131056130fb89601b614775565b8860800151611fc2565b6105486131138a6003614775565b6105438b6023614775565b90505f61314761312f89601c614775565b61054861313c8b5f614775565b6105438c6024614775565b90505f6131716131588a601d614775565b6105486131668c6001614775565b6105438d6025614775565b90506131b061319861318a85610548868d5f0151611fa9565b610548848c60200151611fa9565b6105486131a68c6004614775565b8b60400151611fa9565b93505050505f6131c461300e886020614775565b90505f6131d561300e896020614775565b90505f61320d6131f46131e98b6022614775565b6105488c6006614775565b6105666132028c6022614775565b6105438d6006614775565b90505f61323161322b6132208789611fa9565b6105438d6020614775565b83611fdb565b905061323d8188611fa9565b90505f6132656132576132518d6006614775565b87611fa9565b6105666132518e6021614775565b60808a018390529050808960055b60200201525050505050505050505050565b5f6132915f6001611fdb565b90505f61329f5f6002611fdb565b90505f6132ad5f6003611fdb565b90505f6132c96132be88601c614775565b61056689601b614775565b90505f6132e56132da89601d614775565b6105668a601c614775565b90505f6133016132f68a601e614775565b6105668b601d614775565b90505f61331d6133128b6023614775565b6105668c601e614775565b90508361332e81610543818b611fc2565b905061333e81610543878a611fc2565b905061334e816105438789611fc2565b905061335f816105438d6008614775565b905061336b818a611fa9565b60c08b0152508261338081610543818b611fc2565b905061339081610543868a611fc2565b90506133a0816105438689611fc2565b90506133b1816105438d6008614775565b90506133bd818a611fa9565b60e08b015250816133d281610543818b611fc2565b90506133e281610543858a611fc2565b90506133f2816105438589611fc2565b9050613403816105438d6008614775565b905061340f818a611fa9565b6101008b0152508061342581610543818b611fc2565b905061343581610543848a611fc2565b9050613445816105438489611fc2565b9050613456816105438d6008614775565b9050613462818a611fa9565b9050808a6009613273565b6134a66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6134b184601c614775565b81526134be84601d614775565b60208201526134ce846023614775565b60408201526134de846026614775565b60608201526134ee846025614775565b60808201526134fe846024614775565b60a08201525f61350f856002614775565b90505f61351c865f614775565b90505f6135308460400151855f0151611fdb565b90505f61354585602001518660200151611fa9565b606086015190915086905f9061355b9080611fa9565b90505f61357961357389602001518a60600151611fa9565b88611fa9565b90505f6135986135918a60a001518b60400151611fc2565b8a51611fc2565b90506135a76132518288611fa9565b90506135ce6135c86135c26135bc8487611fdb565b88611fdb565b84611fc2565b83611fc2565b90506135f66135eb6135e08387611fa9565b6105438f6009614775565b61054360018a611fdb565b6101408c015250505050602085015160808601515f9161361591611fc2565b90505f613633613629886060015188611fa9565b8860200151611fdb565b90505f6136576136438487611fa9565b6105486130438b60a001518c5f0151611fdb565b905061367f613674613669838c611fa9565b6105438e6009614775565b610543600189611fdb565b6101608b0152505f91506136a09050613699836011611fc2565b8751611fa9565b90505f6136ad8384611fc2565b90506136b98182611fc2565b90505f6136c7836009611fa9565b90506136f06136ea61300e6136e38b60a001518c5f0151611fc2565b8b51611fc2565b82611fdb565b60c089018190525f9061370b90613573906135e0908d611fa9565b905061371e8b600a602002015182611fc2565b6101408c0152505086515f925061374591506136999061373e9080611fc2565b8851611fc2565b90505f613785613760836105438a5f01518b60a00151611fdb565b6020890151610566906137739080611fc2565b6105438b602001518c60800151611fc2565b90506137a289600b60200201516105486135736135e0858d611fa9565b89600b602002015250505050505050505050565b61384a604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61387f61386661385b87601b614775565b610543886024614775565b610548613874886023614775565b61054389601c614775565b81526138c46138b96138a061389588601b614775565b61054389601e614775565b6105486138ae89601c614775565b6105438a601d614775565b610566876025614775565b604082018190526138d990600160441b611fa9565b604082018190526138ef90610566876026614775565b6040820181905281516139029190611fc2565b6040820181905261391890610543876005614775565b6040820152805161392d90600160441b611fa9565b80825261394d90610548613942886023614775565b610543896024614775565b8082526020820181905261396990610566612e3488601d614775565b6020820181905261397f90610543876004614775565b602082015280516060820181905261399c9061054887601e614775565b606082018190526139c0906105666139b5886025614775565b610548896026614775565b606082018190526139d590610543875f614775565b8160600181815250505f6139fe6139f483602001518460400151611fc2565b8360600151611fc2565b9050613a0f81610543886003614775565b9050613a27613a1f876024614775565b614000611fa9565b60808301819052613a3d90610548886023614775565b60808301819052613a5090614000611fa9565b60808301819052613a669061054888601d614775565b60808301819052613a7990614000611fa9565b60808301819052613a8f9061054888601c614775565b60808301819052613aa290614000611fa9565b60808301819052613ab89061054888601b614775565b60808301819052613ace9061056688601e614775565b60808301819052613ae490610543886005614775565b6080830152613af7613a1f876025614775565b60a08301819052613b0d90610548886024614775565b60a08301819052613b2090614000611fa9565b60a08301819052613b3690610548886023614775565b60a08301819052613b4990614000611fa9565b60a08301819052613b5f9061054888601e614775565b60a08301819052613b7290614000611fa9565b60a08301819052613b889061054888601d614775565b60a08301819052613b9e90610566886026614775565b60a08301819052613bb390610543885f614775565b60a0830181905260808301515f91613bcb9190611fc2565b9050613bdc81610543896004614775565b9050613bf6613bec88601d614775565b8760400151611fa9565b60c08401819052613c0f906105486130c58a601c614775565b60c08401819052613c2f90610548613c288a601b614775565b8951611fa9565b60c08401819052613c4590610548896001614775565b60c0840181905260e08401819052613c629061056689601e614775565b60c0840152613c756132be886023614775565b610140840152613c94613c89886026614775565b61056689601e614775565b610120840152610140830151613cb990613cae9080611fa9565b846101400151611fdb565b610280840152610140830151613cfb90613cf090613ce99061054360015f51602061505f5f395f51905f52614dde565b6001611fc2565b846101200151611fa9565b6101608401819052613d3290613d2490610543613d198b6002614775565b6105438c6003614775565b6105436132518a600a614775565b6101a0860152610280830151613d5490613d2490610543613d198b6002614775565b6101c086015260c0830151613d7c90610543613d718a6002614775565b6105438b6003614775565b6101e08401525f613d9b613d9189601e614775565b8560e00151611fdb565b9050613daa6136ea8283611fa9565b6101a0850152613dbe6130dd896025614775565b6101008501819052613de290610548613dd88b6024614775565b8a60200151611fa9565b6101008501819052613dfc906105486130b08b6023614775565b610100850152613e1b613e10896026614775565b856101000151611fdb565b6101008501525f613e306132f68a6025614775565b9050613e84613e5e612d5c613ce988610140015160015f51602061505f5f395f51905f526105439190614dde565b610543613ce988610100015160015f51602061505f5f395f51905f526105439190614dde565b610180860152610100850151613ea990613e9e9080611fa9565b866101000151611fdb565b6101c0860152610180850151613edc90613ec8906105438c6007614775565b610543613ed68c600a614775565b89611fa9565b6101e0880152610280850151613efb90613ec8906105438c6007614775565b6102008801526101c0850151613f1a90613ec8906105438c6007614775565b6102208801526101a0850151613f35906105438b6007614775565b610200860152613f54613f498a6024614775565b6105668b601c614775565b610220860152610140850151613f93906132f690613f8890613ce99061054360015f51602061505f5f395f51905f52614dde565b876102200151611fa9565b61024086018190526101e08601516102608701819052613fca9161054890610543613fbf8e6005614775565b6105438f6002614775565b610260860181905260c0860151613fed919061054890610543613fbf8e5f614775565b61026086018190526102008601516140059190611fc2565b610260860181905261401b906135c29086611fc2565b6102a0860181905261403590610543613ed68c600a614775565b6102a0860181905287600c6020020152505050505050505050565b6140c66040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6140df6140d485601b614775565b610548866002614775565b81526140fa6140ef85601c614775565b610548866003614775565b602082015261411861410d85601d614775565b610548866004614775565b604082015261413661412b85601e614775565b610548866005614775565b60608201528051614168906141619061415a906141539080611fa9565b8451611fa9565b8351611fa9565b8251611fa9565b608082015260208101516141a69061419c90614192906141889080611fa9565b8460200151611fa9565b8360200151611fa9565b8260200151611fa9565b60a082015260408101516141e4906141da906141d0906141c69080611fa9565b8460400151611fa9565b8360400151611fa9565b8260400151611fa9565b60c08201526060810151614222906142189061420e906142049080611fa9565b8460600151611fa9565b8360600151611fa9565b8260600151611fa9565b60e0820152608081015160a082015161423b9190611fc2565b61010082015260c081015160e08201516142559190611fc2565b61012082015260a08101516142799061426e9080611fc2565b826101200151611fc2565b61014082015260e081015161429d906142929080611fc2565b826101000151611fc2565b6101608201526101208101516142b39080611fc2565b6101e082018190526142d4906142c99080611fc2565b826101600151611fc2565b6101e08201526101008101516142ea9080611fc2565b6101a0820181905261430b906143009080611fc2565b826101400151611fc2565b6101a0820181905261016082015161432291611fc2565b6101808201526101408101516101e082015161433e9190611fc2565b6101c0820152614352612d5c85600b614775565b610200820181905261024084015161018083015161437d9261054891610543906105668a6023614775565b83601260200201526143ad8360136020020151610548836102000151610543856101a001516105668a6024614775565b83601360200201526143dd8360146020020151610548836102000151610543856101c001516105668a6025614775565b836014602002015261440d8360156020020151610548836102000151610543856101e001516105668a6026614775565b836015602002015250505050565b61446d6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806144a27f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7611f8b565b81526020016144d07f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b611f8b565b81526020016144fd7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15611f8b565b815260200161452b7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b611f8b565b9052905061454861453d86601b614775565b610548876002614775565b610120830181905261457c9061457190613cf0906145669080611fa9565b856101200151611fa9565b836101200151611fa9565b825261458985601c614775565b602083015261459985601d614775565b60408301526145a985601e614775565b6060830152815160208301516145d1916139f4916145c79190611fc2565b8460400151611fc2565b60808301526145e461300e86600c614775565b6101408301528151614605906145fb90835f610dc8565b8360800151611fc2565b60a083015261463184601660200201516105488461014001516105438660a001516105668b6023614775565b6102c0850152602082015161464c906145fb90836001610dc8565b60c083015261467884601760200201516105488461014001516105438660c001516105668b6024614775565b6102e08501526040820151614693906145fb90836002610dc8565b60e08301526146bf84601860200201516105488461014001516105438660e001516105668b6025614775565b61030085015260608201516146da906145fb90836003610dc8565b61010083015261470884601960200201516105488461014001516105438661010001516105668b6026614775565b846019612e95565b5f61471c8184816107b1565b905060015b601a81101561476e57614764826105488684601a811061474357614743614dca565b602002015186614754600187614dde565b60198110610dc857610dc8614dca565b9150600101614721565b5092915050565b5f828260278111156147895761478961502a565b6028811061479957614799614dca565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f81526020016147cb614bef565b81526020016147d8614bef565b81526020016147e5614bef565b81526020016147f2614bef565b81526020016147ff614bef565b815260200161480c614bef565b8152602001614819614bef565b8152602001614826614bef565b8152602001614833614bef565b8152602001614840614bef565b815260200161484d614bef565b815260200161485a614bef565b8152602001614867614bef565b8152602001614874614bef565b8152602001614881614bef565b815260200161488e614bef565b815260200161489b614bef565b81526020016148a8614bef565b81526020016148b5614bef565b81526020016148c2614bef565b81526020016148cf614bef565b81526020016148dc614bef565b81526020016148e9614bef565b81526020016148f6614bef565b8152602001614903614bef565b8152602001614910614bef565b815260200161491d614bef565b905290565b604051806101c00160405280614936614a85565b8152602001614943614a85565b8152602001614950614a85565b815260200161495d614a85565b815260200161496a614a85565b8152602001614977614a85565b8152602001614984614a85565b8152602001614991614a85565b815260200161499e614c26565b81526020016149ab614c54565b81526020016149b8614c73565b81526020016149c5614b17565b81526020016149d2614a85565b815260200161491d614a85565b6040518061010001604052806149f3614aa9565b8152602001614a00614ad9565b8152602001614a0d614b17565b8152602001614a1a614b17565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614a6f614bef565b815260200190600190039081614a675790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b604051806103800160405280601c905b614c3e614bb1565b815260200190600190039081614c365790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614c8b614a85565b815260200190600190039081614c835790505090565b5f5f5f5f60408587031215614cb4575f5ffd5b84356001600160401b03811115614cc9575f5ffd5b8501601f81018713614cd9575f5ffd5b80356001600160401b03811115614cee575f5ffd5b876020828401011115614cff575f5ffd5b6020918201955093508501356001600160401b03811115614d1e575f5ffd5b8501601f81018713614d2e575f5ffd5b80356001600160401b03811115614d43575f5ffd5b8760208260051b8401011115614d57575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417611fa357611fa3614d65565b5f5f85851115614d9e575f5ffd5b83861115614daa575f5ffd5b5050820193919092039150565b80820180821115611fa357611fa3614d65565b634e487b7160e01b5f52603260045260245ffd5b81810381811115611fa357611fa3614d65565b5f60018201614e0257614e02614d65565b5060010190565b80356020831015611fa3575f19602084900360031b1b1692915050565b5f8183825b6009811015614e4a578151835260209283019290910190600101614e2b565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82614e7c57614e7c614e5a565b500490565b5f8183825b6029811015614ea5578151835260209283019290910190600101614e86565b5050506105208201905092915050565b5f8183825b606d811015614ed9578151835260209283019290910190600101614eba565b505050610da08201905092915050565b5f8183825b601d811015614f0d578151835260209283019290910190600101614eee565b5050506103a08201905092915050565b5f8183825b6005811015614f41578151835260209283019290910190600101614f22565b50505060a08201905092915050565b5f82614f5e57614f5e614e5a565b500690565b5f81614f7157614f71614d65565b505f190190565b5f82518060208501845e5f920191825250919050565b5f60208284031215614f9e575f5ffd5b8151801515811461199c575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b82811015614feb578151845260209384019390910190600101614fcd565b509195945050505050565b5f8183825b600d81101561501a578151835260209283019290910190600101614ffb565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
4
4
  /**
5
5
  * HonkVerifier link references.
6
6
  */ export const HonkVerifierLinkReferences = {};
@@ -929,6 +929,18 @@ export declare const IERC20Abi: readonly [{
929
929
  readonly type: "uint256";
930
930
  readonly internalType: "uint256";
931
931
  }];
932
+ }, {
933
+ readonly type: "error";
934
+ readonly name: "SampleLib__SampleLargerThanIndex";
935
+ readonly inputs: readonly [{
936
+ readonly name: "sample";
937
+ readonly type: "uint256";
938
+ readonly internalType: "uint256";
939
+ }, {
940
+ readonly name: "index";
941
+ readonly type: "uint256";
942
+ readonly internalType: "uint256";
943
+ }];
932
944
  }, {
933
945
  readonly type: "error";
934
946
  readonly name: "SignatureLib__CannotVerifyEmpty";
@@ -1 +1 @@
1
- {"version":3,"file":"IERC20Abi.d.ts","sourceRoot":"","sources":["../src/IERC20Abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAimDZ,CAAC"}
1
+ {"version":3,"file":"IERC20Abi.d.ts","sourceRoot":"","sources":["../src/IERC20Abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAinDZ,CAAC"}
package/dest/IERC20Abi.js CHANGED
@@ -1228,6 +1228,22 @@
1228
1228
  }
1229
1229
  ]
1230
1230
  },
1231
+ {
1232
+ "type": "error",
1233
+ "name": "SampleLib__SampleLargerThanIndex",
1234
+ "inputs": [
1235
+ {
1236
+ "name": "sample",
1237
+ "type": "uint256",
1238
+ "internalType": "uint256"
1239
+ },
1240
+ {
1241
+ "name": "index",
1242
+ "type": "uint256",
1243
+ "internalType": "uint256"
1244
+ }
1245
+ ]
1246
+ },
1231
1247
  {
1232
1248
  "type": "error",
1233
1249
  "name": "SignatureLib__CannotVerifyEmpty",
@@ -909,6 +909,18 @@ export declare const IVerifierAbi: readonly [{
909
909
  readonly type: "uint256";
910
910
  readonly internalType: "uint256";
911
911
  }];
912
+ }, {
913
+ readonly type: "error";
914
+ readonly name: "SampleLib__SampleLargerThanIndex";
915
+ readonly inputs: readonly [{
916
+ readonly name: "sample";
917
+ readonly type: "uint256";
918
+ readonly internalType: "uint256";
919
+ }, {
920
+ readonly name: "index";
921
+ readonly type: "uint256";
922
+ readonly internalType: "uint256";
923
+ }];
912
924
  }, {
913
925
  readonly type: "error";
914
926
  readonly name: "SignatureLib__CannotVerifyEmpty";
@@ -1 +1 @@
1
- {"version":3,"file":"IVerifierAbi.d.ts","sourceRoot":"","sources":["../src/IVerifierAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAk8Cf,CAAC"}
1
+ {"version":3,"file":"IVerifierAbi.d.ts","sourceRoot":"","sources":["../src/IVerifierAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAk9Cf,CAAC"}
@@ -1203,6 +1203,22 @@
1203
1203
  }
1204
1204
  ]
1205
1205
  },
1206
+ {
1207
+ "type": "error",
1208
+ "name": "SampleLib__SampleLargerThanIndex",
1209
+ "inputs": [
1210
+ {
1211
+ "name": "sample",
1212
+ "type": "uint256",
1213
+ "internalType": "uint256"
1214
+ },
1215
+ {
1216
+ "name": "index",
1217
+ "type": "uint256",
1218
+ "internalType": "uint256"
1219
+ }
1220
+ ]
1221
+ },
1206
1222
  {
1207
1223
  "type": "error",
1208
1224
  "name": "SignatureLib__CannotVerifyEmpty",
@@ -951,6 +951,18 @@ export declare const InboxAbi: readonly [{
951
951
  readonly type: "uint256";
952
952
  readonly internalType: "uint256";
953
953
  }];
954
+ }, {
955
+ readonly type: "error";
956
+ readonly name: "SampleLib__SampleLargerThanIndex";
957
+ readonly inputs: readonly [{
958
+ readonly name: "sample";
959
+ readonly type: "uint256";
960
+ readonly internalType: "uint256";
961
+ }, {
962
+ readonly name: "index";
963
+ readonly type: "uint256";
964
+ readonly internalType: "uint256";
965
+ }];
954
966
  }, {
955
967
  readonly type: "error";
956
968
  readonly name: "SignatureLib__CannotVerifyEmpty";
@@ -1 +1 @@
1
- {"version":3,"file":"InboxAbi.d.ts","sourceRoot":"","sources":["../src/InboxAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAimDX,CAAC"}
1
+ {"version":3,"file":"InboxAbi.d.ts","sourceRoot":"","sources":["../src/InboxAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAinDX,CAAC"}
package/dest/InboxAbi.js CHANGED
@@ -1257,6 +1257,22 @@
1257
1257
  }
1258
1258
  ]
1259
1259
  },
1260
+ {
1261
+ "type": "error",
1262
+ "name": "SampleLib__SampleLargerThanIndex",
1263
+ "inputs": [
1264
+ {
1265
+ "name": "sample",
1266
+ "type": "uint256",
1267
+ "internalType": "uint256"
1268
+ },
1269
+ {
1270
+ "name": "index",
1271
+ "type": "uint256",
1272
+ "internalType": "uint256"
1273
+ }
1274
+ ]
1275
+ },
1260
1276
  {
1261
1277
  "type": "error",
1262
1278
  "name": "SignatureLib__CannotVerifyEmpty",
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Inbox bytecode.
3
3
  */
4
- export declare const InboxBytecode = "0x610100604052610010600180610375565b5f555f600355348015610021575f5ffd5b50604051610f77380380610f7783398101604081905261004091610388565b6001600160a01b03821660805260a081905261005d8160026104a2565b60c05261006b600182610099565b60a05160c0515f8054815260026020526040902061008e92909160019190610142565b60e0525061055c9050565b5f8080526020839052604081205560015b81811161013d5761011d835f6100c16001856104b4565b81526020019081526020015f2054845f015f6001856100e091906104b4565b81526020019081526020015f2054604051602001610108929190918252602082015260400190565b60408051601f1981840301815291905261029b565b5f8281526020859052604090205580610135816104c7565b9150506100aa565b505050565b83545f908082036101625750505f82815260208490526040902054610293565b8281036101805750505f828152600185016020526040902054610293565b5f61018c6001836104b4565b90505f61019882610336565b5f81815260018a01602052604090205490915082821c825b8881101561028a57600180831614801561024f575f82815260018d01602052604090205484900361021c5760405162461bcd60e51b81526020600482015260126024820152714d697374616b65732077657265206d61646560701b604482015260640160405180910390fd5b5f82815260018d0160209081526040918290205482519182015290810185905261024890606001610108565b935061027d565b5f82815260208c815260409182902054915161027a9261010892889201918252602082015260400190565b93505b50600191821c91016101b0565b50909450505050505b949350505050565b6040805160018082528183019092525f91602082018180368337019050506002836040516102c991906104f6565b602060405180830381855afa1580156102e4573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103079190610501565b604051602001610318929190610518565b60405160208183030381529060405261033090610536565b92915050565b5f80825b8060011660010361035a578161034f816104c7565b92505060011c61033a565b5092915050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561033057610330610361565b5f5f60408385031215610399575f5ffd5b82516001600160a01b03811681146103af575f5ffd5b6020939093015192949293505050565b6001815b60018411156103fa578085048111156103de576103de610361565b60018416156103ec57908102905b60019390931c9280026103c3565b935093915050565b5f8261041057506001610330565b8161041c57505f610330565b8160018114610432576002811461043c57610458565b6001915050610330565b60ff84111561044d5761044d610361565b50506001821b610330565b5060208310610133831016604e8410600b841016171561047b575081810a610330565b6104875f1984846103bf565b805f190482111561049a5761049a610361565b029392505050565b5f6104ad8383610402565b9392505050565b8181038181111561033057610330610361565b5f600182016104d8576104d8610361565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6104ad82846104df565b5f60208284031215610511575f5ffd5b5051919050565b5f61052382856104df565b60ff199390931683525050601f01919050565b80516020808301519190811015610556575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516109c56105b25f395f6103ed01525f8181610240015281816102920152818161044b01526104d701525f818161042a01526104b601525f8181610101015261038c01526109c55ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80637a508022116100585780637a508022146100d557806387351813146100f45780639611c5c2146100fc5780639b24b3b01461013b575f5ffd5b8063086dc8d41461007e5780631f6d510b1461009a578063483f31ab146100c2575b5f5ffd5b61008760035481565b6040519081526020015b60405180910390f35b6100ad6100a8366004610813565b61014e565b60408051928352602083019190915201610091565b6100876100d036600461088b565b610380565b6100876100e336600461088b565b60026020525f908152604090205481565b6100875f5481565b6101237f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610091565b61008761014936600461088b565b6104a1565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156101a1576040516353bb503760e11b815260040161019891815260200190565b60405180910390fd5b50837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156101e7576040516311d1480560e21b815260040161019891815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000081111561022d57604051633b379f8b60e21b815260040161019891815260200190565b505f8054815260026020526040902080547f00000000000000000000000000000000000000000000000000000000000000000361028b5760015f5f82825461027591906108b6565b90915550505f8054815260026020526040902090505b5f815f01547f000000000000000000000000000000000000000000000000000000000000000060015f546102bf91906108c9565b6102c991906108dc565b6102d391906108b6565b6040805160e0810182523360a082019081524660c08301528152602081018a905290810188905260608101879052608081018290529091505f610315826104fb565b9050610321848261057d565b5060038054905f610331836108f3565b9190505550805f547f1f0faf82fa8c7b10dd392417c6976d0ed764deb80fb07211d5928c2944ddb80d8560405161036a91815260200190565b60405180910390a3989197509095505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103ca5760405163e5336a6b60e01b815260040160405180910390fd5b5f5482106103eb5760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001831115610472575f83815260026020526040902061046f9060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006105fe565b90505b5f5461047f8460016108b6565b0361049b5760015f5f82825461049591906108b6565b90915550505b92915050565b5f81815260026020526040812061049b9060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006105fe565b5f61049b825f0151836020015184604001518560600151866080015160405160200161056995949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610753565b81545f908161058b826107e8565b9050835f5b828110156105ce575f818152600188016020908152604091829020548251918201529081018390526105c490606001610569565b9150600101610590565b505f828152600187016020526040812082905586549087906105ef836108f3565b90915550929695505050505050565b83545f9080820361061e5750505f8281526020849052604090205461074b565b82810361063c5750505f82815260018501602052604090205461074b565b5f6106486001836108c9565b90505f610654826107e8565b5f81815260018a01602052604090205490915082821c825b88811015610742576001808316148015610707575f82815260018d0160205260409020548490036106d45760405162461bcd60e51b81526020600482015260126024820152714d697374616b65732077657265206d61646560701b6044820152606401610198565b5f82815260018d0160209081526040918290205482519182015290810185905261070090606001610569565b9350610735565b5f82815260208c81526040918290205491516107329261056992889201918252602082015260400190565b93505b50600191821c910161066c565b50909450505050505b949350505050565b6040805160018082528183019092525f91602082018180368337019050506002836040516107819190610922565b602060405180830381855afa15801561079c573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107bf9190610934565b6040516020016107d092919061094b565b60405160208183030381529060405261049b90610969565b5f80825b8060011660010361080c5781610801816108f3565b92505060011c6107ec565b5092915050565b5f5f5f8385036080811215610826575f5ffd5b6040811215610833575f5ffd5b506040516040810181811067ffffffffffffffff8211171561086357634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f6020828403121561089b575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561049b5761049b6108a2565b8181038181111561049b5761049b6108a2565b808202811582820484141761049b5761049b6108a2565b5f60018201610904576109046108a2565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61092d828461090b565b9392505050565b5f60208284031215610944575f5ffd5b5051919050565b5f610956828561090b565b60ff199390931683525050601f01919050565b80516020808301519190811015610989575f198160200360031b1b821691505b5091905056fea26469706673582212205b285524c60ab53d9651cbdd32bd65c00c702d33b31a81b69de55938fe3c889b64736f6c634300081b0033";
4
+ export declare const InboxBytecode = "0x610100604052610010600180610375565b5f555f600355348015610021575f5ffd5b50604051610f77380380610f7783398101604081905261004091610388565b6001600160a01b03821660805260a081905261005d8160026104a2565b60c05261006b600182610099565b60a05160c0515f8054815260026020526040902061008e92909160019190610142565b60e0525061055c9050565b5f8080526020839052604081205560015b81811161013d5761011d835f6100c16001856104b4565b81526020019081526020015f2054845f015f6001856100e091906104b4565b81526020019081526020015f2054604051602001610108929190918252602082015260400190565b60408051601f1981840301815291905261029b565b5f8281526020859052604090205580610135816104c7565b9150506100aa565b505050565b83545f908082036101625750505f82815260208490526040902054610293565b8281036101805750505f828152600185016020526040902054610293565b5f61018c6001836104b4565b90505f61019882610336565b5f81815260018a01602052604090205490915082821c825b8881101561028a57600180831614801561024f575f82815260018d01602052604090205484900361021c5760405162461bcd60e51b81526020600482015260126024820152714d697374616b65732077657265206d61646560701b604482015260640160405180910390fd5b5f82815260018d0160209081526040918290205482519182015290810185905261024890606001610108565b935061027d565b5f82815260208c815260409182902054915161027a9261010892889201918252602082015260400190565b93505b50600191821c91016101b0565b50909450505050505b949350505050565b6040805160018082528183019092525f91602082018180368337019050506002836040516102c991906104f6565b602060405180830381855afa1580156102e4573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103079190610501565b604051602001610318929190610518565b60405160208183030381529060405261033090610536565b92915050565b5f80825b8060011660010361035a578161034f816104c7565b92505060011c61033a565b5092915050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561033057610330610361565b5f5f60408385031215610399575f5ffd5b82516001600160a01b03811681146103af575f5ffd5b6020939093015192949293505050565b6001815b60018411156103fa578085048111156103de576103de610361565b60018416156103ec57908102905b60019390931c9280026103c3565b935093915050565b5f8261041057506001610330565b8161041c57505f610330565b8160018114610432576002811461043c57610458565b6001915050610330565b60ff84111561044d5761044d610361565b50506001821b610330565b5060208310610133831016604e8410600b841016171561047b575081810a610330565b6104875f1984846103bf565b805f190482111561049a5761049a610361565b029392505050565b5f6104ad8383610402565b9392505050565b8181038181111561033057610330610361565b5f600182016104d8576104d8610361565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6104ad82846104df565b5f60208284031215610511575f5ffd5b5051919050565b5f61052382856104df565b60ff199390931683525050601f01919050565b80516020808301519190811015610556575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516109c56105b25f395f6103ed01525f8181610240015281816102920152818161044b01526104d701525f818161042a01526104b601525f8181610101015261038c01526109c55ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80637a508022116100585780637a508022146100d557806387351813146100f45780639611c5c2146100fc5780639b24b3b01461013b575f5ffd5b8063086dc8d41461007e5780631f6d510b1461009a578063483f31ab146100c2575b5f5ffd5b61008760035481565b6040519081526020015b60405180910390f35b6100ad6100a8366004610813565b61014e565b60408051928352602083019190915201610091565b6100876100d036600461088b565b610380565b6100876100e336600461088b565b60026020525f908152604090205481565b6100875f5481565b6101237f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610091565b61008761014936600461088b565b6104a1565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156101a1576040516353bb503760e11b815260040161019891815260200190565b60405180910390fd5b50837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156101e7576040516311d1480560e21b815260040161019891815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000081111561022d57604051633b379f8b60e21b815260040161019891815260200190565b505f8054815260026020526040902080547f00000000000000000000000000000000000000000000000000000000000000000361028b5760015f5f82825461027591906108b6565b90915550505f8054815260026020526040902090505b5f815f01547f000000000000000000000000000000000000000000000000000000000000000060015f546102bf91906108c9565b6102c991906108dc565b6102d391906108b6565b6040805160e0810182523360a082019081524660c08301528152602081018a905290810188905260608101879052608081018290529091505f610315826104fb565b9050610321848261057d565b5060038054905f610331836108f3565b9190505550805f547f1f0faf82fa8c7b10dd392417c6976d0ed764deb80fb07211d5928c2944ddb80d8560405161036a91815260200190565b60405180910390a3989197509095505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103ca5760405163e5336a6b60e01b815260040160405180910390fd5b5f5482106103eb5760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001831115610472575f83815260026020526040902061046f9060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006105fe565b90505b5f5461047f8460016108b6565b0361049b5760015f5f82825461049591906108b6565b90915550505b92915050565b5f81815260026020526040812061049b9060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006105fe565b5f61049b825f0151836020015184604001518560600151866080015160405160200161056995949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610753565b81545f908161058b826107e8565b9050835f5b828110156105ce575f818152600188016020908152604091829020548251918201529081018390526105c490606001610569565b9150600101610590565b505f828152600187016020526040812082905586549087906105ef836108f3565b90915550929695505050505050565b83545f9080820361061e5750505f8281526020849052604090205461074b565b82810361063c5750505f82815260018501602052604090205461074b565b5f6106486001836108c9565b90505f610654826107e8565b5f81815260018a01602052604090205490915082821c825b88811015610742576001808316148015610707575f82815260018d0160205260409020548490036106d45760405162461bcd60e51b81526020600482015260126024820152714d697374616b65732077657265206d61646560701b6044820152606401610198565b5f82815260018d0160209081526040918290205482519182015290810185905261070090606001610569565b9350610735565b5f82815260208c81526040918290205491516107329261056992889201918252602082015260400190565b93505b50600191821c910161066c565b50909450505050505b949350505050565b6040805160018082528183019092525f91602082018180368337019050506002836040516107819190610922565b602060405180830381855afa15801561079c573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107bf9190610934565b6040516020016107d092919061094b565b60405160208183030381529060405261049b90610969565b5f80825b8060011660010361080c5781610801816108f3565b92505060011c6107ec565b5092915050565b5f5f5f8385036080811215610826575f5ffd5b6040811215610833575f5ffd5b506040516040810181811067ffffffffffffffff8211171561086357634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f6020828403121561089b575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561049b5761049b6108a2565b8181038181111561049b5761049b6108a2565b808202811582820484141761049b5761049b6108a2565b5f60018201610904576109046108a2565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61092d828461090b565b9392505050565b5f60208284031215610944575f5ffd5b5051919050565b5f610956828561090b565b60ff199390931683525050601f01919050565b80516020808301519190811015610989575f198160200360031b1b821691505b5091905056fea264697066735822122046d324b93f29f2bf8d05940166b90fdcea494766799a285767e209049a6ae8b464736f6c634300081b0033";
5
5
  /**
6
6
  * Inbox link references.
7
7
  */