@hyperlane-xyz/core 5.12.0-ccip.2 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/contracts/PackageVersioned.sol +1 -1
  2. package/contracts/hooks/aggregation/StaticAggregationHook.sol +25 -0
  3. package/contracts/hooks/warp-route/RateLimitedHook.sol +54 -17
  4. package/contracts/test/ERC20Test.sol +147 -0
  5. package/contracts/token/HypERC20.sol +7 -2
  6. package/contracts/token/HypERC20Collateral.sol +7 -2
  7. package/contracts/token/HypNative.sol +6 -2
  8. package/contracts/token/extensions/FastHypERC20.sol +2 -1
  9. package/contracts/token/extensions/FastHypERC20Collateral.sol +2 -1
  10. package/contracts/token/extensions/HypERC4626.sol +2 -1
  11. package/contracts/token/extensions/HypERC4626Collateral.sol +2 -1
  12. package/contracts/token/extensions/HypERC4626OwnerCollateral.sol +2 -1
  13. package/contracts/token/extensions/HypFiatToken.sol +2 -1
  14. package/contracts/token/extensions/HypXERC20.sol +2 -1
  15. package/contracts/token/extensions/HypXERC20Lockbox.sol +8 -1
  16. package/contracts/token/libs/FastTokenRouter.sol +2 -1
  17. package/contracts/token/libs/FungibleTokenRouter.sol +32 -0
  18. package/contracts/token/libs/TokenRouter.sol +31 -3
  19. package/dist/buildArtifact.js +1 -1
  20. package/dist/buildArtifact.json +1 -1
  21. package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts +46 -31
  22. package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts.map +1 -1
  23. package/dist/contracts/test/ERC20Test.sol/XERC20VSTest.d.ts +894 -0
  24. package/dist/contracts/test/ERC20Test.sol/XERC20VSTest.d.ts.map +1 -0
  25. package/dist/contracts/test/ERC20Test.sol/XERC20VSTest.js +2 -0
  26. package/dist/contracts/test/ERC20Test.sol/XERC20VSTest.js.map +1 -0
  27. package/dist/contracts/test/ERC20Test.sol/index.d.ts +1 -0
  28. package/dist/contracts/test/ERC20Test.sol/index.d.ts.map +1 -1
  29. package/dist/contracts/token/HypERC20.d.ts +16 -1
  30. package/dist/contracts/token/HypERC20.d.ts.map +1 -1
  31. package/dist/contracts/token/HypERC20Collateral.d.ts +16 -1
  32. package/dist/contracts/token/HypERC20Collateral.d.ts.map +1 -1
  33. package/dist/contracts/token/HypNative.d.ts +16 -1
  34. package/dist/contracts/token/HypNative.d.ts.map +1 -1
  35. package/dist/contracts/token/extensions/FastHypERC20.d.ts +16 -1
  36. package/dist/contracts/token/extensions/FastHypERC20.d.ts.map +1 -1
  37. package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts +16 -1
  38. package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts.map +1 -1
  39. package/dist/contracts/token/extensions/HypERC4626.d.ts +16 -1
  40. package/dist/contracts/token/extensions/HypERC4626.d.ts.map +1 -1
  41. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts +16 -1
  42. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts.map +1 -1
  43. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts +16 -1
  44. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts.map +1 -1
  45. package/dist/contracts/token/extensions/HypFiatToken.d.ts +16 -1
  46. package/dist/contracts/token/extensions/HypFiatToken.d.ts.map +1 -1
  47. package/dist/contracts/token/extensions/HypXERC20.d.ts +16 -1
  48. package/dist/contracts/token/extensions/HypXERC20.d.ts.map +1 -1
  49. package/dist/contracts/token/extensions/HypXERC20Lockbox.d.ts +16 -1
  50. package/dist/contracts/token/extensions/HypXERC20Lockbox.d.ts.map +1 -1
  51. package/dist/contracts/token/extensions/index.d.ts +0 -1
  52. package/dist/contracts/token/extensions/index.d.ts.map +1 -1
  53. package/dist/contracts/token/libs/FastTokenRouter.d.ts +16 -1
  54. package/dist/contracts/token/libs/FastTokenRouter.d.ts.map +1 -1
  55. package/dist/contracts/token/{extensions/HypNativeScaled.d.ts → libs/FungibleTokenRouter.d.ts} +41 -70
  56. package/dist/contracts/token/libs/FungibleTokenRouter.d.ts.map +1 -0
  57. package/dist/contracts/token/libs/FungibleTokenRouter.js +2 -0
  58. package/dist/contracts/token/libs/FungibleTokenRouter.js.map +1 -0
  59. package/dist/contracts/token/libs/index.d.ts +1 -0
  60. package/dist/contracts/token/libs/index.d.ts.map +1 -1
  61. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts +1 -1
  62. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
  63. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
  64. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
  65. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  66. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  67. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.d.ts +1 -1
  68. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.js +1 -1
  69. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.d.ts +1 -1
  70. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.js +1 -1
  71. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
  72. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
  73. package/dist/factories/contracts/hooks/CCIPHook__factory.d.ts +1 -1
  74. package/dist/factories/contracts/hooks/CCIPHook__factory.js +1 -1
  75. package/dist/factories/contracts/hooks/DefaultHook__factory.d.ts +1 -1
  76. package/dist/factories/contracts/hooks/DefaultHook__factory.js +1 -1
  77. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  78. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  79. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +1 -1
  80. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +1 -1
  81. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  82. package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  83. package/dist/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
  84. package/dist/factories/contracts/hooks/PausableHook__factory.js +1 -1
  85. package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts +1 -1
  86. package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
  87. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +1 -1
  88. package/dist/factories/contracts/hooks/ProtocolFee__factory.js +1 -1
  89. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  90. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  91. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
  92. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts.map +1 -1
  93. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
  94. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js.map +1 -1
  95. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
  96. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts.map +1 -1
  97. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
  98. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js.map +1 -1
  99. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
  100. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
  101. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.d.ts +1 -1
  102. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.js +1 -1
  103. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
  104. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
  105. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
  106. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
  107. package/dist/factories/contracts/hooks/routing/AmountRoutingHook__factory.d.ts +1 -1
  108. package/dist/factories/contracts/hooks/routing/AmountRoutingHook__factory.js +1 -1
  109. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  110. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  111. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  112. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  113. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  114. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  115. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +23 -9
  116. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts.map +1 -1
  117. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +29 -11
  118. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js.map +1 -1
  119. package/dist/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
  120. package/dist/factories/contracts/isms/NoopIsm__factory.js +1 -1
  121. package/dist/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
  122. package/dist/factories/contracts/isms/PausableIsm__factory.js +1 -1
  123. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
  124. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
  125. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  126. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  127. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  128. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  129. package/dist/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsmFactory__factory.d.ts +1 -1
  130. package/dist/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsmFactory__factory.js +1 -1
  131. package/dist/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsm__factory.d.ts +1 -1
  132. package/dist/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsm__factory.js +1 -1
  133. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +1 -1
  134. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
  135. package/dist/factories/contracts/isms/hook/CCIPIsm__factory.d.ts +1 -1
  136. package/dist/factories/contracts/isms/hook/CCIPIsm__factory.js +1 -1
  137. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
  138. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
  139. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +1 -1
  140. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +1 -1
  141. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
  142. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
  143. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
  144. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
  145. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
  146. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
  147. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  148. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  149. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  150. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  151. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  152. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  153. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  154. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  155. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  156. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsmFactory__factory.js +1 -1
  157. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsm__factory.d.ts +1 -1
  158. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsm__factory.js +1 -1
  159. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  160. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsmFactory__factory.js +1 -1
  161. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsm__factory.d.ts +1 -1
  162. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsm__factory.js +1 -1
  163. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
  164. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
  165. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +1 -1
  166. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
  167. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +1 -1
  168. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
  169. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +1 -1
  170. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
  171. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +1 -1
  172. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
  173. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
  174. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
  175. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  176. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  177. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  178. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  179. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  180. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  181. package/dist/factories/contracts/isms/warp-route/AmountRoutingIsm__factory.d.ts +1 -1
  182. package/dist/factories/contracts/isms/warp-route/AmountRoutingIsm__factory.js +1 -1
  183. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +1 -1
  184. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +1 -1
  185. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  186. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  187. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  188. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  189. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  190. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  191. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  192. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  193. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  194. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  195. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  196. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  197. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  198. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  199. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.d.ts +1 -1
  200. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.js +1 -1
  201. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.d.ts +1 -1
  202. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.js +1 -1
  203. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.d.ts +1 -1
  204. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.js +1 -1
  205. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.d.ts +1 -1
  206. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.js +1 -1
  207. package/dist/factories/contracts/test/ERC20Test.sol/XERC20VSTest__factory.d.ts +595 -0
  208. package/dist/factories/contracts/test/ERC20Test.sol/XERC20VSTest__factory.d.ts.map +1 -0
  209. package/dist/factories/contracts/test/ERC20Test.sol/XERC20VSTest__factory.js +788 -0
  210. package/dist/factories/contracts/test/ERC20Test.sol/XERC20VSTest__factory.js.map +1 -0
  211. package/dist/factories/contracts/test/ERC20Test.sol/index.d.ts +1 -0
  212. package/dist/factories/contracts/test/ERC20Test.sol/index.d.ts.map +1 -1
  213. package/dist/factories/contracts/test/ERC20Test.sol/index.js +1 -0
  214. package/dist/factories/contracts/test/ERC20Test.sol/index.js.map +1 -1
  215. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  216. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  217. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
  218. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
  219. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  220. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  221. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  222. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  223. package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
  224. package/dist/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
  225. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  226. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  227. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  228. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  229. package/dist/factories/contracts/test/TestRemoteChallenger__factory.d.ts +1 -1
  230. package/dist/factories/contracts/test/TestRemoteChallenger__factory.js +1 -1
  231. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  232. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  233. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  234. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  235. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.d.ts +1 -1
  236. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.js +1 -1
  237. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +18 -4
  238. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts.map +1 -1
  239. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +24 -6
  240. package/dist/factories/contracts/token/HypERC20Collateral__factory.js.map +1 -1
  241. package/dist/factories/contracts/token/HypERC20__factory.d.ts +17 -3
  242. package/dist/factories/contracts/token/HypERC20__factory.d.ts.map +1 -1
  243. package/dist/factories/contracts/token/HypERC20__factory.js +23 -5
  244. package/dist/factories/contracts/token/HypERC20__factory.js.map +1 -1
  245. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
  246. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts.map +1 -1
  247. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
  248. package/dist/factories/contracts/token/HypERC721Collateral__factory.js.map +1 -1
  249. package/dist/factories/contracts/token/HypERC721__factory.d.ts +1 -1
  250. package/dist/factories/contracts/token/HypERC721__factory.d.ts.map +1 -1
  251. package/dist/factories/contracts/token/HypERC721__factory.js +1 -1
  252. package/dist/factories/contracts/token/HypERC721__factory.js.map +1 -1
  253. package/dist/factories/contracts/token/HypNative__factory.d.ts +18 -4
  254. package/dist/factories/contracts/token/HypNative__factory.d.ts.map +1 -1
  255. package/dist/factories/contracts/token/HypNative__factory.js +24 -6
  256. package/dist/factories/contracts/token/HypNative__factory.js.map +1 -1
  257. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +18 -4
  258. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts.map +1 -1
  259. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +24 -6
  260. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js.map +1 -1
  261. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +17 -3
  262. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts.map +1 -1
  263. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +23 -5
  264. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js.map +1 -1
  265. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +18 -4
  266. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts.map +1 -1
  267. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +24 -6
  268. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js.map +1 -1
  269. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +18 -4
  270. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts.map +1 -1
  271. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +24 -6
  272. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js.map +1 -1
  273. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +17 -3
  274. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts.map +1 -1
  275. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +23 -5
  276. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js.map +1 -1
  277. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
  278. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts.map +1 -1
  279. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
  280. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js.map +1 -1
  281. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
  282. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts.map +1 -1
  283. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
  284. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js.map +1 -1
  285. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +18 -4
  286. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts.map +1 -1
  287. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +24 -6
  288. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js.map +1 -1
  289. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +18 -4
  290. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts.map +1 -1
  291. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +24 -6
  292. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js.map +1 -1
  293. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +18 -4
  294. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts.map +1 -1
  295. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +24 -6
  296. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js.map +1 -1
  297. package/dist/factories/contracts/token/extensions/WHypERC4626__factory.d.ts +1 -1
  298. package/dist/factories/contracts/token/extensions/WHypERC4626__factory.js +1 -1
  299. package/dist/factories/contracts/token/extensions/index.d.ts +0 -1
  300. package/dist/factories/contracts/token/extensions/index.d.ts.map +1 -1
  301. package/dist/factories/contracts/token/extensions/index.js +0 -1
  302. package/dist/factories/contracts/token/extensions/index.js.map +1 -1
  303. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts +10 -0
  304. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts.map +1 -1
  305. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js +13 -0
  306. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js.map +1 -1
  307. package/dist/factories/contracts/token/libs/FungibleTokenRouter__factory.d.ts +432 -0
  308. package/dist/factories/contracts/token/libs/FungibleTokenRouter__factory.d.ts.map +1 -0
  309. package/dist/factories/contracts/token/libs/FungibleTokenRouter__factory.js +565 -0
  310. package/dist/factories/contracts/token/libs/FungibleTokenRouter__factory.js.map +1 -0
  311. package/dist/factories/contracts/token/libs/index.d.ts +1 -0
  312. package/dist/factories/contracts/token/libs/index.d.ts.map +1 -1
  313. package/dist/factories/contracts/token/libs/index.js +1 -0
  314. package/dist/factories/contracts/token/libs/index.js.map +1 -1
  315. package/dist/index.d.ts +4 -2
  316. package/dist/index.d.ts.map +1 -1
  317. package/dist/index.js +2 -1
  318. package/dist/index.js.map +1 -1
  319. package/package.json +2 -2
  320. package/contracts/token/extensions/HypNativeScaled.sol +0 -78
  321. package/dist/contracts/token/extensions/HypNativeScaled.d.ts.map +0 -1
  322. package/dist/contracts/token/extensions/HypNativeScaled.js +0 -2
  323. package/dist/contracts/token/extensions/HypNativeScaled.js.map +0 -1
  324. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +0 -492
  325. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts.map +0 -1
  326. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +0 -650
  327. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XERC20VSTest__factory.js","sourceRoot":"","sources":["../../../../../types/factories/contracts/test/ERC20Test.sol/XERC20VSTest__factory.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export { ERC20Test__factory } from "./ERC20Test__factory.js";
2
2
  export { FiatTokenTest__factory } from "./FiatTokenTest__factory.js";
3
3
  export { XERC20LockboxTest__factory } from "./XERC20LockboxTest__factory.js";
4
4
  export { XERC20Test__factory } from "./XERC20Test__factory.js";
5
+ export { XERC20VSTest__factory } from "./XERC20VSTest__factory.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/test/ERC20Test.sol/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/test/ERC20Test.sol/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -5,4 +5,5 @@ export { ERC20Test__factory } from "./ERC20Test__factory.js";
5
5
  export { FiatTokenTest__factory } from "./FiatTokenTest__factory.js";
6
6
  export { XERC20LockboxTest__factory } from "./XERC20LockboxTest__factory.js";
7
7
  export { XERC20Test__factory } from "./XERC20Test__factory.js";
8
+ export { XERC20VSTest__factory } from "./XERC20VSTest__factory.js";
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../types/factories/contracts/test/ERC20Test.sol/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../types/factories/contracts/test/ERC20Test.sol/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -12,7 +12,7 @@ export declare class TestGasRouter__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestGasRouter;
14
14
  connect(signer: Signer): TestGasRouter__factory;
15
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162001eaa38038062001eaa833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c9f6200020b600039600061031d015260008181610427015281816107e30152818161109301526111980152611c9f6000f3fe6080604052600436106101755760003560e01c80638d3638f4116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610496578063f2ed8c53146104b6578063f2fde38b146104d657600080fd5b8063d5438eae14610415578063de523cf314610449578063e9198bf91461047657600080fd5b806393c44847116100b057806393c448471461037f578063b1bd6436146103d5578063b49c53a7146103f557600080fd5b80638d3638f41461030b5780638da5cb5b1461035457600080fd5b806356d5d4751161012d5780637249609f116101075780637249609f14610279578063775313a11461028c5780637f5a7c7b146102b957600080fd5b806356d5d47514610231578063715018a61461024457806371a15b381461025957600080fd5b80633dfd38731161015e5780633dfd3873146101cf578063440df4f4146101ef57806349d462ef1461021157600080fd5b80630e72cc061461017a5780632ead72f61461019c575b600080fd5b34801561018657600080fd5b5061019a610195366004611616565b6104f6565b005b3480156101a857600080fd5b506101bc6101b7366004611665565b610644565b6040519081526020015b60405180910390f35b3480156101db57600080fd5b5061019a6101ea366004611616565b610663565b3480156101fb57600080fd5b506102046107a4565b6040516101c69190611680565b34801561021d57600080fd5b5061019a61022c3660046116ca565b6107b5565b61019a61023f3660046116f4565b6107cb565b34801561025057600080fd5b5061019a610933565b34801561026557600080fd5b5061019a6102743660046117c0565b610947565b61019a610287366004611831565b6109a2565b34801561029857600080fd5b506101bc6102a7366004611665565b60ca6020526000908152604090205481565b3480156102c557600080fd5b506065546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c6565b34801561031757600080fd5b5061033f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101c6565b34801561036057600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102e6565b34801561038b57600080fd5b506103c86040518060400160405280600d81526020017f352e31322e302d636369702e310000000000000000000000000000000000000081525081565b6040516101c6919061197f565b3480156103e157600080fd5b5061019a6103f0366004611992565b6109cf565b34801561040157600080fd5b5061019a6104103660046116ca565b610a40565b34801561042157600080fd5b506102e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561045557600080fd5b506066546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048257600080fd5b5061019a610491366004611a07565b610a52565b3480156104a257600080fd5b5061019a6104b1366004611665565b610b31565b3480156104c257600080fd5b506101bc6104d1366004611665565b610b45565b3480156104e257600080fd5b5061019a6104f1366004611616565b610b82565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610530575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105c9610c36565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527fc47cbcc588c67679e52261c45cc315e56562f8d0ccaba16facb9093ff9498799906020015b60405180910390a15050565b60008061065b609763ffffffff80861690610cb716565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061069d575073ffffffffffffffffffffffffffffffffffffffff8116155b610729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105b8565b610731610c36565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a90602001610638565b60606107b06097610cd0565b905090565b6107bd610c36565b6107c78282610d81565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f780000000000000000000000000000000000000000000000000000000000000060648201526084016105b8565b600061089b85610dcf565b905083811461092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e64657200000000000000000000000000000000000000000000000000000060648201526084016105b8565b5050505050565b61093b610c36565b6109456000610e34565b565b61094f610c36565b8060005b8181101561099c5761098a84848381811061097057610970611a73565b90506020020160208101906109859190611665565b610eab565b610995600182611ad1565b9050610953565b50505050565b6065546109ca9083903490849073ffffffffffffffffffffffffffffffffffffffff16610f00565b505050565b6109d7610c36565b60005b818110156109ca57610a2e8383838181106109f7576109f7611a73565b610a0d9260206040909202019081019150611665565b848484818110610a1f57610a1f611a73565b90506040020160200135610d81565b610a39600182611ad1565b90506109da565b610a48610c36565b6107c78282610f20565b610a5a610c36565b828114610ac3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016105b8565b8260005b81811015610b2957610b17868683818110610ae457610ae4611a73565b9050602002016020810190610af99190611665565b858584818110610b0b57610b0b611a73565b90506020020135610f20565b610b22600182611ad1565b9050610ac7565b505050505050565b610b39610c36565b610b4281610eab565b50565b604080516020810190915260008082526065549091610b7c9184919073ffffffffffffffffffffffffffffffffffffffff16610f36565b92915050565b610b8a610c36565b73ffffffffffffffffffffffffffffffffffffffff8116610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105b8565b610b4281610e34565b60335473ffffffffffffffffffffffffffffffffffffffff163314610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105b8565b600080610cc48484610f4c565b915091505b9250929050565b60606000610cdd83610f86565b9050805167ffffffffffffffff811115610cf957610cf9611802565b604051908082528060200260200182016040528015610d22578160200160208202803683370190505b50915060005b8151811015610d7a57818181518110610d4357610d43611a73565b6020026020010151838281518110610d5d57610d5d611a73565b63ffffffff90921660209283029190910190910152600101610d28565b5050919050565b63ffffffff8216600081815260ca6020908152604091829020849055815192835282018390527fc3de732a98b24a2b5c6f67e8a7fb057ffc14046b83968a2c73e4148d2fba978b9101610638565b60008080610de7609763ffffffff80871690610cb716565b915091508115610df8579392505050565b610e0184611017565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061197f565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610ebf609763ffffffff8084169061104e16565b610ec882611017565b906107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061197f565b6000610f17858585610f1189611061565b86611083565b95945050505050565b6107c7609763ffffffff80851690849061114116565b600061065b8484610f4687611061565b8561114c565b6000818152600283016020526040812054819080610f7b57610f6e8585611220565b925060009150610cc99050565b600192509050610cc9565b60606000610f938361122c565b90508067ffffffffffffffff811115610fae57610fae611802565b604051908082528060200260200182016040528015610fd7578160200160208202803683370190505b50915060005b81811015610d7a57610fef8482611237565b60001c83828151811061100457611004611a73565b6020908102919091010152600101610fdd565b60606110288263ffffffff16611243565b6040516020016110389190611ae4565b6040516020818303038152906040529050919050565b600061105a8383611301565b9392505050565b63ffffffff8116600090815260ca6020526040902054606090610b7c9061131e565b60008061108f87610dcf565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016110f3959493929190611b29565b60206040518083038185885af1158015611111573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111369190611b89565b979650505050505050565b61099c83838361133c565b60008061115886610dcf565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea95906111d590899085908a908a908a90600401611b29565b602060405180830381865afa1580156111f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112169190611b89565b9695505050505050565b600061105a8383611359565b6000610b7c82611371565b600061105a838361137b565b60606000611250836113a5565b600101905060008167ffffffffffffffff81111561127057611270611802565b6040519080825280601f01601f19166020018201604052801561129a576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112a457509392505050565b6000818152600283016020526040812081905561105a8383611487565b6060610b7c6000833360405180602001604052806000815250611493565b6000828152600284016020526040812082905561065b84846114c8565b6000818152600183016020526040812054151561105a565b6000610b7c825490565b600082600001828154811061139257611392611a73565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106113ee577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061141a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061143857662386f26fc10000830492506010015b6305f5e1008310611450576305f5e100830492506008015b612710831061146457612710830492506004015b60648310611476576064830492506002015b600a8310610b7c5760010192915050565b600061105a83836114d4565b60606001858585856040516020016114af959493929190611ba2565b6040516020818303038152906040529050949350505050565b600061105a83836115c7565b600081815260018301602052604081205480156115bd5760006114f8600183611c27565b855490915060009061150c90600190611c27565b905081811461157157600086600001828154811061152c5761152c611a73565b906000526020600020015490508087600001848154811061154f5761154f611a73565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061158257611582611c3a565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b7c565b6000915050610b7c565b600081815260018301602052604081205461160e57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b7c565b506000610b7c565b60006020828403121561162857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461105a57600080fd5b803563ffffffff8116811461166057600080fd5b919050565b60006020828403121561167757600080fd5b61105a8261164c565b6020808252825182820181905260009190848201906040850190845b818110156116be57835163ffffffff168352928401929184019160010161169c565b50909695505050505050565b600080604083850312156116dd57600080fd5b6116e68361164c565b946020939093013593505050565b6000806000806060858703121561170a57600080fd5b6117138561164c565b935060208501359250604085013567ffffffffffffffff8082111561173757600080fd5b818701915087601f83011261174b57600080fd5b81358181111561175a57600080fd5b88602082850101111561176c57600080fd5b95989497505060200194505050565b60008083601f84011261178d57600080fd5b50813567ffffffffffffffff8111156117a557600080fd5b6020830191508360208260051b8501011115610cc957600080fd5b600080602083850312156117d357600080fd5b823567ffffffffffffffff8111156117ea57600080fd5b6117f68582860161177b565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561184457600080fd5b61184d8361164c565b9150602083013567ffffffffffffffff8082111561186a57600080fd5b818501915085601f83011261187e57600080fd5b81358181111561189057611890611802565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118d6576118d6611802565b816040528281528860208487010111156118ef57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561192c578181015183820152602001611914565b50506000910152565b6000815180845261194d816020860160208601611911565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061105a6020830184611935565b600080602083850312156119a557600080fd5b823567ffffffffffffffff808211156119bd57600080fd5b818501915085601f8301126119d157600080fd5b8135818111156119e057600080fd5b8660208260061b85010111156119f557600080fd5b60209290920196919550909350505050565b60008060008060408587031215611a1d57600080fd5b843567ffffffffffffffff80821115611a3557600080fd5b611a418883890161177b565b90965094506020870135915080821115611a5a57600080fd5b50611a678782880161177b565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b7c57610b7c611aa2565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611b1c81601f850160208701611911565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611b4e60a0830186611935565b8281036060840152611b608186611935565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b9b57600080fd5b5051919050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611c16816056850160208701611911565b919091016056019695505050505050565b81810381811115610b7c57610b7c611aa2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212204b2553f42d11fca57c4956d5ea101c6d1b81a83e5ae4c8147e1c86be2863173264736f6c63430008160033";
15
+ static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162001eaa38038062001eaa833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c9f6200020b600039600061031d015260008181610427015281816107e30152818161109301526111980152611c9f6000f3fe6080604052600436106101755760003560e01c80638d3638f4116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610496578063f2ed8c53146104b6578063f2fde38b146104d657600080fd5b8063d5438eae14610415578063de523cf314610449578063e9198bf91461047657600080fd5b806393c44847116100b057806393c448471461037f578063b1bd6436146103d5578063b49c53a7146103f557600080fd5b80638d3638f41461030b5780638da5cb5b1461035457600080fd5b806356d5d4751161012d5780637249609f116101075780637249609f14610279578063775313a11461028c5780637f5a7c7b146102b957600080fd5b806356d5d47514610231578063715018a61461024457806371a15b381461025957600080fd5b80633dfd38731161015e5780633dfd3873146101cf578063440df4f4146101ef57806349d462ef1461021157600080fd5b80630e72cc061461017a5780632ead72f61461019c575b600080fd5b34801561018657600080fd5b5061019a610195366004611616565b6104f6565b005b3480156101a857600080fd5b506101bc6101b7366004611665565b610644565b6040519081526020015b60405180910390f35b3480156101db57600080fd5b5061019a6101ea366004611616565b610663565b3480156101fb57600080fd5b506102046107a4565b6040516101c69190611680565b34801561021d57600080fd5b5061019a61022c3660046116ca565b6107b5565b61019a61023f3660046116f4565b6107cb565b34801561025057600080fd5b5061019a610933565b34801561026557600080fd5b5061019a6102743660046117c0565b610947565b61019a610287366004611831565b6109a2565b34801561029857600080fd5b506101bc6102a7366004611665565b60ca6020526000908152604090205481565b3480156102c557600080fd5b506065546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c6565b34801561031757600080fd5b5061033f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101c6565b34801561036057600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102e6565b34801561038b57600080fd5b506103c86040518060400160405280600581526020017f362e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101c6919061197f565b3480156103e157600080fd5b5061019a6103f0366004611992565b6109cf565b34801561040157600080fd5b5061019a6104103660046116ca565b610a40565b34801561042157600080fd5b506102e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561045557600080fd5b506066546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048257600080fd5b5061019a610491366004611a07565b610a52565b3480156104a257600080fd5b5061019a6104b1366004611665565b610b31565b3480156104c257600080fd5b506101bc6104d1366004611665565b610b45565b3480156104e257600080fd5b5061019a6104f1366004611616565b610b82565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610530575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105c9610c36565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527fc47cbcc588c67679e52261c45cc315e56562f8d0ccaba16facb9093ff9498799906020015b60405180910390a15050565b60008061065b609763ffffffff80861690610cb716565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061069d575073ffffffffffffffffffffffffffffffffffffffff8116155b610729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105b8565b610731610c36565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a90602001610638565b60606107b06097610cd0565b905090565b6107bd610c36565b6107c78282610d81565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f780000000000000000000000000000000000000000000000000000000000000060648201526084016105b8565b600061089b85610dcf565b905083811461092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e64657200000000000000000000000000000000000000000000000000000060648201526084016105b8565b5050505050565b61093b610c36565b6109456000610e34565b565b61094f610c36565b8060005b8181101561099c5761098a84848381811061097057610970611a73565b90506020020160208101906109859190611665565b610eab565b610995600182611ad1565b9050610953565b50505050565b6065546109ca9083903490849073ffffffffffffffffffffffffffffffffffffffff16610f00565b505050565b6109d7610c36565b60005b818110156109ca57610a2e8383838181106109f7576109f7611a73565b610a0d9260206040909202019081019150611665565b848484818110610a1f57610a1f611a73565b90506040020160200135610d81565b610a39600182611ad1565b90506109da565b610a48610c36565b6107c78282610f20565b610a5a610c36565b828114610ac3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016105b8565b8260005b81811015610b2957610b17868683818110610ae457610ae4611a73565b9050602002016020810190610af99190611665565b858584818110610b0b57610b0b611a73565b90506020020135610f20565b610b22600182611ad1565b9050610ac7565b505050505050565b610b39610c36565b610b4281610eab565b50565b604080516020810190915260008082526065549091610b7c9184919073ffffffffffffffffffffffffffffffffffffffff16610f36565b92915050565b610b8a610c36565b73ffffffffffffffffffffffffffffffffffffffff8116610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105b8565b610b4281610e34565b60335473ffffffffffffffffffffffffffffffffffffffff163314610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105b8565b600080610cc48484610f4c565b915091505b9250929050565b60606000610cdd83610f86565b9050805167ffffffffffffffff811115610cf957610cf9611802565b604051908082528060200260200182016040528015610d22578160200160208202803683370190505b50915060005b8151811015610d7a57818181518110610d4357610d43611a73565b6020026020010151838281518110610d5d57610d5d611a73565b63ffffffff90921660209283029190910190910152600101610d28565b5050919050565b63ffffffff8216600081815260ca6020908152604091829020849055815192835282018390527fc3de732a98b24a2b5c6f67e8a7fb057ffc14046b83968a2c73e4148d2fba978b9101610638565b60008080610de7609763ffffffff80871690610cb716565b915091508115610df8579392505050565b610e0184611017565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061197f565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610ebf609763ffffffff8084169061104e16565b610ec882611017565b906107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061197f565b6000610f17858585610f1189611061565b86611083565b95945050505050565b6107c7609763ffffffff80851690849061114116565b600061065b8484610f4687611061565b8561114c565b6000818152600283016020526040812054819080610f7b57610f6e8585611220565b925060009150610cc99050565b600192509050610cc9565b60606000610f938361122c565b90508067ffffffffffffffff811115610fae57610fae611802565b604051908082528060200260200182016040528015610fd7578160200160208202803683370190505b50915060005b81811015610d7a57610fef8482611237565b60001c83828151811061100457611004611a73565b6020908102919091010152600101610fdd565b60606110288263ffffffff16611243565b6040516020016110389190611ae4565b6040516020818303038152906040529050919050565b600061105a8383611301565b9392505050565b63ffffffff8116600090815260ca6020526040902054606090610b7c9061131e565b60008061108f87610dcf565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016110f3959493929190611b29565b60206040518083038185885af1158015611111573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111369190611b89565b979650505050505050565b61099c83838361133c565b60008061115886610dcf565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea95906111d590899085908a908a908a90600401611b29565b602060405180830381865afa1580156111f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112169190611b89565b9695505050505050565b600061105a8383611359565b6000610b7c82611371565b600061105a838361137b565b60606000611250836113a5565b600101905060008167ffffffffffffffff81111561127057611270611802565b6040519080825280601f01601f19166020018201604052801561129a576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112a457509392505050565b6000818152600283016020526040812081905561105a8383611487565b6060610b7c6000833360405180602001604052806000815250611493565b6000828152600284016020526040812082905561065b84846114c8565b6000818152600183016020526040812054151561105a565b6000610b7c825490565b600082600001828154811061139257611392611a73565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106113ee577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061141a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061143857662386f26fc10000830492506010015b6305f5e1008310611450576305f5e100830492506008015b612710831061146457612710830492506004015b60648310611476576064830492506002015b600a8310610b7c5760010192915050565b600061105a83836114d4565b60606001858585856040516020016114af959493929190611ba2565b6040516020818303038152906040529050949350505050565b600061105a83836115c7565b600081815260018301602052604081205480156115bd5760006114f8600183611c27565b855490915060009061150c90600190611c27565b905081811461157157600086600001828154811061152c5761152c611a73565b906000526020600020015490508087600001848154811061154f5761154f611a73565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061158257611582611c3a565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b7c565b6000915050610b7c565b600081815260018301602052604081205461160e57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b7c565b506000610b7c565b60006020828403121561162857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461105a57600080fd5b803563ffffffff8116811461166057600080fd5b919050565b60006020828403121561167757600080fd5b61105a8261164c565b6020808252825182820181905260009190848201906040850190845b818110156116be57835163ffffffff168352928401929184019160010161169c565b50909695505050505050565b600080604083850312156116dd57600080fd5b6116e68361164c565b946020939093013593505050565b6000806000806060858703121561170a57600080fd5b6117138561164c565b935060208501359250604085013567ffffffffffffffff8082111561173757600080fd5b818701915087601f83011261174b57600080fd5b81358181111561175a57600080fd5b88602082850101111561176c57600080fd5b95989497505060200194505050565b60008083601f84011261178d57600080fd5b50813567ffffffffffffffff8111156117a557600080fd5b6020830191508360208260051b8501011115610cc957600080fd5b600080602083850312156117d357600080fd5b823567ffffffffffffffff8111156117ea57600080fd5b6117f68582860161177b565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561184457600080fd5b61184d8361164c565b9150602083013567ffffffffffffffff8082111561186a57600080fd5b818501915085601f83011261187e57600080fd5b81358181111561189057611890611802565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118d6576118d6611802565b816040528281528860208487010111156118ef57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561192c578181015183820152602001611914565b50506000910152565b6000815180845261194d816020860160208601611911565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061105a6020830184611935565b600080602083850312156119a557600080fd5b823567ffffffffffffffff808211156119bd57600080fd5b818501915085601f8301126119d157600080fd5b8135818111156119e057600080fd5b8660208260061b85010111156119f557600080fd5b60209290920196919550909350505050565b60008060008060408587031215611a1d57600080fd5b843567ffffffffffffffff80821115611a3557600080fd5b611a418883890161177b565b90965094506020870135915080821115611a5a57600080fd5b50611a678782880161177b565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b7c57610b7c611aa2565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611b1c81601f850160208701611911565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611b4e60a0830186611935565b8281036060840152611b608186611935565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b9b57600080fd5b5051919050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611c16816056850160208701611911565b919091016056019695505050505050565b81810381811115610b7c57610b7c611aa2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220a7bfde8ccf665b1012c89b735c26a4ae11005bd24873251f7a98e404f0cf523e64736f6c63430008160033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "address";
@@ -432,7 +432,7 @@ const _abi = [
432
432
  type: "function",
433
433
  },
434
434
  ];
435
- const _bytecode = "0x60c06040523480156200001157600080fd5b5060405162001eaa38038062001eaa833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c9f6200020b600039600061031d015260008181610427015281816107e30152818161109301526111980152611c9f6000f3fe6080604052600436106101755760003560e01c80638d3638f4116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610496578063f2ed8c53146104b6578063f2fde38b146104d657600080fd5b8063d5438eae14610415578063de523cf314610449578063e9198bf91461047657600080fd5b806393c44847116100b057806393c448471461037f578063b1bd6436146103d5578063b49c53a7146103f557600080fd5b80638d3638f41461030b5780638da5cb5b1461035457600080fd5b806356d5d4751161012d5780637249609f116101075780637249609f14610279578063775313a11461028c5780637f5a7c7b146102b957600080fd5b806356d5d47514610231578063715018a61461024457806371a15b381461025957600080fd5b80633dfd38731161015e5780633dfd3873146101cf578063440df4f4146101ef57806349d462ef1461021157600080fd5b80630e72cc061461017a5780632ead72f61461019c575b600080fd5b34801561018657600080fd5b5061019a610195366004611616565b6104f6565b005b3480156101a857600080fd5b506101bc6101b7366004611665565b610644565b6040519081526020015b60405180910390f35b3480156101db57600080fd5b5061019a6101ea366004611616565b610663565b3480156101fb57600080fd5b506102046107a4565b6040516101c69190611680565b34801561021d57600080fd5b5061019a61022c3660046116ca565b6107b5565b61019a61023f3660046116f4565b6107cb565b34801561025057600080fd5b5061019a610933565b34801561026557600080fd5b5061019a6102743660046117c0565b610947565b61019a610287366004611831565b6109a2565b34801561029857600080fd5b506101bc6102a7366004611665565b60ca6020526000908152604090205481565b3480156102c557600080fd5b506065546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c6565b34801561031757600080fd5b5061033f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101c6565b34801561036057600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102e6565b34801561038b57600080fd5b506103c86040518060400160405280600d81526020017f352e31322e302d636369702e310000000000000000000000000000000000000081525081565b6040516101c6919061197f565b3480156103e157600080fd5b5061019a6103f0366004611992565b6109cf565b34801561040157600080fd5b5061019a6104103660046116ca565b610a40565b34801561042157600080fd5b506102e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561045557600080fd5b506066546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048257600080fd5b5061019a610491366004611a07565b610a52565b3480156104a257600080fd5b5061019a6104b1366004611665565b610b31565b3480156104c257600080fd5b506101bc6104d1366004611665565b610b45565b3480156104e257600080fd5b5061019a6104f1366004611616565b610b82565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610530575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105c9610c36565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527fc47cbcc588c67679e52261c45cc315e56562f8d0ccaba16facb9093ff9498799906020015b60405180910390a15050565b60008061065b609763ffffffff80861690610cb716565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061069d575073ffffffffffffffffffffffffffffffffffffffff8116155b610729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105b8565b610731610c36565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a90602001610638565b60606107b06097610cd0565b905090565b6107bd610c36565b6107c78282610d81565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f780000000000000000000000000000000000000000000000000000000000000060648201526084016105b8565b600061089b85610dcf565b905083811461092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e64657200000000000000000000000000000000000000000000000000000060648201526084016105b8565b5050505050565b61093b610c36565b6109456000610e34565b565b61094f610c36565b8060005b8181101561099c5761098a84848381811061097057610970611a73565b90506020020160208101906109859190611665565b610eab565b610995600182611ad1565b9050610953565b50505050565b6065546109ca9083903490849073ffffffffffffffffffffffffffffffffffffffff16610f00565b505050565b6109d7610c36565b60005b818110156109ca57610a2e8383838181106109f7576109f7611a73565b610a0d9260206040909202019081019150611665565b848484818110610a1f57610a1f611a73565b90506040020160200135610d81565b610a39600182611ad1565b90506109da565b610a48610c36565b6107c78282610f20565b610a5a610c36565b828114610ac3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016105b8565b8260005b81811015610b2957610b17868683818110610ae457610ae4611a73565b9050602002016020810190610af99190611665565b858584818110610b0b57610b0b611a73565b90506020020135610f20565b610b22600182611ad1565b9050610ac7565b505050505050565b610b39610c36565b610b4281610eab565b50565b604080516020810190915260008082526065549091610b7c9184919073ffffffffffffffffffffffffffffffffffffffff16610f36565b92915050565b610b8a610c36565b73ffffffffffffffffffffffffffffffffffffffff8116610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105b8565b610b4281610e34565b60335473ffffffffffffffffffffffffffffffffffffffff163314610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105b8565b600080610cc48484610f4c565b915091505b9250929050565b60606000610cdd83610f86565b9050805167ffffffffffffffff811115610cf957610cf9611802565b604051908082528060200260200182016040528015610d22578160200160208202803683370190505b50915060005b8151811015610d7a57818181518110610d4357610d43611a73565b6020026020010151838281518110610d5d57610d5d611a73565b63ffffffff90921660209283029190910190910152600101610d28565b5050919050565b63ffffffff8216600081815260ca6020908152604091829020849055815192835282018390527fc3de732a98b24a2b5c6f67e8a7fb057ffc14046b83968a2c73e4148d2fba978b9101610638565b60008080610de7609763ffffffff80871690610cb716565b915091508115610df8579392505050565b610e0184611017565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061197f565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610ebf609763ffffffff8084169061104e16565b610ec882611017565b906107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061197f565b6000610f17858585610f1189611061565b86611083565b95945050505050565b6107c7609763ffffffff80851690849061114116565b600061065b8484610f4687611061565b8561114c565b6000818152600283016020526040812054819080610f7b57610f6e8585611220565b925060009150610cc99050565b600192509050610cc9565b60606000610f938361122c565b90508067ffffffffffffffff811115610fae57610fae611802565b604051908082528060200260200182016040528015610fd7578160200160208202803683370190505b50915060005b81811015610d7a57610fef8482611237565b60001c83828151811061100457611004611a73565b6020908102919091010152600101610fdd565b60606110288263ffffffff16611243565b6040516020016110389190611ae4565b6040516020818303038152906040529050919050565b600061105a8383611301565b9392505050565b63ffffffff8116600090815260ca6020526040902054606090610b7c9061131e565b60008061108f87610dcf565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016110f3959493929190611b29565b60206040518083038185885af1158015611111573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111369190611b89565b979650505050505050565b61099c83838361133c565b60008061115886610dcf565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea95906111d590899085908a908a908a90600401611b29565b602060405180830381865afa1580156111f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112169190611b89565b9695505050505050565b600061105a8383611359565b6000610b7c82611371565b600061105a838361137b565b60606000611250836113a5565b600101905060008167ffffffffffffffff81111561127057611270611802565b6040519080825280601f01601f19166020018201604052801561129a576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112a457509392505050565b6000818152600283016020526040812081905561105a8383611487565b6060610b7c6000833360405180602001604052806000815250611493565b6000828152600284016020526040812082905561065b84846114c8565b6000818152600183016020526040812054151561105a565b6000610b7c825490565b600082600001828154811061139257611392611a73565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106113ee577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061141a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061143857662386f26fc10000830492506010015b6305f5e1008310611450576305f5e100830492506008015b612710831061146457612710830492506004015b60648310611476576064830492506002015b600a8310610b7c5760010192915050565b600061105a83836114d4565b60606001858585856040516020016114af959493929190611ba2565b6040516020818303038152906040529050949350505050565b600061105a83836115c7565b600081815260018301602052604081205480156115bd5760006114f8600183611c27565b855490915060009061150c90600190611c27565b905081811461157157600086600001828154811061152c5761152c611a73565b906000526020600020015490508087600001848154811061154f5761154f611a73565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061158257611582611c3a565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b7c565b6000915050610b7c565b600081815260018301602052604081205461160e57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b7c565b506000610b7c565b60006020828403121561162857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461105a57600080fd5b803563ffffffff8116811461166057600080fd5b919050565b60006020828403121561167757600080fd5b61105a8261164c565b6020808252825182820181905260009190848201906040850190845b818110156116be57835163ffffffff168352928401929184019160010161169c565b50909695505050505050565b600080604083850312156116dd57600080fd5b6116e68361164c565b946020939093013593505050565b6000806000806060858703121561170a57600080fd5b6117138561164c565b935060208501359250604085013567ffffffffffffffff8082111561173757600080fd5b818701915087601f83011261174b57600080fd5b81358181111561175a57600080fd5b88602082850101111561176c57600080fd5b95989497505060200194505050565b60008083601f84011261178d57600080fd5b50813567ffffffffffffffff8111156117a557600080fd5b6020830191508360208260051b8501011115610cc957600080fd5b600080602083850312156117d357600080fd5b823567ffffffffffffffff8111156117ea57600080fd5b6117f68582860161177b565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561184457600080fd5b61184d8361164c565b9150602083013567ffffffffffffffff8082111561186a57600080fd5b818501915085601f83011261187e57600080fd5b81358181111561189057611890611802565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118d6576118d6611802565b816040528281528860208487010111156118ef57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561192c578181015183820152602001611914565b50506000910152565b6000815180845261194d816020860160208601611911565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061105a6020830184611935565b600080602083850312156119a557600080fd5b823567ffffffffffffffff808211156119bd57600080fd5b818501915085601f8301126119d157600080fd5b8135818111156119e057600080fd5b8660208260061b85010111156119f557600080fd5b60209290920196919550909350505050565b60008060008060408587031215611a1d57600080fd5b843567ffffffffffffffff80821115611a3557600080fd5b611a418883890161177b565b90965094506020870135915080821115611a5a57600080fd5b50611a678782880161177b565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b7c57610b7c611aa2565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611b1c81601f850160208701611911565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611b4e60a0830186611935565b8281036060840152611b608186611935565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b9b57600080fd5b5051919050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611c16816056850160208701611911565b919091016056019695505050505050565b81810381811115610b7c57610b7c611aa2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212204b2553f42d11fca57c4956d5ea101c6d1b81a83e5ae4c8147e1c86be2863173264736f6c63430008160033";
435
+ const _bytecode = "0x60c06040523480156200001157600080fd5b5060405162001eaa38038062001eaa833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c9f6200020b600039600061031d015260008181610427015281816107e30152818161109301526111980152611c9f6000f3fe6080604052600436106101755760003560e01c80638d3638f4116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610496578063f2ed8c53146104b6578063f2fde38b146104d657600080fd5b8063d5438eae14610415578063de523cf314610449578063e9198bf91461047657600080fd5b806393c44847116100b057806393c448471461037f578063b1bd6436146103d5578063b49c53a7146103f557600080fd5b80638d3638f41461030b5780638da5cb5b1461035457600080fd5b806356d5d4751161012d5780637249609f116101075780637249609f14610279578063775313a11461028c5780637f5a7c7b146102b957600080fd5b806356d5d47514610231578063715018a61461024457806371a15b381461025957600080fd5b80633dfd38731161015e5780633dfd3873146101cf578063440df4f4146101ef57806349d462ef1461021157600080fd5b80630e72cc061461017a5780632ead72f61461019c575b600080fd5b34801561018657600080fd5b5061019a610195366004611616565b6104f6565b005b3480156101a857600080fd5b506101bc6101b7366004611665565b610644565b6040519081526020015b60405180910390f35b3480156101db57600080fd5b5061019a6101ea366004611616565b610663565b3480156101fb57600080fd5b506102046107a4565b6040516101c69190611680565b34801561021d57600080fd5b5061019a61022c3660046116ca565b6107b5565b61019a61023f3660046116f4565b6107cb565b34801561025057600080fd5b5061019a610933565b34801561026557600080fd5b5061019a6102743660046117c0565b610947565b61019a610287366004611831565b6109a2565b34801561029857600080fd5b506101bc6102a7366004611665565b60ca6020526000908152604090205481565b3480156102c557600080fd5b506065546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c6565b34801561031757600080fd5b5061033f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101c6565b34801561036057600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102e6565b34801561038b57600080fd5b506103c86040518060400160405280600581526020017f362e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101c6919061197f565b3480156103e157600080fd5b5061019a6103f0366004611992565b6109cf565b34801561040157600080fd5b5061019a6104103660046116ca565b610a40565b34801561042157600080fd5b506102e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561045557600080fd5b506066546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048257600080fd5b5061019a610491366004611a07565b610a52565b3480156104a257600080fd5b5061019a6104b1366004611665565b610b31565b3480156104c257600080fd5b506101bc6104d1366004611665565b610b45565b3480156104e257600080fd5b5061019a6104f1366004611616565b610b82565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610530575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105c9610c36565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527fc47cbcc588c67679e52261c45cc315e56562f8d0ccaba16facb9093ff9498799906020015b60405180910390a15050565b60008061065b609763ffffffff80861690610cb716565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061069d575073ffffffffffffffffffffffffffffffffffffffff8116155b610729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105b8565b610731610c36565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a90602001610638565b60606107b06097610cd0565b905090565b6107bd610c36565b6107c78282610d81565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f780000000000000000000000000000000000000000000000000000000000000060648201526084016105b8565b600061089b85610dcf565b905083811461092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e64657200000000000000000000000000000000000000000000000000000060648201526084016105b8565b5050505050565b61093b610c36565b6109456000610e34565b565b61094f610c36565b8060005b8181101561099c5761098a84848381811061097057610970611a73565b90506020020160208101906109859190611665565b610eab565b610995600182611ad1565b9050610953565b50505050565b6065546109ca9083903490849073ffffffffffffffffffffffffffffffffffffffff16610f00565b505050565b6109d7610c36565b60005b818110156109ca57610a2e8383838181106109f7576109f7611a73565b610a0d9260206040909202019081019150611665565b848484818110610a1f57610a1f611a73565b90506040020160200135610d81565b610a39600182611ad1565b90506109da565b610a48610c36565b6107c78282610f20565b610a5a610c36565b828114610ac3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016105b8565b8260005b81811015610b2957610b17868683818110610ae457610ae4611a73565b9050602002016020810190610af99190611665565b858584818110610b0b57610b0b611a73565b90506020020135610f20565b610b22600182611ad1565b9050610ac7565b505050505050565b610b39610c36565b610b4281610eab565b50565b604080516020810190915260008082526065549091610b7c9184919073ffffffffffffffffffffffffffffffffffffffff16610f36565b92915050565b610b8a610c36565b73ffffffffffffffffffffffffffffffffffffffff8116610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105b8565b610b4281610e34565b60335473ffffffffffffffffffffffffffffffffffffffff163314610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105b8565b600080610cc48484610f4c565b915091505b9250929050565b60606000610cdd83610f86565b9050805167ffffffffffffffff811115610cf957610cf9611802565b604051908082528060200260200182016040528015610d22578160200160208202803683370190505b50915060005b8151811015610d7a57818181518110610d4357610d43611a73565b6020026020010151838281518110610d5d57610d5d611a73565b63ffffffff90921660209283029190910190910152600101610d28565b5050919050565b63ffffffff8216600081815260ca6020908152604091829020849055815192835282018390527fc3de732a98b24a2b5c6f67e8a7fb057ffc14046b83968a2c73e4148d2fba978b9101610638565b60008080610de7609763ffffffff80871690610cb716565b915091508115610df8579392505050565b610e0184611017565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061197f565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610ebf609763ffffffff8084169061104e16565b610ec882611017565b906107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061197f565b6000610f17858585610f1189611061565b86611083565b95945050505050565b6107c7609763ffffffff80851690849061114116565b600061065b8484610f4687611061565b8561114c565b6000818152600283016020526040812054819080610f7b57610f6e8585611220565b925060009150610cc99050565b600192509050610cc9565b60606000610f938361122c565b90508067ffffffffffffffff811115610fae57610fae611802565b604051908082528060200260200182016040528015610fd7578160200160208202803683370190505b50915060005b81811015610d7a57610fef8482611237565b60001c83828151811061100457611004611a73565b6020908102919091010152600101610fdd565b60606110288263ffffffff16611243565b6040516020016110389190611ae4565b6040516020818303038152906040529050919050565b600061105a8383611301565b9392505050565b63ffffffff8116600090815260ca6020526040902054606090610b7c9061131e565b60008061108f87610dcf565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016110f3959493929190611b29565b60206040518083038185885af1158015611111573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111369190611b89565b979650505050505050565b61099c83838361133c565b60008061115886610dcf565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea95906111d590899085908a908a908a90600401611b29565b602060405180830381865afa1580156111f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112169190611b89565b9695505050505050565b600061105a8383611359565b6000610b7c82611371565b600061105a838361137b565b60606000611250836113a5565b600101905060008167ffffffffffffffff81111561127057611270611802565b6040519080825280601f01601f19166020018201604052801561129a576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112a457509392505050565b6000818152600283016020526040812081905561105a8383611487565b6060610b7c6000833360405180602001604052806000815250611493565b6000828152600284016020526040812082905561065b84846114c8565b6000818152600183016020526040812054151561105a565b6000610b7c825490565b600082600001828154811061139257611392611a73565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106113ee577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061141a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061143857662386f26fc10000830492506010015b6305f5e1008310611450576305f5e100830492506008015b612710831061146457612710830492506004015b60648310611476576064830492506002015b600a8310610b7c5760010192915050565b600061105a83836114d4565b60606001858585856040516020016114af959493929190611ba2565b6040516020818303038152906040529050949350505050565b600061105a83836115c7565b600081815260018301602052604081205480156115bd5760006114f8600183611c27565b855490915060009061150c90600190611c27565b905081811461157157600086600001828154811061152c5761152c611a73565b906000526020600020015490508087600001848154811061154f5761154f611a73565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061158257611582611c3a565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b7c565b6000915050610b7c565b600081815260018301602052604081205461160e57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b7c565b506000610b7c565b60006020828403121561162857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461105a57600080fd5b803563ffffffff8116811461166057600080fd5b919050565b60006020828403121561167757600080fd5b61105a8261164c565b6020808252825182820181905260009190848201906040850190845b818110156116be57835163ffffffff168352928401929184019160010161169c565b50909695505050505050565b600080604083850312156116dd57600080fd5b6116e68361164c565b946020939093013593505050565b6000806000806060858703121561170a57600080fd5b6117138561164c565b935060208501359250604085013567ffffffffffffffff8082111561173757600080fd5b818701915087601f83011261174b57600080fd5b81358181111561175a57600080fd5b88602082850101111561176c57600080fd5b95989497505060200194505050565b60008083601f84011261178d57600080fd5b50813567ffffffffffffffff8111156117a557600080fd5b6020830191508360208260051b8501011115610cc957600080fd5b600080602083850312156117d357600080fd5b823567ffffffffffffffff8111156117ea57600080fd5b6117f68582860161177b565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561184457600080fd5b61184d8361164c565b9150602083013567ffffffffffffffff8082111561186a57600080fd5b818501915085601f83011261187e57600080fd5b81358181111561189057611890611802565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118d6576118d6611802565b816040528281528860208487010111156118ef57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561192c578181015183820152602001611914565b50506000910152565b6000815180845261194d816020860160208601611911565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061105a6020830184611935565b600080602083850312156119a557600080fd5b823567ffffffffffffffff808211156119bd57600080fd5b818501915085601f8301126119d157600080fd5b8135818111156119e057600080fd5b8660208260061b85010111156119f557600080fd5b60209290920196919550909350505050565b60008060008060408587031215611a1d57600080fd5b843567ffffffffffffffff80821115611a3557600080fd5b611a418883890161177b565b90965094506020870135915080821115611a5a57600080fd5b50611a678782880161177b565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b7c57610b7c611aa2565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611b1c81601f850160208701611911565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611b4e60a0830186611935565b8281036060840152611b608186611935565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b9b57600080fd5b5051919050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611c16816056850160208701611911565b919091016056019695505050505050565b81810381811115610b7c57610b7c611aa2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220a7bfde8ccf665b1012c89b735c26a4ae11005bd24873251f7a98e404f0cf523e64736f6c63430008160033";
436
436
  const isSuperArgs = (xs) => xs.length > 1;
437
437
  export class TestGasRouter__factory extends ContractFactory {
438
438
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestInterchainGasPaymaster__factory extends ContractFactory
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestInterchainGasPaymaster;
14
14
  connect(signer: Signer): TestInterchainGasPaymaster__factory;
15
- static readonly bytecode = "0x60c060405261c35060a0523480156200001757600080fd5b50436080526200002833806200002e565b620002d9565b600054610100900460ff16158080156200004f5750600054600160ff909116105b806200006b5750303b1580156200006b575060005460ff166001145b620000d45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f8576000805461ff0019166101001790555b6200010262000164565b6200010d83620001cc565b62000118826200021e565b80156200015f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600054610100900460ff16620001c05760405162461bcd60e51b815260206004820152602b60248201526000805160206200203283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca62000272565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16620002ce5760405162461bcd60e51b815260206004820152602b60248201526000805160206200203283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca33620001cc565b60805160a051611d2c62000306600039600081816103a20152610e49015260006103d80152611d2c6000f3fe60806040526004361061016a5760003560e01c8063715018a6116100cb578063a69297931161007f578063e5320bb911610059578063e5320bb9146104d7578063f2fde38b14610507578063fe173b971461052757600080fd5b8063a69297931461047b578063aaccd2301461049b578063e445e7dd146104bb57600080fd5b806382ea7bfe116100b057806382ea7bfe146103c65780638da5cb5b146103fa57806393c448471461042557600080fd5b8063715018a61461037e57806375ab2eca1461039357600080fd5b806343c467c01161012257806348f4e6c11161010757806348f4e6c1146103005780634e71d92d1461032057806360fcef7c1461033557600080fd5b806343c467c01461023c578063485cc955146102e057600080fd5b80631c31f710116101535780631c31f7101461019757806326d5b1a6146101b757806338af3eed146101ea57600080fd5b8063086011b91461016f57806311bf2c1814610184575b600080fd5b61018261017d366004611737565b61053c565b005b6101826101923660046117de565b6105e9565b3480156101a357600080fd5b506101826101b2366004611826565b610783565b3480156101c357600080fd5b506101d76101d2366004611843565b610797565b6040519081526020015b60405180910390f35b3480156101f657600080fd5b506066546102179073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e1565b34801561024857600080fd5b506102a761025736600461186d565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152016101e1565b3480156102ec57600080fd5b506101826102fb366004611888565b6107e7565b34801561030c57600080fd5b5061018261031b3660046118c1565b61098e565b34801561032c57600080fd5b50610182610a2e565b34801561034157600080fd5b5061035561035036600461186d565b610af8565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101e1565b34801561038a57600080fd5b50610182610c45565b34801561039f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101d7565b3480156103d257600080fd5b506101d77f000000000000000000000000000000000000000000000000000000000000000081565b34801561040657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610217565b34801561043157600080fd5b5061046e6040518060400160405280600d81526020017f352e31322e302d636369702e310000000000000000000000000000000000000081525081565b6040516101e1919061195a565b34801561048757600080fd5b506101d7610496366004611843565b610c59565b3480156104a757600080fd5b506101d76104b6366004611737565b610c66565b3480156104c757600080fd5b50604051600481526020016101e1565b3480156104e357600080fd5b506104f76104f23660046119ab565b610d13565b60405190151581526020016101e1565b34801561051357600080fd5b50610182610522366004611826565b610d35565b34801561053357600080fd5b506101d7600a81565b6105468484610d13565b6105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6105e384848484610de9565b50505050565b60006105f58484610c59565b905080341015610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4947503a20696e73756666696369656e7420696e746572636861696e2067617360448201527f207061796d656e7400000000000000000000000000000000000000000000000060648201526084016105ce565b60006106938234611a1c565b905080156107385773ffffffffffffffffffffffffffffffffffffffff8316610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f20726566756e64206164647265737300000000000000000000000000000060448201526064016105ce565b61073873ffffffffffffffffffffffffffffffffffffffff841682610e83565b604080518581526020810184905263ffffffff87169188917f65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a910160405180910390a3505050505050565b61078b610fdd565b6107948161105e565b50565b63ffffffff82166000908152606560205260408120546107de9083907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff16611a2f565b90505b92915050565b600054610100900460ff16158080156108075750600054600160ff909116105b806108215750303b158015610821575060005460ff166001145b6108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ce565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561090b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109136110d7565b61091c83611176565b6109258261105e565b801561098957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b505050565b610996610fdd565b8060005b818110156105e357610a268484838181106109b7576109b7611a42565b6109cd926020606090920201908101915061186d565b8585848181106109df576109df611a42565b6109f89260406060909202019081019150602001611826565b868685818110610a0a57610a0a611a42565b610a21926060918202019081019150604001611a71565b6111ed565b60010161099a565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d8060008114610a88576040519150601f19603f3d011682016040523d82523d6000602084013e610a8d565b606091505b5050905080610794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4947503a20636c61696d206661696c656400000000000000000000000000000060448201526064016105ce565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610ba857610b3a8463ffffffff1661129a565b604051602001610b4a9190611a9f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526105ce9160040161195a565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611b2a565b9250925050915091565b610c4d610fdd565b610c576000611176565b565b60006107de82600a611b5d565b6000610c728585610d13565b610cfe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016105ce565b610d0a85858585611358565b95945050505050565b60008115806107de57506001610d298484611374565b61ffff16149392505050565b610d3d610fdd565b73ffffffffffffffffffffffffffffffffffffffff8116610de0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105ce565b61079481611176565b6105e3610e2b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c592505050565b610e3584846113d0565b610e6d610e4286866113d0565b6101d289897f00000000000000000000000000000000000000000000000000000000000000006113f3565b610192610e7a8787611444565b89908990611458565b80471015610eed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016105ce565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610f47576040519150601f19603f3d011682016040523d82523d6000602084013e610f4c565b606091505b5050905080610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105ce565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ce565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff1661116e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c576114aa565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8481168083526bffffffffffffffffffffffff858116602080860182815263ffffffff8b16600081815260658452899020975191519094167401000000000000000000000000000000000000000002951694909417909455845190815291820152918201527f676a23191c2989bd7cc8446122cca792bcdaa0f2d6bbd9c30d8ca031ca94634390606001610980565b606060006112a78361154a565b600101905060008167ffffffffffffffff8111156112c7576112c7611b74565b6040519080825280601f01601f1916602001820160405280156112f1576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112fb57509392505050565b6000610d0a61136784846113d0565b610496610e4286866113d0565b6000611381816002611ba3565b60ff16821015611393575060006107e1565b826000836113a2826002611ba3565b60ff16926113b293929190611bbc565b6113bb91611be6565b60f01c9392505050565b805160209091012090565b60006113e0602d60298486611bbc565b6113e991611c2e565b60e01c9392505050565b600061140160226020611ba3565b60ff1683101561141257508061143d565b83602284611421826020611ba3565b60ff169261143193929190611bbc565b61143a91611c74565b90505b9392505050565b60006107de611453848461162c565b611645565b600061146660426014611ba3565b60ff1683101561147757508061143d565b83604284611486826014611ba3565b60ff169261149693929190611bbc565b61149f91611cb0565b60601c949350505050565b600054610100900460ff16611541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c5733611176565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611593577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106115bf576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106115dd57662386f26fc10000830492506010015b6305f5e10083106115f5576305f5e100830492506008015b612710831061160957612710830492506004015b6064831061161b576064830492506002015b600a83106107e15760010192915050565b600061163c602960098486611bbc565b6107de91611c74565b600073ffffffffffffffffffffffffffffffffffffffff8211156116ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016105ce565b5090565b60008083601f84011261170057600080fd5b50813567ffffffffffffffff81111561171857600080fd5b60208301915083602082850101111561173057600080fd5b9250929050565b6000806000806040858703121561174d57600080fd5b843567ffffffffffffffff8082111561176557600080fd5b611771888389016116ee565b9096509450602087013591508082111561178a57600080fd5b50611797878288016116ee565b95989497509550505050565b803563ffffffff811681146117b757600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461079457600080fd5b600080600080608085870312156117f457600080fd5b84359350611804602086016117a3565b925060408501359150606085013561181b816117bc565b939692955090935050565b60006020828403121561183857600080fd5b813561143d816117bc565b6000806040838503121561185657600080fd5b61185f836117a3565b946020939093013593505050565b60006020828403121561187f57600080fd5b6107de826117a3565b6000806040838503121561189b57600080fd5b82356118a6816117bc565b915060208301356118b6816117bc565b809150509250929050565b600080602083850312156118d457600080fd5b823567ffffffffffffffff808211156118ec57600080fd5b818501915085601f83011261190057600080fd5b81358181111561190f57600080fd5b86602060608302850101111561192457600080fd5b60209290920196919550909350505050565b60005b83811015611951578181015183820152602001611939565b50506000910152565b6020815260008251806020840152611979816040850160208701611936565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600080602083850312156119be57600080fd5b823567ffffffffffffffff8111156119d557600080fd5b6119e1858286016116ee565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156107e1576107e16119ed565b808201808211156107e1576107e16119ed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215611a8357600080fd5b81356bffffffffffffffffffffffff8116811461143d57600080fd5b7f436f6e666967757265642049475020646f65736e277420737570706f7274206481527f6f6d61696e200000000000000000000000000000000000000000000000000000602082015260008251611afd816026850160208701611936565b9190910160260192915050565b80516fffffffffffffffffffffffffffffffff811681146117b757600080fd5b60008060408385031215611b3d57600080fd5b611b4683611b0a565b9150611b5460208401611b0a565b90509250929050565b80820281158282048414176107e1576107e16119ed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60ff81811683821601908111156107e1576107e16119ed565b60008085851115611bcc57600080fd5b83861115611bd957600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015611c265780818660020360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611c265760049490940360031b84901b1690921692915050565b803560208310156107e1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611c265760149490940360031b84901b169092169291505056fea26469706673582212209a79e08f0bb661ef77412798adb148121a2c6da6de6b76aeeb2953097842bae064736f6c63430008160033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
15
+ static readonly bytecode = "0x60c060405261c35060a0523480156200001757600080fd5b50436080526200002833806200002e565b620002d9565b600054610100900460ff16158080156200004f5750600054600160ff909116105b806200006b5750303b1580156200006b575060005460ff166001145b620000d45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f8576000805461ff0019166101001790555b6200010262000164565b6200010d83620001cc565b62000118826200021e565b80156200015f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600054610100900460ff16620001c05760405162461bcd60e51b815260206004820152602b60248201526000805160206200203283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca62000272565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16620002ce5760405162461bcd60e51b815260206004820152602b60248201526000805160206200203283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca33620001cc565b60805160a051611d2c62000306600039600081816103a20152610e49015260006103d80152611d2c6000f3fe60806040526004361061016a5760003560e01c8063715018a6116100cb578063a69297931161007f578063e5320bb911610059578063e5320bb9146104d7578063f2fde38b14610507578063fe173b971461052757600080fd5b8063a69297931461047b578063aaccd2301461049b578063e445e7dd146104bb57600080fd5b806382ea7bfe116100b057806382ea7bfe146103c65780638da5cb5b146103fa57806393c448471461042557600080fd5b8063715018a61461037e57806375ab2eca1461039357600080fd5b806343c467c01161012257806348f4e6c11161010757806348f4e6c1146103005780634e71d92d1461032057806360fcef7c1461033557600080fd5b806343c467c01461023c578063485cc955146102e057600080fd5b80631c31f710116101535780631c31f7101461019757806326d5b1a6146101b757806338af3eed146101ea57600080fd5b8063086011b91461016f57806311bf2c1814610184575b600080fd5b61018261017d366004611737565b61053c565b005b6101826101923660046117de565b6105e9565b3480156101a357600080fd5b506101826101b2366004611826565b610783565b3480156101c357600080fd5b506101d76101d2366004611843565b610797565b6040519081526020015b60405180910390f35b3480156101f657600080fd5b506066546102179073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e1565b34801561024857600080fd5b506102a761025736600461186d565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152016101e1565b3480156102ec57600080fd5b506101826102fb366004611888565b6107e7565b34801561030c57600080fd5b5061018261031b3660046118c1565b61098e565b34801561032c57600080fd5b50610182610a2e565b34801561034157600080fd5b5061035561035036600461186d565b610af8565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101e1565b34801561038a57600080fd5b50610182610c45565b34801561039f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101d7565b3480156103d257600080fd5b506101d77f000000000000000000000000000000000000000000000000000000000000000081565b34801561040657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610217565b34801561043157600080fd5b5061046e6040518060400160405280600581526020017f362e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101e1919061195a565b34801561048757600080fd5b506101d7610496366004611843565b610c59565b3480156104a757600080fd5b506101d76104b6366004611737565b610c66565b3480156104c757600080fd5b50604051600481526020016101e1565b3480156104e357600080fd5b506104f76104f23660046119ab565b610d13565b60405190151581526020016101e1565b34801561051357600080fd5b50610182610522366004611826565b610d35565b34801561053357600080fd5b506101d7600a81565b6105468484610d13565b6105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6105e384848484610de9565b50505050565b60006105f58484610c59565b905080341015610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4947503a20696e73756666696369656e7420696e746572636861696e2067617360448201527f207061796d656e7400000000000000000000000000000000000000000000000060648201526084016105ce565b60006106938234611a1c565b905080156107385773ffffffffffffffffffffffffffffffffffffffff8316610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f20726566756e64206164647265737300000000000000000000000000000060448201526064016105ce565b61073873ffffffffffffffffffffffffffffffffffffffff841682610e83565b604080518581526020810184905263ffffffff87169188917f65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a910160405180910390a3505050505050565b61078b610fdd565b6107948161105e565b50565b63ffffffff82166000908152606560205260408120546107de9083907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff16611a2f565b90505b92915050565b600054610100900460ff16158080156108075750600054600160ff909116105b806108215750303b158015610821575060005460ff166001145b6108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ce565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561090b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109136110d7565b61091c83611176565b6109258261105e565b801561098957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b505050565b610996610fdd565b8060005b818110156105e357610a268484838181106109b7576109b7611a42565b6109cd926020606090920201908101915061186d565b8585848181106109df576109df611a42565b6109f89260406060909202019081019150602001611826565b868685818110610a0a57610a0a611a42565b610a21926060918202019081019150604001611a71565b6111ed565b60010161099a565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d8060008114610a88576040519150601f19603f3d011682016040523d82523d6000602084013e610a8d565b606091505b5050905080610794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4947503a20636c61696d206661696c656400000000000000000000000000000060448201526064016105ce565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610ba857610b3a8463ffffffff1661129a565b604051602001610b4a9190611a9f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526105ce9160040161195a565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611b2a565b9250925050915091565b610c4d610fdd565b610c576000611176565b565b60006107de82600a611b5d565b6000610c728585610d13565b610cfe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016105ce565b610d0a85858585611358565b95945050505050565b60008115806107de57506001610d298484611374565b61ffff16149392505050565b610d3d610fdd565b73ffffffffffffffffffffffffffffffffffffffff8116610de0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105ce565b61079481611176565b6105e3610e2b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c592505050565b610e3584846113d0565b610e6d610e4286866113d0565b6101d289897f00000000000000000000000000000000000000000000000000000000000000006113f3565b610192610e7a8787611444565b89908990611458565b80471015610eed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016105ce565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610f47576040519150601f19603f3d011682016040523d82523d6000602084013e610f4c565b606091505b5050905080610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105ce565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ce565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff1661116e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c576114aa565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8481168083526bffffffffffffffffffffffff858116602080860182815263ffffffff8b16600081815260658452899020975191519094167401000000000000000000000000000000000000000002951694909417909455845190815291820152918201527f676a23191c2989bd7cc8446122cca792bcdaa0f2d6bbd9c30d8ca031ca94634390606001610980565b606060006112a78361154a565b600101905060008167ffffffffffffffff8111156112c7576112c7611b74565b6040519080825280601f01601f1916602001820160405280156112f1576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112fb57509392505050565b6000610d0a61136784846113d0565b610496610e4286866113d0565b6000611381816002611ba3565b60ff16821015611393575060006107e1565b826000836113a2826002611ba3565b60ff16926113b293929190611bbc565b6113bb91611be6565b60f01c9392505050565b805160209091012090565b60006113e0602d60298486611bbc565b6113e991611c2e565b60e01c9392505050565b600061140160226020611ba3565b60ff1683101561141257508061143d565b83602284611421826020611ba3565b60ff169261143193929190611bbc565b61143a91611c74565b90505b9392505050565b60006107de611453848461162c565b611645565b600061146660426014611ba3565b60ff1683101561147757508061143d565b83604284611486826014611ba3565b60ff169261149693929190611bbc565b61149f91611cb0565b60601c949350505050565b600054610100900460ff16611541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c5733611176565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611593577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106115bf576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106115dd57662386f26fc10000830492506010015b6305f5e10083106115f5576305f5e100830492506008015b612710831061160957612710830492506004015b6064831061161b576064830492506002015b600a83106107e15760010192915050565b600061163c602960098486611bbc565b6107de91611c74565b600073ffffffffffffffffffffffffffffffffffffffff8211156116ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016105ce565b5090565b60008083601f84011261170057600080fd5b50813567ffffffffffffffff81111561171857600080fd5b60208301915083602082850101111561173057600080fd5b9250929050565b6000806000806040858703121561174d57600080fd5b843567ffffffffffffffff8082111561176557600080fd5b611771888389016116ee565b9096509450602087013591508082111561178a57600080fd5b50611797878288016116ee565b95989497509550505050565b803563ffffffff811681146117b757600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461079457600080fd5b600080600080608085870312156117f457600080fd5b84359350611804602086016117a3565b925060408501359150606085013561181b816117bc565b939692955090935050565b60006020828403121561183857600080fd5b813561143d816117bc565b6000806040838503121561185657600080fd5b61185f836117a3565b946020939093013593505050565b60006020828403121561187f57600080fd5b6107de826117a3565b6000806040838503121561189b57600080fd5b82356118a6816117bc565b915060208301356118b6816117bc565b809150509250929050565b600080602083850312156118d457600080fd5b823567ffffffffffffffff808211156118ec57600080fd5b818501915085601f83011261190057600080fd5b81358181111561190f57600080fd5b86602060608302850101111561192457600080fd5b60209290920196919550909350505050565b60005b83811015611951578181015183820152602001611939565b50506000910152565b6020815260008251806020840152611979816040850160208701611936565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600080602083850312156119be57600080fd5b823567ffffffffffffffff8111156119d557600080fd5b6119e1858286016116ee565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156107e1576107e16119ed565b808201808211156107e1576107e16119ed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215611a8357600080fd5b81356bffffffffffffffffffffffff8116811461143d57600080fd5b7f436f6e666967757265642049475020646f65736e277420737570706f7274206481527f6f6d61696e200000000000000000000000000000000000000000000000000000602082015260008251611afd816026850160208701611936565b9190910160260192915050565b80516fffffffffffffffffffffffffffffffff811681146117b757600080fd5b60008060408385031215611b3d57600080fd5b611b4683611b0a565b9150611b5460208401611b0a565b90509250929050565b80820281158282048414176107e1576107e16119ed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60ff81811683821601908111156107e1576107e16119ed565b60008085851115611bcc57600080fd5b83861115611bd957600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015611c265780818660020360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611c265760049490940360031b84901b1690921692915050565b803560208310156107e1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611c265760149490940360031b84901b169092169291505056fea2646970667358221220f31fea2bcdf52b0ed9125548589c0be459ca46e5d2f466b9296ec1f9e50b340564736f6c63430008160033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [];
18
18
  readonly stateMutability: "nonpayable";
@@ -481,7 +481,7 @@ const _abi = [
481
481
  type: "function",
482
482
  },
483
483
  ];
484
- const _bytecode = "0x60c060405261c35060a0523480156200001757600080fd5b50436080526200002833806200002e565b620002d9565b600054610100900460ff16158080156200004f5750600054600160ff909116105b806200006b5750303b1580156200006b575060005460ff166001145b620000d45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f8576000805461ff0019166101001790555b6200010262000164565b6200010d83620001cc565b62000118826200021e565b80156200015f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600054610100900460ff16620001c05760405162461bcd60e51b815260206004820152602b60248201526000805160206200203283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca62000272565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16620002ce5760405162461bcd60e51b815260206004820152602b60248201526000805160206200203283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca33620001cc565b60805160a051611d2c62000306600039600081816103a20152610e49015260006103d80152611d2c6000f3fe60806040526004361061016a5760003560e01c8063715018a6116100cb578063a69297931161007f578063e5320bb911610059578063e5320bb9146104d7578063f2fde38b14610507578063fe173b971461052757600080fd5b8063a69297931461047b578063aaccd2301461049b578063e445e7dd146104bb57600080fd5b806382ea7bfe116100b057806382ea7bfe146103c65780638da5cb5b146103fa57806393c448471461042557600080fd5b8063715018a61461037e57806375ab2eca1461039357600080fd5b806343c467c01161012257806348f4e6c11161010757806348f4e6c1146103005780634e71d92d1461032057806360fcef7c1461033557600080fd5b806343c467c01461023c578063485cc955146102e057600080fd5b80631c31f710116101535780631c31f7101461019757806326d5b1a6146101b757806338af3eed146101ea57600080fd5b8063086011b91461016f57806311bf2c1814610184575b600080fd5b61018261017d366004611737565b61053c565b005b6101826101923660046117de565b6105e9565b3480156101a357600080fd5b506101826101b2366004611826565b610783565b3480156101c357600080fd5b506101d76101d2366004611843565b610797565b6040519081526020015b60405180910390f35b3480156101f657600080fd5b506066546102179073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e1565b34801561024857600080fd5b506102a761025736600461186d565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152016101e1565b3480156102ec57600080fd5b506101826102fb366004611888565b6107e7565b34801561030c57600080fd5b5061018261031b3660046118c1565b61098e565b34801561032c57600080fd5b50610182610a2e565b34801561034157600080fd5b5061035561035036600461186d565b610af8565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101e1565b34801561038a57600080fd5b50610182610c45565b34801561039f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101d7565b3480156103d257600080fd5b506101d77f000000000000000000000000000000000000000000000000000000000000000081565b34801561040657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610217565b34801561043157600080fd5b5061046e6040518060400160405280600d81526020017f352e31322e302d636369702e310000000000000000000000000000000000000081525081565b6040516101e1919061195a565b34801561048757600080fd5b506101d7610496366004611843565b610c59565b3480156104a757600080fd5b506101d76104b6366004611737565b610c66565b3480156104c757600080fd5b50604051600481526020016101e1565b3480156104e357600080fd5b506104f76104f23660046119ab565b610d13565b60405190151581526020016101e1565b34801561051357600080fd5b50610182610522366004611826565b610d35565b34801561053357600080fd5b506101d7600a81565b6105468484610d13565b6105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6105e384848484610de9565b50505050565b60006105f58484610c59565b905080341015610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4947503a20696e73756666696369656e7420696e746572636861696e2067617360448201527f207061796d656e7400000000000000000000000000000000000000000000000060648201526084016105ce565b60006106938234611a1c565b905080156107385773ffffffffffffffffffffffffffffffffffffffff8316610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f20726566756e64206164647265737300000000000000000000000000000060448201526064016105ce565b61073873ffffffffffffffffffffffffffffffffffffffff841682610e83565b604080518581526020810184905263ffffffff87169188917f65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a910160405180910390a3505050505050565b61078b610fdd565b6107948161105e565b50565b63ffffffff82166000908152606560205260408120546107de9083907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff16611a2f565b90505b92915050565b600054610100900460ff16158080156108075750600054600160ff909116105b806108215750303b158015610821575060005460ff166001145b6108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ce565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561090b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109136110d7565b61091c83611176565b6109258261105e565b801561098957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b505050565b610996610fdd565b8060005b818110156105e357610a268484838181106109b7576109b7611a42565b6109cd926020606090920201908101915061186d565b8585848181106109df576109df611a42565b6109f89260406060909202019081019150602001611826565b868685818110610a0a57610a0a611a42565b610a21926060918202019081019150604001611a71565b6111ed565b60010161099a565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d8060008114610a88576040519150601f19603f3d011682016040523d82523d6000602084013e610a8d565b606091505b5050905080610794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4947503a20636c61696d206661696c656400000000000000000000000000000060448201526064016105ce565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610ba857610b3a8463ffffffff1661129a565b604051602001610b4a9190611a9f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526105ce9160040161195a565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611b2a565b9250925050915091565b610c4d610fdd565b610c576000611176565b565b60006107de82600a611b5d565b6000610c728585610d13565b610cfe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016105ce565b610d0a85858585611358565b95945050505050565b60008115806107de57506001610d298484611374565b61ffff16149392505050565b610d3d610fdd565b73ffffffffffffffffffffffffffffffffffffffff8116610de0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105ce565b61079481611176565b6105e3610e2b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c592505050565b610e3584846113d0565b610e6d610e4286866113d0565b6101d289897f00000000000000000000000000000000000000000000000000000000000000006113f3565b610192610e7a8787611444565b89908990611458565b80471015610eed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016105ce565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610f47576040519150601f19603f3d011682016040523d82523d6000602084013e610f4c565b606091505b5050905080610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105ce565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ce565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff1661116e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c576114aa565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8481168083526bffffffffffffffffffffffff858116602080860182815263ffffffff8b16600081815260658452899020975191519094167401000000000000000000000000000000000000000002951694909417909455845190815291820152918201527f676a23191c2989bd7cc8446122cca792bcdaa0f2d6bbd9c30d8ca031ca94634390606001610980565b606060006112a78361154a565b600101905060008167ffffffffffffffff8111156112c7576112c7611b74565b6040519080825280601f01601f1916602001820160405280156112f1576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112fb57509392505050565b6000610d0a61136784846113d0565b610496610e4286866113d0565b6000611381816002611ba3565b60ff16821015611393575060006107e1565b826000836113a2826002611ba3565b60ff16926113b293929190611bbc565b6113bb91611be6565b60f01c9392505050565b805160209091012090565b60006113e0602d60298486611bbc565b6113e991611c2e565b60e01c9392505050565b600061140160226020611ba3565b60ff1683101561141257508061143d565b83602284611421826020611ba3565b60ff169261143193929190611bbc565b61143a91611c74565b90505b9392505050565b60006107de611453848461162c565b611645565b600061146660426014611ba3565b60ff1683101561147757508061143d565b83604284611486826014611ba3565b60ff169261149693929190611bbc565b61149f91611cb0565b60601c949350505050565b600054610100900460ff16611541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c5733611176565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611593577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106115bf576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106115dd57662386f26fc10000830492506010015b6305f5e10083106115f5576305f5e100830492506008015b612710831061160957612710830492506004015b6064831061161b576064830492506002015b600a83106107e15760010192915050565b600061163c602960098486611bbc565b6107de91611c74565b600073ffffffffffffffffffffffffffffffffffffffff8211156116ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016105ce565b5090565b60008083601f84011261170057600080fd5b50813567ffffffffffffffff81111561171857600080fd5b60208301915083602082850101111561173057600080fd5b9250929050565b6000806000806040858703121561174d57600080fd5b843567ffffffffffffffff8082111561176557600080fd5b611771888389016116ee565b9096509450602087013591508082111561178a57600080fd5b50611797878288016116ee565b95989497509550505050565b803563ffffffff811681146117b757600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461079457600080fd5b600080600080608085870312156117f457600080fd5b84359350611804602086016117a3565b925060408501359150606085013561181b816117bc565b939692955090935050565b60006020828403121561183857600080fd5b813561143d816117bc565b6000806040838503121561185657600080fd5b61185f836117a3565b946020939093013593505050565b60006020828403121561187f57600080fd5b6107de826117a3565b6000806040838503121561189b57600080fd5b82356118a6816117bc565b915060208301356118b6816117bc565b809150509250929050565b600080602083850312156118d457600080fd5b823567ffffffffffffffff808211156118ec57600080fd5b818501915085601f83011261190057600080fd5b81358181111561190f57600080fd5b86602060608302850101111561192457600080fd5b60209290920196919550909350505050565b60005b83811015611951578181015183820152602001611939565b50506000910152565b6020815260008251806020840152611979816040850160208701611936565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600080602083850312156119be57600080fd5b823567ffffffffffffffff8111156119d557600080fd5b6119e1858286016116ee565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156107e1576107e16119ed565b808201808211156107e1576107e16119ed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215611a8357600080fd5b81356bffffffffffffffffffffffff8116811461143d57600080fd5b7f436f6e666967757265642049475020646f65736e277420737570706f7274206481527f6f6d61696e200000000000000000000000000000000000000000000000000000602082015260008251611afd816026850160208701611936565b9190910160260192915050565b80516fffffffffffffffffffffffffffffffff811681146117b757600080fd5b60008060408385031215611b3d57600080fd5b611b4683611b0a565b9150611b5460208401611b0a565b90509250929050565b80820281158282048414176107e1576107e16119ed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60ff81811683821601908111156107e1576107e16119ed565b60008085851115611bcc57600080fd5b83861115611bd957600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015611c265780818660020360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611c265760049490940360031b84901b1690921692915050565b803560208310156107e1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611c265760149490940360031b84901b169092169291505056fea26469706673582212209a79e08f0bb661ef77412798adb148121a2c6da6de6b76aeeb2953097842bae064736f6c63430008160033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
484
+ const _bytecode = "0x60c060405261c35060a0523480156200001757600080fd5b50436080526200002833806200002e565b620002d9565b600054610100900460ff16158080156200004f5750600054600160ff909116105b806200006b5750303b1580156200006b575060005460ff166001145b620000d45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f8576000805461ff0019166101001790555b6200010262000164565b6200010d83620001cc565b62000118826200021e565b80156200015f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600054610100900460ff16620001c05760405162461bcd60e51b815260206004820152602b60248201526000805160206200203283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca62000272565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16620002ce5760405162461bcd60e51b815260206004820152602b60248201526000805160206200203283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca33620001cc565b60805160a051611d2c62000306600039600081816103a20152610e49015260006103d80152611d2c6000f3fe60806040526004361061016a5760003560e01c8063715018a6116100cb578063a69297931161007f578063e5320bb911610059578063e5320bb9146104d7578063f2fde38b14610507578063fe173b971461052757600080fd5b8063a69297931461047b578063aaccd2301461049b578063e445e7dd146104bb57600080fd5b806382ea7bfe116100b057806382ea7bfe146103c65780638da5cb5b146103fa57806393c448471461042557600080fd5b8063715018a61461037e57806375ab2eca1461039357600080fd5b806343c467c01161012257806348f4e6c11161010757806348f4e6c1146103005780634e71d92d1461032057806360fcef7c1461033557600080fd5b806343c467c01461023c578063485cc955146102e057600080fd5b80631c31f710116101535780631c31f7101461019757806326d5b1a6146101b757806338af3eed146101ea57600080fd5b8063086011b91461016f57806311bf2c1814610184575b600080fd5b61018261017d366004611737565b61053c565b005b6101826101923660046117de565b6105e9565b3480156101a357600080fd5b506101826101b2366004611826565b610783565b3480156101c357600080fd5b506101d76101d2366004611843565b610797565b6040519081526020015b60405180910390f35b3480156101f657600080fd5b506066546102179073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e1565b34801561024857600080fd5b506102a761025736600461186d565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152016101e1565b3480156102ec57600080fd5b506101826102fb366004611888565b6107e7565b34801561030c57600080fd5b5061018261031b3660046118c1565b61098e565b34801561032c57600080fd5b50610182610a2e565b34801561034157600080fd5b5061035561035036600461186d565b610af8565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101e1565b34801561038a57600080fd5b50610182610c45565b34801561039f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101d7565b3480156103d257600080fd5b506101d77f000000000000000000000000000000000000000000000000000000000000000081565b34801561040657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610217565b34801561043157600080fd5b5061046e6040518060400160405280600581526020017f362e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101e1919061195a565b34801561048757600080fd5b506101d7610496366004611843565b610c59565b3480156104a757600080fd5b506101d76104b6366004611737565b610c66565b3480156104c757600080fd5b50604051600481526020016101e1565b3480156104e357600080fd5b506104f76104f23660046119ab565b610d13565b60405190151581526020016101e1565b34801561051357600080fd5b50610182610522366004611826565b610d35565b34801561053357600080fd5b506101d7600a81565b6105468484610d13565b6105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6105e384848484610de9565b50505050565b60006105f58484610c59565b905080341015610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4947503a20696e73756666696369656e7420696e746572636861696e2067617360448201527f207061796d656e7400000000000000000000000000000000000000000000000060648201526084016105ce565b60006106938234611a1c565b905080156107385773ffffffffffffffffffffffffffffffffffffffff8316610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f20726566756e64206164647265737300000000000000000000000000000060448201526064016105ce565b61073873ffffffffffffffffffffffffffffffffffffffff841682610e83565b604080518581526020810184905263ffffffff87169188917f65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a910160405180910390a3505050505050565b61078b610fdd565b6107948161105e565b50565b63ffffffff82166000908152606560205260408120546107de9083907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff16611a2f565b90505b92915050565b600054610100900460ff16158080156108075750600054600160ff909116105b806108215750303b158015610821575060005460ff166001145b6108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ce565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561090b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109136110d7565b61091c83611176565b6109258261105e565b801561098957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b505050565b610996610fdd565b8060005b818110156105e357610a268484838181106109b7576109b7611a42565b6109cd926020606090920201908101915061186d565b8585848181106109df576109df611a42565b6109f89260406060909202019081019150602001611826565b868685818110610a0a57610a0a611a42565b610a21926060918202019081019150604001611a71565b6111ed565b60010161099a565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d8060008114610a88576040519150601f19603f3d011682016040523d82523d6000602084013e610a8d565b606091505b5050905080610794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4947503a20636c61696d206661696c656400000000000000000000000000000060448201526064016105ce565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610ba857610b3a8463ffffffff1661129a565b604051602001610b4a9190611a9f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526105ce9160040161195a565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611b2a565b9250925050915091565b610c4d610fdd565b610c576000611176565b565b60006107de82600a611b5d565b6000610c728585610d13565b610cfe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016105ce565b610d0a85858585611358565b95945050505050565b60008115806107de57506001610d298484611374565b61ffff16149392505050565b610d3d610fdd565b73ffffffffffffffffffffffffffffffffffffffff8116610de0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105ce565b61079481611176565b6105e3610e2b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c592505050565b610e3584846113d0565b610e6d610e4286866113d0565b6101d289897f00000000000000000000000000000000000000000000000000000000000000006113f3565b610192610e7a8787611444565b89908990611458565b80471015610eed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016105ce565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610f47576040519150601f19603f3d011682016040523d82523d6000602084013e610f4c565b606091505b5050905080610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105ce565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ce565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff1661116e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c576114aa565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8481168083526bffffffffffffffffffffffff858116602080860182815263ffffffff8b16600081815260658452899020975191519094167401000000000000000000000000000000000000000002951694909417909455845190815291820152918201527f676a23191c2989bd7cc8446122cca792bcdaa0f2d6bbd9c30d8ca031ca94634390606001610980565b606060006112a78361154a565b600101905060008167ffffffffffffffff8111156112c7576112c7611b74565b6040519080825280601f01601f1916602001820160405280156112f1576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112fb57509392505050565b6000610d0a61136784846113d0565b610496610e4286866113d0565b6000611381816002611ba3565b60ff16821015611393575060006107e1565b826000836113a2826002611ba3565b60ff16926113b293929190611bbc565b6113bb91611be6565b60f01c9392505050565b805160209091012090565b60006113e0602d60298486611bbc565b6113e991611c2e565b60e01c9392505050565b600061140160226020611ba3565b60ff1683101561141257508061143d565b83602284611421826020611ba3565b60ff169261143193929190611bbc565b61143a91611c74565b90505b9392505050565b60006107de611453848461162c565b611645565b600061146660426014611ba3565b60ff1683101561147757508061143d565b83604284611486826014611ba3565b60ff169261149693929190611bbc565b61149f91611cb0565b60601c949350505050565b600054610100900460ff16611541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c5733611176565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611593577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106115bf576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106115dd57662386f26fc10000830492506010015b6305f5e10083106115f5576305f5e100830492506008015b612710831061160957612710830492506004015b6064831061161b576064830492506002015b600a83106107e15760010192915050565b600061163c602960098486611bbc565b6107de91611c74565b600073ffffffffffffffffffffffffffffffffffffffff8211156116ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016105ce565b5090565b60008083601f84011261170057600080fd5b50813567ffffffffffffffff81111561171857600080fd5b60208301915083602082850101111561173057600080fd5b9250929050565b6000806000806040858703121561174d57600080fd5b843567ffffffffffffffff8082111561176557600080fd5b611771888389016116ee565b9096509450602087013591508082111561178a57600080fd5b50611797878288016116ee565b95989497509550505050565b803563ffffffff811681146117b757600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461079457600080fd5b600080600080608085870312156117f457600080fd5b84359350611804602086016117a3565b925060408501359150606085013561181b816117bc565b939692955090935050565b60006020828403121561183857600080fd5b813561143d816117bc565b6000806040838503121561185657600080fd5b61185f836117a3565b946020939093013593505050565b60006020828403121561187f57600080fd5b6107de826117a3565b6000806040838503121561189b57600080fd5b82356118a6816117bc565b915060208301356118b6816117bc565b809150509250929050565b600080602083850312156118d457600080fd5b823567ffffffffffffffff808211156118ec57600080fd5b818501915085601f83011261190057600080fd5b81358181111561190f57600080fd5b86602060608302850101111561192457600080fd5b60209290920196919550909350505050565b60005b83811015611951578181015183820152602001611939565b50506000910152565b6020815260008251806020840152611979816040850160208701611936565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600080602083850312156119be57600080fd5b823567ffffffffffffffff8111156119d557600080fd5b6119e1858286016116ee565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156107e1576107e16119ed565b808201808211156107e1576107e16119ed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215611a8357600080fd5b81356bffffffffffffffffffffffff8116811461143d57600080fd5b7f436f6e666967757265642049475020646f65736e277420737570706f7274206481527f6f6d61696e200000000000000000000000000000000000000000000000000000602082015260008251611afd816026850160208701611936565b9190910160260192915050565b80516fffffffffffffffffffffffffffffffff811681146117b757600080fd5b60008060408385031215611b3d57600080fd5b611b4683611b0a565b9150611b5460208401611b0a565b90509250929050565b80820281158282048414176107e1576107e16119ed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60ff81811683821601908111156107e1576107e16119ed565b60008085851115611bcc57600080fd5b83861115611bd957600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015611c265780818660020360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611c265760049490940360031b84901b1690921692915050565b803560208310156107e1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611c265760149490940360031b84901b169092169291505056fea2646970667358221220f31fea2bcdf52b0ed9125548589c0be459ca46e5d2f466b9296ec1f9e50b340564736f6c63430008160033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
485
485
  const isSuperArgs = (xs) => xs.length > 1;
486
486
  export class TestInterchainGasPaymaster__factory extends ContractFactory {
487
487
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestMailbox__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestMailbox;
14
14
  connect(signer: Signer): TestMailbox__factory;
15
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b506040516200253f3803806200253f8339810160408190526200003491620000a6565b4360805263ffffffff811660a0526200004d3362000054565b50620000d5565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208284031215620000b957600080fd5b815163ffffffff81168114620000ce57600080fd5b9392505050565b60805160a05161242f620001106000396000818161046f01528181610bc601528181610c83015261198c0152600061043b015261242f6000f3fe6080604052600436106101d85760003560e01c80638d3638f411610102578063e495f1d411610095578063f7ccd32111610064578063f7ccd32114610683578063f8c8765e146106a3578063fa31de01146106c3578063ffa1ad74146106d657600080fd5b8063e495f1d4146105c4578063e70f48ac14610623578063f2fde38b14610643578063f794687a1461066357600080fd5b80639c42bd18116100d15780639c42bd181461053a578063affed0e01461055a578063d0639c1014610577578063d6d08a091461059757600080fd5b80638d3638f41461045d5780638da5cb5b146104a657806393c44847146104d157806399b048091461051a57600080fd5b80635d1fe5a91161017a578063715018a611610149578063715018a6146103e15780637c39d130146103f657806381d2ea951461040957806382ea7bfe1461042957600080fd5b80635d1fe5a9146103245780636093bbff146103675780636781759b146103875780636e5f516e146103b457600080fd5b8063134fbb4f116101b6578063134fbb4f146102895780631426b7f41461029f5780633d1250b7146102bf57806348aee8d41461031157600080fd5b806307a2fda1146101dd578063082548ec1461024657806310b83dc014610268575b600080fd5b3480156101e957600080fd5b5061022a6101f8366004611cec565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b34801561025257600080fd5b50610266610261366004611d60565b6106fd565b005b61027b610276366004611dea565b61077d565b60405190815260200161023d565b34801561029557600080fd5b5061027b60665481565b3480156102ab57600080fd5b506102666102ba366004611e88565b610a51565b3480156102cb57600080fd5b506068546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023d565b61027b61031f366004611ea5565b610b71565b34801561033057600080fd5b506102ec61033f366004611cec565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561037357600080fd5b50610266610382366004611cec565b606655565b34801561039357600080fd5b506103a76103a2366004611d60565b610baf565b60405161023d9190611f9d565b3480156103c057600080fd5b506067546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103ed57600080fd5b50610266610bf7565b610266610404366004611fb0565b610c0b565b34801561041557600080fd5b5061027b610424366004611dea565b6110ad565b34801561043557600080fd5b5061027b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046957600080fd5b506104917f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161023d565b3480156104b257600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102ec565b3480156104dd57600080fd5b506103a76040518060400160405280600d81526020017f352e31322e302d636369702e310000000000000000000000000000000000000081525081565b34801561052657600080fd5b50610266610535366004611e88565b611240565b34801561054657600080fd5b5061027b61055536600461201c565b61135b565b34801561056657600080fd5b506065546104919063ffffffff1681565b34801561058357600080fd5b506103a761059236600461201c565b611397565b3480156105a357600080fd5b506069546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105d057600080fd5b506106136105df366004611cec565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b604051901515815260200161023d565b34801561062f57600080fd5b506102ec61063e366004611e88565b6113a5565b34801561064f57600080fd5b5061026661065e366004611e88565b6114dc565b34801561066f57600080fd5b5061026661067e366004611e88565b611593565b34801561068f57600080fd5b5061027b61069e366004611ea5565b6116ae565b3480156106af57600080fd5b506102666106be36600461206a565b6116e1565b61027b6106d136600461201c565b61189b565b3480156106e257600080fd5b506106eb600381565b60405160ff909116815260200161023d565b610706836118ce565b73ffffffffffffffffffffffffffffffffffffffff166356d5d475868685856040518563ffffffff1660e01b8152600401610744949392919061210f565b600060405180830381600087803b15801561075e57600080fd5b505af1158015610772573d6000803e3d6000fd5b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166107b65760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006107c489898989611977565b805160208201206066819055606580549293509091600191906000906107f190849063ffffffff16612164565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c8148560405161085d9190611f9d565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd230906108eb908a908a908890600401612188565b602060405180830381865afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092c91906121ae565b9050803410156109395750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390610995908b908b908990600401612188565b6000604051808303818588803b1580156109ae57600080fd5b505af11580156109c2573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b982346109ef91906121c7565b8989876040518563ffffffff1660e01b8152600401610a1093929190612188565b6000604051808303818588803b158015610a2957600080fd5b505af1158015610a3d573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b610a596119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b610b02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b6000610ba4878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661077d565b979650505050505050565b606554606090610bed9060039063ffffffff1688877f00000000000000000000000000000000000000000000000000000000000000008a8989611a41565b9695505050505050565b610bff6119c0565b610c096000611a7f565b565b6003610c178383611af6565b60ff1614610c81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e0000000000000000000000006044820152606401610af9565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610cb28383611b1a565b63ffffffff1614610d1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e006044820152606401610af9565b6000610d6083838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119b592505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610df9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c6976657265640000000000006044820152606401610af9565b6000610e058484611b3d565b90506000610e12826113a5565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610eb08686611b58565b610eba8787611b71565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610f6f908a908a908a908a906004016121da565b6020604051808303816000875af1158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb29190612201565b611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c65646044820152606401610af9565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d4753461103f8888611b71565b6110498989611b58565b6110538a8a611b81565b6040518663ffffffff1660e01b8152600401611072949392919061210f565b6000604051808303818588803b15801561108b57600080fd5b505af115801561109f573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166110e65760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006110f489898989611977565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd2309061114d90889088908690600401612188565b602060405180830381865afa15801561116a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118e91906121ae565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd230906111e890899089908790600401612188565b602060405180830381865afa158015611205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122991906121ae565b6112339190612223565b9998505050505050505050565b6112486119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b6112ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f63740000000000000000000000000000000000000000000000000000000000006064820152608401610af9565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061138e8585858561137086808385612236565b60685473ffffffffffffffffffffffffffffffffffffffff166110ad565b95945050505050565b606061138e85858585611977565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff8616916114269190612260565b600060405180830381855afa9150503d8060008114611461576040519150601f19603f3d011682016040523d82523d6000602084013e611466565b606091505b50915091508180156114785750805115155b156114bb57600081806020019051810190611493919061227c565b905073ffffffffffffffffffffffffffffffffffffffff8116156114b957949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b6114e46119c0565b73ffffffffffffffffffffffffffffffffffffffff8116611587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610af9565b61159081611a7f565b50565b61159b6119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b61163f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610af9565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610ba4878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166110ad565b600054610100900460ff16158080156117015750600054600160ff909116105b8061171b5750303b15801561171b575060005460ff166001145b6117a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610af9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561180557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61180d611b9d565b61181684611593565b61181f83611240565b61182882610a51565b611831856114dc565b801561189457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061138e858585856118b086808385612236565b60685473ffffffffffffffffffffffffffffffffffffffff1661077d565b600073ffffffffffffffffffffffffffffffffffffffff821115611973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f77000000000000000000000000000000000000000000000000000000006064820152608401610af9565b5090565b60655460609061138e9060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989611a41565b805160209091012090565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610af9565b60608888888888888888604051602001611a62989796959493929190612299565b604051602081830303815290604052905098975050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611b056001828486612236565b611b0e9161232f565b60f81c90505b92915050565b6000611b2a602d60298486612236565b611b3391612377565b60e01c9392505050565b6000611b51611b4c8484611c3c565b6118ce565b9392505050565b6000611b68602960098486612236565b611b51916123bd565b6000611b2a600960058486612236565b366000611b9183604d8187612236565b915091505b9250929050565b600054610100900460ff16611c34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af9565b610c09611c4c565b6000611b68604d602d8486612236565b600054610100900460ff16611ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af9565b610c0933611a7f565b600060208284031215611cfe57600080fd5b5035919050565b803563ffffffff81168114611d1957600080fd5b919050565b60008083601f840112611d3057600080fd5b50813567ffffffffffffffff811115611d4857600080fd5b602083019150836020828501011115611b9657600080fd5b600080600080600060808688031215611d7857600080fd5b611d8186611d05565b94506020860135935060408601359250606086013567ffffffffffffffff811115611dab57600080fd5b611db788828901611d1e565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461159057600080fd5b600080600080600080600060a0888a031215611e0557600080fd5b611e0e88611d05565b965060208801359550604088013567ffffffffffffffff80821115611e3257600080fd5b611e3e8b838c01611d1e565b909750955060608a0135915080821115611e5757600080fd5b50611e648a828b01611d1e565b9094509250506080880135611e7881611dc8565b8091505092959891949750929550565b600060208284031215611e9a57600080fd5b8135611b5181611dc8565b60008060008060008060808789031215611ebe57600080fd5b611ec787611d05565b955060208701359450604087013567ffffffffffffffff80821115611eeb57600080fd5b611ef78a838b01611d1e565b90965094506060890135915080821115611f1057600080fd5b50611f1d89828a01611d1e565b979a9699509497509295939492505050565b60005b83811015611f4a578181015183820152602001611f32565b50506000910152565b60008151808452611f6b816020860160208601611f2f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611b516020830184611f53565b60008060008060408587031215611fc657600080fd5b843567ffffffffffffffff80821115611fde57600080fd5b611fea88838901611d1e565b9096509450602087013591508082111561200357600080fd5b5061201087828801611d1e565b95989497509550505050565b6000806000806060858703121561203257600080fd5b61203b85611d05565b935060208501359250604085013567ffffffffffffffff81111561205e57600080fd5b61201087828801611d1e565b6000806000806080858703121561208057600080fd5b843561208b81611dc8565b9350602085013561209b81611dc8565b925060408501356120ab81611dc8565b915060608501356120bb81611dc8565b939692955090935050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000610bed6060830184866120c6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff81811683821601908082111561218157612181612135565b5092915050565b60408152600061219c6040830185876120c6565b8281036020840152610bed8185611f53565b6000602082840312156121c057600080fd5b5051919050565b81810381811115611b1457611b14612135565b6040815260006121ee6040830186886120c6565b8281036020840152610ba48185876120c6565b60006020828403121561221357600080fd5b81518015158114611b5157600080fd5b80820180821115611b1457611b14612135565b6000808585111561224657600080fd5b8386111561225357600080fd5b5050820193919092039150565b60008251612272818460208701611f2f565b9190910192915050565b60006020828403121561228e57600080fd5b8151611b5181611dc8565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b7fff00000000000000000000000000000000000000000000000000000000000000813581811691600185101561236f5780818660010360031b1b83161692505b505092915050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561236f5760049490940360031b84901b1690921692915050565b80356020831015611b14577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b169291505056fea26469706673582212207b3a2add685bc7b4955f95057fa7b7c285b92466ffde14d49610a67d87bb061e64736f6c63430008160033";
15
+ static readonly bytecode = "0x60c06040523480156200001157600080fd5b506040516200253f3803806200253f8339810160408190526200003491620000a6565b4360805263ffffffff811660a0526200004d3362000054565b50620000d5565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208284031215620000b957600080fd5b815163ffffffff81168114620000ce57600080fd5b9392505050565b60805160a05161242f620001106000396000818161046f01528181610bc601528181610c83015261198c0152600061043b015261242f6000f3fe6080604052600436106101d85760003560e01c80638d3638f411610102578063e495f1d411610095578063f7ccd32111610064578063f7ccd32114610683578063f8c8765e146106a3578063fa31de01146106c3578063ffa1ad74146106d657600080fd5b8063e495f1d4146105c4578063e70f48ac14610623578063f2fde38b14610643578063f794687a1461066357600080fd5b80639c42bd18116100d15780639c42bd181461053a578063affed0e01461055a578063d0639c1014610577578063d6d08a091461059757600080fd5b80638d3638f41461045d5780638da5cb5b146104a657806393c44847146104d157806399b048091461051a57600080fd5b80635d1fe5a91161017a578063715018a611610149578063715018a6146103e15780637c39d130146103f657806381d2ea951461040957806382ea7bfe1461042957600080fd5b80635d1fe5a9146103245780636093bbff146103675780636781759b146103875780636e5f516e146103b457600080fd5b8063134fbb4f116101b6578063134fbb4f146102895780631426b7f41461029f5780633d1250b7146102bf57806348aee8d41461031157600080fd5b806307a2fda1146101dd578063082548ec1461024657806310b83dc014610268575b600080fd5b3480156101e957600080fd5b5061022a6101f8366004611cec565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b34801561025257600080fd5b50610266610261366004611d60565b6106fd565b005b61027b610276366004611dea565b61077d565b60405190815260200161023d565b34801561029557600080fd5b5061027b60665481565b3480156102ab57600080fd5b506102666102ba366004611e88565b610a51565b3480156102cb57600080fd5b506068546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023d565b61027b61031f366004611ea5565b610b71565b34801561033057600080fd5b506102ec61033f366004611cec565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561037357600080fd5b50610266610382366004611cec565b606655565b34801561039357600080fd5b506103a76103a2366004611d60565b610baf565b60405161023d9190611f9d565b3480156103c057600080fd5b506067546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103ed57600080fd5b50610266610bf7565b610266610404366004611fb0565b610c0b565b34801561041557600080fd5b5061027b610424366004611dea565b6110ad565b34801561043557600080fd5b5061027b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046957600080fd5b506104917f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161023d565b3480156104b257600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102ec565b3480156104dd57600080fd5b506103a76040518060400160405280600581526020017f362e302e3000000000000000000000000000000000000000000000000000000081525081565b34801561052657600080fd5b50610266610535366004611e88565b611240565b34801561054657600080fd5b5061027b61055536600461201c565b61135b565b34801561056657600080fd5b506065546104919063ffffffff1681565b34801561058357600080fd5b506103a761059236600461201c565b611397565b3480156105a357600080fd5b506069546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105d057600080fd5b506106136105df366004611cec565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b604051901515815260200161023d565b34801561062f57600080fd5b506102ec61063e366004611e88565b6113a5565b34801561064f57600080fd5b5061026661065e366004611e88565b6114dc565b34801561066f57600080fd5b5061026661067e366004611e88565b611593565b34801561068f57600080fd5b5061027b61069e366004611ea5565b6116ae565b3480156106af57600080fd5b506102666106be36600461206a565b6116e1565b61027b6106d136600461201c565b61189b565b3480156106e257600080fd5b506106eb600381565b60405160ff909116815260200161023d565b610706836118ce565b73ffffffffffffffffffffffffffffffffffffffff166356d5d475868685856040518563ffffffff1660e01b8152600401610744949392919061210f565b600060405180830381600087803b15801561075e57600080fd5b505af1158015610772573d6000803e3d6000fd5b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166107b65760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006107c489898989611977565b805160208201206066819055606580549293509091600191906000906107f190849063ffffffff16612164565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c8148560405161085d9190611f9d565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd230906108eb908a908a908890600401612188565b602060405180830381865afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092c91906121ae565b9050803410156109395750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390610995908b908b908990600401612188565b6000604051808303818588803b1580156109ae57600080fd5b505af11580156109c2573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b982346109ef91906121c7565b8989876040518563ffffffff1660e01b8152600401610a1093929190612188565b6000604051808303818588803b158015610a2957600080fd5b505af1158015610a3d573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b610a596119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b610b02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b6000610ba4878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661077d565b979650505050505050565b606554606090610bed9060039063ffffffff1688877f00000000000000000000000000000000000000000000000000000000000000008a8989611a41565b9695505050505050565b610bff6119c0565b610c096000611a7f565b565b6003610c178383611af6565b60ff1614610c81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e0000000000000000000000006044820152606401610af9565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610cb28383611b1a565b63ffffffff1614610d1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e006044820152606401610af9565b6000610d6083838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119b592505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610df9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c6976657265640000000000006044820152606401610af9565b6000610e058484611b3d565b90506000610e12826113a5565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610eb08686611b58565b610eba8787611b71565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610f6f908a908a908a908a906004016121da565b6020604051808303816000875af1158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb29190612201565b611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c65646044820152606401610af9565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d4753461103f8888611b71565b6110498989611b58565b6110538a8a611b81565b6040518663ffffffff1660e01b8152600401611072949392919061210f565b6000604051808303818588803b15801561108b57600080fd5b505af115801561109f573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166110e65760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006110f489898989611977565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd2309061114d90889088908690600401612188565b602060405180830381865afa15801561116a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118e91906121ae565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd230906111e890899089908790600401612188565b602060405180830381865afa158015611205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122991906121ae565b6112339190612223565b9998505050505050505050565b6112486119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b6112ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f63740000000000000000000000000000000000000000000000000000000000006064820152608401610af9565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061138e8585858561137086808385612236565b60685473ffffffffffffffffffffffffffffffffffffffff166110ad565b95945050505050565b606061138e85858585611977565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff8616916114269190612260565b600060405180830381855afa9150503d8060008114611461576040519150601f19603f3d011682016040523d82523d6000602084013e611466565b606091505b50915091508180156114785750805115155b156114bb57600081806020019051810190611493919061227c565b905073ffffffffffffffffffffffffffffffffffffffff8116156114b957949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b6114e46119c0565b73ffffffffffffffffffffffffffffffffffffffff8116611587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610af9565b61159081611a7f565b50565b61159b6119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b61163f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610af9565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610ba4878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166110ad565b600054610100900460ff16158080156117015750600054600160ff909116105b8061171b5750303b15801561171b575060005460ff166001145b6117a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610af9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561180557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61180d611b9d565b61181684611593565b61181f83611240565b61182882610a51565b611831856114dc565b801561189457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061138e858585856118b086808385612236565b60685473ffffffffffffffffffffffffffffffffffffffff1661077d565b600073ffffffffffffffffffffffffffffffffffffffff821115611973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f77000000000000000000000000000000000000000000000000000000006064820152608401610af9565b5090565b60655460609061138e9060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989611a41565b805160209091012090565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610af9565b60608888888888888888604051602001611a62989796959493929190612299565b604051602081830303815290604052905098975050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611b056001828486612236565b611b0e9161232f565b60f81c90505b92915050565b6000611b2a602d60298486612236565b611b3391612377565b60e01c9392505050565b6000611b51611b4c8484611c3c565b6118ce565b9392505050565b6000611b68602960098486612236565b611b51916123bd565b6000611b2a600960058486612236565b366000611b9183604d8187612236565b915091505b9250929050565b600054610100900460ff16611c34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af9565b610c09611c4c565b6000611b68604d602d8486612236565b600054610100900460ff16611ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af9565b610c0933611a7f565b600060208284031215611cfe57600080fd5b5035919050565b803563ffffffff81168114611d1957600080fd5b919050565b60008083601f840112611d3057600080fd5b50813567ffffffffffffffff811115611d4857600080fd5b602083019150836020828501011115611b9657600080fd5b600080600080600060808688031215611d7857600080fd5b611d8186611d05565b94506020860135935060408601359250606086013567ffffffffffffffff811115611dab57600080fd5b611db788828901611d1e565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461159057600080fd5b600080600080600080600060a0888a031215611e0557600080fd5b611e0e88611d05565b965060208801359550604088013567ffffffffffffffff80821115611e3257600080fd5b611e3e8b838c01611d1e565b909750955060608a0135915080821115611e5757600080fd5b50611e648a828b01611d1e565b9094509250506080880135611e7881611dc8565b8091505092959891949750929550565b600060208284031215611e9a57600080fd5b8135611b5181611dc8565b60008060008060008060808789031215611ebe57600080fd5b611ec787611d05565b955060208701359450604087013567ffffffffffffffff80821115611eeb57600080fd5b611ef78a838b01611d1e565b90965094506060890135915080821115611f1057600080fd5b50611f1d89828a01611d1e565b979a9699509497509295939492505050565b60005b83811015611f4a578181015183820152602001611f32565b50506000910152565b60008151808452611f6b816020860160208601611f2f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611b516020830184611f53565b60008060008060408587031215611fc657600080fd5b843567ffffffffffffffff80821115611fde57600080fd5b611fea88838901611d1e565b9096509450602087013591508082111561200357600080fd5b5061201087828801611d1e565b95989497509550505050565b6000806000806060858703121561203257600080fd5b61203b85611d05565b935060208501359250604085013567ffffffffffffffff81111561205e57600080fd5b61201087828801611d1e565b6000806000806080858703121561208057600080fd5b843561208b81611dc8565b9350602085013561209b81611dc8565b925060408501356120ab81611dc8565b915060608501356120bb81611dc8565b939692955090935050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000610bed6060830184866120c6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff81811683821601908082111561218157612181612135565b5092915050565b60408152600061219c6040830185876120c6565b8281036020840152610bed8185611f53565b6000602082840312156121c057600080fd5b5051919050565b81810381811115611b1457611b14612135565b6040815260006121ee6040830186886120c6565b8281036020840152610ba48185876120c6565b60006020828403121561221357600080fd5b81518015158114611b5157600080fd5b80820180821115611b1457611b14612135565b6000808585111561224657600080fd5b8386111561225357600080fd5b5050820193919092039150565b60008251612272818460208701611f2f565b9190910192915050565b60006020828403121561228e57600080fd5b8151611b5181611dc8565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b7fff00000000000000000000000000000000000000000000000000000000000000813581811691600185101561236f5780818660010360031b1b83161692505b505092915050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561236f5760049490940360031b84901b1690921692915050565b80356020831015611b14577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b169291505056fea2646970667358221220e27055c9999a2896f6599a87344b67217c79ae8077a38c8f9e4386a537e27d2864736f6c63430008160033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "uint32";
@@ -787,7 +787,7 @@ const _abi = [
787
787
  type: "function",
788
788
  },
789
789
  ];
790
- const _bytecode = "0x60c06040523480156200001157600080fd5b506040516200253f3803806200253f8339810160408190526200003491620000a6565b4360805263ffffffff811660a0526200004d3362000054565b50620000d5565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208284031215620000b957600080fd5b815163ffffffff81168114620000ce57600080fd5b9392505050565b60805160a05161242f620001106000396000818161046f01528181610bc601528181610c83015261198c0152600061043b015261242f6000f3fe6080604052600436106101d85760003560e01c80638d3638f411610102578063e495f1d411610095578063f7ccd32111610064578063f7ccd32114610683578063f8c8765e146106a3578063fa31de01146106c3578063ffa1ad74146106d657600080fd5b8063e495f1d4146105c4578063e70f48ac14610623578063f2fde38b14610643578063f794687a1461066357600080fd5b80639c42bd18116100d15780639c42bd181461053a578063affed0e01461055a578063d0639c1014610577578063d6d08a091461059757600080fd5b80638d3638f41461045d5780638da5cb5b146104a657806393c44847146104d157806399b048091461051a57600080fd5b80635d1fe5a91161017a578063715018a611610149578063715018a6146103e15780637c39d130146103f657806381d2ea951461040957806382ea7bfe1461042957600080fd5b80635d1fe5a9146103245780636093bbff146103675780636781759b146103875780636e5f516e146103b457600080fd5b8063134fbb4f116101b6578063134fbb4f146102895780631426b7f41461029f5780633d1250b7146102bf57806348aee8d41461031157600080fd5b806307a2fda1146101dd578063082548ec1461024657806310b83dc014610268575b600080fd5b3480156101e957600080fd5b5061022a6101f8366004611cec565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b34801561025257600080fd5b50610266610261366004611d60565b6106fd565b005b61027b610276366004611dea565b61077d565b60405190815260200161023d565b34801561029557600080fd5b5061027b60665481565b3480156102ab57600080fd5b506102666102ba366004611e88565b610a51565b3480156102cb57600080fd5b506068546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023d565b61027b61031f366004611ea5565b610b71565b34801561033057600080fd5b506102ec61033f366004611cec565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561037357600080fd5b50610266610382366004611cec565b606655565b34801561039357600080fd5b506103a76103a2366004611d60565b610baf565b60405161023d9190611f9d565b3480156103c057600080fd5b506067546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103ed57600080fd5b50610266610bf7565b610266610404366004611fb0565b610c0b565b34801561041557600080fd5b5061027b610424366004611dea565b6110ad565b34801561043557600080fd5b5061027b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046957600080fd5b506104917f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161023d565b3480156104b257600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102ec565b3480156104dd57600080fd5b506103a76040518060400160405280600d81526020017f352e31322e302d636369702e310000000000000000000000000000000000000081525081565b34801561052657600080fd5b50610266610535366004611e88565b611240565b34801561054657600080fd5b5061027b61055536600461201c565b61135b565b34801561056657600080fd5b506065546104919063ffffffff1681565b34801561058357600080fd5b506103a761059236600461201c565b611397565b3480156105a357600080fd5b506069546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105d057600080fd5b506106136105df366004611cec565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b604051901515815260200161023d565b34801561062f57600080fd5b506102ec61063e366004611e88565b6113a5565b34801561064f57600080fd5b5061026661065e366004611e88565b6114dc565b34801561066f57600080fd5b5061026661067e366004611e88565b611593565b34801561068f57600080fd5b5061027b61069e366004611ea5565b6116ae565b3480156106af57600080fd5b506102666106be36600461206a565b6116e1565b61027b6106d136600461201c565b61189b565b3480156106e257600080fd5b506106eb600381565b60405160ff909116815260200161023d565b610706836118ce565b73ffffffffffffffffffffffffffffffffffffffff166356d5d475868685856040518563ffffffff1660e01b8152600401610744949392919061210f565b600060405180830381600087803b15801561075e57600080fd5b505af1158015610772573d6000803e3d6000fd5b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166107b65760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006107c489898989611977565b805160208201206066819055606580549293509091600191906000906107f190849063ffffffff16612164565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c8148560405161085d9190611f9d565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd230906108eb908a908a908890600401612188565b602060405180830381865afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092c91906121ae565b9050803410156109395750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390610995908b908b908990600401612188565b6000604051808303818588803b1580156109ae57600080fd5b505af11580156109c2573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b982346109ef91906121c7565b8989876040518563ffffffff1660e01b8152600401610a1093929190612188565b6000604051808303818588803b158015610a2957600080fd5b505af1158015610a3d573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b610a596119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b610b02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b6000610ba4878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661077d565b979650505050505050565b606554606090610bed9060039063ffffffff1688877f00000000000000000000000000000000000000000000000000000000000000008a8989611a41565b9695505050505050565b610bff6119c0565b610c096000611a7f565b565b6003610c178383611af6565b60ff1614610c81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e0000000000000000000000006044820152606401610af9565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610cb28383611b1a565b63ffffffff1614610d1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e006044820152606401610af9565b6000610d6083838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119b592505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610df9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c6976657265640000000000006044820152606401610af9565b6000610e058484611b3d565b90506000610e12826113a5565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610eb08686611b58565b610eba8787611b71565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610f6f908a908a908a908a906004016121da565b6020604051808303816000875af1158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb29190612201565b611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c65646044820152606401610af9565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d4753461103f8888611b71565b6110498989611b58565b6110538a8a611b81565b6040518663ffffffff1660e01b8152600401611072949392919061210f565b6000604051808303818588803b15801561108b57600080fd5b505af115801561109f573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166110e65760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006110f489898989611977565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd2309061114d90889088908690600401612188565b602060405180830381865afa15801561116a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118e91906121ae565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd230906111e890899089908790600401612188565b602060405180830381865afa158015611205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122991906121ae565b6112339190612223565b9998505050505050505050565b6112486119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b6112ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f63740000000000000000000000000000000000000000000000000000000000006064820152608401610af9565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061138e8585858561137086808385612236565b60685473ffffffffffffffffffffffffffffffffffffffff166110ad565b95945050505050565b606061138e85858585611977565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff8616916114269190612260565b600060405180830381855afa9150503d8060008114611461576040519150601f19603f3d011682016040523d82523d6000602084013e611466565b606091505b50915091508180156114785750805115155b156114bb57600081806020019051810190611493919061227c565b905073ffffffffffffffffffffffffffffffffffffffff8116156114b957949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b6114e46119c0565b73ffffffffffffffffffffffffffffffffffffffff8116611587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610af9565b61159081611a7f565b50565b61159b6119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b61163f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610af9565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610ba4878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166110ad565b600054610100900460ff16158080156117015750600054600160ff909116105b8061171b5750303b15801561171b575060005460ff166001145b6117a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610af9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561180557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61180d611b9d565b61181684611593565b61181f83611240565b61182882610a51565b611831856114dc565b801561189457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061138e858585856118b086808385612236565b60685473ffffffffffffffffffffffffffffffffffffffff1661077d565b600073ffffffffffffffffffffffffffffffffffffffff821115611973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f77000000000000000000000000000000000000000000000000000000006064820152608401610af9565b5090565b60655460609061138e9060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989611a41565b805160209091012090565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610af9565b60608888888888888888604051602001611a62989796959493929190612299565b604051602081830303815290604052905098975050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611b056001828486612236565b611b0e9161232f565b60f81c90505b92915050565b6000611b2a602d60298486612236565b611b3391612377565b60e01c9392505050565b6000611b51611b4c8484611c3c565b6118ce565b9392505050565b6000611b68602960098486612236565b611b51916123bd565b6000611b2a600960058486612236565b366000611b9183604d8187612236565b915091505b9250929050565b600054610100900460ff16611c34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af9565b610c09611c4c565b6000611b68604d602d8486612236565b600054610100900460ff16611ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af9565b610c0933611a7f565b600060208284031215611cfe57600080fd5b5035919050565b803563ffffffff81168114611d1957600080fd5b919050565b60008083601f840112611d3057600080fd5b50813567ffffffffffffffff811115611d4857600080fd5b602083019150836020828501011115611b9657600080fd5b600080600080600060808688031215611d7857600080fd5b611d8186611d05565b94506020860135935060408601359250606086013567ffffffffffffffff811115611dab57600080fd5b611db788828901611d1e565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461159057600080fd5b600080600080600080600060a0888a031215611e0557600080fd5b611e0e88611d05565b965060208801359550604088013567ffffffffffffffff80821115611e3257600080fd5b611e3e8b838c01611d1e565b909750955060608a0135915080821115611e5757600080fd5b50611e648a828b01611d1e565b9094509250506080880135611e7881611dc8565b8091505092959891949750929550565b600060208284031215611e9a57600080fd5b8135611b5181611dc8565b60008060008060008060808789031215611ebe57600080fd5b611ec787611d05565b955060208701359450604087013567ffffffffffffffff80821115611eeb57600080fd5b611ef78a838b01611d1e565b90965094506060890135915080821115611f1057600080fd5b50611f1d89828a01611d1e565b979a9699509497509295939492505050565b60005b83811015611f4a578181015183820152602001611f32565b50506000910152565b60008151808452611f6b816020860160208601611f2f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611b516020830184611f53565b60008060008060408587031215611fc657600080fd5b843567ffffffffffffffff80821115611fde57600080fd5b611fea88838901611d1e565b9096509450602087013591508082111561200357600080fd5b5061201087828801611d1e565b95989497509550505050565b6000806000806060858703121561203257600080fd5b61203b85611d05565b935060208501359250604085013567ffffffffffffffff81111561205e57600080fd5b61201087828801611d1e565b6000806000806080858703121561208057600080fd5b843561208b81611dc8565b9350602085013561209b81611dc8565b925060408501356120ab81611dc8565b915060608501356120bb81611dc8565b939692955090935050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000610bed6060830184866120c6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff81811683821601908082111561218157612181612135565b5092915050565b60408152600061219c6040830185876120c6565b8281036020840152610bed8185611f53565b6000602082840312156121c057600080fd5b5051919050565b81810381811115611b1457611b14612135565b6040815260006121ee6040830186886120c6565b8281036020840152610ba48185876120c6565b60006020828403121561221357600080fd5b81518015158114611b5157600080fd5b80820180821115611b1457611b14612135565b6000808585111561224657600080fd5b8386111561225357600080fd5b5050820193919092039150565b60008251612272818460208701611f2f565b9190910192915050565b60006020828403121561228e57600080fd5b8151611b5181611dc8565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b7fff00000000000000000000000000000000000000000000000000000000000000813581811691600185101561236f5780818660010360031b1b83161692505b505092915050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561236f5760049490940360031b84901b1690921692915050565b80356020831015611b14577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b169291505056fea26469706673582212207b3a2add685bc7b4955f95057fa7b7c285b92466ffde14d49610a67d87bb061e64736f6c63430008160033";
790
+ const _bytecode = "0x60c06040523480156200001157600080fd5b506040516200253f3803806200253f8339810160408190526200003491620000a6565b4360805263ffffffff811660a0526200004d3362000054565b50620000d5565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208284031215620000b957600080fd5b815163ffffffff81168114620000ce57600080fd5b9392505050565b60805160a05161242f620001106000396000818161046f01528181610bc601528181610c83015261198c0152600061043b015261242f6000f3fe6080604052600436106101d85760003560e01c80638d3638f411610102578063e495f1d411610095578063f7ccd32111610064578063f7ccd32114610683578063f8c8765e146106a3578063fa31de01146106c3578063ffa1ad74146106d657600080fd5b8063e495f1d4146105c4578063e70f48ac14610623578063f2fde38b14610643578063f794687a1461066357600080fd5b80639c42bd18116100d15780639c42bd181461053a578063affed0e01461055a578063d0639c1014610577578063d6d08a091461059757600080fd5b80638d3638f41461045d5780638da5cb5b146104a657806393c44847146104d157806399b048091461051a57600080fd5b80635d1fe5a91161017a578063715018a611610149578063715018a6146103e15780637c39d130146103f657806381d2ea951461040957806382ea7bfe1461042957600080fd5b80635d1fe5a9146103245780636093bbff146103675780636781759b146103875780636e5f516e146103b457600080fd5b8063134fbb4f116101b6578063134fbb4f146102895780631426b7f41461029f5780633d1250b7146102bf57806348aee8d41461031157600080fd5b806307a2fda1146101dd578063082548ec1461024657806310b83dc014610268575b600080fd5b3480156101e957600080fd5b5061022a6101f8366004611cec565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b34801561025257600080fd5b50610266610261366004611d60565b6106fd565b005b61027b610276366004611dea565b61077d565b60405190815260200161023d565b34801561029557600080fd5b5061027b60665481565b3480156102ab57600080fd5b506102666102ba366004611e88565b610a51565b3480156102cb57600080fd5b506068546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023d565b61027b61031f366004611ea5565b610b71565b34801561033057600080fd5b506102ec61033f366004611cec565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561037357600080fd5b50610266610382366004611cec565b606655565b34801561039357600080fd5b506103a76103a2366004611d60565b610baf565b60405161023d9190611f9d565b3480156103c057600080fd5b506067546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103ed57600080fd5b50610266610bf7565b610266610404366004611fb0565b610c0b565b34801561041557600080fd5b5061027b610424366004611dea565b6110ad565b34801561043557600080fd5b5061027b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046957600080fd5b506104917f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161023d565b3480156104b257600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102ec565b3480156104dd57600080fd5b506103a76040518060400160405280600581526020017f362e302e3000000000000000000000000000000000000000000000000000000081525081565b34801561052657600080fd5b50610266610535366004611e88565b611240565b34801561054657600080fd5b5061027b61055536600461201c565b61135b565b34801561056657600080fd5b506065546104919063ffffffff1681565b34801561058357600080fd5b506103a761059236600461201c565b611397565b3480156105a357600080fd5b506069546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105d057600080fd5b506106136105df366004611cec565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b604051901515815260200161023d565b34801561062f57600080fd5b506102ec61063e366004611e88565b6113a5565b34801561064f57600080fd5b5061026661065e366004611e88565b6114dc565b34801561066f57600080fd5b5061026661067e366004611e88565b611593565b34801561068f57600080fd5b5061027b61069e366004611ea5565b6116ae565b3480156106af57600080fd5b506102666106be36600461206a565b6116e1565b61027b6106d136600461201c565b61189b565b3480156106e257600080fd5b506106eb600381565b60405160ff909116815260200161023d565b610706836118ce565b73ffffffffffffffffffffffffffffffffffffffff166356d5d475868685856040518563ffffffff1660e01b8152600401610744949392919061210f565b600060405180830381600087803b15801561075e57600080fd5b505af1158015610772573d6000803e3d6000fd5b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166107b65760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006107c489898989611977565b805160208201206066819055606580549293509091600191906000906107f190849063ffffffff16612164565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c8148560405161085d9190611f9d565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd230906108eb908a908a908890600401612188565b602060405180830381865afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092c91906121ae565b9050803410156109395750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390610995908b908b908990600401612188565b6000604051808303818588803b1580156109ae57600080fd5b505af11580156109c2573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b982346109ef91906121c7565b8989876040518563ffffffff1660e01b8152600401610a1093929190612188565b6000604051808303818588803b158015610a2957600080fd5b505af1158015610a3d573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b610a596119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b610b02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b6000610ba4878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661077d565b979650505050505050565b606554606090610bed9060039063ffffffff1688877f00000000000000000000000000000000000000000000000000000000000000008a8989611a41565b9695505050505050565b610bff6119c0565b610c096000611a7f565b565b6003610c178383611af6565b60ff1614610c81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e0000000000000000000000006044820152606401610af9565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610cb28383611b1a565b63ffffffff1614610d1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e006044820152606401610af9565b6000610d6083838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119b592505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610df9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c6976657265640000000000006044820152606401610af9565b6000610e058484611b3d565b90506000610e12826113a5565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610eb08686611b58565b610eba8787611b71565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610f6f908a908a908a908a906004016121da565b6020604051808303816000875af1158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb29190612201565b611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c65646044820152606401610af9565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d4753461103f8888611b71565b6110498989611b58565b6110538a8a611b81565b6040518663ffffffff1660e01b8152600401611072949392919061210f565b6000604051808303818588803b15801561108b57600080fd5b505af115801561109f573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166110e65760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006110f489898989611977565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd2309061114d90889088908690600401612188565b602060405180830381865afa15801561116a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118e91906121ae565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd230906111e890899089908790600401612188565b602060405180830381865afa158015611205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122991906121ae565b6112339190612223565b9998505050505050505050565b6112486119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b6112ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f63740000000000000000000000000000000000000000000000000000000000006064820152608401610af9565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061138e8585858561137086808385612236565b60685473ffffffffffffffffffffffffffffffffffffffff166110ad565b95945050505050565b606061138e85858585611977565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff8616916114269190612260565b600060405180830381855afa9150503d8060008114611461576040519150601f19603f3d011682016040523d82523d6000602084013e611466565b606091505b50915091508180156114785750805115155b156114bb57600081806020019051810190611493919061227c565b905073ffffffffffffffffffffffffffffffffffffffff8116156114b957949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b6114e46119c0565b73ffffffffffffffffffffffffffffffffffffffff8116611587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610af9565b61159081611a7f565b50565b61159b6119c0565b73ffffffffffffffffffffffffffffffffffffffff81163b61163f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610af9565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610ba4878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166110ad565b600054610100900460ff16158080156117015750600054600160ff909116105b8061171b5750303b15801561171b575060005460ff166001145b6117a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610af9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561180557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61180d611b9d565b61181684611593565b61181f83611240565b61182882610a51565b611831856114dc565b801561189457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061138e858585856118b086808385612236565b60685473ffffffffffffffffffffffffffffffffffffffff1661077d565b600073ffffffffffffffffffffffffffffffffffffffff821115611973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f77000000000000000000000000000000000000000000000000000000006064820152608401610af9565b5090565b60655460609061138e9060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989611a41565b805160209091012090565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610af9565b60608888888888888888604051602001611a62989796959493929190612299565b604051602081830303815290604052905098975050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611b056001828486612236565b611b0e9161232f565b60f81c90505b92915050565b6000611b2a602d60298486612236565b611b3391612377565b60e01c9392505050565b6000611b51611b4c8484611c3c565b6118ce565b9392505050565b6000611b68602960098486612236565b611b51916123bd565b6000611b2a600960058486612236565b366000611b9183604d8187612236565b915091505b9250929050565b600054610100900460ff16611c34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af9565b610c09611c4c565b6000611b68604d602d8486612236565b600054610100900460ff16611ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610af9565b610c0933611a7f565b600060208284031215611cfe57600080fd5b5035919050565b803563ffffffff81168114611d1957600080fd5b919050565b60008083601f840112611d3057600080fd5b50813567ffffffffffffffff811115611d4857600080fd5b602083019150836020828501011115611b9657600080fd5b600080600080600060808688031215611d7857600080fd5b611d8186611d05565b94506020860135935060408601359250606086013567ffffffffffffffff811115611dab57600080fd5b611db788828901611d1e565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461159057600080fd5b600080600080600080600060a0888a031215611e0557600080fd5b611e0e88611d05565b965060208801359550604088013567ffffffffffffffff80821115611e3257600080fd5b611e3e8b838c01611d1e565b909750955060608a0135915080821115611e5757600080fd5b50611e648a828b01611d1e565b9094509250506080880135611e7881611dc8565b8091505092959891949750929550565b600060208284031215611e9a57600080fd5b8135611b5181611dc8565b60008060008060008060808789031215611ebe57600080fd5b611ec787611d05565b955060208701359450604087013567ffffffffffffffff80821115611eeb57600080fd5b611ef78a838b01611d1e565b90965094506060890135915080821115611f1057600080fd5b50611f1d89828a01611d1e565b979a9699509497509295939492505050565b60005b83811015611f4a578181015183820152602001611f32565b50506000910152565b60008151808452611f6b816020860160208601611f2f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611b516020830184611f53565b60008060008060408587031215611fc657600080fd5b843567ffffffffffffffff80821115611fde57600080fd5b611fea88838901611d1e565b9096509450602087013591508082111561200357600080fd5b5061201087828801611d1e565b95989497509550505050565b6000806000806060858703121561203257600080fd5b61203b85611d05565b935060208501359250604085013567ffffffffffffffff81111561205e57600080fd5b61201087828801611d1e565b6000806000806080858703121561208057600080fd5b843561208b81611dc8565b9350602085013561209b81611dc8565b925060408501356120ab81611dc8565b915060608501356120bb81611dc8565b939692955090935050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000610bed6060830184866120c6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff81811683821601908082111561218157612181612135565b5092915050565b60408152600061219c6040830185876120c6565b8281036020840152610bed8185611f53565b6000602082840312156121c057600080fd5b5051919050565b81810381811115611b1457611b14612135565b6040815260006121ee6040830186886120c6565b8281036020840152610ba48185876120c6565b60006020828403121561221357600080fd5b81518015158114611b5157600080fd5b80820180821115611b1457611b14612135565b6000808585111561224657600080fd5b8386111561225357600080fd5b5050820193919092039150565b60008251612272818460208701611f2f565b9190910192915050565b60006020828403121561228e57600080fd5b8151611b5181611dc8565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b7fff00000000000000000000000000000000000000000000000000000000000000813581811691600185101561236f5780818660010360031b1b83161692505b505092915050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561236f5760049490940360031b84901b1690921692915050565b80356020831015611b14577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b169291505056fea2646970667358221220e27055c9999a2896f6599a87344b67217c79ae8077a38c8f9e4386a537e27d2864736f6c63430008160033";
791
791
  const isSuperArgs = (xs) => xs.length > 1;
792
792
  export class TestMailbox__factory extends ContractFactory {
793
793
  constructor(...args) {