@hyperlane-xyz/core 5.4.0 → 5.4.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 (188) hide show
  1. package/contracts/PackageVersioned.sol +1 -1
  2. package/contracts/middleware/InterchainAccountRouter.sol +1 -1
  3. package/contracts/middleware/libs/OwnableMulticall.sol +3 -1
  4. package/contracts/mock/MockHyperlaneEnvironment.sol +4 -2
  5. package/contracts/mock/MockMailbox.sol +2 -2
  6. package/dist/buildArtifact.js +1 -1
  7. package/dist/buildArtifact.json +1 -1
  8. package/dist/contracts/middleware/libs/OwnableMulticall.d.ts +9 -9
  9. package/dist/contracts/middleware/libs/OwnableMulticall.d.ts.map +1 -1
  10. package/dist/contracts/mock/MockHyperlaneEnvironment.d.ts +9 -9
  11. package/dist/contracts/mock/MockHyperlaneEnvironment.d.ts.map +1 -1
  12. package/dist/contracts/mock/MockMailbox.d.ts +8 -8
  13. package/dist/contracts/mock/MockMailbox.d.ts.map +1 -1
  14. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts +1 -1
  15. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
  16. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
  17. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
  18. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  19. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  20. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.d.ts +1 -1
  21. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.js +1 -1
  22. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.d.ts +1 -1
  23. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.js +1 -1
  24. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
  25. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
  26. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  27. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  28. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +1 -1
  29. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +1 -1
  30. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  31. package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  32. package/dist/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
  33. package/dist/factories/contracts/hooks/PausableHook__factory.js +1 -1
  34. package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts +1 -1
  35. package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
  36. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +1 -1
  37. package/dist/factories/contracts/hooks/ProtocolFee__factory.js +1 -1
  38. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  39. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  40. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
  41. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
  42. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
  43. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
  44. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
  45. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
  46. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.d.ts +1 -1
  47. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.js +1 -1
  48. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
  49. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
  50. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
  51. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
  52. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  53. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  54. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  55. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  56. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  57. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  58. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +1 -1
  59. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +1 -1
  60. package/dist/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
  61. package/dist/factories/contracts/isms/NoopIsm__factory.js +1 -1
  62. package/dist/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
  63. package/dist/factories/contracts/isms/PausableIsm__factory.js +1 -1
  64. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
  65. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
  66. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  67. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  68. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  69. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  70. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +1 -1
  71. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
  72. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
  73. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
  74. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +1 -1
  75. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +1 -1
  76. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
  77. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
  78. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
  79. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
  80. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
  81. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
  82. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  83. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  84. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  85. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  86. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  87. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  88. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  89. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  90. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
  91. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
  92. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +1 -1
  93. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
  94. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +1 -1
  95. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
  96. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +1 -1
  97. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
  98. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +1 -1
  99. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
  100. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
  101. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
  102. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  103. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  104. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  105. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  106. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  107. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  108. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +1 -1
  109. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +1 -1
  110. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  111. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
  112. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  113. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
  114. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  115. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  116. package/dist/factories/contracts/middleware/libs/OwnableMulticall__factory.d.ts +2 -2
  117. package/dist/factories/contracts/middleware/libs/OwnableMulticall__factory.d.ts.map +1 -1
  118. package/dist/factories/contracts/middleware/libs/OwnableMulticall__factory.js +2 -2
  119. package/dist/factories/contracts/middleware/libs/OwnableMulticall__factory.js.map +1 -1
  120. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  121. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  122. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  123. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  124. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  125. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  126. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +2 -2
  127. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
  128. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +2 -2
  129. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
  130. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +2 -2
  131. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts.map +1 -1
  132. package/dist/factories/contracts/mock/MockMailbox__factory.js +2 -2
  133. package/dist/factories/contracts/mock/MockMailbox__factory.js.map +1 -1
  134. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  135. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  136. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
  137. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
  138. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  139. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  140. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  141. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  142. package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
  143. package/dist/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
  144. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  145. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  146. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  147. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  148. package/dist/factories/contracts/test/TestRemoteChallenger__factory.d.ts +1 -1
  149. package/dist/factories/contracts/test/TestRemoteChallenger__factory.js +1 -1
  150. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  151. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  152. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  153. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  154. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.d.ts +1 -1
  155. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.js +1 -1
  156. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +1 -1
  157. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +1 -1
  158. package/dist/factories/contracts/token/HypERC20__factory.d.ts +1 -1
  159. package/dist/factories/contracts/token/HypERC20__factory.js +1 -1
  160. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
  161. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
  162. package/dist/factories/contracts/token/HypERC721__factory.d.ts +1 -1
  163. package/dist/factories/contracts/token/HypERC721__factory.js +1 -1
  164. package/dist/factories/contracts/token/HypNative__factory.d.ts +1 -1
  165. package/dist/factories/contracts/token/HypNative__factory.js +1 -1
  166. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +1 -1
  167. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +1 -1
  168. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +1 -1
  169. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +1 -1
  170. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +1 -1
  171. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +1 -1
  172. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +1 -1
  173. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +1 -1
  174. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +1 -1
  175. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +1 -1
  176. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
  177. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
  178. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
  179. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
  180. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +1 -1
  181. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +1 -1
  182. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +1 -1
  183. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +1 -1
  184. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +1 -1
  185. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +1 -1
  186. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +1 -1
  187. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +1 -1
  188. package/package.json +2 -2
@@ -372,7 +372,7 @@ const _abi = [
372
372
  type: "function",
373
373
  },
374
374
  ];
375
- const _bytecode = "0x60a0604052604051610010906100a4565b604051809103906000f08015801561002c573d6000803e3d6000fd5b506001600160a01b031660805234801561004557600080fd5b5061004f33610054565b6100b1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6111b3806116f883390190565b6080516116106100e8600039600081816101ce015281816102ad01528181610502015281816106da01526108e801526116106000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063cd8ef6e811610081578063dc41877e1161005b578063dc41877e14610203578063f2fde38b14610236578063f427b08c1461024957600080fd5b8063cd8ef6e8146101a9578063ce74b587146101c9578063dc248729146101f057600080fd5b806393c44847116100b257806393c448471461013a5780639b19251a14610183578063cb12979d1461019657600080fd5b8063715018a6146100d957806381247022146100e35780638da5cb5b146100f6575b600080fd5b6100e161025c565b005b6100e16100f1366004611204565b610270565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101766040518060400160405280600581526020017f352e342e3000000000000000000000000000000000000000000000000000000081525081565b6040516101319190611269565b6100e16101913660046112d5565b6103c8565b6100e16101a4366004611312565b6104c5565b6101bc6101b7366004611312565b6105f0565b6040516101319190611395565b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6100e16101fe3660046113ef565b61069d565b6102266102113660046112d5565b60016020526000908152604090205460ff1681565b6040519015158152602001610131565b6100e16102443660046112d5565b6107f4565b6100e1610257366004611312565b6108ab565b610264610a6f565b61026e6000610af0565b565b6040517f9b92ac4a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690639b92ac4a906102e490879087906004016114c1565b602060405180830381865afa158015610301573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032591906114e0565b6103b5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f636865636b706f696e74206d7573742068617665206672617564756c656e742060448201527f726f6f740000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103c28282866003610b65565b50505050565b6103d0610a6f565b73ffffffffffffffffffffffffffffffffffffffff81163b610473576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6d65726b6c652074726565206d75737420626520612076616c696420636f6e7460448201527f726163740000000000000000000000000000000000000000000000000000000060648201526084016103ac565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b6040517fa295224f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063a295224f90610537908690600401611502565b602060405180830381865afa158015610554573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057891906114e0565b6105de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f636865636b706f696e74206d757374206265207072656d61747572650000000060448201526064016103ac565b6105eb8282856001610b65565b505050565b6040805180820190915260008082526020820152600080610612868686610d24565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600260209081526040808320848452909152908190208151808301909252805493955091935091829060ff16600381111561066b5761066b611366565b600381111561067c5761067c611366565b81529054610100900465ffffffffffff166020909101529695505050505050565b6040517f1b78348e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690631b78348e9061071390889088908890600401611510565b602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906114e0565b6107e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f636865636b706f696e74206d7573742068617665206672617564756c656e742060448201527f6d6573736167652049440000000000000000000000000000000000000000000060648201526084016103ac565b6107ed8282876002610b65565b5050505050565b6107fc610a6f565b73ffffffffffffffffffffffffffffffffffffffff811661089f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103ac565b6108a881610af0565b50565b6040517ff4f4edaf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063f4f4edaf9061091d908690600401611502565b602060405180830381865afa15801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e91906114e0565b6109c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f636865636b706f696e74206d757374206265206c6f63616c000000000000000060448201526064016103ac565b600160006109d185610d8a565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000205460ff1615610a62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d65726b6c6520747265652069732077686974656c697374656400000000000060448201526064016103ac565b6105eb8282856000610b65565b60005473ffffffffffffffffffffffffffffffffffffffff16331461026e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ac565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610b73848787610d24565b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602090815260408083208484529091529020549193509150610100900465ffffffffffff1615610c43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f667261756420616c7265616479206174747269627574656420746f207369676e60448201527f657220666f72206469676573740000000000000000000000000000000000000060648201526084016103ac565b6040518060400160405280846003811115610c6057610c60611366565b815265ffffffffffff421660209182015273ffffffffffffffffffffffffffffffffffffffff84166000908152600282526040808220858352909252208151815482907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836003811115610cd957610cd9611366565b021790555060209190910151815465ffffffffffff909116610100027fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000ff909116179055505050505050565b600080610d3e610d3936879003870187611537565b610d98565b9050610d808185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8d92505050565b9150935093915050565b600060208201355b92915050565b80516020808301516040808501516060860151608087015183517fffffffff0000000000000000000000000000000000000000000000000000000060e098891b81168289015260248201969096527f48595045524c414e45000000000000000000000000000000000000000000000060448201528451808203602d018152604d82018652805190880120606d820152608d810193909352951b90921660ad83015260b1808301949094528051808303909401845260d1909101905281519101207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c8120610d92565b6000806000610e9c8585610eb1565b91509150610ea981610ef6565b509392505050565b6000808251604103610ee75760208301516040840151606085015160001a610edb878285856110a9565b94509450505050610eef565b506000905060025b9250929050565b6000816004811115610f0a57610f0a611366565b03610f125750565b6001816004811115610f2657610f26611366565b03610f8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016103ac565b6002816004811115610fa157610fa1611366565b03611008576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016103ac565b600381600481111561101c5761101c611366565b036108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016103ac565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156110e0575060009050600361118f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611134573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166111885760006001925092505061118f565b9150600090505b94509492505050565b600060a082840312156111aa57600080fd5b50919050565b806104008101831015610d9257600080fd5b60008083601f8401126111d457600080fd5b50813567ffffffffffffffff8111156111ec57600080fd5b602083019150836020828501011115610eef57600080fd5b6000806000806104c0858703121561121b57600080fd5b6112258686611198565b93506112348660a087016111b0565b92506104a085013567ffffffffffffffff81111561125157600080fd5b61125d878288016111c2565b95989497509550505050565b600060208083528351808285015260005b818110156112965785810183015185820160400152820161127a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6000602082840312156112e757600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461130b57600080fd5b9392505050565b600080600060c0848603121561132757600080fd5b6113318585611198565b925060a084013567ffffffffffffffff81111561134d57600080fd5b611359868287016111c2565b9497909650939450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81516040820190600481106113d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8083525065ffffffffffff602084015116602083015292915050565b60008060008060006104e0868803121561140857600080fd5b6114128787611198565b94506114218760a088016111b0565b93506104a086013592506104c086013567ffffffffffffffff81111561144657600080fd5b611452888289016111c2565b969995985093965092949392505050565b803563ffffffff8116811461147757600080fd5b919050565b63ffffffff8061148b83611463565b1683526020820135602084015260408201356040840152806114af60608401611463565b16606084015250608090810135910152565b6104a081016114d0828561147c565b6104008360a08401379392505050565b6000602082840312156114f257600080fd5b8151801515811461130b57600080fd5b60a08101610d92828461147c565b6104c0810161151f828661147c565b6104008460a0840137826104a0830152949350505050565b600060a0828403121561154957600080fd5b60405160a0810181811067ffffffffffffffff82111715611593577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405261159f83611463565b815260208301356020820152604083013560408201526115c160608401611463565b606082015260808301356080820152809150509291505056fea2646970667358221220327ed0be545a35a3707989ffc0d4761d3b705aa4a6fa7067e71973d3029da64e64736f6c63430008130033608060405234801561001057600080fd5b50611193806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639b92ac4a1161005b5780639b92ac4a1461013e578063a295224f14610151578063e56f40bc14610164578063f4f4edaf146101bb57600080fd5b80631b78348e1461008d578063526607c2146100b557806354f5f3cb146100c857806393c44847146100f5575b600080fd5b6100a061009b366004610e93565b6101ce565b60405190151581526020015b60405180910390f35b6100a06100c3366004610f11565b61030c565b6100db6100d6366004610f62565b6103a7565b6040805192835263ffffffff9091166020830152016100ac565b6101316040518060400160405280600581526020017f352e342e3000000000000000000000000000000000000000000000000000000081525081565b6040516100ac9190610f7d565b6100a061014c366004610fe9565b6104a5565b6100a061015f36600461101f565b610618565b61019f61017236600461103b565b600060208181529281526040808220909352908152205463ffffffff811690640100000000900460ff1682565b6040805163ffffffff90931683529015156020830152016100ac565b6100a06101c936600461101f565b61072c565b6000836101da8161072c565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e74000000000000000060448201526064015b60405180910390fd5b84848461026b610254846107ec565b6102646080860160608701611065565b838561030c565b6102f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b87608001358614159450505050509392505050565b600080610347848460208060200260405190810160405280929190826020800280828437600092019190915250505063ffffffff88166107fa565b73ffffffffffffffffffffffffffffffffffffffff87166000908152602081815260408083208484529091529020805491925090640100000000900460ff16801561039c5750805463ffffffff808816911610155b979650505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff1663907c0f926040518163ffffffff1660e01b81526004016040805180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611082565b60408051808201825263ffffffff80841682526001602080840191825273ffffffffffffffffffffffffffffffffffffffff9099166000908152808a52848120878252909952929097209051815492511515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009093169716969096171790945593915050565b6000826104b18161072c565b610517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b8383856080013561052a610254846107ec565b6105b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b6000610604886080013588602080602002604051908101604052809291908260208002808284376000920191909152506105f991505060808c0160608d01611065565b63ffffffff166108ab565b604089013514159550505050505092915050565b6000816106248161072c565b61068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b6000610695846107ec565b73ffffffffffffffffffffffffffffffffffffffff166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070391906110b2565b905063ffffffff811661071c6080860160608701611065565b63ffffffff161015949350505050565b600080610738836107ec565b905073ffffffffffffffffffffffffffffffffffffffff81163b151580156107e557506107686020840184611065565b63ffffffff168173ffffffffffffffffffffffffffffffffffffffff16638d3638f46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dd91906110b2565b63ffffffff16145b9392505050565b600060208201355b92915050565b8260005b60208110156108a357600183821c166000858360208110610821576108216110cf565b602002015190508160010361086157604080516020810183905290810185905260600160405160208183030381529060405280519060200120935061088e565b60408051602081018690529081018290526060016040516020818303038152906040528051906020012093505b5050808061089b906110fe565b9150506107fe565b509392505050565b8260006108b6610989565b905060005b602081101561098057600184821c811690819003610922578582602081106108e5576108e56110cf565b602002015184604051602001610905929190918252602082015260400190565b60405160208183030381529060405280519060200120935061096d565b83838360208110610935576109356110cf565b6020020151604051602001610954929190918252602082015260400190565b6040516020818303038152906040528051906020012093505b5080610978816110fe565b9150506108bb565b50509392505050565b610991610e4a565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6040518061040001604052806020906020820280368337509192915050565b600060a08284031215610e7b57600080fd5b50919050565b8061040081018310156107f457600080fd5b60008060006104c08486031215610ea957600080fd5b610eb38585610e69565b9250610ec28560a08601610e81565b91506104a084013590509250925092565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ef757600080fd5b919050565b63ffffffff81168114610f0e57600080fd5b50565b6000806000806104608587031215610f2857600080fd5b610f3185610ed3565b93506020850135610f4181610efc565b925060408501359150610f578660608701610e81565b905092959194509250565b600060208284031215610f7457600080fd5b6107e582610ed3565b600060208083528351808285015260005b81811015610faa57858101830151858201604001528201610f8e565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6000806104a08385031215610ffd57600080fd5b6110078484610e69565b91506110168460a08501610e81565b90509250929050565b600060a0828403121561103157600080fd5b6107e58383610e69565b6000806040838503121561104e57600080fd5b61105783610ed3565b946020939093013593505050565b60006020828403121561107757600080fd5b81356107e581610efc565b6000806040838503121561109557600080fd5b8251915060208301516110a781610efc565b809150509250929050565b6000602082840312156110c457600080fd5b81516107e581610efc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611156577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea264697066735822122069bf7a9ce57b24596246ac15940a419569b5d13ad98c58d6f174bde39f0e781364736f6c63430008130033";
375
+ const _bytecode = "0x60a0604052604051610010906100a4565b604051809103906000f08015801561002c573d6000803e3d6000fd5b506001600160a01b031660805234801561004557600080fd5b5061004f33610054565b6100b1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6111b3806116f883390190565b6080516116106100e8600039600081816101ce015281816102ad01528181610502015281816106da01526108e801526116106000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063cd8ef6e811610081578063dc41877e1161005b578063dc41877e14610203578063f2fde38b14610236578063f427b08c1461024957600080fd5b8063cd8ef6e8146101a9578063ce74b587146101c9578063dc248729146101f057600080fd5b806393c44847116100b257806393c448471461013a5780639b19251a14610183578063cb12979d1461019657600080fd5b8063715018a6146100d957806381247022146100e35780638da5cb5b146100f6575b600080fd5b6100e161025c565b005b6100e16100f1366004611204565b610270565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101766040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516101319190611269565b6100e16101913660046112d5565b6103c8565b6100e16101a4366004611312565b6104c5565b6101bc6101b7366004611312565b6105f0565b6040516101319190611395565b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6100e16101fe3660046113ef565b61069d565b6102266102113660046112d5565b60016020526000908152604090205460ff1681565b6040519015158152602001610131565b6100e16102443660046112d5565b6107f4565b6100e1610257366004611312565b6108ab565b610264610a6f565b61026e6000610af0565b565b6040517f9b92ac4a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690639b92ac4a906102e490879087906004016114c1565b602060405180830381865afa158015610301573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032591906114e0565b6103b5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f636865636b706f696e74206d7573742068617665206672617564756c656e742060448201527f726f6f740000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103c28282866003610b65565b50505050565b6103d0610a6f565b73ffffffffffffffffffffffffffffffffffffffff81163b610473576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6d65726b6c652074726565206d75737420626520612076616c696420636f6e7460448201527f726163740000000000000000000000000000000000000000000000000000000060648201526084016103ac565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b6040517fa295224f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063a295224f90610537908690600401611502565b602060405180830381865afa158015610554573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057891906114e0565b6105de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f636865636b706f696e74206d757374206265207072656d61747572650000000060448201526064016103ac565b6105eb8282856001610b65565b505050565b6040805180820190915260008082526020820152600080610612868686610d24565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600260209081526040808320848452909152908190208151808301909252805493955091935091829060ff16600381111561066b5761066b611366565b600381111561067c5761067c611366565b81529054610100900465ffffffffffff166020909101529695505050505050565b6040517f1b78348e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690631b78348e9061071390889088908890600401611510565b602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906114e0565b6107e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f636865636b706f696e74206d7573742068617665206672617564756c656e742060448201527f6d6573736167652049440000000000000000000000000000000000000000000060648201526084016103ac565b6107ed8282876002610b65565b5050505050565b6107fc610a6f565b73ffffffffffffffffffffffffffffffffffffffff811661089f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103ac565b6108a881610af0565b50565b6040517ff4f4edaf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063f4f4edaf9061091d908690600401611502565b602060405180830381865afa15801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e91906114e0565b6109c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f636865636b706f696e74206d757374206265206c6f63616c000000000000000060448201526064016103ac565b600160006109d185610d8a565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000205460ff1615610a62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d65726b6c6520747265652069732077686974656c697374656400000000000060448201526064016103ac565b6105eb8282856000610b65565b60005473ffffffffffffffffffffffffffffffffffffffff16331461026e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ac565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610b73848787610d24565b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602090815260408083208484529091529020549193509150610100900465ffffffffffff1615610c43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f667261756420616c7265616479206174747269627574656420746f207369676e60448201527f657220666f72206469676573740000000000000000000000000000000000000060648201526084016103ac565b6040518060400160405280846003811115610c6057610c60611366565b815265ffffffffffff421660209182015273ffffffffffffffffffffffffffffffffffffffff84166000908152600282526040808220858352909252208151815482907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836003811115610cd957610cd9611366565b021790555060209190910151815465ffffffffffff909116610100027fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000ff909116179055505050505050565b600080610d3e610d3936879003870187611537565b610d98565b9050610d808185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e8d92505050565b9150935093915050565b600060208201355b92915050565b80516020808301516040808501516060860151608087015183517fffffffff0000000000000000000000000000000000000000000000000000000060e098891b81168289015260248201969096527f48595045524c414e45000000000000000000000000000000000000000000000060448201528451808203602d018152604d82018652805190880120606d820152608d810193909352951b90921660ad83015260b1808301949094528051808303909401845260d1909101905281519101207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c8120610d92565b6000806000610e9c8585610eb1565b91509150610ea981610ef6565b509392505050565b6000808251604103610ee75760208301516040840151606085015160001a610edb878285856110a9565b94509450505050610eef565b506000905060025b9250929050565b6000816004811115610f0a57610f0a611366565b03610f125750565b6001816004811115610f2657610f26611366565b03610f8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016103ac565b6002816004811115610fa157610fa1611366565b03611008576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016103ac565b600381600481111561101c5761101c611366565b036108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016103ac565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156110e0575060009050600361118f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611134573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166111885760006001925092505061118f565b9150600090505b94509492505050565b600060a082840312156111aa57600080fd5b50919050565b806104008101831015610d9257600080fd5b60008083601f8401126111d457600080fd5b50813567ffffffffffffffff8111156111ec57600080fd5b602083019150836020828501011115610eef57600080fd5b6000806000806104c0858703121561121b57600080fd5b6112258686611198565b93506112348660a087016111b0565b92506104a085013567ffffffffffffffff81111561125157600080fd5b61125d878288016111c2565b95989497509550505050565b600060208083528351808285015260005b818110156112965785810183015185820160400152820161127a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6000602082840312156112e757600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461130b57600080fd5b9392505050565b600080600060c0848603121561132757600080fd5b6113318585611198565b925060a084013567ffffffffffffffff81111561134d57600080fd5b611359868287016111c2565b9497909650939450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81516040820190600481106113d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8083525065ffffffffffff602084015116602083015292915050565b60008060008060006104e0868803121561140857600080fd5b6114128787611198565b94506114218760a088016111b0565b93506104a086013592506104c086013567ffffffffffffffff81111561144657600080fd5b611452888289016111c2565b969995985093965092949392505050565b803563ffffffff8116811461147757600080fd5b919050565b63ffffffff8061148b83611463565b1683526020820135602084015260408201356040840152806114af60608401611463565b16606084015250608090810135910152565b6104a081016114d0828561147c565b6104008360a08401379392505050565b6000602082840312156114f257600080fd5b8151801515811461130b57600080fd5b60a08101610d92828461147c565b6104c0810161151f828661147c565b6104008460a0840137826104a0830152949350505050565b600060a0828403121561154957600080fd5b60405160a0810181811067ffffffffffffffff82111715611593577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405261159f83611463565b815260208301356020820152604083013560408201526115c160608401611463565b606082015260808301356080820152809150509291505056fea2646970667358221220e670446f7478ab1d25ae547558f1f4d9878e023f872050a6e8ffba4ea61a0bca64736f6c63430008130033608060405234801561001057600080fd5b50611193806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639b92ac4a1161005b5780639b92ac4a1461013e578063a295224f14610151578063e56f40bc14610164578063f4f4edaf146101bb57600080fd5b80631b78348e1461008d578063526607c2146100b557806354f5f3cb146100c857806393c44847146100f5575b600080fd5b6100a061009b366004610e93565b6101ce565b60405190151581526020015b60405180910390f35b6100a06100c3366004610f11565b61030c565b6100db6100d6366004610f62565b6103a7565b6040805192835263ffffffff9091166020830152016100ac565b6101316040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516100ac9190610f7d565b6100a061014c366004610fe9565b6104a5565b6100a061015f36600461101f565b610618565b61019f61017236600461103b565b600060208181529281526040808220909352908152205463ffffffff811690640100000000900460ff1682565b6040805163ffffffff90931683529015156020830152016100ac565b6100a06101c936600461101f565b61072c565b6000836101da8161072c565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e74000000000000000060448201526064015b60405180910390fd5b84848461026b610254846107ec565b6102646080860160608701611065565b838561030c565b6102f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b87608001358614159450505050509392505050565b600080610347848460208060200260405190810160405280929190826020800280828437600092019190915250505063ffffffff88166107fa565b73ffffffffffffffffffffffffffffffffffffffff87166000908152602081815260408083208484529091529020805491925090640100000000900460ff16801561039c5750805463ffffffff808816911610155b979650505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff1663907c0f926040518163ffffffff1660e01b81526004016040805180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611082565b60408051808201825263ffffffff80841682526001602080840191825273ffffffffffffffffffffffffffffffffffffffff9099166000908152808a52848120878252909952929097209051815492511515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009093169716969096171790945593915050565b6000826104b18161072c565b610517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b8383856080013561052a610254846107ec565b6105b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b6000610604886080013588602080602002604051908101604052809291908260208002808284376000920191909152506105f991505060808c0160608d01611065565b63ffffffff166108ab565b604089013514159550505050505092915050565b6000816106248161072c565b61068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b6000610695846107ec565b73ffffffffffffffffffffffffffffffffffffffff166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070391906110b2565b905063ffffffff811661071c6080860160608701611065565b63ffffffff161015949350505050565b600080610738836107ec565b905073ffffffffffffffffffffffffffffffffffffffff81163b151580156107e557506107686020840184611065565b63ffffffff168173ffffffffffffffffffffffffffffffffffffffff16638d3638f46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dd91906110b2565b63ffffffff16145b9392505050565b600060208201355b92915050565b8260005b60208110156108a357600183821c166000858360208110610821576108216110cf565b602002015190508160010361086157604080516020810183905290810185905260600160405160208183030381529060405280519060200120935061088e565b60408051602081018690529081018290526060016040516020818303038152906040528051906020012093505b5050808061089b906110fe565b9150506107fe565b509392505050565b8260006108b6610989565b905060005b602081101561098057600184821c811690819003610922578582602081106108e5576108e56110cf565b602002015184604051602001610905929190918252602082015260400190565b60405160208183030381529060405280519060200120935061096d565b83838360208110610935576109356110cf565b6020020151604051602001610954929190918252602082015260400190565b6040516020818303038152906040528051906020012093505b5080610978816110fe565b9150506108bb565b50509392505050565b610991610e4a565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6040518061040001604052806020906020820280368337509192915050565b600060a08284031215610e7b57600080fd5b50919050565b8061040081018310156107f457600080fd5b60008060006104c08486031215610ea957600080fd5b610eb38585610e69565b9250610ec28560a08601610e81565b91506104a084013590509250925092565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ef757600080fd5b919050565b63ffffffff81168114610f0e57600080fd5b50565b6000806000806104608587031215610f2857600080fd5b610f3185610ed3565b93506020850135610f4181610efc565b925060408501359150610f578660608701610e81565b905092959194509250565b600060208284031215610f7457600080fd5b6107e582610ed3565b600060208083528351808285015260005b81811015610faa57858101830151858201604001528201610f8e565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6000806104a08385031215610ffd57600080fd5b6110078484610e69565b91506110168460a08501610e81565b90509250929050565b600060a0828403121561103157600080fd5b6107e58383610e69565b6000806040838503121561104e57600080fd5b61105783610ed3565b946020939093013593505050565b60006020828403121561107757600080fd5b81356107e581610efc565b6000806040838503121561109557600080fd5b8251915060208301516110a781610efc565b809150509250929050565b6000602082840312156110c457600080fd5b81516107e581610efc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611156577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220e281d3d057fdd7823e397a7be173eeb6e1612d5be44d57f17ce82e2af1cc3db864736f6c63430008130033";
376
376
  const isSuperArgs = (xs) => xs.length > 1;
377
377
  export class AttributeCheckpointFraud__factory extends ContractFactory {
378
378
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class CheckpointFraudProofs__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): CheckpointFraudProofs;
14
14
  connect(signer: Signer): CheckpointFraudProofs__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b50611193806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639b92ac4a1161005b5780639b92ac4a1461013e578063a295224f14610151578063e56f40bc14610164578063f4f4edaf146101bb57600080fd5b80631b78348e1461008d578063526607c2146100b557806354f5f3cb146100c857806393c44847146100f5575b600080fd5b6100a061009b366004610e93565b6101ce565b60405190151581526020015b60405180910390f35b6100a06100c3366004610f11565b61030c565b6100db6100d6366004610f62565b6103a7565b6040805192835263ffffffff9091166020830152016100ac565b6101316040518060400160405280600581526020017f352e342e3000000000000000000000000000000000000000000000000000000081525081565b6040516100ac9190610f7d565b6100a061014c366004610fe9565b6104a5565b6100a061015f36600461101f565b610618565b61019f61017236600461103b565b600060208181529281526040808220909352908152205463ffffffff811690640100000000900460ff1682565b6040805163ffffffff90931683529015156020830152016100ac565b6100a06101c936600461101f565b61072c565b6000836101da8161072c565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e74000000000000000060448201526064015b60405180910390fd5b84848461026b610254846107ec565b6102646080860160608701611065565b838561030c565b6102f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b87608001358614159450505050509392505050565b600080610347848460208060200260405190810160405280929190826020800280828437600092019190915250505063ffffffff88166107fa565b73ffffffffffffffffffffffffffffffffffffffff87166000908152602081815260408083208484529091529020805491925090640100000000900460ff16801561039c5750805463ffffffff808816911610155b979650505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff1663907c0f926040518163ffffffff1660e01b81526004016040805180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611082565b60408051808201825263ffffffff80841682526001602080840191825273ffffffffffffffffffffffffffffffffffffffff9099166000908152808a52848120878252909952929097209051815492511515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009093169716969096171790945593915050565b6000826104b18161072c565b610517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b8383856080013561052a610254846107ec565b6105b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b6000610604886080013588602080602002604051908101604052809291908260208002808284376000920191909152506105f991505060808c0160608d01611065565b63ffffffff166108ab565b604089013514159550505050505092915050565b6000816106248161072c565b61068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b6000610695846107ec565b73ffffffffffffffffffffffffffffffffffffffff166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070391906110b2565b905063ffffffff811661071c6080860160608701611065565b63ffffffff161015949350505050565b600080610738836107ec565b905073ffffffffffffffffffffffffffffffffffffffff81163b151580156107e557506107686020840184611065565b63ffffffff168173ffffffffffffffffffffffffffffffffffffffff16638d3638f46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dd91906110b2565b63ffffffff16145b9392505050565b600060208201355b92915050565b8260005b60208110156108a357600183821c166000858360208110610821576108216110cf565b602002015190508160010361086157604080516020810183905290810185905260600160405160208183030381529060405280519060200120935061088e565b60408051602081018690529081018290526060016040516020818303038152906040528051906020012093505b5050808061089b906110fe565b9150506107fe565b509392505050565b8260006108b6610989565b905060005b602081101561098057600184821c811690819003610922578582602081106108e5576108e56110cf565b602002015184604051602001610905929190918252602082015260400190565b60405160208183030381529060405280519060200120935061096d565b83838360208110610935576109356110cf565b6020020151604051602001610954929190918252602082015260400190565b6040516020818303038152906040528051906020012093505b5080610978816110fe565b9150506108bb565b50509392505050565b610991610e4a565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6040518061040001604052806020906020820280368337509192915050565b600060a08284031215610e7b57600080fd5b50919050565b8061040081018310156107f457600080fd5b60008060006104c08486031215610ea957600080fd5b610eb38585610e69565b9250610ec28560a08601610e81565b91506104a084013590509250925092565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ef757600080fd5b919050565b63ffffffff81168114610f0e57600080fd5b50565b6000806000806104608587031215610f2857600080fd5b610f3185610ed3565b93506020850135610f4181610efc565b925060408501359150610f578660608701610e81565b905092959194509250565b600060208284031215610f7457600080fd5b6107e582610ed3565b600060208083528351808285015260005b81811015610faa57858101830151858201604001528201610f8e565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6000806104a08385031215610ffd57600080fd5b6110078484610e69565b91506110168460a08501610e81565b90509250929050565b600060a0828403121561103157600080fd5b6107e58383610e69565b6000806040838503121561104e57600080fd5b61105783610ed3565b946020939093013593505050565b60006020828403121561107757600080fd5b81356107e581610efc565b6000806040838503121561109557600080fd5b8251915060208301516110a781610efc565b809150509250929050565b6000602082840312156110c457600080fd5b81516107e581610efc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611156577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea264697066735822122069bf7a9ce57b24596246ac15940a419569b5d13ad98c58d6f174bde39f0e781364736f6c63430008130033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50611193806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639b92ac4a1161005b5780639b92ac4a1461013e578063a295224f14610151578063e56f40bc14610164578063f4f4edaf146101bb57600080fd5b80631b78348e1461008d578063526607c2146100b557806354f5f3cb146100c857806393c44847146100f5575b600080fd5b6100a061009b366004610e93565b6101ce565b60405190151581526020015b60405180910390f35b6100a06100c3366004610f11565b61030c565b6100db6100d6366004610f62565b6103a7565b6040805192835263ffffffff9091166020830152016100ac565b6101316040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516100ac9190610f7d565b6100a061014c366004610fe9565b6104a5565b6100a061015f36600461101f565b610618565b61019f61017236600461103b565b600060208181529281526040808220909352908152205463ffffffff811690640100000000900460ff1682565b6040805163ffffffff90931683529015156020830152016100ac565b6100a06101c936600461101f565b61072c565b6000836101da8161072c565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e74000000000000000060448201526064015b60405180910390fd5b84848461026b610254846107ec565b6102646080860160608701611065565b838561030c565b6102f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b87608001358614159450505050509392505050565b600080610347848460208060200260405190810160405280929190826020800280828437600092019190915250505063ffffffff88166107fa565b73ffffffffffffffffffffffffffffffffffffffff87166000908152602081815260408083208484529091529020805491925090640100000000900460ff16801561039c5750805463ffffffff808816911610155b979650505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff1663907c0f926040518163ffffffff1660e01b81526004016040805180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611082565b60408051808201825263ffffffff80841682526001602080840191825273ffffffffffffffffffffffffffffffffffffffff9099166000908152808a52848120878252909952929097209051815492511515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009093169716969096171790945593915050565b6000826104b18161072c565b610517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b8383856080013561052a610254846107ec565b6105b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b6000610604886080013588602080602002604051908101604052809291908260208002808284376000920191909152506105f991505060808c0160608d01611065565b63ffffffff166108ab565b604089013514159550505050505092915050565b6000816106248161072c565b61068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b6000610695846107ec565b73ffffffffffffffffffffffffffffffffffffffff166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070391906110b2565b905063ffffffff811661071c6080860160608701611065565b63ffffffff161015949350505050565b600080610738836107ec565b905073ffffffffffffffffffffffffffffffffffffffff81163b151580156107e557506107686020840184611065565b63ffffffff168173ffffffffffffffffffffffffffffffffffffffff16638d3638f46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dd91906110b2565b63ffffffff16145b9392505050565b600060208201355b92915050565b8260005b60208110156108a357600183821c166000858360208110610821576108216110cf565b602002015190508160010361086157604080516020810183905290810185905260600160405160208183030381529060405280519060200120935061088e565b60408051602081018690529081018290526060016040516020818303038152906040528051906020012093505b5050808061089b906110fe565b9150506107fe565b509392505050565b8260006108b6610989565b905060005b602081101561098057600184821c811690819003610922578582602081106108e5576108e56110cf565b602002015184604051602001610905929190918252602082015260400190565b60405160208183030381529060405280519060200120935061096d565b83838360208110610935576109356110cf565b6020020151604051602001610954929190918252602082015260400190565b6040516020818303038152906040528051906020012093505b5080610978816110fe565b9150506108bb565b50509392505050565b610991610e4a565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6040518061040001604052806020906020820280368337509192915050565b600060a08284031215610e7b57600080fd5b50919050565b8061040081018310156107f457600080fd5b60008060006104c08486031215610ea957600080fd5b610eb38585610e69565b9250610ec28560a08601610e81565b91506104a084013590509250925092565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ef757600080fd5b919050565b63ffffffff81168114610f0e57600080fd5b50565b6000806000806104608587031215610f2857600080fd5b610f3185610ed3565b93506020850135610f4181610efc565b925060408501359150610f578660608701610e81565b905092959194509250565b600060208284031215610f7457600080fd5b6107e582610ed3565b600060208083528351808285015260005b81811015610faa57858101830151858201604001528201610f8e565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6000806104a08385031215610ffd57600080fd5b6110078484610e69565b91506110168460a08501610e81565b90509250929050565b600060a0828403121561103157600080fd5b6107e58383610e69565b6000806040838503121561104e57600080fd5b61105783610ed3565b946020939093013593505050565b60006020828403121561107757600080fd5b81356107e581610efc565b6000806040838503121561109557600080fd5b8251915060208301516110a781610efc565b809150509250929050565b6000602082840312156110c457600080fd5b81516107e581610efc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611156577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220e281d3d057fdd7823e397a7be173eeb6e1612d5be44d57f17ce82e2af1cc3db864736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [];
18
18
  readonly name: "PACKAGE_VERSION";
@@ -303,7 +303,7 @@ const _abi = [
303
303
  type: "function",
304
304
  },
305
305
  ];
306
- const _bytecode = "0x608060405234801561001057600080fd5b50611193806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639b92ac4a1161005b5780639b92ac4a1461013e578063a295224f14610151578063e56f40bc14610164578063f4f4edaf146101bb57600080fd5b80631b78348e1461008d578063526607c2146100b557806354f5f3cb146100c857806393c44847146100f5575b600080fd5b6100a061009b366004610e93565b6101ce565b60405190151581526020015b60405180910390f35b6100a06100c3366004610f11565b61030c565b6100db6100d6366004610f62565b6103a7565b6040805192835263ffffffff9091166020830152016100ac565b6101316040518060400160405280600581526020017f352e342e3000000000000000000000000000000000000000000000000000000081525081565b6040516100ac9190610f7d565b6100a061014c366004610fe9565b6104a5565b6100a061015f36600461101f565b610618565b61019f61017236600461103b565b600060208181529281526040808220909352908152205463ffffffff811690640100000000900460ff1682565b6040805163ffffffff90931683529015156020830152016100ac565b6100a06101c936600461101f565b61072c565b6000836101da8161072c565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e74000000000000000060448201526064015b60405180910390fd5b84848461026b610254846107ec565b6102646080860160608701611065565b838561030c565b6102f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b87608001358614159450505050509392505050565b600080610347848460208060200260405190810160405280929190826020800280828437600092019190915250505063ffffffff88166107fa565b73ffffffffffffffffffffffffffffffffffffffff87166000908152602081815260408083208484529091529020805491925090640100000000900460ff16801561039c5750805463ffffffff808816911610155b979650505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff1663907c0f926040518163ffffffff1660e01b81526004016040805180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611082565b60408051808201825263ffffffff80841682526001602080840191825273ffffffffffffffffffffffffffffffffffffffff9099166000908152808a52848120878252909952929097209051815492511515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009093169716969096171790945593915050565b6000826104b18161072c565b610517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b8383856080013561052a610254846107ec565b6105b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b6000610604886080013588602080602002604051908101604052809291908260208002808284376000920191909152506105f991505060808c0160608d01611065565b63ffffffff166108ab565b604089013514159550505050505092915050565b6000816106248161072c565b61068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b6000610695846107ec565b73ffffffffffffffffffffffffffffffffffffffff166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070391906110b2565b905063ffffffff811661071c6080860160608701611065565b63ffffffff161015949350505050565b600080610738836107ec565b905073ffffffffffffffffffffffffffffffffffffffff81163b151580156107e557506107686020840184611065565b63ffffffff168173ffffffffffffffffffffffffffffffffffffffff16638d3638f46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dd91906110b2565b63ffffffff16145b9392505050565b600060208201355b92915050565b8260005b60208110156108a357600183821c166000858360208110610821576108216110cf565b602002015190508160010361086157604080516020810183905290810185905260600160405160208183030381529060405280519060200120935061088e565b60408051602081018690529081018290526060016040516020818303038152906040528051906020012093505b5050808061089b906110fe565b9150506107fe565b509392505050565b8260006108b6610989565b905060005b602081101561098057600184821c811690819003610922578582602081106108e5576108e56110cf565b602002015184604051602001610905929190918252602082015260400190565b60405160208183030381529060405280519060200120935061096d565b83838360208110610935576109356110cf565b6020020151604051602001610954929190918252602082015260400190565b6040516020818303038152906040528051906020012093505b5080610978816110fe565b9150506108bb565b50509392505050565b610991610e4a565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6040518061040001604052806020906020820280368337509192915050565b600060a08284031215610e7b57600080fd5b50919050565b8061040081018310156107f457600080fd5b60008060006104c08486031215610ea957600080fd5b610eb38585610e69565b9250610ec28560a08601610e81565b91506104a084013590509250925092565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ef757600080fd5b919050565b63ffffffff81168114610f0e57600080fd5b50565b6000806000806104608587031215610f2857600080fd5b610f3185610ed3565b93506020850135610f4181610efc565b925060408501359150610f578660608701610e81565b905092959194509250565b600060208284031215610f7457600080fd5b6107e582610ed3565b600060208083528351808285015260005b81811015610faa57858101830151858201604001528201610f8e565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6000806104a08385031215610ffd57600080fd5b6110078484610e69565b91506110168460a08501610e81565b90509250929050565b600060a0828403121561103157600080fd5b6107e58383610e69565b6000806040838503121561104e57600080fd5b61105783610ed3565b946020939093013593505050565b60006020828403121561107757600080fd5b81356107e581610efc565b6000806040838503121561109557600080fd5b8251915060208301516110a781610efc565b809150509250929050565b6000602082840312156110c457600080fd5b81516107e581610efc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611156577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea264697066735822122069bf7a9ce57b24596246ac15940a419569b5d13ad98c58d6f174bde39f0e781364736f6c63430008130033";
306
+ const _bytecode = "0x608060405234801561001057600080fd5b50611193806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639b92ac4a1161005b5780639b92ac4a1461013e578063a295224f14610151578063e56f40bc14610164578063f4f4edaf146101bb57600080fd5b80631b78348e1461008d578063526607c2146100b557806354f5f3cb146100c857806393c44847146100f5575b600080fd5b6100a061009b366004610e93565b6101ce565b60405190151581526020015b60405180910390f35b6100a06100c3366004610f11565b61030c565b6100db6100d6366004610f62565b6103a7565b6040805192835263ffffffff9091166020830152016100ac565b6101316040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516100ac9190610f7d565b6100a061014c366004610fe9565b6104a5565b6100a061015f36600461101f565b610618565b61019f61017236600461103b565b600060208181529281526040808220909352908152205463ffffffff811690640100000000900460ff1682565b6040805163ffffffff90931683529015156020830152016100ac565b6100a06101c936600461101f565b61072c565b6000836101da8161072c565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e74000000000000000060448201526064015b60405180910390fd5b84848461026b610254846107ec565b6102646080860160608701611065565b838561030c565b6102f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b87608001358614159450505050509392505050565b600080610347848460208060200260405190810160405280929190826020800280828437600092019190915250505063ffffffff88166107fa565b73ffffffffffffffffffffffffffffffffffffffff87166000908152602081815260408083208484529091529020805491925090640100000000900460ff16801561039c5750805463ffffffff808816911610155b979650505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff1663907c0f926040518163ffffffff1660e01b81526004016040805180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611082565b60408051808201825263ffffffff80841682526001602080840191825273ffffffffffffffffffffffffffffffffffffffff9099166000908152808a52848120878252909952929097209051815492511515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009093169716969096171790945593915050565b6000826104b18161072c565b610517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b8383856080013561052a610254846107ec565b6105b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f6d657373616765206d757374206265206d656d626572206f662073746f72656460448201527f20636865636b706f696e74000000000000000000000000000000000000000000606482015260840161023c565b6000610604886080013588602080602002604051908101604052809291908260208002808284376000920191909152506105f991505060808c0160608d01611065565b63ffffffff166108ab565b604089013514159550505050505092915050565b6000816106248161072c565b61068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6d757374206265206c6f63616c20636865636b706f696e740000000000000000604482015260640161023c565b6000610695846107ec565b73ffffffffffffffffffffffffffffffffffffffff166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070391906110b2565b905063ffffffff811661071c6080860160608701611065565b63ffffffff161015949350505050565b600080610738836107ec565b905073ffffffffffffffffffffffffffffffffffffffff81163b151580156107e557506107686020840184611065565b63ffffffff168173ffffffffffffffffffffffffffffffffffffffff16638d3638f46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dd91906110b2565b63ffffffff16145b9392505050565b600060208201355b92915050565b8260005b60208110156108a357600183821c166000858360208110610821576108216110cf565b602002015190508160010361086157604080516020810183905290810185905260600160405160208183030381529060405280519060200120935061088e565b60408051602081018690529081018290526060016040516020818303038152906040528051906020012093505b5050808061089b906110fe565b9150506107fe565b509392505050565b8260006108b6610989565b905060005b602081101561098057600184821c811690819003610922578582602081106108e5576108e56110cf565b602002015184604051602001610905929190918252602082015260400190565b60405160208183030381529060405280519060200120935061096d565b83838360208110610935576109356110cf565b6020020151604051602001610954929190918252602082015260400190565b6040516020818303038152906040528051906020012093505b5080610978816110fe565b9150506108bb565b50509392505050565b610991610e4a565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6040518061040001604052806020906020820280368337509192915050565b600060a08284031215610e7b57600080fd5b50919050565b8061040081018310156107f457600080fd5b60008060006104c08486031215610ea957600080fd5b610eb38585610e69565b9250610ec28560a08601610e81565b91506104a084013590509250925092565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ef757600080fd5b919050565b63ffffffff81168114610f0e57600080fd5b50565b6000806000806104608587031215610f2857600080fd5b610f3185610ed3565b93506020850135610f4181610efc565b925060408501359150610f578660608701610e81565b905092959194509250565b600060208284031215610f7457600080fd5b6107e582610ed3565b600060208083528351808285015260005b81811015610faa57858101830151858201604001528201610f8e565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6000806104a08385031215610ffd57600080fd5b6110078484610e69565b91506110168460a08501610e81565b90509250929050565b600060a0828403121561103157600080fd5b6107e58383610e69565b6000806040838503121561104e57600080fd5b61105783610ed3565b946020939093013593505050565b60006020828403121561107757600080fd5b81356107e581610efc565b6000806040838503121561109557600080fd5b8251915060208301516110a781610efc565b809150509250929050565b6000602082840312156110c457600080fd5b81516107e581610efc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611156577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220e281d3d057fdd7823e397a7be173eeb6e1612d5be44d57f17ce82e2af1cc3db864736f6c63430008130033";
307
307
  const isSuperArgs = (xs) => xs.length > 1;
308
308
  export class CheckpointFraudProofs__factory extends ContractFactory {
309
309
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class Mailbox__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): Mailbox;
14
14
  connect(signer: Signer): Mailbox__factory;
15
- static readonly bytecode = "0x60c060405234801561001057600080fd5b50604051620022483803806200224883398101604081905261003191610043565b4360805263ffffffff1660a052610070565b60006020828403121561005557600080fd5b815163ffffffff8116811461006957600080fd5b9392505050565b60805160a0516121a4620000a4600039600081816103d601528181610b0f0152611761015260006103a201526121a46000f3fe6080604052600436106101ac5760003560e01c80638da5cb5b116100ec578063e70f48ac1161008a578063f7ccd32111610064578063f7ccd321146105d7578063f8c8765e146105f7578063fa31de0114610617578063ffa1ad741461062a57600080fd5b8063e70f48ac14610577578063f2fde38b14610597578063f794687a146105b757600080fd5b80639c42bd18116100c65780639c42bd18146104ae578063affed0e0146104ce578063d6d08a09146104eb578063e495f1d41461051857600080fd5b80638da5cb5b1461040d57806393c448471461043857806399b048091461048e57600080fd5b80635d1fe5a9116101595780637c39d130116101335780637c39d1301461035d57806381d2ea951461037057806382ea7bfe146103905780638d3638f4146103c457600080fd5b80635d1fe5a9146102d85780636e5f516e1461031b578063715018a61461034857600080fd5b80631426b7f41161018a5780631426b7f4146102515780633d1250b71461027357806348aee8d4146102c557600080fd5b806307a2fda1146101b157806310b83dc01461021a578063134fbb4f1461023b575b600080fd5b3480156101bd57600080fd5b506101fe6101cc366004611abf565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b61022d610228366004611b55565b610651565b604051908152602001610211565b34801561024757600080fd5b5061022d60665481565b34801561025d57600080fd5b5061027161026c366004611bf3565b610925565b005b34801561027f57600080fd5b506068546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610211565b61022d6102d3366004611c10565b610a45565b3480156102e457600080fd5b506102a06102f3366004611abf565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561032757600080fd5b506067546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b34801561035457600080fd5b50610271610a83565b61027161036b366004611c9a565b610a97565b34801561037c57600080fd5b5061022d61038b366004611b55565b610f39565b34801561039c57600080fd5b5061022d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d057600080fd5b506103f87f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610211565b34801561041957600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102a0565b34801561044457600080fd5b506104816040518060400160405280600581526020017f352e342e3000000000000000000000000000000000000000000000000000000081525081565b6040516102119190611d74565b34801561049a57600080fd5b506102716104a9366004611bf3565b6110cc565b3480156104ba57600080fd5b5061022d6104c9366004611d87565b6111e7565b3480156104da57600080fd5b506065546103f89063ffffffff1681565b3480156104f757600080fd5b506069546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b34801561052457600080fd5b50610567610533366004611abf565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610211565b34801561058357600080fd5b506102a0610592366004611bf3565b611223565b3480156105a357600080fd5b506102716105b2366004611bf3565b61135a565b3480156105c357600080fd5b506102716105d2366004611bf3565b611411565b3480156105e357600080fd5b5061022d6105f2366004611c10565b61152c565b34801561060357600080fd5b50610271610612366004611dd5565b61155f565b61022d610625366004611d87565b611719565b34801561063657600080fd5b5061063f600381565b60405160ff9091168152602001610211565b600073ffffffffffffffffffffffffffffffffffffffff821661068a5760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006106988989898961174c565b805160208201206066819055606580549293509091600191906000906106c590849063ffffffff16611e60565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c814856040516107319190611d74565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd230906107bf908a908a908890600401611ecd565b602060405180830381865afa1580156107dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108009190611efd565b90508034101561080d5750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390610869908b908b908990600401611ecd565b6000604051808303818588803b15801561088257600080fd5b505af1158015610896573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b982346108c39190611f16565b8989876040518563ffffffff1660e01b81526004016108e493929190611ecd565b6000604051808303818588803b1580156108fd57600080fd5b505af1158015610911573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b61092d611795565b73ffffffffffffffffffffffffffffffffffffffff81163b6109d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b6000610a78878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610651565b979650505050505050565b610a8b611795565b610a956000611816565b565b6003610aa3838361188d565b60ff1614610b0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e00000000000000000000000060448201526064016109cd565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610b3e83836118b1565b63ffffffff1614610bab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e0060448201526064016109cd565b6000610bec83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061178a92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610c85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c69766572656400000000000060448201526064016109cd565b6000610c9184846118d4565b90506000610c9e82611223565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610d3c86866118ed565b610d468787611906565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610dfb908a908a908a908a90600401611f29565b6020604051808303816000875af1158015610e1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3e9190611f50565b610ea4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c656460448201526064016109cd565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d47534610ecb8888611906565b610ed589896118ed565b610edf8a8a611916565b6040518663ffffffff1660e01b8152600401610efe9493929190611f72565b6000604051808303818588803b158015610f1757600080fd5b505af1158015610f2b573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610f725760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000610f808989898961174c565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd23090610fd990889088908690600401611ecd565b602060405180830381865afa158015610ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101a9190611efd565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd2309061107490899089908790600401611ecd565b602060405180830381865afa158015611091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b59190611efd565b6110bf9190611f98565b9998505050505050505050565b6110d4611795565b73ffffffffffffffffffffffffffffffffffffffff81163b611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f637400000000000000000000000000000000000000000000000000000000000060648201526084016109cd565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061121a858585856111fc86808385611fab565b60685473ffffffffffffffffffffffffffffffffffffffff16610f39565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff8616916112a49190611fd5565b600060405180830381855afa9150503d80600081146112df576040519150601f19603f3d011682016040523d82523d6000602084013e6112e4565b606091505b50915091508180156112f65750805115155b15611339576000818060200190518101906113119190611ff1565b905073ffffffffffffffffffffffffffffffffffffffff81161561133757949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b611362611795565b73ffffffffffffffffffffffffffffffffffffffff8116611405576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109cd565b61140e81611816565b50565b611419611795565b73ffffffffffffffffffffffffffffffffffffffff81163b6114bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016109cd565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610a78878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f39565b600054610100900460ff161580801561157f5750600054600160ff909116105b806115995750303b158015611599575060005460ff166001145b611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109cd565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561168357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61168b611932565b61169484611411565b61169d836110cc565b6116a682610925565b6116af8561135a565b801561171257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061121a8585858561172e86808385611fab565b60685473ffffffffffffffffffffffffffffffffffffffff16610651565b60655460609061121a9060039063ffffffff167f000000000000000000000000000000000000000000000000000000000000000033898989896119d1565b805160209091012090565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109cd565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061189c6001828486611fab565b6118a59161200e565b60f81c90505b92915050565b60006118c1602d60298486611fab565b6118ca91612056565b60e01c9392505050565b60006118e66118e38484611a0f565b90565b9392505050565b60006118fd602960098486611fab565b6118e69161209c565b60006118c1600960058486611fab565b36600061192683604d8187611fab565b915091505b9250929050565b600054610100900460ff166119c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109cd565b610a95611a1f565b606088888888888888886040516020016119f29897969594939291906120d8565b604051602081830303815290604052905098975050505050505050565b60006118fd604d602d8486611fab565b600054610100900460ff16611ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109cd565b610a9533611816565b600060208284031215611ad157600080fd5b5035919050565b803563ffffffff81168114611aec57600080fd5b919050565b60008083601f840112611b0357600080fd5b50813567ffffffffffffffff811115611b1b57600080fd5b60208301915083602082850101111561192b57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461140e57600080fd5b600080600080600080600060a0888a031215611b7057600080fd5b611b7988611ad8565b965060208801359550604088013567ffffffffffffffff80821115611b9d57600080fd5b611ba98b838c01611af1565b909750955060608a0135915080821115611bc257600080fd5b50611bcf8a828b01611af1565b9094509250506080880135611be381611b33565b8091505092959891949750929550565b600060208284031215611c0557600080fd5b81356118e681611b33565b60008060008060008060808789031215611c2957600080fd5b611c3287611ad8565b955060208701359450604087013567ffffffffffffffff80821115611c5657600080fd5b611c628a838b01611af1565b90965094506060890135915080821115611c7b57600080fd5b50611c8889828a01611af1565b979a9699509497509295939492505050565b60008060008060408587031215611cb057600080fd5b843567ffffffffffffffff80821115611cc857600080fd5b611cd488838901611af1565b90965094506020870135915080821115611ced57600080fd5b50611cfa87828801611af1565b95989497509550505050565b60005b83811015611d21578181015183820152602001611d09565b50506000910152565b60008151808452611d42816020860160208601611d06565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006118e66020830184611d2a565b60008060008060608587031215611d9d57600080fd5b611da685611ad8565b935060208501359250604085013567ffffffffffffffff811115611dc957600080fd5b611cfa87828801611af1565b60008060008060808587031215611deb57600080fd5b8435611df681611b33565b93506020850135611e0681611b33565b92506040850135611e1681611b33565b91506060850135611e2681611b33565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff818116838216019080821115611e7d57611e7d611e31565b5092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604081526000611ee1604083018587611e84565b8281036020840152611ef38185611d2a565b9695505050505050565b600060208284031215611f0f57600080fd5b5051919050565b818103818111156118ab576118ab611e31565b604081526000611f3d604083018688611e84565b8281036020840152610a78818587611e84565b600060208284031215611f6257600080fd5b815180151581146118e657600080fd5b63ffffffff85168152836020820152606060408201526000611ef3606083018486611e84565b808201808211156118ab576118ab611e31565b60008085851115611fbb57600080fd5b83861115611fc857600080fd5b5050820193919092039150565b60008251611fe7818460208701611d06565b9190910192915050565b60006020828403121561200357600080fd5b81516118e681611b33565b7fff00000000000000000000000000000000000000000000000000000000000000813581811691600185101561204e5780818660010360031b1b83161692505b505092915050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561204e5760049490940360031b84901b1690921692915050565b803560208310156118ab577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea26469706673582212206117f6a882ef67a97384fff075ff794e17261dc788a1f575edece6b420de76b064736f6c63430008130033";
15
+ static readonly bytecode = "0x60c060405234801561001057600080fd5b50604051620022483803806200224883398101604081905261003191610043565b4360805263ffffffff1660a052610070565b60006020828403121561005557600080fd5b815163ffffffff8116811461006957600080fd5b9392505050565b60805160a0516121a4620000a4600039600081816103d601528181610b0f0152611761015260006103a201526121a46000f3fe6080604052600436106101ac5760003560e01c80638da5cb5b116100ec578063e70f48ac1161008a578063f7ccd32111610064578063f7ccd321146105d7578063f8c8765e146105f7578063fa31de0114610617578063ffa1ad741461062a57600080fd5b8063e70f48ac14610577578063f2fde38b14610597578063f794687a146105b757600080fd5b80639c42bd18116100c65780639c42bd18146104ae578063affed0e0146104ce578063d6d08a09146104eb578063e495f1d41461051857600080fd5b80638da5cb5b1461040d57806393c448471461043857806399b048091461048e57600080fd5b80635d1fe5a9116101595780637c39d130116101335780637c39d1301461035d57806381d2ea951461037057806382ea7bfe146103905780638d3638f4146103c457600080fd5b80635d1fe5a9146102d85780636e5f516e1461031b578063715018a61461034857600080fd5b80631426b7f41161018a5780631426b7f4146102515780633d1250b71461027357806348aee8d4146102c557600080fd5b806307a2fda1146101b157806310b83dc01461021a578063134fbb4f1461023b575b600080fd5b3480156101bd57600080fd5b506101fe6101cc366004611abf565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b61022d610228366004611b55565b610651565b604051908152602001610211565b34801561024757600080fd5b5061022d60665481565b34801561025d57600080fd5b5061027161026c366004611bf3565b610925565b005b34801561027f57600080fd5b506068546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610211565b61022d6102d3366004611c10565b610a45565b3480156102e457600080fd5b506102a06102f3366004611abf565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561032757600080fd5b506067546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b34801561035457600080fd5b50610271610a83565b61027161036b366004611c9a565b610a97565b34801561037c57600080fd5b5061022d61038b366004611b55565b610f39565b34801561039c57600080fd5b5061022d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d057600080fd5b506103f87f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610211565b34801561041957600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102a0565b34801561044457600080fd5b506104816040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516102119190611d74565b34801561049a57600080fd5b506102716104a9366004611bf3565b6110cc565b3480156104ba57600080fd5b5061022d6104c9366004611d87565b6111e7565b3480156104da57600080fd5b506065546103f89063ffffffff1681565b3480156104f757600080fd5b506069546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b34801561052457600080fd5b50610567610533366004611abf565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610211565b34801561058357600080fd5b506102a0610592366004611bf3565b611223565b3480156105a357600080fd5b506102716105b2366004611bf3565b61135a565b3480156105c357600080fd5b506102716105d2366004611bf3565b611411565b3480156105e357600080fd5b5061022d6105f2366004611c10565b61152c565b34801561060357600080fd5b50610271610612366004611dd5565b61155f565b61022d610625366004611d87565b611719565b34801561063657600080fd5b5061063f600381565b60405160ff9091168152602001610211565b600073ffffffffffffffffffffffffffffffffffffffff821661068a5760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006106988989898961174c565b805160208201206066819055606580549293509091600191906000906106c590849063ffffffff16611e60565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c814856040516107319190611d74565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd230906107bf908a908a908890600401611ecd565b602060405180830381865afa1580156107dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108009190611efd565b90508034101561080d5750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390610869908b908b908990600401611ecd565b6000604051808303818588803b15801561088257600080fd5b505af1158015610896573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b982346108c39190611f16565b8989876040518563ffffffff1660e01b81526004016108e493929190611ecd565b6000604051808303818588803b1580156108fd57600080fd5b505af1158015610911573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b61092d611795565b73ffffffffffffffffffffffffffffffffffffffff81163b6109d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b6000610a78878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610651565b979650505050505050565b610a8b611795565b610a956000611816565b565b6003610aa3838361188d565b60ff1614610b0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e00000000000000000000000060448201526064016109cd565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610b3e83836118b1565b63ffffffff1614610bab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e0060448201526064016109cd565b6000610bec83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061178a92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610c85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c69766572656400000000000060448201526064016109cd565b6000610c9184846118d4565b90506000610c9e82611223565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610d3c86866118ed565b610d468787611906565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610dfb908a908a908a908a90600401611f29565b6020604051808303816000875af1158015610e1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3e9190611f50565b610ea4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c656460448201526064016109cd565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d47534610ecb8888611906565b610ed589896118ed565b610edf8a8a611916565b6040518663ffffffff1660e01b8152600401610efe9493929190611f72565b6000604051808303818588803b158015610f1757600080fd5b505af1158015610f2b573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610f725760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000610f808989898961174c565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd23090610fd990889088908690600401611ecd565b602060405180830381865afa158015610ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101a9190611efd565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd2309061107490899089908790600401611ecd565b602060405180830381865afa158015611091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b59190611efd565b6110bf9190611f98565b9998505050505050505050565b6110d4611795565b73ffffffffffffffffffffffffffffffffffffffff81163b611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f637400000000000000000000000000000000000000000000000000000000000060648201526084016109cd565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061121a858585856111fc86808385611fab565b60685473ffffffffffffffffffffffffffffffffffffffff16610f39565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff8616916112a49190611fd5565b600060405180830381855afa9150503d80600081146112df576040519150601f19603f3d011682016040523d82523d6000602084013e6112e4565b606091505b50915091508180156112f65750805115155b15611339576000818060200190518101906113119190611ff1565b905073ffffffffffffffffffffffffffffffffffffffff81161561133757949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b611362611795565b73ffffffffffffffffffffffffffffffffffffffff8116611405576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109cd565b61140e81611816565b50565b611419611795565b73ffffffffffffffffffffffffffffffffffffffff81163b6114bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016109cd565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610a78878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f39565b600054610100900460ff161580801561157f5750600054600160ff909116105b806115995750303b158015611599575060005460ff166001145b611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109cd565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561168357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61168b611932565b61169484611411565b61169d836110cc565b6116a682610925565b6116af8561135a565b801561171257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061121a8585858561172e86808385611fab565b60685473ffffffffffffffffffffffffffffffffffffffff16610651565b60655460609061121a9060039063ffffffff167f000000000000000000000000000000000000000000000000000000000000000033898989896119d1565b805160209091012090565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109cd565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061189c6001828486611fab565b6118a59161200e565b60f81c90505b92915050565b60006118c1602d60298486611fab565b6118ca91612056565b60e01c9392505050565b60006118e66118e38484611a0f565b90565b9392505050565b60006118fd602960098486611fab565b6118e69161209c565b60006118c1600960058486611fab565b36600061192683604d8187611fab565b915091505b9250929050565b600054610100900460ff166119c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109cd565b610a95611a1f565b606088888888888888886040516020016119f29897969594939291906120d8565b604051602081830303815290604052905098975050505050505050565b60006118fd604d602d8486611fab565b600054610100900460ff16611ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109cd565b610a9533611816565b600060208284031215611ad157600080fd5b5035919050565b803563ffffffff81168114611aec57600080fd5b919050565b60008083601f840112611b0357600080fd5b50813567ffffffffffffffff811115611b1b57600080fd5b60208301915083602082850101111561192b57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461140e57600080fd5b600080600080600080600060a0888a031215611b7057600080fd5b611b7988611ad8565b965060208801359550604088013567ffffffffffffffff80821115611b9d57600080fd5b611ba98b838c01611af1565b909750955060608a0135915080821115611bc257600080fd5b50611bcf8a828b01611af1565b9094509250506080880135611be381611b33565b8091505092959891949750929550565b600060208284031215611c0557600080fd5b81356118e681611b33565b60008060008060008060808789031215611c2957600080fd5b611c3287611ad8565b955060208701359450604087013567ffffffffffffffff80821115611c5657600080fd5b611c628a838b01611af1565b90965094506060890135915080821115611c7b57600080fd5b50611c8889828a01611af1565b979a9699509497509295939492505050565b60008060008060408587031215611cb057600080fd5b843567ffffffffffffffff80821115611cc857600080fd5b611cd488838901611af1565b90965094506020870135915080821115611ced57600080fd5b50611cfa87828801611af1565b95989497509550505050565b60005b83811015611d21578181015183820152602001611d09565b50506000910152565b60008151808452611d42816020860160208601611d06565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006118e66020830184611d2a565b60008060008060608587031215611d9d57600080fd5b611da685611ad8565b935060208501359250604085013567ffffffffffffffff811115611dc957600080fd5b611cfa87828801611af1565b60008060008060808587031215611deb57600080fd5b8435611df681611b33565b93506020850135611e0681611b33565b92506040850135611e1681611b33565b91506060850135611e2681611b33565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff818116838216019080821115611e7d57611e7d611e31565b5092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604081526000611ee1604083018587611e84565b8281036020840152611ef38185611d2a565b9695505050505050565b600060208284031215611f0f57600080fd5b5051919050565b818103818111156118ab576118ab611e31565b604081526000611f3d604083018688611e84565b8281036020840152610a78818587611e84565b600060208284031215611f6257600080fd5b815180151581146118e657600080fd5b63ffffffff85168152836020820152606060408201526000611ef3606083018486611e84565b808201808211156118ab576118ab611e31565b60008085851115611fbb57600080fd5b83861115611fc857600080fd5b5050820193919092039150565b60008251611fe7818460208701611d06565b9190910192915050565b60006020828403121561200357600080fd5b81516118e681611b33565b7fff00000000000000000000000000000000000000000000000000000000000000813581811691600185101561204e5780818660010360031b1b83161692505b505092915050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561204e5760049490940360031b84901b1690921692915050565b803560208310156118ab577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea26469706673582212200924c23718d28837f315e8d8cb3d184a7a25b8a302a5de12045af5ca9ede322764736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "uint32";
@@ -683,7 +683,7 @@ const _abi = [
683
683
  type: "function",
684
684
  },
685
685
  ];
686
- const _bytecode = "0x60c060405234801561001057600080fd5b50604051620022483803806200224883398101604081905261003191610043565b4360805263ffffffff1660a052610070565b60006020828403121561005557600080fd5b815163ffffffff8116811461006957600080fd5b9392505050565b60805160a0516121a4620000a4600039600081816103d601528181610b0f0152611761015260006103a201526121a46000f3fe6080604052600436106101ac5760003560e01c80638da5cb5b116100ec578063e70f48ac1161008a578063f7ccd32111610064578063f7ccd321146105d7578063f8c8765e146105f7578063fa31de0114610617578063ffa1ad741461062a57600080fd5b8063e70f48ac14610577578063f2fde38b14610597578063f794687a146105b757600080fd5b80639c42bd18116100c65780639c42bd18146104ae578063affed0e0146104ce578063d6d08a09146104eb578063e495f1d41461051857600080fd5b80638da5cb5b1461040d57806393c448471461043857806399b048091461048e57600080fd5b80635d1fe5a9116101595780637c39d130116101335780637c39d1301461035d57806381d2ea951461037057806382ea7bfe146103905780638d3638f4146103c457600080fd5b80635d1fe5a9146102d85780636e5f516e1461031b578063715018a61461034857600080fd5b80631426b7f41161018a5780631426b7f4146102515780633d1250b71461027357806348aee8d4146102c557600080fd5b806307a2fda1146101b157806310b83dc01461021a578063134fbb4f1461023b575b600080fd5b3480156101bd57600080fd5b506101fe6101cc366004611abf565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b61022d610228366004611b55565b610651565b604051908152602001610211565b34801561024757600080fd5b5061022d60665481565b34801561025d57600080fd5b5061027161026c366004611bf3565b610925565b005b34801561027f57600080fd5b506068546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610211565b61022d6102d3366004611c10565b610a45565b3480156102e457600080fd5b506102a06102f3366004611abf565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561032757600080fd5b506067546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b34801561035457600080fd5b50610271610a83565b61027161036b366004611c9a565b610a97565b34801561037c57600080fd5b5061022d61038b366004611b55565b610f39565b34801561039c57600080fd5b5061022d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d057600080fd5b506103f87f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610211565b34801561041957600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102a0565b34801561044457600080fd5b506104816040518060400160405280600581526020017f352e342e3000000000000000000000000000000000000000000000000000000081525081565b6040516102119190611d74565b34801561049a57600080fd5b506102716104a9366004611bf3565b6110cc565b3480156104ba57600080fd5b5061022d6104c9366004611d87565b6111e7565b3480156104da57600080fd5b506065546103f89063ffffffff1681565b3480156104f757600080fd5b506069546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b34801561052457600080fd5b50610567610533366004611abf565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610211565b34801561058357600080fd5b506102a0610592366004611bf3565b611223565b3480156105a357600080fd5b506102716105b2366004611bf3565b61135a565b3480156105c357600080fd5b506102716105d2366004611bf3565b611411565b3480156105e357600080fd5b5061022d6105f2366004611c10565b61152c565b34801561060357600080fd5b50610271610612366004611dd5565b61155f565b61022d610625366004611d87565b611719565b34801561063657600080fd5b5061063f600381565b60405160ff9091168152602001610211565b600073ffffffffffffffffffffffffffffffffffffffff821661068a5760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006106988989898961174c565b805160208201206066819055606580549293509091600191906000906106c590849063ffffffff16611e60565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c814856040516107319190611d74565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd230906107bf908a908a908890600401611ecd565b602060405180830381865afa1580156107dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108009190611efd565b90508034101561080d5750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390610869908b908b908990600401611ecd565b6000604051808303818588803b15801561088257600080fd5b505af1158015610896573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b982346108c39190611f16565b8989876040518563ffffffff1660e01b81526004016108e493929190611ecd565b6000604051808303818588803b1580156108fd57600080fd5b505af1158015610911573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b61092d611795565b73ffffffffffffffffffffffffffffffffffffffff81163b6109d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b6000610a78878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610651565b979650505050505050565b610a8b611795565b610a956000611816565b565b6003610aa3838361188d565b60ff1614610b0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e00000000000000000000000060448201526064016109cd565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610b3e83836118b1565b63ffffffff1614610bab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e0060448201526064016109cd565b6000610bec83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061178a92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610c85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c69766572656400000000000060448201526064016109cd565b6000610c9184846118d4565b90506000610c9e82611223565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610d3c86866118ed565b610d468787611906565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610dfb908a908a908a908a90600401611f29565b6020604051808303816000875af1158015610e1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3e9190611f50565b610ea4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c656460448201526064016109cd565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d47534610ecb8888611906565b610ed589896118ed565b610edf8a8a611916565b6040518663ffffffff1660e01b8152600401610efe9493929190611f72565b6000604051808303818588803b158015610f1757600080fd5b505af1158015610f2b573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610f725760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000610f808989898961174c565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd23090610fd990889088908690600401611ecd565b602060405180830381865afa158015610ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101a9190611efd565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd2309061107490899089908790600401611ecd565b602060405180830381865afa158015611091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b59190611efd565b6110bf9190611f98565b9998505050505050505050565b6110d4611795565b73ffffffffffffffffffffffffffffffffffffffff81163b611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f637400000000000000000000000000000000000000000000000000000000000060648201526084016109cd565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061121a858585856111fc86808385611fab565b60685473ffffffffffffffffffffffffffffffffffffffff16610f39565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff8616916112a49190611fd5565b600060405180830381855afa9150503d80600081146112df576040519150601f19603f3d011682016040523d82523d6000602084013e6112e4565b606091505b50915091508180156112f65750805115155b15611339576000818060200190518101906113119190611ff1565b905073ffffffffffffffffffffffffffffffffffffffff81161561133757949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b611362611795565b73ffffffffffffffffffffffffffffffffffffffff8116611405576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109cd565b61140e81611816565b50565b611419611795565b73ffffffffffffffffffffffffffffffffffffffff81163b6114bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016109cd565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610a78878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f39565b600054610100900460ff161580801561157f5750600054600160ff909116105b806115995750303b158015611599575060005460ff166001145b611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109cd565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561168357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61168b611932565b61169484611411565b61169d836110cc565b6116a682610925565b6116af8561135a565b801561171257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061121a8585858561172e86808385611fab565b60685473ffffffffffffffffffffffffffffffffffffffff16610651565b60655460609061121a9060039063ffffffff167f000000000000000000000000000000000000000000000000000000000000000033898989896119d1565b805160209091012090565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109cd565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061189c6001828486611fab565b6118a59161200e565b60f81c90505b92915050565b60006118c1602d60298486611fab565b6118ca91612056565b60e01c9392505050565b60006118e66118e38484611a0f565b90565b9392505050565b60006118fd602960098486611fab565b6118e69161209c565b60006118c1600960058486611fab565b36600061192683604d8187611fab565b915091505b9250929050565b600054610100900460ff166119c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109cd565b610a95611a1f565b606088888888888888886040516020016119f29897969594939291906120d8565b604051602081830303815290604052905098975050505050505050565b60006118fd604d602d8486611fab565b600054610100900460ff16611ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109cd565b610a9533611816565b600060208284031215611ad157600080fd5b5035919050565b803563ffffffff81168114611aec57600080fd5b919050565b60008083601f840112611b0357600080fd5b50813567ffffffffffffffff811115611b1b57600080fd5b60208301915083602082850101111561192b57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461140e57600080fd5b600080600080600080600060a0888a031215611b7057600080fd5b611b7988611ad8565b965060208801359550604088013567ffffffffffffffff80821115611b9d57600080fd5b611ba98b838c01611af1565b909750955060608a0135915080821115611bc257600080fd5b50611bcf8a828b01611af1565b9094509250506080880135611be381611b33565b8091505092959891949750929550565b600060208284031215611c0557600080fd5b81356118e681611b33565b60008060008060008060808789031215611c2957600080fd5b611c3287611ad8565b955060208701359450604087013567ffffffffffffffff80821115611c5657600080fd5b611c628a838b01611af1565b90965094506060890135915080821115611c7b57600080fd5b50611c8889828a01611af1565b979a9699509497509295939492505050565b60008060008060408587031215611cb057600080fd5b843567ffffffffffffffff80821115611cc857600080fd5b611cd488838901611af1565b90965094506020870135915080821115611ced57600080fd5b50611cfa87828801611af1565b95989497509550505050565b60005b83811015611d21578181015183820152602001611d09565b50506000910152565b60008151808452611d42816020860160208601611d06565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006118e66020830184611d2a565b60008060008060608587031215611d9d57600080fd5b611da685611ad8565b935060208501359250604085013567ffffffffffffffff811115611dc957600080fd5b611cfa87828801611af1565b60008060008060808587031215611deb57600080fd5b8435611df681611b33565b93506020850135611e0681611b33565b92506040850135611e1681611b33565b91506060850135611e2681611b33565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff818116838216019080821115611e7d57611e7d611e31565b5092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604081526000611ee1604083018587611e84565b8281036020840152611ef38185611d2a565b9695505050505050565b600060208284031215611f0f57600080fd5b5051919050565b818103818111156118ab576118ab611e31565b604081526000611f3d604083018688611e84565b8281036020840152610a78818587611e84565b600060208284031215611f6257600080fd5b815180151581146118e657600080fd5b63ffffffff85168152836020820152606060408201526000611ef3606083018486611e84565b808201808211156118ab576118ab611e31565b60008085851115611fbb57600080fd5b83861115611fc857600080fd5b5050820193919092039150565b60008251611fe7818460208701611d06565b9190910192915050565b60006020828403121561200357600080fd5b81516118e681611b33565b7fff00000000000000000000000000000000000000000000000000000000000000813581811691600185101561204e5780818660010360031b1b83161692505b505092915050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561204e5760049490940360031b84901b1690921692915050565b803560208310156118ab577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea26469706673582212206117f6a882ef67a97384fff075ff794e17261dc788a1f575edece6b420de76b064736f6c63430008130033";
686
+ const _bytecode = "0x60c060405234801561001057600080fd5b50604051620022483803806200224883398101604081905261003191610043565b4360805263ffffffff1660a052610070565b60006020828403121561005557600080fd5b815163ffffffff8116811461006957600080fd5b9392505050565b60805160a0516121a4620000a4600039600081816103d601528181610b0f0152611761015260006103a201526121a46000f3fe6080604052600436106101ac5760003560e01c80638da5cb5b116100ec578063e70f48ac1161008a578063f7ccd32111610064578063f7ccd321146105d7578063f8c8765e146105f7578063fa31de0114610617578063ffa1ad741461062a57600080fd5b8063e70f48ac14610577578063f2fde38b14610597578063f794687a146105b757600080fd5b80639c42bd18116100c65780639c42bd18146104ae578063affed0e0146104ce578063d6d08a09146104eb578063e495f1d41461051857600080fd5b80638da5cb5b1461040d57806393c448471461043857806399b048091461048e57600080fd5b80635d1fe5a9116101595780637c39d130116101335780637c39d1301461035d57806381d2ea951461037057806382ea7bfe146103905780638d3638f4146103c457600080fd5b80635d1fe5a9146102d85780636e5f516e1461031b578063715018a61461034857600080fd5b80631426b7f41161018a5780631426b7f4146102515780633d1250b71461027357806348aee8d4146102c557600080fd5b806307a2fda1146101b157806310b83dc01461021a578063134fbb4f1461023b575b600080fd5b3480156101bd57600080fd5b506101fe6101cc366004611abf565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b61022d610228366004611b55565b610651565b604051908152602001610211565b34801561024757600080fd5b5061022d60665481565b34801561025d57600080fd5b5061027161026c366004611bf3565b610925565b005b34801561027f57600080fd5b506068546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610211565b61022d6102d3366004611c10565b610a45565b3480156102e457600080fd5b506102a06102f3366004611abf565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561032757600080fd5b506067546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b34801561035457600080fd5b50610271610a83565b61027161036b366004611c9a565b610a97565b34801561037c57600080fd5b5061022d61038b366004611b55565b610f39565b34801561039c57600080fd5b5061022d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d057600080fd5b506103f87f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610211565b34801561041957600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102a0565b34801561044457600080fd5b506104816040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516102119190611d74565b34801561049a57600080fd5b506102716104a9366004611bf3565b6110cc565b3480156104ba57600080fd5b5061022d6104c9366004611d87565b6111e7565b3480156104da57600080fd5b506065546103f89063ffffffff1681565b3480156104f757600080fd5b506069546102a09073ffffffffffffffffffffffffffffffffffffffff1681565b34801561052457600080fd5b50610567610533366004611abf565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610211565b34801561058357600080fd5b506102a0610592366004611bf3565b611223565b3480156105a357600080fd5b506102716105b2366004611bf3565b61135a565b3480156105c357600080fd5b506102716105d2366004611bf3565b611411565b3480156105e357600080fd5b5061022d6105f2366004611c10565b61152c565b34801561060357600080fd5b50610271610612366004611dd5565b61155f565b61022d610625366004611d87565b611719565b34801561063657600080fd5b5061063f600381565b60405160ff9091168152602001610211565b600073ffffffffffffffffffffffffffffffffffffffff821661068a5760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006106988989898961174c565b805160208201206066819055606580549293509091600191906000906106c590849063ffffffff16611e60565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c814856040516107319190611d74565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd230906107bf908a908a908890600401611ecd565b602060405180830381865afa1580156107dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108009190611efd565b90508034101561080d5750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390610869908b908b908990600401611ecd565b6000604051808303818588803b15801561088257600080fd5b505af1158015610896573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b982346108c39190611f16565b8989876040518563ffffffff1660e01b81526004016108e493929190611ecd565b6000604051808303818588803b1580156108fd57600080fd5b505af1158015610911573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b61092d611795565b73ffffffffffffffffffffffffffffffffffffffff81163b6109d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b6000610a78878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610651565b979650505050505050565b610a8b611795565b610a956000611816565b565b6003610aa3838361188d565b60ff1614610b0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e00000000000000000000000060448201526064016109cd565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610b3e83836118b1565b63ffffffff1614610bab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e0060448201526064016109cd565b6000610bec83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061178a92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610c85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c69766572656400000000000060448201526064016109cd565b6000610c9184846118d4565b90506000610c9e82611223565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610d3c86866118ed565b610d468787611906565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610dfb908a908a908a908a90600401611f29565b6020604051808303816000875af1158015610e1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3e9190611f50565b610ea4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c656460448201526064016109cd565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d47534610ecb8888611906565b610ed589896118ed565b610edf8a8a611916565b6040518663ffffffff1660e01b8152600401610efe9493929190611f72565b6000604051808303818588803b158015610f1757600080fd5b505af1158015610f2b573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610f725760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000610f808989898961174c565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd23090610fd990889088908690600401611ecd565b602060405180830381865afa158015610ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101a9190611efd565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd2309061107490899089908790600401611ecd565b602060405180830381865afa158015611091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b59190611efd565b6110bf9190611f98565b9998505050505050505050565b6110d4611795565b73ffffffffffffffffffffffffffffffffffffffff81163b611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f637400000000000000000000000000000000000000000000000000000000000060648201526084016109cd565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061121a858585856111fc86808385611fab565b60685473ffffffffffffffffffffffffffffffffffffffff16610f39565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff8616916112a49190611fd5565b600060405180830381855afa9150503d80600081146112df576040519150601f19603f3d011682016040523d82523d6000602084013e6112e4565b606091505b50915091508180156112f65750805115155b15611339576000818060200190518101906113119190611ff1565b905073ffffffffffffffffffffffffffffffffffffffff81161561133757949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b611362611795565b73ffffffffffffffffffffffffffffffffffffffff8116611405576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109cd565b61140e81611816565b50565b611419611795565b73ffffffffffffffffffffffffffffffffffffffff81163b6114bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016109cd565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610a78878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f39565b600054610100900460ff161580801561157f5750600054600160ff909116105b806115995750303b158015611599575060005460ff166001145b611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109cd565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561168357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61168b611932565b61169484611411565b61169d836110cc565b6116a682610925565b6116af8561135a565b801561171257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061121a8585858561172e86808385611fab565b60685473ffffffffffffffffffffffffffffffffffffffff16610651565b60655460609061121a9060039063ffffffff167f000000000000000000000000000000000000000000000000000000000000000033898989896119d1565b805160209091012090565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109cd565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061189c6001828486611fab565b6118a59161200e565b60f81c90505b92915050565b60006118c1602d60298486611fab565b6118ca91612056565b60e01c9392505050565b60006118e66118e38484611a0f565b90565b9392505050565b60006118fd602960098486611fab565b6118e69161209c565b60006118c1600960058486611fab565b36600061192683604d8187611fab565b915091505b9250929050565b600054610100900460ff166119c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109cd565b610a95611a1f565b606088888888888888886040516020016119f29897969594939291906120d8565b604051602081830303815290604052905098975050505050505050565b60006118fd604d602d8486611fab565b600054610100900460ff16611ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109cd565b610a9533611816565b600060208284031215611ad157600080fd5b5035919050565b803563ffffffff81168114611aec57600080fd5b919050565b60008083601f840112611b0357600080fd5b50813567ffffffffffffffff811115611b1b57600080fd5b60208301915083602082850101111561192b57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461140e57600080fd5b600080600080600080600060a0888a031215611b7057600080fd5b611b7988611ad8565b965060208801359550604088013567ffffffffffffffff80821115611b9d57600080fd5b611ba98b838c01611af1565b909750955060608a0135915080821115611bc257600080fd5b50611bcf8a828b01611af1565b9094509250506080880135611be381611b33565b8091505092959891949750929550565b600060208284031215611c0557600080fd5b81356118e681611b33565b60008060008060008060808789031215611c2957600080fd5b611c3287611ad8565b955060208701359450604087013567ffffffffffffffff80821115611c5657600080fd5b611c628a838b01611af1565b90965094506060890135915080821115611c7b57600080fd5b50611c8889828a01611af1565b979a9699509497509295939492505050565b60008060008060408587031215611cb057600080fd5b843567ffffffffffffffff80821115611cc857600080fd5b611cd488838901611af1565b90965094506020870135915080821115611ced57600080fd5b50611cfa87828801611af1565b95989497509550505050565b60005b83811015611d21578181015183820152602001611d09565b50506000910152565b60008151808452611d42816020860160208601611d06565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006118e66020830184611d2a565b60008060008060608587031215611d9d57600080fd5b611da685611ad8565b935060208501359250604085013567ffffffffffffffff811115611dc957600080fd5b611cfa87828801611af1565b60008060008060808587031215611deb57600080fd5b8435611df681611b33565b93506020850135611e0681611b33565b92506040850135611e1681611b33565b91506060850135611e2681611b33565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff818116838216019080821115611e7d57611e7d611e31565b5092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604081526000611ee1604083018587611e84565b8281036020840152611ef38185611d2a565b9695505050505050565b600060208284031215611f0f57600080fd5b5051919050565b818103818111156118ab576118ab611e31565b604081526000611f3d604083018688611e84565b8281036020840152610a78818587611e84565b600060208284031215611f6257600080fd5b815180151581146118e657600080fd5b63ffffffff85168152836020820152606060408201526000611ef3606083018486611e84565b808201808211156118ab576118ab611e31565b60008085851115611fbb57600080fd5b83861115611fc857600080fd5b5050820193919092039150565b60008251611fe7818460208701611d06565b9190910192915050565b60006020828403121561200357600080fd5b81516118e681611b33565b7fff00000000000000000000000000000000000000000000000000000000000000813581811691600185101561204e5780818660010360031b1b83161692505b505092915050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561204e5760049490940360031b84901b1690921692915050565b803560208310156118ab577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea26469706673582212200924c23718d28837f315e8d8cb3d184a7a25b8a302a5de12045af5ca9ede322764736f6c63430008130033";
687
687
  const isSuperArgs = (xs) => xs.length > 1;
688
688
  export class Mailbox__factory extends ContractFactory {
689
689
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class ECDSAStakeRegistry__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): ECDSAStakeRegistry;
14
14
  connect(signer: Signer): ECDSAStakeRegistry__factory;
15
- static readonly bytecode = "0x60a06040523480156200001157600080fd5b50604051620034be380380620034be833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b60805161342a6200009460003960006108f1015261342a6000f3fe608060405234801561001057600080fd5b50600436106101ad5760003560e01c8063715018a6116100ee57806398ec1ac911610097578063cdcd358111610071578063cdcd3581146103cb578063dec5d1f6146103de578063ec7fbb31146103f1578063f2fde38b1461043a57600080fd5b806398ec1ac91461039d578063ab118995146103b0578063b933fa74146103c357600080fd5b80638da5cb5b116100c85780638da5cb5b1461032357806393c4484714610341578063955f2d901461038a57600080fd5b8063715018a614610300578063743c31f414610308578063857dc1901461031b57600080fd5b80633b242e4a1161015b5780635140a548116101355780635140a5481461028f5780635e1042e8146102a25780635ef53329146102da578063696255be146102ed57600080fd5b80633b242e4a146102615780633d5611f61461027457806340bf2fb71461028757600080fd5b80631703a0181161018c5780631703a018146102315780631e4cd85e14610246578063314f3a491461025957600080fd5b8062cf2ab5146101b25780630dba3394146101c75780631626ba7e146101ed575b600080fd5b6101c56101c0366004612892565b61044d565b005b6101da6101d53660046128e1565b610459565b6040519081526020015b60405180910390f35b6102006101fb366004612995565b610475565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101e4565b6102396104cc565b6040516101e49190612a51565b6101da6102543660046128e1565b610582565b6101da610598565b6101da61026f366004612a64565b6105c7565b6101c5610282366004612a81565b610619565b6067546101da565b6101c561029d366004612b2f565b610628565b6102b56102b0366004612bf9565b61064b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e4565b6101c56102e8366004612c25565b610681565b6101c56102fb366004612c3e565b610692565b6101c56106ac565b6101c5610316366004612a64565b6106c0565b6101c5610713565b60335473ffffffffffffffffffffffffffffffffffffffff166102b5565b61037d6040518060400160405280600581526020017f352e342e3000000000000000000000000000000000000000000000000000000081525081565b6040516101e49190612ce9565b6101da610398366004612cfc565b61071c565b6101da6103ab366004612a64565b610754565b6101c56103be366004612e11565b610a35565b6101da610bd2565b6102b56103d9366004612a64565b610bde565b6101c56103ec366004612e6a565b610c0c565b61042a6103ff366004612a64565b73ffffffffffffffffffffffffffffffffffffffff166000908152606e602052604090205460ff1690565b60405190151581526020016101e4565b6101c5610448366004612a64565b610c1d565b61045681610cd1565b50565b600061046f606b63ffffffff80851690610d2816565b92915050565b6000806000808480602001905181019061048f9190612f90565b9250925092506104a186848484610e2d565b507f1626ba7e0000000000000000000000000000000000000000000000000000000095945050505050565b6040805160208101909152606081526040805160668054602081810284018501855283018181529293919284929091849160009085015b82821015610575576000848152602090819020604080518082019091529084015473ffffffffffffffffffffffffffffffffffffffff811682527401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1681830152825260019092019101610503565b5050505081525050905090565b600061046f606c63ffffffff80851690610d2816565b60006105a4606b610eec565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905090565b73ffffffffffffffffffffffffffffffffffffffff81166000908152606d602052604081206105f590610eec565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b610624338383610f3b565b5050565b6106248260008151811061063e5761063e613065565b60200260200101516110f7565b73ffffffffffffffffffffffffffffffffffffffff82166000908152606a6020526040812061067a9083610d28565b9392505050565b610689611133565b610456816111b4565b61069a611133565b6106a3826111f7565b61062481610cd1565b6106b4611133565b6106be600061123d565b565b336000908152606e602052604090205460ff16610709576040517f25ec6c1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045633826112b4565b6106be336113a7565b73ffffffffffffffffffffffffffffffffffffffff82166000908152606d6020526040812061067a9063ffffffff80851690610d2816565b6000806066600001805480602002602001604051908101604052809291908181526020016000905b828210156107ee576000848152602090819020604080518082019091529084015473ffffffffffffffffffffffffffffffffffffffff811682527401000000000000000000000000000000000000000090046bffffffffffffffffffffffff168183015282526001909201910161077c565b505050509050600080825167ffffffffffffffff8111156108115761081161270e565b60405190808252806020026020018201604052801561083a578160200160208202803683370190505b50905060005b83518110156108b05783818151811061085b5761085b613065565b60200260200101516000015182828151811061087957610879613065565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152806108a8816130c3565b915050610840565b506040517f9004134700000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063900413479061092890899086906004016130fb565b600060405180830381865afa158015610945573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261098b9190810190613163565b905060005b8451811015610a07578481815181106109ab576109ab613065565b6020026020010151602001516bffffffffffffffffffffffff168282815181106109d7576109d7613065565b60200260200101516109e991906131f4565b6109f3908561320b565b9350806109ff816130c3565b915050610990565b50610a146127108461321e565b92506067548310610a29575090949350505050565b50600095945050505050565b600054610100900460ff1615808015610a555750600054600160ff909116105b80610a6f5750303b158015610a6f575060005460ff166001145b610b00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b5e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610b6984848461154e565b8015610bcc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60006105a4606c610eec565b73ffffffffffffffffffffffffffffffffffffffff81166000908152606a6020526040812061046f90610eec565b610c14611133565b6106a382611644565b610c25611133565b73ffffffffffffffffffffffffffffffffffffffff8116610cc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610af7565b6104568161123d565b6000805b8251811015610d1e57610d00838281518110610cf357610cf3613065565b6020026020010151611802565b610d0a9083613259565b915080610d16816130c3565b915050610cd5565b50610bcc8161198c565b6000438210610d93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610af7565b6000610d9e83611a16565b84549091506000610db186848385611ab0565b90508015610e0257610dd686610dc8600184613281565b600091825260209091200190565b5464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610e05565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169695505050505050565b600083519050600080600080610e44858851611b0e565b60005b85811015610ed657888181518110610e6157610e61613065565b60200260200101519450610e758588611b81565b9250610e818486611bfa565b610ea5838b8a8481518110610e9857610e98613065565b6020026020010151611c5f565b8493506000610eb48689611cb6565b9050610ec0818461320b565b9250508080610ece906130c3565b915050610e47565b50610ee18187611d2f565b505050505050505050565b80546000908015610f3257610f0683610dc8600184613281565b5464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661067a565b60009392505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152606e602052604090205460ff1615610f9b576040517f42ee68b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60658054906000610fab836130c3565b909155505073ffffffffffffffffffffffffffffffffffffffff83166000908152606e6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561100784611802565b90506110128161198c565b505061101e84836112b4565b6068546040517f9926ee7d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690639926ee7d906110769087908790600401613294565b600060405180830381600087803b15801561109057600080fd5b505af11580156110a4573d6000803e3d6000fd5b505060685460405173ffffffffffffffffffffffffffffffffffffffff918216935090871691507fa453db612af59e5521d6ab9284dc3e2d06af286eb1b1b7b771fce4716c19f2c190600090a350505050565b60655481511461044d576040517f2d3df6b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60335473ffffffffffffffffffffffffffffffffffffffff1633146106be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610af7565b6111bf606c82611dbd565b50506040518181527f9324f7e5a7c0288808a634ccde44b8e979676474b22e29ee9dd569b55e791a4b9060200160405180910390a150565b606780549082905560408051828152602081018490527f713ca53b88d6eb63f5b1854cb8cbdd736ec51eda225e46791aa9298b0160648f91015b60405180910390a15050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152606a602052604081206112e290610eec565b90508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361131c57505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152606a6020526040902061134d918416611dbd565b505060405173ffffffffffffffffffffffffffffffffffffffff82811682528084169143918616907fd061168252f441733658f09e4d8f5b2d998ed4ef24a2bbfd6ceca52ea13150029060200160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152606e602052604090205460ff16611406576040517f25ec6c1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60658054906000611416836132ed565b909155505073ffffffffffffffffffffffffffffffffffffffff81166000908152606e6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905561146f82611802565b905061147a8161198c565b50506068546040517fa364f4da00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301529091169063a364f4da90602401600060405180830381600087803b1580156114e957600080fd5b505af11580156114fd573d6000803e3d6000fd5b505060685460405173ffffffffffffffffffffffffffffffffffffffff918216935090851691507f31e0adfec71bccee37b6e83a90c2fedb17d8f1693fee863c4771e7bfe2aed58090600090a35050565b600054610100900460ff166115e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af7565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851617905561162e826111b4565b61163781611644565b61163f611e08565b505050565b61164d81611ea7565b611683576040517fd173577900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051606680546020818102840185018552830181815260009484928491879085015b82821015611719576000848152602090819020604080518082019091529084015473ffffffffffffffffffffffffffffffffffffffff811682527401000000000000000000000000000000000000000090046bffffffffffffffffffffffff16818301528252600190920191016116a7565b50505091525090915060669050600061173282826126e0565b505060005b8251518110156117d05782518051606691908390811061175957611759613065565b6020908102919091018101518254600181018455600093845292829020815191909201516bffffffffffffffffffffffff16740100000000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff90911617910155806117c8816130c3565b915050611737565b507f23aad4e61744ece164130aa415c1616e80136b0f0770e56589438b90b269265e8183604051611231929190613322565b73ffffffffffffffffffffffffffffffffffffffff81166000908152606d6020526040812081908190819061183690610eec565b73ffffffffffffffffffffffffffffffffffffffff86166000908152606e60205260409020547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff91909116915060ff166118d8576118908184613350565b9250826000036118a35750909392505050565b73ffffffffffffffffffffffffffffffffffffffff85166000908152606d602052604081206118d191611dbd565b5050611932565b6118e185610754565b91506118ed8183613350565b9250826000036119005750909392505050565b73ffffffffffffffffffffffffffffffffffffffff85166000908152606d6020526040902061192f9083611dbd565b50505b604080518281526020810184905273ffffffffffffffffffffffffffffffffffffffff8716917f88770dc862e47a7ed586907857eb1b75e4c5ffc8b707c7ee10eb74d6885fe594910160405180910390a250909392505050565b600080611999606b610eec565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915060006119c58484613259565b91508190506119d5606b82611dbd565b505060408051848152602081018490527f86dcf86b12dfeedea74ae9300dbdaa193bcce5809369c8177ea2f4eaaa65729b910160405180910390a150915091565b600063ffffffff821115611aac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610af7565b5090565b60005b81831015611b06576000611ac78484611faf565b60008781526020902090915063ffffffff86169082015463ffffffff161115611af257809250611b00565b611afd81600161320b565b93505b50611ab3565b509392505050565b808214611b47576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600003610624576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000438263ffffffff1610611bc2576040517fe64f180f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152606a6020526040902061067a9063ffffffff80851690610d2816565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1610610624576040517fba50f91100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c8073ffffffffffffffffffffffffffffffffffffffff84168383611fca565b61163f576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000438263ffffffff1610611cf7576040517fe64f180f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152606d6020526040902061067a9063ffffffff80851690610d2816565b6000611d3a82612045565b905080831115611d76576040517f960b41ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d818361209a565b905083811115610bcc576040517fe121632f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611ddb84611dcd43611a16565b611dd6866120ef565b61219d565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff91821693501690505b9250929050565b600054610100900460ff16611e9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af7565b6106be6123b2565b8051600090818080805b8451811015611f8d57848181518110611ecc57611ecc613065565b60200260200101516000015192508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610611f3f576040517fba50f91100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b829350848181518110611f5457611f54613065565b6020026020010151602001516bffffffffffffffffffffffff1682611f79919061320b565b915080611f85816130c3565b915050611eb1565b506127108114611fa35750600095945050505050565b50600195945050505050565b6000611fbe600284841861321e565b61067a9084841661320b565b6000806000611fd98585612452565b90925090506000816004811115611ff257611ff2613377565b14801561202a57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061203b575061203b868686612494565b9695505050505050565b6000438263ffffffff1610612086576040517fe64f180f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61046f606b63ffffffff80851690610d2816565b6000438263ffffffff16106120db576040517fe64f180f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61046f606c63ffffffff80851690610d2816565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff821115611aac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f32342062697473000000000000000000000000000000000000000000000000006064820152608401610af7565b82546000908190801561233f5760006121bb87610dc8600185613281565b60408051808201909152905463ffffffff8082168084526401000000009092047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166020840152919250908716101561226c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610af7565b805163ffffffff8088169116036122ca578461228d88610dc8600186613281565b80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092166401000000000263ffffffff90921691909117905561232f565b6040805180820190915263ffffffff80881682527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506123aa9050565b50506040805180820190915263ffffffff80851682527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80851660208085019182528854600181018a5560008a8152918220955192519093166401000000000291909316179201919091559050815b935093915050565b600054610100900460ff16612449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af7565b6106be3361123d565b60008082516041036124885760208301516040840151606085015160001a61247c878285856125f1565b94509450505050611e01565b50600090506002611e01565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b86866040516024016124cb9291906133a6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161255491906133bf565b600060405180830381855afa9150503d806000811461258f576040519150601f19603f3d011682016040523d82523d6000602084013e612594565b606091505b50915091508180156125a857506020815110155b801561203b575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906125e690830160209081019084016133db565b149695505050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561262857506000905060036126d7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561267c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166126d0576000600192509250506126d7565b9150600090505b94509492505050565b508054600082559060005260206000209081019061045691905b80821115611aac57600081556001016126fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516020810167ffffffffffffffff811182821017156127605761276061270e565b60405290565b6040805190810167ffffffffffffffff811182821017156127605761276061270e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156127d0576127d061270e565b604052919050565b600067ffffffffffffffff8211156127f2576127f261270e565b5060051b60200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461045657600080fd5b600082601f83011261282f57600080fd5b8135602061284461283f836127d8565b612789565b82815260059290921b8401810191818101908684111561286357600080fd5b8286015b8481101561288757803561287a816127fc565b8352918301918301612867565b509695505050505050565b6000602082840312156128a457600080fd5b813567ffffffffffffffff8111156128bb57600080fd5b6128c78482850161281e565b949350505050565b63ffffffff8116811461045657600080fd5b6000602082840312156128f357600080fd5b813561067a816128cf565b600067ffffffffffffffff8211156129185761291861270e565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261295557600080fd5b813561296361283f826128fe565b81815284602083860101111561297857600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156129a857600080fd5b82359150602083013567ffffffffffffffff8111156129c657600080fd5b6129d285828601612944565b9150509250929050565b8051602080845281518482018190526000926040919083019082870190855b81811015612a44578351805173ffffffffffffffffffffffffffffffffffffffff1684528601516bffffffffffffffffffffffff168684015292850192918401916001016129fb565b5090979650505050505050565b60208152600061067a60208301846129dc565b600060208284031215612a7657600080fd5b813561067a816127fc565b60008060408385031215612a9457600080fd5b823567ffffffffffffffff80821115612aac57600080fd5b9084019060608287031215612ac057600080fd5b604051606081018181108382111715612adb57612adb61270e565b604052823582811115612aed57600080fd5b612af988828601612944565b82525060208301356020820152604083013560408201528094505050506020830135612b24816127fc565b809150509250929050565b60008060408385031215612b4257600080fd5b823567ffffffffffffffff80821115612b5a57600080fd5b818501915085601f830112612b6e57600080fd5b81356020612b7e61283f836127d8565b82815260059290921b84018101918181019089841115612b9d57600080fd5b8286015b84811015612bd557803586811115612bb95760008081fd5b612bc78c86838b010161281e565b845250918301918301612ba1565b5096505086013592505080821115612bec57600080fd5b506129d285828601612944565b60008060408385031215612c0c57600080fd5b8235612c17816127fc565b946020939093013593505050565b600060208284031215612c3757600080fd5b5035919050565b60008060408385031215612c5157600080fd5b82359150602083013567ffffffffffffffff811115612c6f57600080fd5b6129d28582860161281e565b60005b83811015612c96578181015183820152602001612c7e565b50506000910152565b60008151808452612cb7816020860160208601612c7b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061067a6020830184612c9f565b60008060408385031215612d0f57600080fd5b8235612d1a816127fc565b91506020830135612b24816128cf565b60006020808385031215612d3d57600080fd5b612d4561273d565b9150823567ffffffffffffffff811115612d5e57600080fd5b8301601f81018513612d6f57600080fd5b8035612d7d61283f826127d8565b81815260069190911b82018301908381019087831115612d9c57600080fd5b928401925b82841015612e045760408489031215612dba5760008081fd5b612dc2612766565b8435612dcd816127fc565b8152848601356bffffffffffffffffffffffff81168114612dee5760008081fd5b8187015282526040939093019290840190612da1565b8552509295945050505050565b600080600060608486031215612e2657600080fd5b8335612e31816127fc565b925060208401359150604084013567ffffffffffffffff811115612e5457600080fd5b612e6086828701612d2a565b9150509250925092565b60008060408385031215612e7d57600080fd5b823567ffffffffffffffff80821115612e9557600080fd5b612ea186838701612d2a565b93506020850135915080821115612eb757600080fd5b506129d28582860161281e565b600082601f830112612ed557600080fd5b81516020612ee561283f836127d8565b82815260059290921b84018101918181019086841115612f0457600080fd5b8286015b8481101561288757805167ffffffffffffffff811115612f285760008081fd5b8701603f81018913612f3a5760008081fd5b848101516040612f4c61283f836128fe565b8281528b82848601011115612f615760008081fd5b612f7083898301848701612c7b565b8652505050918301918301612f08565b8051612f8b816128cf565b919050565b600080600060608486031215612fa557600080fd5b835167ffffffffffffffff80821115612fbd57600080fd5b818601915086601f830112612fd157600080fd5b81516020612fe161283f836127d8565b82815260059290921b8401810191818101908a84111561300057600080fd5b948201945b83861015613027578551613018816127fc565b82529482019490820190613005565b9189015191975090935050508082111561304057600080fd5b5061304d86828701612ec4565b92505061305c60408501612f80565b90509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036130f4576130f4613094565b5060010190565b60006040820173ffffffffffffffffffffffffffffffffffffffff80861684526020604081860152828651808552606087019150828801945060005b81811015613155578551851683529483019491830191600101613137565b509098975050505050505050565b6000602080838503121561317657600080fd5b825167ffffffffffffffff81111561318d57600080fd5b8301601f8101851361319e57600080fd5b80516131ac61283f826127d8565b81815260059190911b820183019083810190878311156131cb57600080fd5b928401925b828410156131e9578351825292840192908401906131d0565b979650505050505050565b808202811582820484141761046f5761046f613094565b8082018082111561046f5761046f613094565b600082613254577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808201828112600083128015821682158216171561327957613279613094565b505092915050565b8181038181111561046f5761046f613094565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260008251606060408401526132cc60a0840182612c9f565b90506020840151606084015260408401516080840152809150509392505050565b6000816132fc576132fc613094565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60408152600061333560408301856129dc565b828103602084015261334781856129dc565b95945050505050565b818103600083128015838313168383128216171561337057613370613094565b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8281526040602082015260006128c76040830184612c9f565b600082516133d1818460208701612c7b565b9190910192915050565b6000602082840312156133ed57600080fd5b505191905056fea2646970667358221220bdcfeae152a7bd44fdbc71d21879453ace4759416ae0637b5d3c8e433aaf819964736f6c63430008130033";
15
+ static readonly bytecode = "0x60a06040523480156200001157600080fd5b50604051620034be380380620034be833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b60805161342a6200009460003960006108f1015261342a6000f3fe608060405234801561001057600080fd5b50600436106101ad5760003560e01c8063715018a6116100ee57806398ec1ac911610097578063cdcd358111610071578063cdcd3581146103cb578063dec5d1f6146103de578063ec7fbb31146103f1578063f2fde38b1461043a57600080fd5b806398ec1ac91461039d578063ab118995146103b0578063b933fa74146103c357600080fd5b80638da5cb5b116100c85780638da5cb5b1461032357806393c4484714610341578063955f2d901461038a57600080fd5b8063715018a614610300578063743c31f414610308578063857dc1901461031b57600080fd5b80633b242e4a1161015b5780635140a548116101355780635140a5481461028f5780635e1042e8146102a25780635ef53329146102da578063696255be146102ed57600080fd5b80633b242e4a146102615780633d5611f61461027457806340bf2fb71461028757600080fd5b80631703a0181161018c5780631703a018146102315780631e4cd85e14610246578063314f3a491461025957600080fd5b8062cf2ab5146101b25780630dba3394146101c75780631626ba7e146101ed575b600080fd5b6101c56101c0366004612892565b61044d565b005b6101da6101d53660046128e1565b610459565b6040519081526020015b60405180910390f35b6102006101fb366004612995565b610475565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101e4565b6102396104cc565b6040516101e49190612a51565b6101da6102543660046128e1565b610582565b6101da610598565b6101da61026f366004612a64565b6105c7565b6101c5610282366004612a81565b610619565b6067546101da565b6101c561029d366004612b2f565b610628565b6102b56102b0366004612bf9565b61064b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e4565b6101c56102e8366004612c25565b610681565b6101c56102fb366004612c3e565b610692565b6101c56106ac565b6101c5610316366004612a64565b6106c0565b6101c5610713565b60335473ffffffffffffffffffffffffffffffffffffffff166102b5565b61037d6040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516101e49190612ce9565b6101da610398366004612cfc565b61071c565b6101da6103ab366004612a64565b610754565b6101c56103be366004612e11565b610a35565b6101da610bd2565b6102b56103d9366004612a64565b610bde565b6101c56103ec366004612e6a565b610c0c565b61042a6103ff366004612a64565b73ffffffffffffffffffffffffffffffffffffffff166000908152606e602052604090205460ff1690565b60405190151581526020016101e4565b6101c5610448366004612a64565b610c1d565b61045681610cd1565b50565b600061046f606b63ffffffff80851690610d2816565b92915050565b6000806000808480602001905181019061048f9190612f90565b9250925092506104a186848484610e2d565b507f1626ba7e0000000000000000000000000000000000000000000000000000000095945050505050565b6040805160208101909152606081526040805160668054602081810284018501855283018181529293919284929091849160009085015b82821015610575576000848152602090819020604080518082019091529084015473ffffffffffffffffffffffffffffffffffffffff811682527401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1681830152825260019092019101610503565b5050505081525050905090565b600061046f606c63ffffffff80851690610d2816565b60006105a4606b610eec565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905090565b73ffffffffffffffffffffffffffffffffffffffff81166000908152606d602052604081206105f590610eec565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b610624338383610f3b565b5050565b6106248260008151811061063e5761063e613065565b60200260200101516110f7565b73ffffffffffffffffffffffffffffffffffffffff82166000908152606a6020526040812061067a9083610d28565b9392505050565b610689611133565b610456816111b4565b61069a611133565b6106a3826111f7565b61062481610cd1565b6106b4611133565b6106be600061123d565b565b336000908152606e602052604090205460ff16610709576040517f25ec6c1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045633826112b4565b6106be336113a7565b73ffffffffffffffffffffffffffffffffffffffff82166000908152606d6020526040812061067a9063ffffffff80851690610d2816565b6000806066600001805480602002602001604051908101604052809291908181526020016000905b828210156107ee576000848152602090819020604080518082019091529084015473ffffffffffffffffffffffffffffffffffffffff811682527401000000000000000000000000000000000000000090046bffffffffffffffffffffffff168183015282526001909201910161077c565b505050509050600080825167ffffffffffffffff8111156108115761081161270e565b60405190808252806020026020018201604052801561083a578160200160208202803683370190505b50905060005b83518110156108b05783818151811061085b5761085b613065565b60200260200101516000015182828151811061087957610879613065565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152806108a8816130c3565b915050610840565b506040517f9004134700000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063900413479061092890899086906004016130fb565b600060405180830381865afa158015610945573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261098b9190810190613163565b905060005b8451811015610a07578481815181106109ab576109ab613065565b6020026020010151602001516bffffffffffffffffffffffff168282815181106109d7576109d7613065565b60200260200101516109e991906131f4565b6109f3908561320b565b9350806109ff816130c3565b915050610990565b50610a146127108461321e565b92506067548310610a29575090949350505050565b50600095945050505050565b600054610100900460ff1615808015610a555750600054600160ff909116105b80610a6f5750303b158015610a6f575060005460ff166001145b610b00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b5e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610b6984848461154e565b8015610bcc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60006105a4606c610eec565b73ffffffffffffffffffffffffffffffffffffffff81166000908152606a6020526040812061046f90610eec565b610c14611133565b6106a382611644565b610c25611133565b73ffffffffffffffffffffffffffffffffffffffff8116610cc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610af7565b6104568161123d565b6000805b8251811015610d1e57610d00838281518110610cf357610cf3613065565b6020026020010151611802565b610d0a9083613259565b915080610d16816130c3565b915050610cd5565b50610bcc8161198c565b6000438210610d93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610af7565b6000610d9e83611a16565b84549091506000610db186848385611ab0565b90508015610e0257610dd686610dc8600184613281565b600091825260209091200190565b5464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610e05565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169695505050505050565b600083519050600080600080610e44858851611b0e565b60005b85811015610ed657888181518110610e6157610e61613065565b60200260200101519450610e758588611b81565b9250610e818486611bfa565b610ea5838b8a8481518110610e9857610e98613065565b6020026020010151611c5f565b8493506000610eb48689611cb6565b9050610ec0818461320b565b9250508080610ece906130c3565b915050610e47565b50610ee18187611d2f565b505050505050505050565b80546000908015610f3257610f0683610dc8600184613281565b5464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661067a565b60009392505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152606e602052604090205460ff1615610f9b576040517f42ee68b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60658054906000610fab836130c3565b909155505073ffffffffffffffffffffffffffffffffffffffff83166000908152606e6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561100784611802565b90506110128161198c565b505061101e84836112b4565b6068546040517f9926ee7d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690639926ee7d906110769087908790600401613294565b600060405180830381600087803b15801561109057600080fd5b505af11580156110a4573d6000803e3d6000fd5b505060685460405173ffffffffffffffffffffffffffffffffffffffff918216935090871691507fa453db612af59e5521d6ab9284dc3e2d06af286eb1b1b7b771fce4716c19f2c190600090a350505050565b60655481511461044d576040517f2d3df6b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60335473ffffffffffffffffffffffffffffffffffffffff1633146106be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610af7565b6111bf606c82611dbd565b50506040518181527f9324f7e5a7c0288808a634ccde44b8e979676474b22e29ee9dd569b55e791a4b9060200160405180910390a150565b606780549082905560408051828152602081018490527f713ca53b88d6eb63f5b1854cb8cbdd736ec51eda225e46791aa9298b0160648f91015b60405180910390a15050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152606a602052604081206112e290610eec565b90508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361131c57505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152606a6020526040902061134d918416611dbd565b505060405173ffffffffffffffffffffffffffffffffffffffff82811682528084169143918616907fd061168252f441733658f09e4d8f5b2d998ed4ef24a2bbfd6ceca52ea13150029060200160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152606e602052604090205460ff16611406576040517f25ec6c1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60658054906000611416836132ed565b909155505073ffffffffffffffffffffffffffffffffffffffff81166000908152606e6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905561146f82611802565b905061147a8161198c565b50506068546040517fa364f4da00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301529091169063a364f4da90602401600060405180830381600087803b1580156114e957600080fd5b505af11580156114fd573d6000803e3d6000fd5b505060685460405173ffffffffffffffffffffffffffffffffffffffff918216935090851691507f31e0adfec71bccee37b6e83a90c2fedb17d8f1693fee863c4771e7bfe2aed58090600090a35050565b600054610100900460ff166115e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af7565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851617905561162e826111b4565b61163781611644565b61163f611e08565b505050565b61164d81611ea7565b611683576040517fd173577900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051606680546020818102840185018552830181815260009484928491879085015b82821015611719576000848152602090819020604080518082019091529084015473ffffffffffffffffffffffffffffffffffffffff811682527401000000000000000000000000000000000000000090046bffffffffffffffffffffffff16818301528252600190920191016116a7565b50505091525090915060669050600061173282826126e0565b505060005b8251518110156117d05782518051606691908390811061175957611759613065565b6020908102919091018101518254600181018455600093845292829020815191909201516bffffffffffffffffffffffff16740100000000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff90911617910155806117c8816130c3565b915050611737565b507f23aad4e61744ece164130aa415c1616e80136b0f0770e56589438b90b269265e8183604051611231929190613322565b73ffffffffffffffffffffffffffffffffffffffff81166000908152606d6020526040812081908190819061183690610eec565b73ffffffffffffffffffffffffffffffffffffffff86166000908152606e60205260409020547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff91909116915060ff166118d8576118908184613350565b9250826000036118a35750909392505050565b73ffffffffffffffffffffffffffffffffffffffff85166000908152606d602052604081206118d191611dbd565b5050611932565b6118e185610754565b91506118ed8183613350565b9250826000036119005750909392505050565b73ffffffffffffffffffffffffffffffffffffffff85166000908152606d6020526040902061192f9083611dbd565b50505b604080518281526020810184905273ffffffffffffffffffffffffffffffffffffffff8716917f88770dc862e47a7ed586907857eb1b75e4c5ffc8b707c7ee10eb74d6885fe594910160405180910390a250909392505050565b600080611999606b610eec565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915060006119c58484613259565b91508190506119d5606b82611dbd565b505060408051848152602081018490527f86dcf86b12dfeedea74ae9300dbdaa193bcce5809369c8177ea2f4eaaa65729b910160405180910390a150915091565b600063ffffffff821115611aac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610af7565b5090565b60005b81831015611b06576000611ac78484611faf565b60008781526020902090915063ffffffff86169082015463ffffffff161115611af257809250611b00565b611afd81600161320b565b93505b50611ab3565b509392505050565b808214611b47576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600003610624576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000438263ffffffff1610611bc2576040517fe64f180f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152606a6020526040902061067a9063ffffffff80851690610d2816565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1610610624576040517fba50f91100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c8073ffffffffffffffffffffffffffffffffffffffff84168383611fca565b61163f576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000438263ffffffff1610611cf7576040517fe64f180f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152606d6020526040902061067a9063ffffffff80851690610d2816565b6000611d3a82612045565b905080831115611d76576040517f960b41ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d818361209a565b905083811115610bcc576040517fe121632f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611ddb84611dcd43611a16565b611dd6866120ef565b61219d565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff91821693501690505b9250929050565b600054610100900460ff16611e9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af7565b6106be6123b2565b8051600090818080805b8451811015611f8d57848181518110611ecc57611ecc613065565b60200260200101516000015192508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610611f3f576040517fba50f91100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b829350848181518110611f5457611f54613065565b6020026020010151602001516bffffffffffffffffffffffff1682611f79919061320b565b915080611f85816130c3565b915050611eb1565b506127108114611fa35750600095945050505050565b50600195945050505050565b6000611fbe600284841861321e565b61067a9084841661320b565b6000806000611fd98585612452565b90925090506000816004811115611ff257611ff2613377565b14801561202a57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061203b575061203b868686612494565b9695505050505050565b6000438263ffffffff1610612086576040517fe64f180f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61046f606b63ffffffff80851690610d2816565b6000438263ffffffff16106120db576040517fe64f180f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61046f606c63ffffffff80851690610d2816565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff821115611aac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f32342062697473000000000000000000000000000000000000000000000000006064820152608401610af7565b82546000908190801561233f5760006121bb87610dc8600185613281565b60408051808201909152905463ffffffff8082168084526401000000009092047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166020840152919250908716101561226c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610af7565b805163ffffffff8088169116036122ca578461228d88610dc8600186613281565b80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092166401000000000263ffffffff90921691909117905561232f565b6040805180820190915263ffffffff80881682527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506123aa9050565b50506040805180820190915263ffffffff80851682527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80851660208085019182528854600181018a5560008a8152918220955192519093166401000000000291909316179201919091559050815b935093915050565b600054610100900460ff16612449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af7565b6106be3361123d565b60008082516041036124885760208301516040840151606085015160001a61247c878285856125f1565b94509450505050611e01565b50600090506002611e01565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b86866040516024016124cb9291906133a6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161255491906133bf565b600060405180830381855afa9150503d806000811461258f576040519150601f19603f3d011682016040523d82523d6000602084013e612594565b606091505b50915091508180156125a857506020815110155b801561203b575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906125e690830160209081019084016133db565b149695505050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561262857506000905060036126d7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561267c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166126d0576000600192509250506126d7565b9150600090505b94509492505050565b508054600082559060005260206000209081019061045691905b80821115611aac57600081556001016126fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516020810167ffffffffffffffff811182821017156127605761276061270e565b60405290565b6040805190810167ffffffffffffffff811182821017156127605761276061270e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156127d0576127d061270e565b604052919050565b600067ffffffffffffffff8211156127f2576127f261270e565b5060051b60200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461045657600080fd5b600082601f83011261282f57600080fd5b8135602061284461283f836127d8565b612789565b82815260059290921b8401810191818101908684111561286357600080fd5b8286015b8481101561288757803561287a816127fc565b8352918301918301612867565b509695505050505050565b6000602082840312156128a457600080fd5b813567ffffffffffffffff8111156128bb57600080fd5b6128c78482850161281e565b949350505050565b63ffffffff8116811461045657600080fd5b6000602082840312156128f357600080fd5b813561067a816128cf565b600067ffffffffffffffff8211156129185761291861270e565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261295557600080fd5b813561296361283f826128fe565b81815284602083860101111561297857600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156129a857600080fd5b82359150602083013567ffffffffffffffff8111156129c657600080fd5b6129d285828601612944565b9150509250929050565b8051602080845281518482018190526000926040919083019082870190855b81811015612a44578351805173ffffffffffffffffffffffffffffffffffffffff1684528601516bffffffffffffffffffffffff168684015292850192918401916001016129fb565b5090979650505050505050565b60208152600061067a60208301846129dc565b600060208284031215612a7657600080fd5b813561067a816127fc565b60008060408385031215612a9457600080fd5b823567ffffffffffffffff80821115612aac57600080fd5b9084019060608287031215612ac057600080fd5b604051606081018181108382111715612adb57612adb61270e565b604052823582811115612aed57600080fd5b612af988828601612944565b82525060208301356020820152604083013560408201528094505050506020830135612b24816127fc565b809150509250929050565b60008060408385031215612b4257600080fd5b823567ffffffffffffffff80821115612b5a57600080fd5b818501915085601f830112612b6e57600080fd5b81356020612b7e61283f836127d8565b82815260059290921b84018101918181019089841115612b9d57600080fd5b8286015b84811015612bd557803586811115612bb95760008081fd5b612bc78c86838b010161281e565b845250918301918301612ba1565b5096505086013592505080821115612bec57600080fd5b506129d285828601612944565b60008060408385031215612c0c57600080fd5b8235612c17816127fc565b946020939093013593505050565b600060208284031215612c3757600080fd5b5035919050565b60008060408385031215612c5157600080fd5b82359150602083013567ffffffffffffffff811115612c6f57600080fd5b6129d28582860161281e565b60005b83811015612c96578181015183820152602001612c7e565b50506000910152565b60008151808452612cb7816020860160208601612c7b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061067a6020830184612c9f565b60008060408385031215612d0f57600080fd5b8235612d1a816127fc565b91506020830135612b24816128cf565b60006020808385031215612d3d57600080fd5b612d4561273d565b9150823567ffffffffffffffff811115612d5e57600080fd5b8301601f81018513612d6f57600080fd5b8035612d7d61283f826127d8565b81815260069190911b82018301908381019087831115612d9c57600080fd5b928401925b82841015612e045760408489031215612dba5760008081fd5b612dc2612766565b8435612dcd816127fc565b8152848601356bffffffffffffffffffffffff81168114612dee5760008081fd5b8187015282526040939093019290840190612da1565b8552509295945050505050565b600080600060608486031215612e2657600080fd5b8335612e31816127fc565b925060208401359150604084013567ffffffffffffffff811115612e5457600080fd5b612e6086828701612d2a565b9150509250925092565b60008060408385031215612e7d57600080fd5b823567ffffffffffffffff80821115612e9557600080fd5b612ea186838701612d2a565b93506020850135915080821115612eb757600080fd5b506129d28582860161281e565b600082601f830112612ed557600080fd5b81516020612ee561283f836127d8565b82815260059290921b84018101918181019086841115612f0457600080fd5b8286015b8481101561288757805167ffffffffffffffff811115612f285760008081fd5b8701603f81018913612f3a5760008081fd5b848101516040612f4c61283f836128fe565b8281528b82848601011115612f615760008081fd5b612f7083898301848701612c7b565b8652505050918301918301612f08565b8051612f8b816128cf565b919050565b600080600060608486031215612fa557600080fd5b835167ffffffffffffffff80821115612fbd57600080fd5b818601915086601f830112612fd157600080fd5b81516020612fe161283f836127d8565b82815260059290921b8401810191818101908a84111561300057600080fd5b948201945b83861015613027578551613018816127fc565b82529482019490820190613005565b9189015191975090935050508082111561304057600080fd5b5061304d86828701612ec4565b92505061305c60408501612f80565b90509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036130f4576130f4613094565b5060010190565b60006040820173ffffffffffffffffffffffffffffffffffffffff80861684526020604081860152828651808552606087019150828801945060005b81811015613155578551851683529483019491830191600101613137565b509098975050505050505050565b6000602080838503121561317657600080fd5b825167ffffffffffffffff81111561318d57600080fd5b8301601f8101851361319e57600080fd5b80516131ac61283f826127d8565b81815260059190911b820183019083810190878311156131cb57600080fd5b928401925b828410156131e9578351825292840192908401906131d0565b979650505050505050565b808202811582820484141761046f5761046f613094565b8082018082111561046f5761046f613094565b600082613254577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808201828112600083128015821682158216171561327957613279613094565b505092915050565b8181038181111561046f5761046f613094565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260008251606060408401526132cc60a0840182612c9f565b90506020840151606084015260408401516080840152809150509392505050565b6000816132fc576132fc613094565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60408152600061333560408301856129dc565b828103602084015261334781856129dc565b95945050505050565b818103600083128015838313168383128216171561337057613370613094565b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8281526040602082015260006128c76040830184612c9f565b600082516133d1818460208701612c7b565b9190910192915050565b6000602082840312156133ed57600080fd5b505191905056fea2646970667358221220dba63c9fbfc2f0f3a8a63bcb4834116d60c26e3f35e82eae6b4a91a58f3d0e7e64736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "contract IDelegationManager";