@etherisc/gif-next 0.0.2-da77c50-824 → 0.0.2-e42b0ca-323

Sign up to get free protection for your applications and to get access to all the features.
Files changed (222) hide show
  1. package/README.md +5 -14
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
  3. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  4. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  5. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  6. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  7. package/artifacts/contracts/components/Pool.sol/Pool.json +2 -2
  8. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  9. package/artifacts/contracts/components/Product.sol/Product.json +2 -2
  10. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  11. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  12. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  13. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  14. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  15. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  16. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  22. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  26. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  28. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  30. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  31. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +48 -204
  32. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +1 -1
  33. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  34. package/artifacts/contracts/instance/Instance.sol/Instance.json +211 -303
  35. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
  36. package/artifacts/contracts/instance/{service → base}/ComponentServiceBase.sol/ComponentServiceBase.json +6 -6
  37. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +4 -0
  38. package/artifacts/contracts/instance/{IServiceLinked.sol/IServiceLinked.json → base/IInstanceBase.sol/IInstanceBase.json} +15 -2
  39. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  40. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +511 -0
  41. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  42. package/artifacts/contracts/instance/{module/lifecycle/ILifecycle.sol/ILifecycleModule.json → base/ILifecycle.sol/ILifecycle.json} +10 -77
  43. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +4 -0
  44. package/artifacts/contracts/instance/{service → base}/IService.sol/IService.json +6 -6
  45. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +4 -0
  46. package/artifacts/contracts/instance/{InstanceBase.sol → base/InstanceBase.sol}/InstanceBase.json +19 -6
  47. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  48. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +692 -0
  49. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  50. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +169 -0
  51. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +4 -0
  52. package/artifacts/contracts/instance/{module/product/ProductModule.sol/ProductModule.json → base/ModuleBase.sol/ModuleBase.json} +2 -2
  53. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +4 -0
  54. package/artifacts/contracts/instance/{service → base}/ServiceBase.sol/ServiceBase.json +6 -6
  55. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +1 -1
  56. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +1 -1
  57. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +1 -1
  58. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +50 -30
  60. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +1 -1
  61. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +1 -1
  62. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +50 -30
  63. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +4 -0
  64. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +10 -0
  65. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +4 -0
  66. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +10 -0
  67. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +4 -0
  68. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +10 -0
  69. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +1 -1
  70. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +1 -1
  71. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +1 -1
  73. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +1 -1
  74. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +1 -1
  75. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +1 -1
  76. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +1 -1
  77. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +1 -1
  78. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +4 -0
  79. package/artifacts/contracts/instance/module/{product/IProductModule.sol/IProductModule.json → risk/IRisk.sol/IRisk.json} +2 -2
  80. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +4 -0
  81. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +10 -0
  82. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +4 -0
  83. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +10 -0
  84. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +1 -1
  85. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +1 -6
  87. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  88. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +2 -2
  89. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +1 -1
  90. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +1 -6
  91. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
  92. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +48 -44
  93. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
  94. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +5 -5
  95. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  96. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +5 -5
  97. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  98. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +5 -5
  99. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  100. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +18 -46
  101. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  102. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +47 -59
  103. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  104. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  105. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  106. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  107. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  108. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  109. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  110. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +1 -1
  111. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  112. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  113. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +5 -5
  114. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  115. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  116. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +5 -5
  117. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  118. package/artifacts/contracts/test/TestFee.sol/TestFee.json +28 -4
  119. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +1 -1
  120. package/artifacts/contracts/test/TestPool.sol/TestPool.json +2 -2
  121. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +1 -1
  122. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +2 -2
  123. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  124. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +2 -2
  125. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  126. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +38 -4
  127. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  128. package/artifacts/contracts/test/TestService.sol/TestService.json +15 -43
  129. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  130. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  131. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +14 -18
  132. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  133. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +15 -39
  134. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +4 -0
  135. package/artifacts/contracts/test/Usdc.sol/USDC.json +338 -0
  136. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  137. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  138. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  139. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +4 -0
  140. package/artifacts/contracts/types/Fee.sol/FeeLib.json +218 -0
  141. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +4 -0
  142. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +111 -0
  143. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  144. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +65 -4
  145. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  146. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  147. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  148. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +4 -0
  149. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +30 -0
  150. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  151. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  152. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  153. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  154. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +34 -8
  155. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  156. package/artifacts/contracts/types/Version.sol/VersionLib.json +63 -2
  157. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  158. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
  159. package/contracts/components/BaseComponent.sol +0 -1
  160. package/contracts/instance/IInstance.sol +13 -11
  161. package/contracts/instance/Instance.sol +13 -7
  162. package/contracts/instance/{service → base}/ComponentServiceBase.sol +1 -0
  163. package/contracts/instance/base/IInstanceBase.sol +14 -0
  164. package/contracts/instance/base/IKeyValueStore.sol +49 -0
  165. package/contracts/instance/base/ILifecycle.sol +30 -0
  166. package/contracts/instance/{InstanceBase.sol → base/InstanceBase.sol} +21 -15
  167. package/contracts/instance/base/KeyValueStore.sol +156 -0
  168. package/contracts/instance/{module/lifecycle/LifecycleModule.sol → base/Lifecycle.sol} +36 -30
  169. package/contracts/instance/base/ModuleBase.sol +52 -0
  170. package/contracts/instance/{service → base}/ServiceBase.sol +1 -3
  171. package/contracts/instance/module/access/Access.sol +3 -3
  172. package/contracts/instance/module/bundle/BundleModule.sol +24 -116
  173. package/contracts/instance/module/bundle/IBundle.sol +8 -3
  174. package/contracts/instance/module/compensation/CompensationModule.sol +8 -0
  175. package/contracts/instance/module/compensation/ICompensation.sol +10 -0
  176. package/contracts/instance/module/component/ComponentModule.sol +10 -19
  177. package/contracts/instance/module/policy/PolicyModule.sol +2 -10
  178. package/contracts/instance/module/{product/IProductModule.sol → risk/IRisk.sol} +6 -2
  179. package/contracts/instance/module/risk/RiskModule.sol +8 -0
  180. package/contracts/instance/module/treasury/ITreasury.sol +2 -3
  181. package/contracts/instance/module/treasury/TreasuryModule.sol +15 -11
  182. package/contracts/instance/service/ComponentOwnerService.sol +4 -8
  183. package/contracts/instance/service/IComponentOwnerService.sol +1 -1
  184. package/contracts/instance/service/IPoolService.sol +1 -1
  185. package/contracts/instance/service/IProductService.sol +1 -1
  186. package/contracts/instance/service/PoolService.sol +36 -11
  187. package/contracts/instance/service/ProductService.sol +6 -10
  188. package/contracts/registry/Registry.sol +1 -1
  189. package/contracts/shared/IVersionable.sol +2 -2
  190. package/contracts/shared/Versionable.sol +3 -6
  191. package/contracts/test/TestFee.sol +3 -3
  192. package/contracts/test/TestPool.sol +1 -1
  193. package/contracts/test/TestProduct.sol +1 -1
  194. package/contracts/test/TestRoleId.sol +2 -2
  195. package/contracts/test/TestService.sol +3 -6
  196. package/contracts/test/TestVersion.sol +4 -7
  197. package/contracts/test/TestVersionable.sol +2 -5
  198. package/contracts/test/Usdc.sol +26 -0
  199. package/contracts/types/Fee.sol +39 -20
  200. package/contracts/types/Key32.sol +45 -0
  201. package/contracts/types/NftId.sol +16 -1
  202. package/contracts/types/RoleId.sol +11 -9
  203. package/contracts/types/StateId.sol +7 -1
  204. package/contracts/types/UFixed.sol +19 -16
  205. package/contracts/types/Version.sol +29 -25
  206. package/package.json +1 -1
  207. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +0 -4
  208. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  209. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  210. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  211. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  212. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  213. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  214. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.dbg.json +0 -4
  215. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.dbg.json +0 -4
  216. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  217. package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +0 -4
  218. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  219. package/contracts/instance/IServiceLinked.sol +0 -12
  220. package/contracts/instance/module/lifecycle/ILifecycle.sol +0 -47
  221. package/contracts/instance/module/product/ProductModule.sol +0 -8
  222. /package/contracts/instance/{service → base}/IService.sol +0 -0
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/73036ef8d3587a4d497b53a8e5f6bc33.json"
3
+ "buildInfo": "../../../../build-info/ac8b1a0ba35c3a8a508882d70043ad3f.json"
4
4
  }
@@ -84,7 +84,7 @@
84
84
  },
85
85
  {
86
86
  "internalType": "uint256",
87
- "name": "amount",
87
+ "name": "stakingAmount",
88
88
  "type": "uint256"
89
89
  },
90
90
  {
@@ -285,15 +285,15 @@
285
285
  "name": "activatedBy",
286
286
  "type": "address"
287
287
  },
288
- {
289
- "internalType": "Blocknumber",
290
- "name": "activatedIn",
291
- "type": "uint32"
292
- },
293
288
  {
294
289
  "internalType": "Timestamp",
295
290
  "name": "activatedAt",
296
291
  "type": "uint40"
292
+ },
293
+ {
294
+ "internalType": "Blocknumber",
295
+ "name": "activatedIn",
296
+ "type": "uint32"
297
297
  }
298
298
  ],
299
299
  "internalType": "struct IVersionable.VersionInfo",
@@ -398,18 +398,18 @@
398
398
  "type": "function"
399
399
  }
400
400
  ],
401
- "bytecode": "0x60e06040523480156200001157600080fd5b506040516200230338038062002303833981016040819052620000349162000893565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff191660011790558181818181816001600160a01b038216620000d25760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5247422d3031303a52454749535452595f5a45524f000000000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040516301ffc9a760e01b81526306ecd8ef60e01b60048201526301ffc9a790602401602060405180830381865afa15801562000122573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001489190620008e8565b620001965760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5247422d3031313a4e4f545f52454749535452590000000000006044820152606401620000c9565b6001600160601b03811660a081905260805160405163e74d052f60e01b815260048101929092526001600160a01b03169063e74d052f90602401602060405180830381865afa158015620001ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002149190620008e8565b6200026e5760405162461bcd60e51b815260206004820152602360248201527f4552524f523a5247422d3031323a504152454e545f4e4f545f5245474953544560448201526214915160ea1b6064820152608401620000c9565b3360c052631dfba64760e11b60009081526020527f95e5a2564f7af40498dc043c6da135e06324c5edb1f60c2bf4dcdf2da207fa45805460ff1916600117905550620002be905060003362000343565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff191660011790555050505062000316630763f0d360e41b6200031e60201b60201c565b505062000985565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b60006200034f6200061b565b90506200035c8162000631565b15620003bb5760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b6064820152608401620000c9565b600254156200047c576002805460009190620003da9060019062000929565b81548110620003ed57620003ed6200093f565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050620004208282620006d7565b6200047a5760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b6064820152608401620000c9565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101620005064390565b63ffffffff1681526020014264ffffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c01b0264ffffffffff60c01b1963ffffffff909716600160a01b026001600160c01b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d4419906200060e9083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b60006200062c6003600080620006e9565b905090565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160a01b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015620006aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006d0919062000955565b1192915050565b62ffffff808216908316115b92915050565b604051632b10f60d60e21b815260ff84166004820152600090819073__$9dab98ad7ae1a426029e5739f922230a41$__9063ac43d83490602401602060405180830381865af415801562000741573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000767919062000955565b604051632b10f60d60e21b815260ff8616600482015290915060009073__$9dab98ad7ae1a426029e5739f922230a41$__9063ac43d83490602401602060405180830381865af4158015620007c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007e6919062000955565b604051632b10f60d60e21b815260ff8616600482015290915060009073__$9dab98ad7ae1a426029e5739f922230a41$__9063ac43d83490602401602060405180830381865af41580156200083f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000865919062000955565b9050806200087c600884901b601086901b6200096f565b6200088891906200096f565b979650505050505050565b60008060408385031215620008a757600080fd5b82516001600160a01b0381168114620008bf57600080fd5b60208401519092506001600160601b0381168114620008dd57600080fd5b809150509250929050565b600060208284031215620008fb57600080fd5b815180151581146200090c57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115620006e357620006e362000913565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156200096857600080fd5b5051919050565b80820180821115620006e357620006e362000913565b60805160a05160c051611916620009ed6000396000610732015260006101fe0152600081816102a8015281816104bc01528181610642015281816106b301528181610775015281816109210152818161106f015281816111cb01526112c101526119166000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635ab1bd53116100ad578063a3f4df7e11610071578063a3f4df7e14610316578063b6b412ba14610340578063b88da75914610353578063c08b1f8a14610366578063cde749f41461037957600080fd5b80635ab1bd53146102a6578063644c45e0146102e0578063893d20e8146102e8578063946dfcfe146102f05780639555c4db1461030157600080fd5b806317d7de7c116100f457806317d7de7c146101ac5780631aa3a008146101dc57806331b62a3b146101fc5780633bc5de30146102225780634d459c901461023657600080fd5b806301ffc9a7146101265780630abd8434146101685780630d8e6e2c1461017b57806315dae03e14610197575b600080fd5b610153610134366004611346565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61015361017636600461138b565b610381565b610183610424565b60405162ffffff909116815260200161015f565b60285b60405160ff909116815260200161015f565b60408051808201909152600b81526a506f6f6c5365727669636560a81b60208201525b60405161015f91906113f8565b6101e4610438565b6040516001600160601b03909116815260200161015f565b7f00000000000000000000000000000000000000000000000000000000000000006101e4565b6040805160208101909152600081526101cf565b61024961024436600461138b565b610531565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015163ffffffff169082015260809182015164ffffffffff169181019190915260a00161015f565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161015f565b6101e461062a565b6102c8610691565b60025460405190815260200161015f565b61031461030f366004611420565b6107ee565b005b6101cf6040518060400160405280600b81526020016a506f6f6c5365727669636560a81b81525081565b61031461034e3660046114e7565b6107fc565b61018361036136600461151c565b610877565b6101e4610374366004611535565b61090a565b61019a610ac8565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160a01b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156103f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041d91906115cb565b1192915050565b60006104336003600080610ba5565b905090565b6000610442610691565b6001600160a01b0316336001600160a01b0316146104a75760405162461bcd60e51b815260206004820152601760248201527f4552524f523a5247422d3030313a4e4f545f4f574e455200000000000000000060448201526064015b60405180910390fd5b604051632210724360e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634420e486906024016020604051808303816000875af115801561050d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104339190611600565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915261056582610381565b6105b15760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a56524e2d3032303a56455253494f4e5f554e4b4e4f574e000000604482015260640161049e565b5062ffffff908116600090815260016020818152604092839020835160a0810185528154958616815263010000009095046001600160a01b03908116928601929092529091015490811691830191909152600160a01b810463ffffffff166060830152600160c01b900464ffffffffff16608082015290565b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa15801561050d573d6000803e3d6000fd5b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa1580156106fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071e9190611600565b905061072b816000610d42565b15610757577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa1580156107c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e8919061161b565b91505090565b6107f88282610d58565b5050565b6000806108096082611026565b81516040516324e196bb60e21b81529294509092506001600160a01b038316916393865aec9161083f9188908890600401611638565b600060405180830381600087803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b5050505050505050565b60025460009082106108cb5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a56524e2d3031303a494e4445585f544f4f5f4c41524745000000604482015260640161049e565b600282815481106108de576108de611678565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080806109186082611026565b815191935091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635ef14b5e8260d26040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526001600160a01b038c166044820152608060648201526000608482015260a4016020604051808303816000875af11580156109bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e09190611600565b604051630164421d60e21b81529094506001600160a01b03831690630591087490610a1990879085908d908d908d908d9060040161168e565b600060405180830381600087803b158015610a3357600080fd5b505af1158015610a47573d6000803e3d6000fd5b5050604051639845743760e01b81526001600160601b03808816600483015284166024820152604481018b90526001600160a01b038516925063984574379150606401600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050505095945050505050565b6000306001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2c91906116e9565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610b81573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104339190611715565b604051632b10f60d60e21b815260ff84166004820152600090819073__$9dab98ad7ae1a426029e5739f922230a41$__9063ac43d83490602401602060405180830381865af4158015610bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2091906115cb565b604051632b10f60d60e21b815260ff8616600482015290915060009073__$9dab98ad7ae1a426029e5739f922230a41$__9063ac43d83490602401602060405180830381865af4158015610c78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9c91906115cb565b604051632b10f60d60e21b815260ff8616600482015290915060009073__$9dab98ad7ae1a426029e5739f922230a41$__9063ac43d83490602401602060405180830381865af4158015610cf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1891906115cb565b905080610d2d600884901b601086901b611748565b610d379190611748565b979650505050505050565b6001600160601b03828116908216145b92915050565b6000610d62610424565b9050610d6d81610381565b15610dca5760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b606482015260840161049e565b60025415610e89576002805460009190610de69060019061175b565b81548110610df657610df6611678565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050610e2f828262ffffff90811691161190565b610e875760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b606482015260840161049e565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101610f124390565b63ffffffff1681526020014264ffffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c01b0264ffffffffff60c01b1963ffffffff909716600160a01b026001600160c01b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d4419906110199083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b6040805160c08101825260008082526020820181905281830181905260608083018290526080830182905260a08301529151636939560f60e11b815233600482015290919081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa1580156110be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e29190611600565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561113d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611161919061176e565b6111ad5760405162461bcd60e51b815260206004820152601760248201527f4552524f525f434f4d504f4e454e545f554e4b4e4f574e000000000000000000604482015260640161049e565b6040516305247a1760e51b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa15801561121a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112429190810190611818565b925061125883604001518560ff90811691161490565b61129a5760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b604482015260640161049e565b60208301516040516305247a1760e51b81526001600160601b0390911660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611310573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113389190810190611818565b606001519395939450505050565b60006020828403121561135857600080fd5b81356001600160e01b03198116811461137057600080fd5b9392505050565b62ffffff8116811461138857600080fd5b50565b60006020828403121561139d57600080fd5b813561137081611377565b60005b838110156113c35781810151838201526020016113ab565b50506000910152565b600081518084526113e48160208601602086016113a8565b601f01601f19169290920160200192915050565b60208152600061137060208301846113cc565b6001600160a01b038116811461138857600080fd5b6000806040838503121561143357600080fd5b823561143e8161140b565b9150602083013561144e8161140b565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561149257611492611459565b60405290565b6000604082840312156114aa57600080fd5b6040516040810181811067ffffffffffffffff821117156114cd576114cd611459565b604052823581526020928301359281019290925250919050565b600080608083850312156114fa57600080fd5b6115048484611498565b91506115138460408501611498565b90509250929050565b60006020828403121561152e57600080fd5b5035919050565b60008060008060006080868803121561154d57600080fd5b85356115588161140b565b94506020860135935060408601359250606086013567ffffffffffffffff8082111561158357600080fd5b818801915088601f83011261159757600080fd5b8135818111156115a657600080fd5b8960208285010111156115b857600080fd5b9699959850939650602001949392505050565b6000602082840312156115dd57600080fd5b5051919050565b80516001600160601b03811681146115fb57600080fd5b919050565b60006020828403121561161257600080fd5b611370826115e4565b60006020828403121561162d57600080fd5b81516113708161140b565b6001600160601b038416815260a0810161165f602083018580518252602090810151910152565b8251606083015260208301516080830152949350505050565b634e487b7160e01b600052603260045260246000fd5b60006001600160601b03808916835280881660208401525085604083015284606083015260a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b6000602082840312156116fb57600080fd5b815161137081611377565b60ff8116811461138857600080fd5b60006020828403121561172757600080fd5b815161137081611706565b634e487b7160e01b600052601160045260246000fd5b80820180821115610d5257610d52611732565b81810381811115610d5257610d52611732565b60006020828403121561178057600080fd5b8151801515811461137057600080fd5b600082601f8301126117a157600080fd5b815167ffffffffffffffff808211156117bc576117bc611459565b604051601f8301601f19908116603f011681019082821181831017156117e4576117e4611459565b816040528381528660208588010111156117fd57600080fd5b61180e8460208301602089016113a8565b9695505050505050565b60006020828403121561182a57600080fd5b815167ffffffffffffffff8082111561184257600080fd5b9083019060c0828603121561185657600080fd5b61185e61146f565b611867836115e4565b8152611875602084016115e4565b6020820152604083015161188881611706565b6040820152606083015161189b8161140b565b606082015260808301516118ae8161140b565b608082015260a0830151828111156118c557600080fd5b6118d187828601611790565b60a0830152509594505050505056fea264697066735822122070f9604aaf04d6a552dabe90cdcb65b4ad18ab5860c1fdb7cd9c73ad0330dabe64736f6c63430008140033",
402
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c80635ab1bd53116100ad578063a3f4df7e11610071578063a3f4df7e14610316578063b6b412ba14610340578063b88da75914610353578063c08b1f8a14610366578063cde749f41461037957600080fd5b80635ab1bd53146102a6578063644c45e0146102e0578063893d20e8146102e8578063946dfcfe146102f05780639555c4db1461030157600080fd5b806317d7de7c116100f457806317d7de7c146101ac5780631aa3a008146101dc57806331b62a3b146101fc5780633bc5de30146102225780634d459c901461023657600080fd5b806301ffc9a7146101265780630abd8434146101685780630d8e6e2c1461017b57806315dae03e14610197575b600080fd5b610153610134366004611346565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61015361017636600461138b565b610381565b610183610424565b60405162ffffff909116815260200161015f565b60285b60405160ff909116815260200161015f565b60408051808201909152600b81526a506f6f6c5365727669636560a81b60208201525b60405161015f91906113f8565b6101e4610438565b6040516001600160601b03909116815260200161015f565b7f00000000000000000000000000000000000000000000000000000000000000006101e4565b6040805160208101909152600081526101cf565b61024961024436600461138b565b610531565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015163ffffffff169082015260809182015164ffffffffff169181019190915260a00161015f565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161015f565b6101e461062a565b6102c8610691565b60025460405190815260200161015f565b61031461030f366004611420565b6107ee565b005b6101cf6040518060400160405280600b81526020016a506f6f6c5365727669636560a81b81525081565b61031461034e3660046114e7565b6107fc565b61018361036136600461151c565b610877565b6101e4610374366004611535565b61090a565b61019a610ac8565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160a01b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156103f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041d91906115cb565b1192915050565b60006104336003600080610ba5565b905090565b6000610442610691565b6001600160a01b0316336001600160a01b0316146104a75760405162461bcd60e51b815260206004820152601760248201527f4552524f523a5247422d3030313a4e4f545f4f574e455200000000000000000060448201526064015b60405180910390fd5b604051632210724360e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634420e486906024016020604051808303816000875af115801561050d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104339190611600565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915261056582610381565b6105b15760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a56524e2d3032303a56455253494f4e5f554e4b4e4f574e000000604482015260640161049e565b5062ffffff908116600090815260016020818152604092839020835160a0810185528154958616815263010000009095046001600160a01b03908116928601929092529091015490811691830191909152600160a01b810463ffffffff166060830152600160c01b900464ffffffffff16608082015290565b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa15801561050d573d6000803e3d6000fd5b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa1580156106fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071e9190611600565b905061072b816000610d42565b15610757577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa1580156107c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e8919061161b565b91505090565b6107f88282610d58565b5050565b6000806108096082611026565b81516040516324e196bb60e21b81529294509092506001600160a01b038316916393865aec9161083f9188908890600401611638565b600060405180830381600087803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b5050505050505050565b60025460009082106108cb5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a56524e2d3031303a494e4445585f544f4f5f4c41524745000000604482015260640161049e565b600282815481106108de576108de611678565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080806109186082611026565b815191935091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635ef14b5e8260d26040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526001600160a01b038c166044820152608060648201526000608482015260a4016020604051808303816000875af11580156109bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e09190611600565b604051630164421d60e21b81529094506001600160a01b03831690630591087490610a1990879085908d908d908d908d9060040161168e565b600060405180830381600087803b158015610a3357600080fd5b505af1158015610a47573d6000803e3d6000fd5b5050604051639845743760e01b81526001600160601b03808816600483015284166024820152604481018b90526001600160a01b038516925063984574379150606401600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050505095945050505050565b6000306001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2c91906116e9565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610b81573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104339190611715565b604051632b10f60d60e21b815260ff84166004820152600090819073__$9dab98ad7ae1a426029e5739f922230a41$__9063ac43d83490602401602060405180830381865af4158015610bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2091906115cb565b604051632b10f60d60e21b815260ff8616600482015290915060009073__$9dab98ad7ae1a426029e5739f922230a41$__9063ac43d83490602401602060405180830381865af4158015610c78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9c91906115cb565b604051632b10f60d60e21b815260ff8616600482015290915060009073__$9dab98ad7ae1a426029e5739f922230a41$__9063ac43d83490602401602060405180830381865af4158015610cf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1891906115cb565b905080610d2d600884901b601086901b611748565b610d379190611748565b979650505050505050565b6001600160601b03828116908216145b92915050565b6000610d62610424565b9050610d6d81610381565b15610dca5760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b606482015260840161049e565b60025415610e89576002805460009190610de69060019061175b565b81548110610df657610df6611678565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050610e2f828262ffffff90811691161190565b610e875760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b606482015260840161049e565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101610f124390565b63ffffffff1681526020014264ffffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c01b0264ffffffffff60c01b1963ffffffff909716600160a01b026001600160c01b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d4419906110199083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b6040805160c08101825260008082526020820181905281830181905260608083018290526080830182905260a08301529151636939560f60e11b815233600482015290919081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa1580156110be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e29190611600565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561113d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611161919061176e565b6111ad5760405162461bcd60e51b815260206004820152601760248201527f4552524f525f434f4d504f4e454e545f554e4b4e4f574e000000000000000000604482015260640161049e565b6040516305247a1760e51b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa15801561121a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112429190810190611818565b925061125883604001518560ff90811691161490565b61129a5760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b604482015260640161049e565b60208301516040516305247a1760e51b81526001600160601b0390911660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611310573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113389190810190611818565b606001519395939450505050565b60006020828403121561135857600080fd5b81356001600160e01b03198116811461137057600080fd5b9392505050565b62ffffff8116811461138857600080fd5b50565b60006020828403121561139d57600080fd5b813561137081611377565b60005b838110156113c35781810151838201526020016113ab565b50506000910152565b600081518084526113e48160208601602086016113a8565b601f01601f19169290920160200192915050565b60208152600061137060208301846113cc565b6001600160a01b038116811461138857600080fd5b6000806040838503121561143357600080fd5b823561143e8161140b565b9150602083013561144e8161140b565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561149257611492611459565b60405290565b6000604082840312156114aa57600080fd5b6040516040810181811067ffffffffffffffff821117156114cd576114cd611459565b604052823581526020928301359281019290925250919050565b600080608083850312156114fa57600080fd5b6115048484611498565b91506115138460408501611498565b90509250929050565b60006020828403121561152e57600080fd5b5035919050565b60008060008060006080868803121561154d57600080fd5b85356115588161140b565b94506020860135935060408601359250606086013567ffffffffffffffff8082111561158357600080fd5b818801915088601f83011261159757600080fd5b8135818111156115a657600080fd5b8960208285010111156115b857600080fd5b9699959850939650602001949392505050565b6000602082840312156115dd57600080fd5b5051919050565b80516001600160601b03811681146115fb57600080fd5b919050565b60006020828403121561161257600080fd5b611370826115e4565b60006020828403121561162d57600080fd5b81516113708161140b565b6001600160601b038416815260a0810161165f602083018580518252602090810151910152565b8251606083015260208301516080830152949350505050565b634e487b7160e01b600052603260045260246000fd5b60006001600160601b03808916835280881660208401525085604083015284606083015260a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b6000602082840312156116fb57600080fd5b815161137081611377565b60ff8116811461138857600080fd5b60006020828403121561172757600080fd5b815161137081611706565b634e487b7160e01b600052601160045260246000fd5b80820180821115610d5257610d52611732565b81810381811115610d5257610d52611732565b60006020828403121561178057600080fd5b8151801515811461137057600080fd5b600082601f8301126117a157600080fd5b815167ffffffffffffffff808211156117bc576117bc611459565b604051601f8301601f19908116603f011681019082821181831017156117e4576117e4611459565b816040528381528660208588010111156117fd57600080fd5b61180e8460208301602089016113a8565b9695505050505050565b60006020828403121561182a57600080fd5b815167ffffffffffffffff8082111561184257600080fd5b9083019060c0828603121561185657600080fd5b61185e61146f565b611867836115e4565b8152611875602084016115e4565b6020820152604083015161188881611706565b6040820152606083015161189b8161140b565b606082015260808301516118ae8161140b565b608082015260a0830151828111156118c557600080fd5b6118d187828601611790565b60a0830152509594505050505056fea264697066735822122070f9604aaf04d6a552dabe90cdcb65b4ad18ab5860c1fdb7cd9c73ad0330dabe64736f6c63430008140033",
401
+ "bytecode": "0x60e06040523480156200001157600080fd5b50604051620022b5380380620022b5833981016040819052620000349162000760565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff191660011790558181818181816001600160a01b038216620000d25760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5247422d3031303a52454749535452595f5a45524f000000000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040516301ffc9a760e01b81526306ecd8ef60e01b60048201526301ffc9a790602401602060405180830381865afa15801562000122573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001489190620007b5565b620001965760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5247422d3031313a4e4f545f52454749535452590000000000006044820152606401620000c9565b6001600160601b03811660a081905260805160405163e74d052f60e01b815260048101929092526001600160a01b03169063e74d052f90602401602060405180830381865afa158015620001ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002149190620007b5565b6200026e5760405162461bcd60e51b815260206004820152602360248201527f4552524f523a5247422d3031323a504152454e545f4e4f545f5245474953544560448201526214915160ea1b6064820152608401620000c9565b3360c052631dfba64760e11b60009081526020527f95e5a2564f7af40498dc043c6da135e06324c5edb1f60c2bf4dcdf2da207fa45805460ff1916600117905550620002be905060003362000343565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff191660011790555050505062000316630763f0d360e41b6200031e60201b60201c565b505062000859565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b60006200034f6200061b565b90506200035c81620006a8565b15620003bb5760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b6064820152608401620000c9565b600254156200047c576002805460009190620003da90600190620007e0565b81548110620003ed57620003ed62000802565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1690506200042082826200074e565b6200047a5760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b6064820152608401620000c9565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101620005064290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d4419906200060e9083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156200067d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006a3919062000818565b905090565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af415801562000721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200074791906200083f565b1192915050565b62ffffff808216908316115b92915050565b600080604083850312156200077457600080fd5b82516001600160a01b03811681146200078c57600080fd5b60208401519092506001600160601b0381168114620007aa57600080fd5b809150509250929050565b600060208284031215620007c857600080fd5b81518015158114620007d957600080fd5b9392505050565b818103818111156200075a57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156200082b57600080fd5b815162ffffff81168114620007d957600080fd5b6000602082840312156200085257600080fd5b5051919050565b60805160a05160c0516119ed620008c8600039600061074e015260006101fe015260008181610347015281816105d10152818161065e015281816106cf01528181610791015281816108eb01528181610ea801528181611004015281816110fa015261122501526119ed6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635ab1bd53116100ad578063a3f4df7e11610071578063a3f4df7e146103b5578063b6b412ba146103df578063b88da759146103f2578063c08b1f8a14610405578063cde749f41461041857600080fd5b80635ab1bd5314610345578063644c45e01461037f578063893d20e814610387578063946dfcfe1461038f5780639555c4db146103a057600080fd5b806317d7de7c116100f457806317d7de7c146101ac5780631aa3a008146101dc57806331b62a3b146101fc5780633bc5de30146102225780634d459c901461023657600080fd5b806301ffc9a7146101265780630abd8434146101685780630d8e6e2c1461017b57806315dae03e14610197575b600080fd5b610153610134366004611383565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6101536101763660046113c8565b610420565b6101836104c3565b60405162ffffff909116815260200161015f565b60285b60405160ff909116815260200161015f565b60408051808201909152600b81526a506f6f6c5365727669636560a81b60208201525b60405161015f9190611435565b6101e461054d565b6040516001600160601b03909116815260200161015f565b7f00000000000000000000000000000000000000000000000000000000000000006101e4565b6040805160208101909152600081526101cf565b6102e86102443660046113c8565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff908116600090815260016020818152604092839020835160a0810185528154958616815263010000009095046001600160a01b03908116928601929092529091015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a00161015f565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161015f565b6101e4610646565b6103676106ad565b60025460405190815260200161015f565b6103b36103ae36600461145d565b61080a565b005b6101cf6040518060400160405280600b81526020016a506f6f6c5365727669636560a81b81525081565b6103b36103ed366004611528565b610818565b61018361040036600461155d565b610893565b6101e4610413366004611576565b6108d4565b61019a610a9e565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc919061160c565b1192915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105489190611625565b905090565b60006105576106ad565b6001600160a01b0316336001600160a01b0316146105bc5760405162461bcd60e51b815260206004820152601760248201527f4552524f523a5247422d3030313a4e4f545f4f574e455200000000000000000060448201526064015b60405180910390fd5b604051632210724360e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634420e486906024016020604051808303816000875af1158015610622573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610548919061165e565b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa158015610622573d6000803e3d6000fd5b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa158015610716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073a919061165e565b9050610747816000610b7b565b15610773577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108049190611679565b91505090565b6108148282610b91565b5050565b6000806108256082610e5f565b81516040516324e196bb60e21b81529294509092506001600160a01b038316916393865aec9161085b9188908890600401611696565b600060405180830381600087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b5050505050505050565b6000600282815481106108a8576108a86116d6565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080806108e26082610e5f565b815191935091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635ef14b5e8260d26040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526001600160a01b038c166044820152608060648201526000608482015260a4016020604051808303816000875af1158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa919061165e565b604051630164421d60e21b81529094506001600160a01b038316906305910874906109e390879085908d908d908d908d906004016116ec565b600060405180830381600087803b1580156109fd57600080fd5b505af1158015610a11573d6000803e3d6000fd5b5050604051639845743760e01b81526001600160601b03808816600483015284166024820152604481018b90526001600160a01b038516925063984574379150606401600060405180830381600087803b158015610a6e57600080fd5b505af1158015610a82573d6000803e3d6000fd5b50505050610a928282868b61117f565b50505095945050505050565b6000306001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b029190611625565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610b57573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105489190611756565b6001600160601b03828116908216145b92915050565b6000610b9b6104c3565b9050610ba681610420565b15610c035760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b60648201526084016105b3565b60025415610cc2576002805460009190610c1f90600190611773565b81548110610c2f57610c2f6116d6565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050610c68828262ffffff90811691161190565b610cc05760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b60648201526084016105b3565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101610d4b4290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441990610e529083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b6040805160c08101825260008082526020820181905281830181905260608083018290526080830182905260a08301529151636939560f60e11b815233600482015290919081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa158015610ef7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1b919061165e565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a9190611794565b610fe65760405162461bcd60e51b815260206004820152601760248201527f4552524f525f434f4d504f4e454e545f554e4b4e4f574e00000000000000000060448201526064016105b3565b6040516305247a1760e51b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611053573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107b919081019061183e565b925061109183604001518560ff90811691161490565b6110d35760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b60448201526064016105b3565b60208301516040516305247a1760e51b81526001600160601b0390911660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611149573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611171919081019061183e565b606001519395939450505050565b801561137d5760405163a310e2a360e01b81526001600160601b03841660048201526000906001600160a01b0386169063a310e2a390602401602060405180830381865afa1580156111d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f99190611679565b60405163df33330b60e01b81526001600160601b03851660048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063df33330b90602401602060405180830381865afa15801561126c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112909190611679565b604051630660151560e31b81526001600160601b03871660048201529091506000906001600160a01b03881690633300a8a89060240160c060405180830381865afa1580156112e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113079190611936565b602001516040516317d5759960e31b81526001600160a01b0384811660048301528083166024830152604482018790529192509084169063beabacc890606401600060405180830381600087803b15801561136157600080fd5b505af1158015611375573d6000803e3d6000fd5b505050505050505b50505050565b60006020828403121561139557600080fd5b81356001600160e01b0319811681146113ad57600080fd5b9392505050565b62ffffff811681146113c557600080fd5b50565b6000602082840312156113da57600080fd5b81356113ad816113b4565b60005b838110156114005781810151838201526020016113e8565b50506000910152565b600081518084526114218160208601602086016113e5565b601f01601f19169290920160200192915050565b6020815260006113ad6020830184611409565b6001600160a01b03811681146113c557600080fd5b6000806040838503121561147057600080fd5b823561147b81611448565b9150602083013561148b81611448565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156114cf576114cf611496565b60405290565b60405160c0810167ffffffffffffffff811182821017156114cf576114cf611496565b60006040828403121561150a57600080fd5b6115126114ac565b9050813581526020820135602082015292915050565b6000806080838503121561153b57600080fd5b61154584846114f8565b915061155484604085016114f8565b90509250929050565b60006020828403121561156f57600080fd5b5035919050565b60008060008060006080868803121561158e57600080fd5b853561159981611448565b94506020860135935060408601359250606086013567ffffffffffffffff808211156115c457600080fd5b818801915088601f8301126115d857600080fd5b8135818111156115e757600080fd5b8960208285010111156115f957600080fd5b9699959850939650602001949392505050565b60006020828403121561161e57600080fd5b5051919050565b60006020828403121561163757600080fd5b81516113ad816113b4565b80516001600160601b038116811461165957600080fd5b919050565b60006020828403121561167057600080fd5b6113ad82611642565b60006020828403121561168b57600080fd5b81516113ad81611448565b6001600160601b038416815260a081016116bd602083018580518252602090810151910152565b8251606083015260208301516080830152949350505050565b634e487b7160e01b600052603260045260246000fd5b60006001600160601b03808916835280881660208401525085604083015284606083015260a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b60ff811681146113c557600080fd5b60006020828403121561176857600080fd5b81516113ad81611747565b81810381811115610b8b57634e487b7160e01b600052601160045260246000fd5b6000602082840312156117a657600080fd5b815180151581146113ad57600080fd5b600082601f8301126117c757600080fd5b815167ffffffffffffffff808211156117e2576117e2611496565b604051601f8301601f19908116603f0116810190828211818310171561180a5761180a611496565b8160405283815286602085880101111561182357600080fd5b6118348460208301602089016113e5565b9695505050505050565b60006020828403121561185057600080fd5b815167ffffffffffffffff8082111561186857600080fd5b9083019060c0828603121561187c57600080fd5b6118846114d5565b61188d83611642565b815261189b60208401611642565b602082015260408301516118ae81611747565b604082015260608301516118c181611448565b606082015260808301516118d481611448565b608082015260a0830151828111156118eb57600080fd5b6118f7878286016117b6565b60a08301525095945050505050565b60006040828403121561191857600080fd5b6119206114ac565b9050815181526020820151602082015292915050565b600060c0828403121561194857600080fd5b6040516080810181811067ffffffffffffffff8211171561196b5761196b611496565b60405261197783611642565b8152602083015161198781611448565b60208201526119998460408501611906565b60408201526119ab8460808501611906565b6060820152939250505056fea2646970667358221220452b34a3c2a0c1c46a90119524b7b28f082d22627d7bec4237846296001b4c7a64736f6c63430008140033",
402
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c80635ab1bd53116100ad578063a3f4df7e11610071578063a3f4df7e146103b5578063b6b412ba146103df578063b88da759146103f2578063c08b1f8a14610405578063cde749f41461041857600080fd5b80635ab1bd5314610345578063644c45e01461037f578063893d20e814610387578063946dfcfe1461038f5780639555c4db146103a057600080fd5b806317d7de7c116100f457806317d7de7c146101ac5780631aa3a008146101dc57806331b62a3b146101fc5780633bc5de30146102225780634d459c901461023657600080fd5b806301ffc9a7146101265780630abd8434146101685780630d8e6e2c1461017b57806315dae03e14610197575b600080fd5b610153610134366004611383565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6101536101763660046113c8565b610420565b6101836104c3565b60405162ffffff909116815260200161015f565b60285b60405160ff909116815260200161015f565b60408051808201909152600b81526a506f6f6c5365727669636560a81b60208201525b60405161015f9190611435565b6101e461054d565b6040516001600160601b03909116815260200161015f565b7f00000000000000000000000000000000000000000000000000000000000000006101e4565b6040805160208101909152600081526101cf565b6102e86102443660046113c8565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff908116600090815260016020818152604092839020835160a0810185528154958616815263010000009095046001600160a01b03908116928601929092529091015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a00161015f565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161015f565b6101e4610646565b6103676106ad565b60025460405190815260200161015f565b6103b36103ae36600461145d565b61080a565b005b6101cf6040518060400160405280600b81526020016a506f6f6c5365727669636560a81b81525081565b6103b36103ed366004611528565b610818565b61018361040036600461155d565b610893565b6101e4610413366004611576565b6108d4565b61019a610a9e565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc919061160c565b1192915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105489190611625565b905090565b60006105576106ad565b6001600160a01b0316336001600160a01b0316146105bc5760405162461bcd60e51b815260206004820152601760248201527f4552524f523a5247422d3030313a4e4f545f4f574e455200000000000000000060448201526064015b60405180910390fd5b604051632210724360e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634420e486906024016020604051808303816000875af1158015610622573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610548919061165e565b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa158015610622573d6000803e3d6000fd5b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa158015610716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073a919061165e565b9050610747816000610b7b565b15610773577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108049190611679565b91505090565b6108148282610b91565b5050565b6000806108256082610e5f565b81516040516324e196bb60e21b81529294509092506001600160a01b038316916393865aec9161085b9188908890600401611696565b600060405180830381600087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b5050505050505050565b6000600282815481106108a8576108a86116d6565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080806108e26082610e5f565b815191935091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635ef14b5e8260d26040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526001600160a01b038c166044820152608060648201526000608482015260a4016020604051808303816000875af1158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa919061165e565b604051630164421d60e21b81529094506001600160a01b038316906305910874906109e390879085908d908d908d908d906004016116ec565b600060405180830381600087803b1580156109fd57600080fd5b505af1158015610a11573d6000803e3d6000fd5b5050604051639845743760e01b81526001600160601b03808816600483015284166024820152604481018b90526001600160a01b038516925063984574379150606401600060405180830381600087803b158015610a6e57600080fd5b505af1158015610a82573d6000803e3d6000fd5b50505050610a928282868b61117f565b50505095945050505050565b6000306001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b029190611625565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610b57573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105489190611756565b6001600160601b03828116908216145b92915050565b6000610b9b6104c3565b9050610ba681610420565b15610c035760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b60648201526084016105b3565b60025415610cc2576002805460009190610c1f90600190611773565b81548110610c2f57610c2f6116d6565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050610c68828262ffffff90811691161190565b610cc05760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b60648201526084016105b3565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101610d4b4290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441990610e529083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b6040805160c08101825260008082526020820181905281830181905260608083018290526080830182905260a08301529151636939560f60e11b815233600482015290919081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa158015610ef7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1b919061165e565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a9190611794565b610fe65760405162461bcd60e51b815260206004820152601760248201527f4552524f525f434f4d504f4e454e545f554e4b4e4f574e00000000000000000060448201526064016105b3565b6040516305247a1760e51b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611053573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107b919081019061183e565b925061109183604001518560ff90811691161490565b6110d35760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b60448201526064016105b3565b60208301516040516305247a1760e51b81526001600160601b0390911660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611149573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611171919081019061183e565b606001519395939450505050565b801561137d5760405163a310e2a360e01b81526001600160601b03841660048201526000906001600160a01b0386169063a310e2a390602401602060405180830381865afa1580156111d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f99190611679565b60405163df33330b60e01b81526001600160601b03851660048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063df33330b90602401602060405180830381865afa15801561126c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112909190611679565b604051630660151560e31b81526001600160601b03871660048201529091506000906001600160a01b03881690633300a8a89060240160c060405180830381865afa1580156112e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113079190611936565b602001516040516317d5759960e31b81526001600160a01b0384811660048301528083166024830152604482018790529192509084169063beabacc890606401600060405180830381600087803b15801561136157600080fd5b505af1158015611375573d6000803e3d6000fd5b505050505050505b50505050565b60006020828403121561139557600080fd5b81356001600160e01b0319811681146113ad57600080fd5b9392505050565b62ffffff811681146113c557600080fd5b50565b6000602082840312156113da57600080fd5b81356113ad816113b4565b60005b838110156114005781810151838201526020016113e8565b50506000910152565b600081518084526114218160208601602086016113e5565b601f01601f19169290920160200192915050565b6020815260006113ad6020830184611409565b6001600160a01b03811681146113c557600080fd5b6000806040838503121561147057600080fd5b823561147b81611448565b9150602083013561148b81611448565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156114cf576114cf611496565b60405290565b60405160c0810167ffffffffffffffff811182821017156114cf576114cf611496565b60006040828403121561150a57600080fd5b6115126114ac565b9050813581526020820135602082015292915050565b6000806080838503121561153b57600080fd5b61154584846114f8565b915061155484604085016114f8565b90509250929050565b60006020828403121561156f57600080fd5b5035919050565b60008060008060006080868803121561158e57600080fd5b853561159981611448565b94506020860135935060408601359250606086013567ffffffffffffffff808211156115c457600080fd5b818801915088601f8301126115d857600080fd5b8135818111156115e757600080fd5b8960208285010111156115f957600080fd5b9699959850939650602001949392505050565b60006020828403121561161e57600080fd5b5051919050565b60006020828403121561163757600080fd5b81516113ad816113b4565b80516001600160601b038116811461165957600080fd5b919050565b60006020828403121561167057600080fd5b6113ad82611642565b60006020828403121561168b57600080fd5b81516113ad81611448565b6001600160601b038416815260a081016116bd602083018580518252602090810151910152565b8251606083015260208301516080830152949350505050565b634e487b7160e01b600052603260045260246000fd5b60006001600160601b03808916835280881660208401525085604083015284606083015260a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b60ff811681146113c557600080fd5b60006020828403121561176857600080fd5b81516113ad81611747565b81810381811115610b8b57634e487b7160e01b600052601160045260246000fd5b6000602082840312156117a657600080fd5b815180151581146113ad57600080fd5b600082601f8301126117c757600080fd5b815167ffffffffffffffff808211156117e2576117e2611496565b604051601f8301601f19908116603f0116810190828211818310171561180a5761180a611496565b8160405283815286602085880101111561182357600080fd5b6118348460208301602089016113e5565b9695505050505050565b60006020828403121561185057600080fd5b815167ffffffffffffffff8082111561186857600080fd5b9083019060c0828603121561187c57600080fd5b6118846114d5565b61188d83611642565b815261189b60208401611642565b602082015260408301516118ae81611747565b604082015260608301516118c181611448565b606082015260808301516118d481611448565b608082015260a0830151828111156118eb57600080fd5b6118f7878286016117b6565b60a08301525095945050505050565b60006040828403121561191857600080fd5b6119206114ac565b9050815181526020820151602082015292915050565b600060c0828403121561194857600080fd5b6040516080810181811067ffffffffffffffff8211171561196b5761196b611496565b60405261197783611642565b8152602083015161198781611448565b60208201526119998460408501611906565b60408201526119ab8460808501611906565b6060820152939250505056fea2646970667358221220452b34a3c2a0c1c46a90119524b7b28f082d22627d7bec4237846296001b4c7a64736f6c63430008140033",
403
403
  "linkReferences": {
404
404
  "contracts/types/Blocknumber.sol": {
405
405
  "BlocknumberLib": [
406
406
  {
407
407
  "length": 20,
408
- "start": 1647
408
+ "start": 1766
409
409
  },
410
410
  {
411
411
  "length": 20,
412
- "start": 3500
412
+ "start": 3366
413
413
  }
414
414
  ]
415
415
  },
@@ -417,7 +417,7 @@
417
417
  "NftIdLib": [
418
418
  {
419
419
  "length": 20,
420
- "start": 6896
420
+ "start": 6148
421
421
  }
422
422
  ]
423
423
  },
@@ -425,33 +425,15 @@
425
425
  "VersionLib": [
426
426
  {
427
427
  "length": 20,
428
- "start": 5428
429
- }
430
- ],
431
- "VersionPartLib": [
432
- {
433
- "length": 20,
434
- "start": 1798
435
- },
436
- {
437
- "length": 20,
438
- "start": 1925
439
- },
440
- {
441
- "length": 20,
442
- "start": 2052
443
- },
444
- {
445
- "length": 20,
446
- "start": 5551
428
+ "start": 1602
447
429
  },
448
430
  {
449
431
  "length": 20,
450
- "start": 5675
432
+ "start": 3506
451
433
  },
452
434
  {
453
435
  "length": 20,
454
- "start": 5799
436
+ "start": 5093
455
437
  }
456
438
  ]
457
439
  }
@@ -461,7 +443,7 @@
461
443
  "BlocknumberLib": [
462
444
  {
463
445
  "length": 20,
464
- "start": 959
446
+ "start": 1118
465
447
  }
466
448
  ]
467
449
  },
@@ -469,7 +451,7 @@
469
451
  "NftIdLib": [
470
452
  {
471
453
  "length": 20,
472
- "start": 4355
454
+ "start": 3900
473
455
  }
474
456
  ]
475
457
  },
@@ -477,21 +459,11 @@
477
459
  "VersionLib": [
478
460
  {
479
461
  "length": 20,
480
- "start": 2887
481
- }
482
- ],
483
- "VersionPartLib": [
484
- {
485
- "length": 20,
486
- "start": 3010
487
- },
488
- {
489
- "length": 20,
490
- "start": 3134
462
+ "start": 1258
491
463
  },
492
464
  {
493
465
  "length": 20,
494
- "start": 3258
466
+ "start": 2845
495
467
  }
496
468
  ]
497
469
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/73036ef8d3587a4d497b53a8e5f6bc33.json"
3
+ "buildInfo": "../../../../build-info/ac8b1a0ba35c3a8a508882d70043ad3f.json"
4
4
  }