@artblocks/contracts 1.0.1 → 1.0.3

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 (199) hide show
  1. package/README.md +67 -154
  2. package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
  3. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  4. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +22 -4
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +42 -5
  6. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  7. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  10. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  23. package/artifacts/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol}/GenArt721CoreV2_ENGINE_FLEX.json +3 -3
  24. package/artifacts/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol}/GenArt721CoreV2_PBAB.json +3 -3
  25. package/artifacts/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol}/GenArt721CoreV2_PRTNR.json +3 -3
  26. package/artifacts/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol}/GenArt721MinterBurner_PBAB.json +3 -3
  27. package/artifacts/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol}/GenArt721MinterDAExp_PBAB.json +3 -3
  28. package/artifacts/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol}/GenArt721Minter_PBAB.json +3 -3
  29. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +1960 -0
  30. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2247 -0
  31. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +2247 -0
  32. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +401 -0
  33. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +2281 -0
  34. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol/IAdminACLV0_PROHIBITION.json +359 -0
  35. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +1094 -0
  36. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +242 -0
  37. package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
  38. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +41 -4
  39. package/artifacts/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +111 -0
  40. package/artifacts/contracts/interfaces/0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +172 -0
  41. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +1034 -0
  42. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +30 -0
  43. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +162 -0
  44. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +162 -0
  45. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +137 -13
  46. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +1060 -0
  47. package/artifacts/contracts/interfaces/0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +429 -0
  48. package/artifacts/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +30 -0
  49. package/artifacts/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +24 -0
  50. package/artifacts/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +207 -0
  51. package/artifacts/contracts/interfaces/0.8.x/IWETH.sol/IWETH.json +55 -0
  52. package/artifacts/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol}/BytecodeStorage.json +3 -3
  53. package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +163 -0
  54. package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +10 -0
  55. package/artifacts/contracts/libs/0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  56. package/artifacts/contracts/libs/0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
  57. package/artifacts/contracts/libs/0.8.x/SSTORE2.sol/SSTORE2.json +10 -0
  58. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  59. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  60. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  61. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  62. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +295 -0
  63. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  64. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +692 -0
  65. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  66. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  67. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  68. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  69. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  70. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +104 -124
  71. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  72. package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +1289 -0
  73. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  74. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  75. package/artifacts/contracts/mock/{BytecodeTextCR_DMock.sol/BytecodeTextCR_DMock.json → BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json} +4 -4
  76. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +135 -0
  77. package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +301 -0
  78. package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +33 -0
  79. package/artifacts/contracts/mock/DeadReceiverMock.sol/DeadReceiverMock.json +2 -2
  80. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +114 -0
  81. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
  82. package/artifacts/contracts/mock/GasLimitReceiverBidderMock.sol/GasLimitReceiverBidderMock.json +46 -0
  83. package/artifacts/contracts/mock/GasLimitReceiverMock.sol/GasLimitReceiverMock.json +28 -0
  84. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +22 -4
  85. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
  86. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +440 -0
  87. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +39 -0
  88. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  89. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  90. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  91. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  92. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +51 -0
  93. package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +118 -0
  94. package/artifacts/contracts/{BasicRandomizer.sol → randomizer/deprecated/BasicRandomizer.sol}/BasicRandomizer.json +3 -3
  95. package/artifacts/contracts/randomizer/deprecated/BasicRandomizerBase_v0_0_0.sol/RandomizerBase.json +10 -0
  96. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +229 -0
  97. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +102 -0
  98. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +30 -0
  99. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +231 -0
  100. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
  101. package/contracts/AdminACLV0.sol +1 -1
  102. package/contracts/AdminACLV1.sol +1 -1
  103. package/contracts/DependencyRegistryV0.sol +89 -141
  104. package/contracts/GenArt721CoreV3.sol +160 -204
  105. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +1 -1
  106. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +1 -1
  107. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +1 -1
  108. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +1 -1
  109. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +1 -1
  110. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +1 -1
  111. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +1 -1
  112. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +1 -1
  113. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +1 -1
  114. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +1 -1
  115. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +1 -1
  116. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +1 -1
  117. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +1 -1
  118. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +1 -1
  119. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +1 -1
  120. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +1 -1
  121. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +1 -1
  122. package/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol} +2 -2
  123. package/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol} +2 -2
  124. package/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol} +3 -3
  125. package/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol} +2 -2
  126. package/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol} +2 -2
  127. package/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol} +2 -2
  128. package/contracts/{GenArt721CoreV3_Engine.sol → engine/V3/GenArt721CoreV3_Engine.sol} +163 -216
  129. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +2283 -0
  130. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +2293 -0
  131. package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +281 -0
  132. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +2354 -0
  133. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +123 -0
  134. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +29 -0
  135. package/contracts/engine-registry/CoreRegistryV1.sol +254 -0
  136. package/contracts/engine-registry/EngineRegistryV0.sol +1 -1
  137. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +164 -190
  138. package/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol +62 -0
  139. package/contracts/interfaces/0.8.x/ICoreRegistryV1.sol +27 -0
  140. package/contracts/interfaces/0.8.x/IDelegationRegistry.sol +1 -1
  141. package/contracts/interfaces/0.8.x/IDependencyRegistryCompatibleV0.sol +1 -1
  142. package/contracts/interfaces/0.8.x/IDependencyRegistryV0.sol +1 -1
  143. package/contracts/interfaces/0.8.x/IEngineRegistryV0.sol +1 -1
  144. package/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol +164 -0
  145. package/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol +11 -0
  146. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol +42 -0
  147. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol +0 -8
  148. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +132 -0
  149. package/contracts/interfaces/0.8.x/IMinterFilterV1.sol +158 -0
  150. package/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol +16 -0
  151. package/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol +1 -1
  152. package/contracts/interfaces/0.8.x/IRandomizerV2.sol +2 -5
  153. package/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol +10 -0
  154. package/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol +105 -0
  155. package/contracts/interfaces/0.8.x/IWETH.sol +11 -0
  156. package/contracts/libs/0.8.x/BytecodeStorageV1.sol +399 -0
  157. package/contracts/libs/0.8.x/SSTORE2.sol +109 -0
  158. package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +1 -1
  159. package/contracts/libs/integration-refs/weth9/weth9.sol +765 -0
  160. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +36 -48
  161. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +756 -0
  162. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +27 -35
  163. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +17 -22
  164. package/contracts/minter-suite/Minters/MinterDALinV4.sol +16 -18
  165. package/contracts/minter-suite/Minters/MinterHolderV4.sol +20 -20
  166. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +14 -16
  167. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +37 -36
  168. package/contracts/minter-suite/Minters/MinterSEAV0.sol +1273 -0
  169. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +12 -12
  170. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +10 -11
  171. package/contracts/mock/{BytecodeTextCR_DMock.sol → BytecodeV0TextCR_DMock.sol} +5 -5
  172. package/contracts/mock/BytecodeV1LibCallsMock.sol +114 -0
  173. package/contracts/mock/BytecodeV1TextCR_DMock.sol +233 -0
  174. package/contracts/mock/DeadReceiverBidderMock.sol +23 -0
  175. package/contracts/mock/DeadReceiverMock.sol +1 -1
  176. package/contracts/mock/DummySharedMinter.sol +75 -0
  177. package/contracts/mock/GasLimitReceiverBidderMock.sol +23 -0
  178. package/contracts/mock/GasLimitReceiverMock.sol +19 -0
  179. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +14 -27
  180. package/contracts/mock/MockAdminACLV0.sol +1 -1
  181. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +207 -0
  182. package/contracts/mock/OriginRegisterMock.sol +27 -0
  183. package/contracts/mock/RandomizerV2_NoAssignMock.sol +3 -12
  184. package/contracts/mock/ReentrancySEAMock.sol +36 -0
  185. package/contracts/mock/SSTORE2Mock.sol +93 -0
  186. package/contracts/{BasicRandomizer.sol → randomizer/deprecated/BasicRandomizer.sol} +1 -1
  187. package/contracts/randomizer/deprecated/BasicRandomizerBase_v0_0_0.sol +23 -0
  188. package/contracts/{BasicPolyptychRandomizerV0.sol → randomizer/deprecated/PolyptychRandomizerV0.sol} +20 -29
  189. package/contracts/{BasicRandomizerV2.sol → randomizer/deprecated/RandomizerV2.sol} +6 -14
  190. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +30 -0
  191. package/contracts/randomizer/shared/SharedRandomizerV0.sol +245 -0
  192. package/package.json +36 -30
  193. package/.env.example +0 -10
  194. package/artifacts/contracts/BasicPolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +0 -229
  195. package/artifacts/contracts/BasicRandomizerV2.sol/BasicRandomizerV2.json +0 -102
  196. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +0 -1942
  197. package/artifacts/contracts/engine-registry/future/EngineRegistryV1.sol/EngineRegistryV1.json +0 -109
  198. package/contracts/engine-registry/future/EngineRegistryV1.sol +0 -86
  199. /package/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol} +0 -0
@@ -0,0 +1,692 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MinterFilterV2",
4
+ "sourceName": "contracts/minter-suite/MinterFilter/MinterFilterV2.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_adminACLContract",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_coreRegistry",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": true,
27
+ "internalType": "address",
28
+ "name": "adminACLContract",
29
+ "type": "address"
30
+ }
31
+ ],
32
+ "name": "AdminACLUpdated",
33
+ "type": "event"
34
+ },
35
+ {
36
+ "anonymous": false,
37
+ "inputs": [
38
+ {
39
+ "indexed": true,
40
+ "internalType": "address",
41
+ "name": "coreRegistry",
42
+ "type": "address"
43
+ }
44
+ ],
45
+ "name": "CoreRegistryUpdated",
46
+ "type": "event"
47
+ },
48
+ {
49
+ "anonymous": false,
50
+ "inputs": [],
51
+ "name": "Deployed",
52
+ "type": "event"
53
+ },
54
+ {
55
+ "anonymous": false,
56
+ "inputs": [
57
+ {
58
+ "indexed": true,
59
+ "internalType": "address",
60
+ "name": "coreContract",
61
+ "type": "address"
62
+ },
63
+ {
64
+ "indexed": true,
65
+ "internalType": "address",
66
+ "name": "minter",
67
+ "type": "address"
68
+ },
69
+ {
70
+ "indexed": false,
71
+ "internalType": "string",
72
+ "name": "minterType",
73
+ "type": "string"
74
+ }
75
+ ],
76
+ "name": "MinterApprovedForContract",
77
+ "type": "event"
78
+ },
79
+ {
80
+ "anonymous": false,
81
+ "inputs": [
82
+ {
83
+ "indexed": true,
84
+ "internalType": "address",
85
+ "name": "minter",
86
+ "type": "address"
87
+ },
88
+ {
89
+ "indexed": false,
90
+ "internalType": "string",
91
+ "name": "minterType",
92
+ "type": "string"
93
+ }
94
+ ],
95
+ "name": "MinterApprovedGlobally",
96
+ "type": "event"
97
+ },
98
+ {
99
+ "anonymous": false,
100
+ "inputs": [
101
+ {
102
+ "indexed": true,
103
+ "internalType": "address",
104
+ "name": "coreContract",
105
+ "type": "address"
106
+ },
107
+ {
108
+ "indexed": true,
109
+ "internalType": "address",
110
+ "name": "minter",
111
+ "type": "address"
112
+ }
113
+ ],
114
+ "name": "MinterRevokedForContract",
115
+ "type": "event"
116
+ },
117
+ {
118
+ "anonymous": false,
119
+ "inputs": [
120
+ {
121
+ "indexed": true,
122
+ "internalType": "address",
123
+ "name": "minter",
124
+ "type": "address"
125
+ }
126
+ ],
127
+ "name": "MinterRevokedGlobally",
128
+ "type": "event"
129
+ },
130
+ {
131
+ "anonymous": false,
132
+ "inputs": [
133
+ {
134
+ "indexed": true,
135
+ "internalType": "address",
136
+ "name": "previousOwner",
137
+ "type": "address"
138
+ },
139
+ {
140
+ "indexed": true,
141
+ "internalType": "address",
142
+ "name": "newOwner",
143
+ "type": "address"
144
+ }
145
+ ],
146
+ "name": "OwnershipTransferred",
147
+ "type": "event"
148
+ },
149
+ {
150
+ "anonymous": false,
151
+ "inputs": [
152
+ {
153
+ "indexed": true,
154
+ "internalType": "uint256",
155
+ "name": "projectId",
156
+ "type": "uint256"
157
+ },
158
+ {
159
+ "indexed": true,
160
+ "internalType": "address",
161
+ "name": "coreContract",
162
+ "type": "address"
163
+ },
164
+ {
165
+ "indexed": true,
166
+ "internalType": "address",
167
+ "name": "minter",
168
+ "type": "address"
169
+ },
170
+ {
171
+ "indexed": false,
172
+ "internalType": "string",
173
+ "name": "minterType",
174
+ "type": "string"
175
+ }
176
+ ],
177
+ "name": "ProjectMinterRegistered",
178
+ "type": "event"
179
+ },
180
+ {
181
+ "anonymous": false,
182
+ "inputs": [
183
+ {
184
+ "indexed": true,
185
+ "internalType": "uint256",
186
+ "name": "projectId",
187
+ "type": "uint256"
188
+ },
189
+ {
190
+ "indexed": true,
191
+ "internalType": "address",
192
+ "name": "coreContract",
193
+ "type": "address"
194
+ }
195
+ ],
196
+ "name": "ProjectMinterRemoved",
197
+ "type": "event"
198
+ },
199
+ {
200
+ "inputs": [
201
+ {
202
+ "internalType": "address",
203
+ "name": "_sender",
204
+ "type": "address"
205
+ },
206
+ {
207
+ "internalType": "address",
208
+ "name": "_contract",
209
+ "type": "address"
210
+ },
211
+ {
212
+ "internalType": "bytes4",
213
+ "name": "_selector",
214
+ "type": "bytes4"
215
+ }
216
+ ],
217
+ "name": "adminACLAllowed",
218
+ "outputs": [
219
+ {
220
+ "internalType": "bool",
221
+ "name": "",
222
+ "type": "bool"
223
+ }
224
+ ],
225
+ "stateMutability": "nonpayable",
226
+ "type": "function"
227
+ },
228
+ {
229
+ "inputs": [],
230
+ "name": "adminACLContract",
231
+ "outputs": [
232
+ {
233
+ "internalType": "contract IAdminACLV0",
234
+ "name": "",
235
+ "type": "address"
236
+ }
237
+ ],
238
+ "stateMutability": "view",
239
+ "type": "function"
240
+ },
241
+ {
242
+ "inputs": [
243
+ {
244
+ "internalType": "address",
245
+ "name": "_coreContract",
246
+ "type": "address"
247
+ },
248
+ {
249
+ "internalType": "address",
250
+ "name": "_minter",
251
+ "type": "address"
252
+ }
253
+ ],
254
+ "name": "approveMinterForContract",
255
+ "outputs": [],
256
+ "stateMutability": "nonpayable",
257
+ "type": "function"
258
+ },
259
+ {
260
+ "inputs": [
261
+ {
262
+ "internalType": "address",
263
+ "name": "_minter",
264
+ "type": "address"
265
+ }
266
+ ],
267
+ "name": "approveMinterGlobally",
268
+ "outputs": [],
269
+ "stateMutability": "nonpayable",
270
+ "type": "function"
271
+ },
272
+ {
273
+ "inputs": [],
274
+ "name": "coreRegistry",
275
+ "outputs": [
276
+ {
277
+ "internalType": "contract ICoreRegistryV1",
278
+ "name": "",
279
+ "type": "address"
280
+ }
281
+ ],
282
+ "stateMutability": "view",
283
+ "type": "function"
284
+ },
285
+ {
286
+ "inputs": [
287
+ {
288
+ "internalType": "uint256",
289
+ "name": "_projectId",
290
+ "type": "uint256"
291
+ },
292
+ {
293
+ "internalType": "address",
294
+ "name": "_coreContract",
295
+ "type": "address"
296
+ }
297
+ ],
298
+ "name": "getMinterForProject",
299
+ "outputs": [
300
+ {
301
+ "internalType": "address",
302
+ "name": "",
303
+ "type": "address"
304
+ }
305
+ ],
306
+ "stateMutability": "view",
307
+ "type": "function"
308
+ },
309
+ {
310
+ "inputs": [
311
+ {
312
+ "internalType": "address",
313
+ "name": "_coreContract",
314
+ "type": "address"
315
+ }
316
+ ],
317
+ "name": "getNumProjectsOnContractWithMinters",
318
+ "outputs": [
319
+ {
320
+ "internalType": "uint256",
321
+ "name": "",
322
+ "type": "uint256"
323
+ }
324
+ ],
325
+ "stateMutability": "view",
326
+ "type": "function"
327
+ },
328
+ {
329
+ "inputs": [
330
+ {
331
+ "internalType": "address",
332
+ "name": "_coreContract",
333
+ "type": "address"
334
+ },
335
+ {
336
+ "internalType": "uint256",
337
+ "name": "_index",
338
+ "type": "uint256"
339
+ }
340
+ ],
341
+ "name": "getProjectAndMinterInfoOnContractAt",
342
+ "outputs": [
343
+ {
344
+ "internalType": "uint256",
345
+ "name": "projectId",
346
+ "type": "uint256"
347
+ },
348
+ {
349
+ "internalType": "address",
350
+ "name": "minterAddress",
351
+ "type": "address"
352
+ },
353
+ {
354
+ "internalType": "string",
355
+ "name": "minterType",
356
+ "type": "string"
357
+ }
358
+ ],
359
+ "stateMutability": "view",
360
+ "type": "function"
361
+ },
362
+ {
363
+ "inputs": [
364
+ {
365
+ "internalType": "address",
366
+ "name": "_coreContract",
367
+ "type": "address"
368
+ },
369
+ {
370
+ "internalType": "address",
371
+ "name": "_minter",
372
+ "type": "address"
373
+ }
374
+ ],
375
+ "name": "getProjectsOnContractUsingMinter",
376
+ "outputs": [
377
+ {
378
+ "internalType": "uint256[]",
379
+ "name": "projectIds",
380
+ "type": "uint256[]"
381
+ }
382
+ ],
383
+ "stateMutability": "view",
384
+ "type": "function"
385
+ },
386
+ {
387
+ "inputs": [
388
+ {
389
+ "internalType": "address",
390
+ "name": "_coreContract",
391
+ "type": "address"
392
+ },
393
+ {
394
+ "internalType": "address",
395
+ "name": "_minter",
396
+ "type": "address"
397
+ }
398
+ ],
399
+ "name": "isApprovedMinterForContract",
400
+ "outputs": [
401
+ {
402
+ "internalType": "bool",
403
+ "name": "",
404
+ "type": "bool"
405
+ }
406
+ ],
407
+ "stateMutability": "view",
408
+ "type": "function"
409
+ },
410
+ {
411
+ "inputs": [
412
+ {
413
+ "internalType": "address",
414
+ "name": "_minter",
415
+ "type": "address"
416
+ }
417
+ ],
418
+ "name": "isGloballyApprovedMinter",
419
+ "outputs": [
420
+ {
421
+ "internalType": "bool",
422
+ "name": "",
423
+ "type": "bool"
424
+ }
425
+ ],
426
+ "stateMutability": "view",
427
+ "type": "function"
428
+ },
429
+ {
430
+ "inputs": [
431
+ {
432
+ "internalType": "address",
433
+ "name": "_coreContract",
434
+ "type": "address"
435
+ }
436
+ ],
437
+ "name": "isRegisteredCoreContract",
438
+ "outputs": [
439
+ {
440
+ "internalType": "bool",
441
+ "name": "",
442
+ "type": "bool"
443
+ }
444
+ ],
445
+ "stateMutability": "view",
446
+ "type": "function"
447
+ },
448
+ {
449
+ "inputs": [
450
+ {
451
+ "internalType": "address",
452
+ "name": "_to",
453
+ "type": "address"
454
+ },
455
+ {
456
+ "internalType": "uint256",
457
+ "name": "_projectId",
458
+ "type": "uint256"
459
+ },
460
+ {
461
+ "internalType": "address",
462
+ "name": "_coreContract",
463
+ "type": "address"
464
+ },
465
+ {
466
+ "internalType": "address",
467
+ "name": "_sender",
468
+ "type": "address"
469
+ }
470
+ ],
471
+ "name": "mint_joo",
472
+ "outputs": [
473
+ {
474
+ "internalType": "uint256",
475
+ "name": "tokenId",
476
+ "type": "uint256"
477
+ }
478
+ ],
479
+ "stateMutability": "nonpayable",
480
+ "type": "function"
481
+ },
482
+ {
483
+ "inputs": [],
484
+ "name": "minterFilterType",
485
+ "outputs": [
486
+ {
487
+ "internalType": "string",
488
+ "name": "",
489
+ "type": "string"
490
+ }
491
+ ],
492
+ "stateMutability": "pure",
493
+ "type": "function"
494
+ },
495
+ {
496
+ "inputs": [],
497
+ "name": "minterFilterVersion",
498
+ "outputs": [
499
+ {
500
+ "internalType": "string",
501
+ "name": "",
502
+ "type": "string"
503
+ }
504
+ ],
505
+ "stateMutability": "pure",
506
+ "type": "function"
507
+ },
508
+ {
509
+ "inputs": [
510
+ {
511
+ "internalType": "address",
512
+ "name": "",
513
+ "type": "address"
514
+ }
515
+ ],
516
+ "name": "numProjectsUsingMinter",
517
+ "outputs": [
518
+ {
519
+ "internalType": "uint256",
520
+ "name": "",
521
+ "type": "uint256"
522
+ }
523
+ ],
524
+ "stateMutability": "view",
525
+ "type": "function"
526
+ },
527
+ {
528
+ "inputs": [],
529
+ "name": "owner",
530
+ "outputs": [
531
+ {
532
+ "internalType": "address",
533
+ "name": "",
534
+ "type": "address"
535
+ }
536
+ ],
537
+ "stateMutability": "view",
538
+ "type": "function"
539
+ },
540
+ {
541
+ "inputs": [
542
+ {
543
+ "internalType": "uint256",
544
+ "name": "_projectId",
545
+ "type": "uint256"
546
+ },
547
+ {
548
+ "internalType": "address",
549
+ "name": "_coreContract",
550
+ "type": "address"
551
+ }
552
+ ],
553
+ "name": "projectHasMinter",
554
+ "outputs": [
555
+ {
556
+ "internalType": "bool",
557
+ "name": "",
558
+ "type": "bool"
559
+ }
560
+ ],
561
+ "stateMutability": "view",
562
+ "type": "function"
563
+ },
564
+ {
565
+ "inputs": [
566
+ {
567
+ "internalType": "uint256",
568
+ "name": "_projectId",
569
+ "type": "uint256"
570
+ },
571
+ {
572
+ "internalType": "address",
573
+ "name": "_coreContract",
574
+ "type": "address"
575
+ }
576
+ ],
577
+ "name": "removeMinterForProject",
578
+ "outputs": [],
579
+ "stateMutability": "nonpayable",
580
+ "type": "function"
581
+ },
582
+ {
583
+ "inputs": [
584
+ {
585
+ "internalType": "uint256[]",
586
+ "name": "_projectIds",
587
+ "type": "uint256[]"
588
+ },
589
+ {
590
+ "internalType": "address",
591
+ "name": "_coreContract",
592
+ "type": "address"
593
+ }
594
+ ],
595
+ "name": "removeMintersForProjectsOnContract",
596
+ "outputs": [],
597
+ "stateMutability": "nonpayable",
598
+ "type": "function"
599
+ },
600
+ {
601
+ "inputs": [],
602
+ "name": "renounceOwnership",
603
+ "outputs": [],
604
+ "stateMutability": "pure",
605
+ "type": "function"
606
+ },
607
+ {
608
+ "inputs": [
609
+ {
610
+ "internalType": "address",
611
+ "name": "_coreContract",
612
+ "type": "address"
613
+ },
614
+ {
615
+ "internalType": "address",
616
+ "name": "_minter",
617
+ "type": "address"
618
+ }
619
+ ],
620
+ "name": "revokeMinterForContract",
621
+ "outputs": [],
622
+ "stateMutability": "nonpayable",
623
+ "type": "function"
624
+ },
625
+ {
626
+ "inputs": [
627
+ {
628
+ "internalType": "address",
629
+ "name": "_minter",
630
+ "type": "address"
631
+ }
632
+ ],
633
+ "name": "revokeMinterGlobally",
634
+ "outputs": [],
635
+ "stateMutability": "nonpayable",
636
+ "type": "function"
637
+ },
638
+ {
639
+ "inputs": [
640
+ {
641
+ "internalType": "uint256",
642
+ "name": "_projectId",
643
+ "type": "uint256"
644
+ },
645
+ {
646
+ "internalType": "address",
647
+ "name": "_coreContract",
648
+ "type": "address"
649
+ },
650
+ {
651
+ "internalType": "address",
652
+ "name": "_minter",
653
+ "type": "address"
654
+ }
655
+ ],
656
+ "name": "setMinterForProject",
657
+ "outputs": [],
658
+ "stateMutability": "nonpayable",
659
+ "type": "function"
660
+ },
661
+ {
662
+ "inputs": [
663
+ {
664
+ "internalType": "address",
665
+ "name": "newOwner",
666
+ "type": "address"
667
+ }
668
+ ],
669
+ "name": "transferOwnership",
670
+ "outputs": [],
671
+ "stateMutability": "nonpayable",
672
+ "type": "function"
673
+ },
674
+ {
675
+ "inputs": [
676
+ {
677
+ "internalType": "address",
678
+ "name": "_coreRegistry",
679
+ "type": "address"
680
+ }
681
+ ],
682
+ "name": "updateCoreRegistry",
683
+ "outputs": [],
684
+ "stateMutability": "nonpayable",
685
+ "type": "function"
686
+ }
687
+ ],
688
+ "bytecode": "0x60806040523480156200001157600080fd5b50604051620020fc380380620020fc8339810160408190526200003491620001d3565b6200003f3362000086565b6200004a8262000086565b6200005581620000b3565b6040517f3fad920548ed9f22deb8333b4cc1e4f9bc36666a1c2aa30ad59a0a3bb9dcbb9290600090a150506200020b565b620000918162000108565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b620000be8162000158565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fb7b620c2c1cece07219b2ac19100c3f8629a9752c3c5484ed6524e99d0bddeed90600090a250565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116620001b35760405162461bcd60e51b815260206004820152601560248201527f4f6e6c79206e6f6e2d7a65726f20616464726573730000000000000000000000604482015260640160405180910390fd5b50565b80516001600160a01b0381168114620001ce57600080fd5b919050565b60008060408385031215620001e757600080fd5b620001f283620001b6565b91506200020260208401620001b6565b90509250929050565b611ee1806200021b6000396000f3fe608060405234801561001057600080fd5b506004361061013c5760003560e01c80615f34146101415780630a3eecb2146101675780631e9bef461461017c5780631f8608c61461019c57806320f2ccb7146101bf578063230448b1146101d457806326df17b5146101e757806341946f0f1461020757806353114de41461021a5780635845de1f1461022d5780635e94e3de146102405780636bf3d05a146102535780637136b93e14610266578063715018a61461026e578063765aabff1461027657806384b19f1e146102895780638da5cb5b1461029c5780638e5b9056146102a45780638f48e2c0146102b757806395139f66146102ca578063969c3ed7146102dd578063af439a31146102fd578063e420c9541461031f578063ea6e376114610332578063f2fde38b14610345578063fd9ca43514610358575b600080fd5b61015461014f366004611970565b61036b565b6040519081526020015b60405180910390f35b61017a6101753660046119c3565b610469565b005b60015461018f906001600160a01b031681565b60405161015e91906119fc565b6101af6101aa366004611a10565b610505565b604051901515815260200161015e565b6101c761057d565b60405161015e9190611a7d565b6101af6101e2366004611a90565b61059e565b6101546101f5366004611a10565b60036020526000908152604090205481565b61017a610215366004611ae8565b610639565b61017a610228366004611b1f565b6107c5565b61018f61023b366004611b99565b61081c565b61017a61024e3660046119c3565b610888565b60025461018f906001600160a01b031681565b6101c7610994565b61017a6109a8565b61017a610284366004611b99565b6109ec565b61017a610297366004611a10565b610a15565b61018f610af5565b6101af6102b23660046119c3565b610b04565b6101af6102c5366004611a10565b610b3e565b61017a6102d8366004611a10565b610b4b565b6102f06102eb3660046119c3565b610b67565b60405161015e9190611bbe565b61031061030b366004611c02565b610c73565b60405161015e93929190611c2e565b61017a61032d366004611a10565b610d11565b6101af610340366004611b99565b610d7f565b61017a610353366004611a10565b610dac565b610154610366366004611a10565b610e22565b6001600160a01b038216600090815260076020526040812061038d9085610e43565b6001600160a01b0316336001600160a01b0316146103e95760405162461bcd60e51b815260206004820152601460248201527327b7363c9030b9b9b4b3b732b21036b4b73a32b960611b60448201526064015b60405180910390fd5b604051615de560e01b81526001600160a01b038681166004830152602482018690528381166044830152841690615de5906064016020604051808303816000875af115801561043c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104609190611c58565b95945050505050565b61047282610e4f565b6104838263051f765960e11b610f0c565b6001600160a01b03821660009081526006602052604090206104a59082610fc8565b6104c15760405162461bcd60e51b81526004016103e090611c71565b806001600160a01b0316826001600160a01b03167f60ecff7c83062c43d6aae585dca525293afec7a4f4c378d12927ce8f7525da2460405160405180910390a35050565b60025460405163f1052af560e01b81526000916001600160a01b03169063f1052af5906105369085906004016119fc565b602060405180830381865afa158015610553573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105779190611ca8565b92915050565b60606105996d26b4b73a32b92334b63a32b92b1960911b610fdd565b905090565b6000806105a9610af5565b6001600160a01b03161415801561063157506001546040516217798b60e61b81526001600160a01b03909116906305de62c0906105ee90879087908790600401611cca565b6020604051808303816000875af115801561060d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106319190611ca8565b949350505050565b61064282610e4f565b61065483836341946f0f60e01b611048565b61065e8282611192565b61066883836111e0565b6001600160a01b0382166000908152600760205260408120819061068c90866112ff565b9150915081156106c0576001600160a01b03811660009081526003602052604081208054916106ba83611d0d565b91905055505b6001600160a01b03831660009081526003602052604081208054916106e483611d24565b90915550506001600160a01b038416600090815260076020526040902061070c90868561131d565b50826001600160a01b0316846001600160a01b0316867ff012149282a4a83d5c0326ace29c04e9133d41afa355fa606583817a27077d3f866001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610781573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107a99190810190611d53565b6040516107b69190611a7d565b60405180910390a45050505050565b6107ce81610e4f565b6107df816314c4537960e21b610f0c565b8160005b818110156108155761080d85858381811061080057610800611dff565b9050602002013584611333565b6001016107e3565b5050505050565b6001600160a01b03811660009081526007602052604081208190819061084290866112ff565b91509150816106315760405162461bcd60e51b8152602060048201526012602482015271139bc81b5a5b9d195c88185cdcda59db995960721b60448201526064016103e0565b61089182610e4f565b6108a282632f4a71ef60e11b610f0c565b6001600160a01b03821660009081526006602052604090206108c4908261140f565b6108e05760405162461bcd60e51b81526004016103e090611e15565b806001600160a01b0316826001600160a01b03167ff85412168568a1b1d7fda7902afcdb9b2b5380b30d67881d704a1c77cab63045836001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610953573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261097b9190810190611d53565b6040516109889190611a7d565b60405180910390a35050565b606061059965076322e302e360d41b610fdd565b60405162461bcd60e51b8152602060048201526019602482015278043616e6e6f742072656e6f756e6365206f776e65727368697603c1b60448201526064016103e0565b6109f581610e4f565b610a07828263765aabff60e01b611048565b610a118282611333565b5050565b610a25634258cf8f60e11b611424565b610a3060048261140f565b610a4c5760405162461bcd60e51b81526004016103e090611e15565b806001600160a01b03167f0d736cadcb29a6b8ae53b321e79e808a23cd1a48e960e4b566bcb2e9d6cccba8826001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610ab5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610add9190810190611d53565b604051610aea9190611a7d565b60405180910390a250565b6000546001600160a01b031690565b6000610b0f82610b3e565b80610b3757506001600160a01b0383166000908152600660205260409020610b379083611474565b9392505050565b6000610577600483611474565b610b5b634a89cfb360e11b611424565b610b6481611489565b50565b6001600160a01b038116600090815260036020526040902054606090806001600160401b03811115610b9b57610b9b611d3d565b604051908082528060200260200182016040528015610bc4578160200160208202803683370190505b506001600160a01b0385166000908152600760205260408120919350610be9826114dc565b90506000805b82811015610c5657600080610c0486846114e7565b91509150886001600160a01b0316816001600160a01b031603610c4c57818885610c2d81611d24565b965081518110610c3f57610c3f611dff565b6020026020010181815250505b5050600101610bef565b5080841115610c69578451818503900385525b5050505092915050565b6001600160a01b03821660009081526007602052604081208190606090610c9a90856114e7565b8093508194505050816001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610ce0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d089190810190611d53565b90509250925092565b610d21633908325560e21b611424565b610d2c600482610fc8565b610d485760405162461bcd60e51b81526004016103e090611c71565b6040516001600160a01b038216907f370244067623daed110e586dc655aa7544b64008c7bfebe6cc5d235933a3395890600090a250565b6001600160a01b03811660009081526007602052604081208190610da390856112ff565b50949350505050565b610db46114f6565b6001600160a01b038116610e195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103e0565b610b6481611557565b6001600160a01b0381166000908152600760205260408120610577906114dc565b6000610b378383611582565b60025460405163f1052af560e01b81526001600160a01b039091169063f1052af590610e7f9084906004016119fc565b602060405180830381865afa158015610e9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec09190611ca8565b610b645760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c79207265676973746572656420636f726520636f6e747261637400000060448201526064016103e0565b60405163230448b160e01b81526001600160a01b0383169063230448b190610f3c90339030908690600401611cca565b6020604051808303816000875af1158015610f5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7f9190611ca8565b610a115760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016103e0565b6000610b37836001600160a01b0384166115f2565b606060005b828160ff1660208110610ff757610ff7611dff565b1a60f81b6001600160f81b03191615801590611016575060208160ff16105b1561102d578061102581611e46565b915050610fe2565b60405191506040820160405280825282602083015250919050565b60405163a47d29cb60e01b81526004810184905282906001600160a01b0382169063a47d29cb90602401602060405180830381865afa15801561108f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b39190611e65565b6001600160a01b0316336001600160a01b03161480611140575060405163230448b160e01b81526001600160a01b0382169063230448b1906110fd90339030908790600401611cca565b6020604051808303816000875af115801561111c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111409190611ca8565b61118c5760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920417274697374206f7220436f72652041646d696e2041434c00000060448201526064016103e0565b50505050565b61119c8282610b04565b610a115760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920617070726f766564206d696e7465727360581b60448201526064016103e0565b6000819050806001600160a01b031663f893c07b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112479190611c58565b83101580156112b65750806001600160a01b031663e935b7b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561128f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b39190611c58565b83105b6112fa5760405162461bcd60e51b815260206004820152601560248201527413db9b1e481d985b1a59081c1c9bda9958dd081251605a1b60448201526064016103e0565b505050565b600080808061130e86866116e5565b909450925050505b9250929050565b600061063184846001600160a01b03851661171f565b6040805180820182526012815271139bc81b5a5b9d195c88185cdcda59db995960721b6020808301919091526001600160a01b03841660009081526007909152918220600392916113869190869061173c565b6001600160a01b03168152602081019190915260400160009081208054916113ad83611d0d565b90915550506001600160a01b03811660009081526007602052604090206113d49083611749565b506040516001600160a01b0382169083907f08cccda053ef9dd4d5864c1af5303d9ef0277a79c21cacee3cd0b34dd4e9160590600090a35050565b6000610b37836001600160a01b038416611755565b61142f33308361059e565b610b645760405162461bcd60e51b815260206004820152601660248201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b60448201526064016103e0565b6000610b37836001600160a01b03841661179f565b611492816117b7565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fb7b620c2c1cece07219b2ac19100c3f8629a9752c3c5484ed6524e99d0bddeed90600090a250565b600061057782611805565b600080808061130e8686611810565b336114ff610af5565b6001600160a01b0316146115555760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103e0565b565b6115608161183b565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600283016020526040812054801515806115a657506115a6848461188b565b610b375760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016103e0565b600081815260018301602052604081205480156116db576000611616600183611e82565b855490915060009061162a90600190611e82565b905081811461168f57600086600001828154811061164a5761164a611dff565b906000526020600020015490508087600001848154811061166d5761166d611dff565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806116a0576116a0611e95565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610577565b6000915050610577565b600081815260028301602052604081205481908061171457611707858561188b565b9250600091506113169050565b600192509050611316565b600082815260028401602052604081208290556106318484611897565b60006106318484846118a3565b6000610b3783836118e6565b6000611761838361179f565b61179757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610577565b506000610577565b60009081526001919091016020526040902054151590565b6001600160a01b038116610b645760405162461bcd60e51b81526020600482015260156024820152744f6e6c79206e6f6e2d7a65726f206164647265737360581b60448201526064016103e0565b600061057782611903565b6000808061181e858561190d565b600081815260029690960160205260409095205494959350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610b378383611919565b6000610b378383611755565b6000828152600284016020526040812054801515806118c757506118c7858561188b565b8390610da35760405162461bcd60e51b81526004016103e09190611a7d565b60008181526002830160205260408120819055610b378383611925565b6000610577825490565b6000610b378383611931565b6000610b37838361179f565b6000610b3783836115f2565b600082600001828154811061194857611948611dff565b9060005260206000200154905092915050565b6001600160a01b0381168114610b6457600080fd5b6000806000806080858703121561198657600080fd5b84356119918161195b565b93506020850135925060408501356119a88161195b565b915060608501356119b88161195b565b939692955090935050565b600080604083850312156119d657600080fd5b82356119e18161195b565b915060208301356119f18161195b565b809150509250929050565b6001600160a01b0391909116815260200190565b600060208284031215611a2257600080fd5b8135610b378161195b565b60005b83811015611a48578181015183820152602001611a30565b50506000910152565b60008151808452611a69816020860160208601611a2d565b601f01601f19169290920160200192915050565b602081526000610b376020830184611a51565b600080600060608486031215611aa557600080fd5b8335611ab08161195b565b92506020840135611ac08161195b565b915060408401356001600160e01b031981168114611add57600080fd5b809150509250925092565b600080600060608486031215611afd57600080fd5b833592506020840135611b0f8161195b565b91506040840135611add8161195b565b600080600060408486031215611b3457600080fd5b83356001600160401b0380821115611b4b57600080fd5b818601915086601f830112611b5f57600080fd5b813581811115611b6e57600080fd5b8760208260051b8501011115611b8357600080fd5b60209283019550935050840135611add8161195b565b60008060408385031215611bac57600080fd5b8235915060208301356119f18161195b565b6020808252825182820181905260009190848201906040850190845b81811015611bf657835183529284019291840191600101611bda565b50909695505050505050565b60008060408385031215611c1557600080fd5b8235611c208161195b565b946020939093013593505050565b8381526001600160a01b038316602082015260606040820181905260009061046090830184611a51565b600060208284031215611c6a57600080fd5b5051919050565b6020808252601f908201527f4f6e6c792070726576696f75736c7920617070726f766564206d696e74657200604082015260600190565b600060208284031215611cba57600080fd5b81518015158114610b3757600080fd5b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081611d1c57611d1c611cf7565b506000190190565b600060018201611d3657611d36611cf7565b5060010190565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611d6557600080fd5b81516001600160401b0380821115611d7c57600080fd5b818401915084601f830112611d9057600080fd5b815181811115611da257611da2611d3d565b604051601f8201601f19908116603f01168101908382118183101715611dca57611dca611d3d565b81604052828152876020848701011115611de357600080fd5b611df4836020830160208801611a2d565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b602080825260179082015276135a5b9d195c88185b1c9958591e48185c1c1c9bdd9959604a1b604082015260600190565b600060ff821660ff8103611e5c57611e5c611cf7565b60010192915050565b600060208284031215611e7757600080fd5b8151610b378161195b565b8181038181111561057757610577611cf7565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220955f4dceaba14235fe06937d1c63f4d4a6de105c6c53183dda9dd19d0c00acd564736f6c63430008130033",
689
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061013c5760003560e01c80615f34146101415780630a3eecb2146101675780631e9bef461461017c5780631f8608c61461019c57806320f2ccb7146101bf578063230448b1146101d457806326df17b5146101e757806341946f0f1461020757806353114de41461021a5780635845de1f1461022d5780635e94e3de146102405780636bf3d05a146102535780637136b93e14610266578063715018a61461026e578063765aabff1461027657806384b19f1e146102895780638da5cb5b1461029c5780638e5b9056146102a45780638f48e2c0146102b757806395139f66146102ca578063969c3ed7146102dd578063af439a31146102fd578063e420c9541461031f578063ea6e376114610332578063f2fde38b14610345578063fd9ca43514610358575b600080fd5b61015461014f366004611970565b61036b565b6040519081526020015b60405180910390f35b61017a6101753660046119c3565b610469565b005b60015461018f906001600160a01b031681565b60405161015e91906119fc565b6101af6101aa366004611a10565b610505565b604051901515815260200161015e565b6101c761057d565b60405161015e9190611a7d565b6101af6101e2366004611a90565b61059e565b6101546101f5366004611a10565b60036020526000908152604090205481565b61017a610215366004611ae8565b610639565b61017a610228366004611b1f565b6107c5565b61018f61023b366004611b99565b61081c565b61017a61024e3660046119c3565b610888565b60025461018f906001600160a01b031681565b6101c7610994565b61017a6109a8565b61017a610284366004611b99565b6109ec565b61017a610297366004611a10565b610a15565b61018f610af5565b6101af6102b23660046119c3565b610b04565b6101af6102c5366004611a10565b610b3e565b61017a6102d8366004611a10565b610b4b565b6102f06102eb3660046119c3565b610b67565b60405161015e9190611bbe565b61031061030b366004611c02565b610c73565b60405161015e93929190611c2e565b61017a61032d366004611a10565b610d11565b6101af610340366004611b99565b610d7f565b61017a610353366004611a10565b610dac565b610154610366366004611a10565b610e22565b6001600160a01b038216600090815260076020526040812061038d9085610e43565b6001600160a01b0316336001600160a01b0316146103e95760405162461bcd60e51b815260206004820152601460248201527327b7363c9030b9b9b4b3b732b21036b4b73a32b960611b60448201526064015b60405180910390fd5b604051615de560e01b81526001600160a01b038681166004830152602482018690528381166044830152841690615de5906064016020604051808303816000875af115801561043c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104609190611c58565b95945050505050565b61047282610e4f565b6104838263051f765960e11b610f0c565b6001600160a01b03821660009081526006602052604090206104a59082610fc8565b6104c15760405162461bcd60e51b81526004016103e090611c71565b806001600160a01b0316826001600160a01b03167f60ecff7c83062c43d6aae585dca525293afec7a4f4c378d12927ce8f7525da2460405160405180910390a35050565b60025460405163f1052af560e01b81526000916001600160a01b03169063f1052af5906105369085906004016119fc565b602060405180830381865afa158015610553573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105779190611ca8565b92915050565b60606105996d26b4b73a32b92334b63a32b92b1960911b610fdd565b905090565b6000806105a9610af5565b6001600160a01b03161415801561063157506001546040516217798b60e61b81526001600160a01b03909116906305de62c0906105ee90879087908790600401611cca565b6020604051808303816000875af115801561060d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106319190611ca8565b949350505050565b61064282610e4f565b61065483836341946f0f60e01b611048565b61065e8282611192565b61066883836111e0565b6001600160a01b0382166000908152600760205260408120819061068c90866112ff565b9150915081156106c0576001600160a01b03811660009081526003602052604081208054916106ba83611d0d565b91905055505b6001600160a01b03831660009081526003602052604081208054916106e483611d24565b90915550506001600160a01b038416600090815260076020526040902061070c90868561131d565b50826001600160a01b0316846001600160a01b0316867ff012149282a4a83d5c0326ace29c04e9133d41afa355fa606583817a27077d3f866001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610781573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107a99190810190611d53565b6040516107b69190611a7d565b60405180910390a45050505050565b6107ce81610e4f565b6107df816314c4537960e21b610f0c565b8160005b818110156108155761080d85858381811061080057610800611dff565b9050602002013584611333565b6001016107e3565b5050505050565b6001600160a01b03811660009081526007602052604081208190819061084290866112ff565b91509150816106315760405162461bcd60e51b8152602060048201526012602482015271139bc81b5a5b9d195c88185cdcda59db995960721b60448201526064016103e0565b61089182610e4f565b6108a282632f4a71ef60e11b610f0c565b6001600160a01b03821660009081526006602052604090206108c4908261140f565b6108e05760405162461bcd60e51b81526004016103e090611e15565b806001600160a01b0316826001600160a01b03167ff85412168568a1b1d7fda7902afcdb9b2b5380b30d67881d704a1c77cab63045836001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610953573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261097b9190810190611d53565b6040516109889190611a7d565b60405180910390a35050565b606061059965076322e302e360d41b610fdd565b60405162461bcd60e51b8152602060048201526019602482015278043616e6e6f742072656e6f756e6365206f776e65727368697603c1b60448201526064016103e0565b6109f581610e4f565b610a07828263765aabff60e01b611048565b610a118282611333565b5050565b610a25634258cf8f60e11b611424565b610a3060048261140f565b610a4c5760405162461bcd60e51b81526004016103e090611e15565b806001600160a01b03167f0d736cadcb29a6b8ae53b321e79e808a23cd1a48e960e4b566bcb2e9d6cccba8826001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610ab5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610add9190810190611d53565b604051610aea9190611a7d565b60405180910390a250565b6000546001600160a01b031690565b6000610b0f82610b3e565b80610b3757506001600160a01b0383166000908152600660205260409020610b379083611474565b9392505050565b6000610577600483611474565b610b5b634a89cfb360e11b611424565b610b6481611489565b50565b6001600160a01b038116600090815260036020526040902054606090806001600160401b03811115610b9b57610b9b611d3d565b604051908082528060200260200182016040528015610bc4578160200160208202803683370190505b506001600160a01b0385166000908152600760205260408120919350610be9826114dc565b90506000805b82811015610c5657600080610c0486846114e7565b91509150886001600160a01b0316816001600160a01b031603610c4c57818885610c2d81611d24565b965081518110610c3f57610c3f611dff565b6020026020010181815250505b5050600101610bef565b5080841115610c69578451818503900385525b5050505092915050565b6001600160a01b03821660009081526007602052604081208190606090610c9a90856114e7565b8093508194505050816001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610ce0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d089190810190611d53565b90509250925092565b610d21633908325560e21b611424565b610d2c600482610fc8565b610d485760405162461bcd60e51b81526004016103e090611c71565b6040516001600160a01b038216907f370244067623daed110e586dc655aa7544b64008c7bfebe6cc5d235933a3395890600090a250565b6001600160a01b03811660009081526007602052604081208190610da390856112ff565b50949350505050565b610db46114f6565b6001600160a01b038116610e195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103e0565b610b6481611557565b6001600160a01b0381166000908152600760205260408120610577906114dc565b6000610b378383611582565b60025460405163f1052af560e01b81526001600160a01b039091169063f1052af590610e7f9084906004016119fc565b602060405180830381865afa158015610e9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec09190611ca8565b610b645760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c79207265676973746572656420636f726520636f6e747261637400000060448201526064016103e0565b60405163230448b160e01b81526001600160a01b0383169063230448b190610f3c90339030908690600401611cca565b6020604051808303816000875af1158015610f5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7f9190611ca8565b610a115760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016103e0565b6000610b37836001600160a01b0384166115f2565b606060005b828160ff1660208110610ff757610ff7611dff565b1a60f81b6001600160f81b03191615801590611016575060208160ff16105b1561102d578061102581611e46565b915050610fe2565b60405191506040820160405280825282602083015250919050565b60405163a47d29cb60e01b81526004810184905282906001600160a01b0382169063a47d29cb90602401602060405180830381865afa15801561108f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b39190611e65565b6001600160a01b0316336001600160a01b03161480611140575060405163230448b160e01b81526001600160a01b0382169063230448b1906110fd90339030908790600401611cca565b6020604051808303816000875af115801561111c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111409190611ca8565b61118c5760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920417274697374206f7220436f72652041646d696e2041434c00000060448201526064016103e0565b50505050565b61119c8282610b04565b610a115760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920617070726f766564206d696e7465727360581b60448201526064016103e0565b6000819050806001600160a01b031663f893c07b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112479190611c58565b83101580156112b65750806001600160a01b031663e935b7b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561128f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b39190611c58565b83105b6112fa5760405162461bcd60e51b815260206004820152601560248201527413db9b1e481d985b1a59081c1c9bda9958dd081251605a1b60448201526064016103e0565b505050565b600080808061130e86866116e5565b909450925050505b9250929050565b600061063184846001600160a01b03851661171f565b6040805180820182526012815271139bc81b5a5b9d195c88185cdcda59db995960721b6020808301919091526001600160a01b03841660009081526007909152918220600392916113869190869061173c565b6001600160a01b03168152602081019190915260400160009081208054916113ad83611d0d565b90915550506001600160a01b03811660009081526007602052604090206113d49083611749565b506040516001600160a01b0382169083907f08cccda053ef9dd4d5864c1af5303d9ef0277a79c21cacee3cd0b34dd4e9160590600090a35050565b6000610b37836001600160a01b038416611755565b61142f33308361059e565b610b645760405162461bcd60e51b815260206004820152601660248201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b60448201526064016103e0565b6000610b37836001600160a01b03841661179f565b611492816117b7565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fb7b620c2c1cece07219b2ac19100c3f8629a9752c3c5484ed6524e99d0bddeed90600090a250565b600061057782611805565b600080808061130e8686611810565b336114ff610af5565b6001600160a01b0316146115555760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103e0565b565b6115608161183b565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600283016020526040812054801515806115a657506115a6848461188b565b610b375760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016103e0565b600081815260018301602052604081205480156116db576000611616600183611e82565b855490915060009061162a90600190611e82565b905081811461168f57600086600001828154811061164a5761164a611dff565b906000526020600020015490508087600001848154811061166d5761166d611dff565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806116a0576116a0611e95565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610577565b6000915050610577565b600081815260028301602052604081205481908061171457611707858561188b565b9250600091506113169050565b600192509050611316565b600082815260028401602052604081208290556106318484611897565b60006106318484846118a3565b6000610b3783836118e6565b6000611761838361179f565b61179757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610577565b506000610577565b60009081526001919091016020526040902054151590565b6001600160a01b038116610b645760405162461bcd60e51b81526020600482015260156024820152744f6e6c79206e6f6e2d7a65726f206164647265737360581b60448201526064016103e0565b600061057782611903565b6000808061181e858561190d565b600081815260029690960160205260409095205494959350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610b378383611919565b6000610b378383611755565b6000828152600284016020526040812054801515806118c757506118c7858561188b565b8390610da35760405162461bcd60e51b81526004016103e09190611a7d565b60008181526002830160205260408120819055610b378383611925565b6000610577825490565b6000610b378383611931565b6000610b37838361179f565b6000610b3783836115f2565b600082600001828154811061194857611948611dff565b9060005260206000200154905092915050565b6001600160a01b0381168114610b6457600080fd5b6000806000806080858703121561198657600080fd5b84356119918161195b565b93506020850135925060408501356119a88161195b565b915060608501356119b88161195b565b939692955090935050565b600080604083850312156119d657600080fd5b82356119e18161195b565b915060208301356119f18161195b565b809150509250929050565b6001600160a01b0391909116815260200190565b600060208284031215611a2257600080fd5b8135610b378161195b565b60005b83811015611a48578181015183820152602001611a30565b50506000910152565b60008151808452611a69816020860160208601611a2d565b601f01601f19169290920160200192915050565b602081526000610b376020830184611a51565b600080600060608486031215611aa557600080fd5b8335611ab08161195b565b92506020840135611ac08161195b565b915060408401356001600160e01b031981168114611add57600080fd5b809150509250925092565b600080600060608486031215611afd57600080fd5b833592506020840135611b0f8161195b565b91506040840135611add8161195b565b600080600060408486031215611b3457600080fd5b83356001600160401b0380821115611b4b57600080fd5b818601915086601f830112611b5f57600080fd5b813581811115611b6e57600080fd5b8760208260051b8501011115611b8357600080fd5b60209283019550935050840135611add8161195b565b60008060408385031215611bac57600080fd5b8235915060208301356119f18161195b565b6020808252825182820181905260009190848201906040850190845b81811015611bf657835183529284019291840191600101611bda565b50909695505050505050565b60008060408385031215611c1557600080fd5b8235611c208161195b565b946020939093013593505050565b8381526001600160a01b038316602082015260606040820181905260009061046090830184611a51565b600060208284031215611c6a57600080fd5b5051919050565b6020808252601f908201527f4f6e6c792070726576696f75736c7920617070726f766564206d696e74657200604082015260600190565b600060208284031215611cba57600080fd5b81518015158114610b3757600080fd5b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081611d1c57611d1c611cf7565b506000190190565b600060018201611d3657611d36611cf7565b5060010190565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611d6557600080fd5b81516001600160401b0380821115611d7c57600080fd5b818401915084601f830112611d9057600080fd5b815181811115611da257611da2611d3d565b604051601f8201601f19908116603f01168101908382118183101715611dca57611dca611d3d565b81604052828152876020848701011115611de357600080fd5b611df4836020830160208801611a2d565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b602080825260179082015276135a5b9d195c88185b1c9958591e48185c1c1c9bdd9959604a1b604082015260600190565b600060ff821660ff8103611e5c57611e5c611cf7565b60010192915050565b600060208284031215611e7757600080fd5b8151610b378161195b565b8181038181111561057757610577611cf7565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220955f4dceaba14235fe06937d1c63f4d4a6de105c6c53183dda9dd19d0c00acd564736f6c63430008130033",
690
+ "linkReferences": {},
691
+ "deployedLinkReferences": {}
692
+ }