@artblocks/contracts 1.0.2 → 1.0.4

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 (387) hide show
  1. package/README.md +56 -21
  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 +141 -15
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +42 -5
  6. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +2 -2
  7. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +2 -2
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  10. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol/MinterSetPriceV1.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +2 -2
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  33. package/artifacts/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol}/GenArt721CoreV2_ENGINE_FLEX.json +3 -3
  34. package/artifacts/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol}/GenArt721CoreV2_PBAB.json +3 -3
  35. package/artifacts/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol}/GenArt721CoreV2_PRTNR.json +3 -3
  36. package/artifacts/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol}/GenArt721MinterBurner_PBAB.json +3 -3
  37. package/artifacts/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol}/GenArt721MinterDAExp_PBAB.json +3 -3
  38. package/artifacts/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol}/GenArt721Minter_PBAB.json +3 -3
  39. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +1960 -0
  40. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2247 -0
  41. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +2247 -0
  42. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +401 -0
  43. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +2281 -0
  44. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol/IAdminACLV0_PROHIBITION.json +359 -0
  45. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +1094 -0
  46. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +242 -0
  47. package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
  48. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +41 -4
  49. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol/IBonusContract.json +1 -1
  50. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
  51. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
  52. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol/IRandomizer.json +1 -1
  53. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol/IAdminACLV0.json +1 -1
  54. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol/IArtblocksRoyaltyOverride.json +1 -1
  55. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol/IBonusContract.json +1 -1
  56. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +111 -0
  57. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +172 -0
  58. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol/IDelegationRegistry.json +1 -1
  59. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol/IDependencyRegistryCompatibleV0.json +1 -1
  60. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +3 -3
  61. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol/IEngineRegistryV0.json +1 -1
  62. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +1 -1
  63. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +1 -1
  64. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol/IFilteredMinterDAExpSettlement_Mixin.json +1 -1
  65. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol/IFilteredMinterDAExpV0.json +1 -1
  66. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol/IFilteredMinterDAExpV1.json +1 -1
  67. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol/IFilteredMinterDALinV0.json +1 -1
  68. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol/IFilteredMinterDALinV1.json +1 -1
  69. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol/IFilteredMinterHolderV0.json +1 -1
  70. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol/IFilteredMinterHolderV1.json +1 -1
  71. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol/IFilteredMinterHolderV2.json +1 -1
  72. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol/IFilteredMinterMerkleV0.json +1 -1
  73. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol/IFilteredMinterMerkleV1.json +1 -1
  74. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol/IFilteredMinterMerkleV2.json +1 -1
  75. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +56 -54
  76. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol/IFilteredMinterV0.json +1 -1
  77. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol/IFilteredMinterV1.json +1 -1
  78. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol/IFilteredMinterV2.json +1 -1
  79. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +30 -0
  80. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
  81. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +14 -1
  82. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol/IGenArt721CoreContractV3WithSharedRandomizer.json +24 -0
  83. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +14 -1
  84. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +8 -14
  85. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +8 -14
  86. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
  87. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol/IManifold.json +1 -1
  88. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol/IMinterBaseV0.json +1 -1
  89. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol/IMinterFilterV0.json +1 -1
  90. package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +514 -0
  91. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol/IMintingAPICoreV0.json +1 -1
  92. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol/IMintingAPIMinterV0.json +1 -1
  93. package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +30 -0
  94. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol/IRandomizer.json +1 -1
  95. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol/IRandomizerPolyptychV0.json +1 -1
  96. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol/IRandomizerV2.json +1 -1
  97. package/artifacts/contracts/interfaces/v0.8.x/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +24 -0
  98. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +207 -0
  99. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +93 -0
  100. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +93 -0
  101. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +69 -0
  102. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +203 -0
  103. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +123 -0
  104. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +261 -0
  105. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +64 -0
  106. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +533 -0
  107. package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +223 -0
  108. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol/IWETH.json +1 -1
  109. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Address.json +2 -2
  110. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Counters.json +2 -2
  111. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/CustomERC721Metadata.json +2 -2
  112. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721.json +2 -2
  113. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721Enumerable.json +2 -2
  114. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/GenArt721CoreV1.json +2 -2
  115. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/SafeMath.json +2 -2
  116. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Strings.json +2 -2
  117. package/artifacts/contracts/legacy/GenArt721LegacyMinter.sol/GenArt721LegacyMinter.json +2 -2
  118. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  119. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  120. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  121. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  122. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
  123. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol/CustomERC721Metadata.json +3 -3
  124. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol/IERC20.json +1 -1
  125. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol/SafeMath.json +3 -3
  126. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/Strings.sol/Strings.json +3 -3
  127. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +10 -0
  128. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +10 -0
  129. package/artifacts/contracts/libs/{0.8.x/BytecodeStorage.sol → v0.8.x/BytecodeStorageV0.sol}/BytecodeStorage.json +3 -3
  130. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +163 -0
  131. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +10 -0
  132. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol/Bytes32Strings.json +3 -3
  133. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +3 -3
  134. package/artifacts/contracts/libs/v0.8.x/SSTORE2.sol/SSTORE2.json +10 -0
  135. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +10 -0
  136. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +10 -0
  137. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +10 -0
  138. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +10 -0
  139. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +10 -0
  140. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +10 -0
  141. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +10 -0
  142. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +10 -0
  143. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +10 -0
  144. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +10 -0
  145. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.json +2 -2
  146. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  147. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +748 -0
  148. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +1228 -0
  149. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  150. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +1146 -0
  151. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  152. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +909 -0
  153. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +1228 -0
  154. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  155. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +909 -0
  156. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  157. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  158. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +10 -160
  159. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  160. package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +59 -80
  161. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +1325 -0
  162. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  163. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +848 -0
  164. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +1091 -0
  165. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +1075 -0
  166. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +1243 -0
  167. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +1167 -0
  168. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  169. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +772 -0
  170. package/artifacts/contracts/mock/{BytecodeTextCR_DMock.sol/BytecodeTextCR_DMock.json → BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json} +4 -4
  171. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +135 -0
  172. package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +301 -0
  173. package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +25 -2
  174. package/artifacts/contracts/mock/DeadReceiverMock.sol/DeadReceiverMock.json +2 -2
  175. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +114 -0
  176. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +28 -2
  177. package/artifacts/contracts/mock/GasLimitReceiverBidderMock.sol/GasLimitReceiverBidderMock.json +2 -2
  178. package/artifacts/contracts/mock/GasLimitReceiverMock.sol/GasLimitReceiverMock.json +2 -2
  179. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +22 -4
  180. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
  181. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +440 -0
  182. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +39 -0
  183. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  184. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  185. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  186. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  187. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
  188. package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +118 -0
  189. package/artifacts/contracts/randomizer/{BasicRandomizer.sol → deprecated/BasicRandomizer.sol}/BasicRandomizer.json +3 -3
  190. package/artifacts/contracts/randomizer/{BasicRandomizerBase_v0_0_0.sol → deprecated/BasicRandomizerBase_v0_0_0.sol}/RandomizerBase.json +1 -1
  191. package/artifacts/contracts/randomizer/{PolyptychRandomizerV0.sol → deprecated/PolyptychRandomizerV0.sol}/BasicPolyptychRandomizerV0.json +3 -3
  192. package/artifacts/contracts/randomizer/{RandomizerV2.sol → deprecated/RandomizerV2.sol}/BasicRandomizerV2.json +3 -3
  193. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +30 -0
  194. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +247 -0
  195. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
  196. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +2 -2
  197. package/contracts/AdminACLV0.sol +2 -2
  198. package/contracts/AdminACLV1.sol +2 -2
  199. package/contracts/DependencyRegistryV0.sol +219 -123
  200. package/contracts/GenArt721CoreV3.sol +60 -42
  201. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol +3 -3
  202. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol +3 -3
  203. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +4 -4
  204. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +4 -4
  205. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +4 -4
  206. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +4 -4
  207. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol +3 -3
  208. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol +3 -3
  209. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +4 -4
  210. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +4 -4
  211. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol +3 -3
  212. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +4 -4
  213. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +5 -5
  214. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +5 -5
  215. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol +3 -3
  216. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +4 -4
  217. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +5 -5
  218. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +5 -5
  219. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +5 -5
  220. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol +3 -3
  221. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol +3 -3
  222. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +4 -4
  223. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +4 -4
  224. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +3 -3
  225. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +3 -3
  226. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +4 -4
  227. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +4 -4
  228. package/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol} +2 -2
  229. package/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol} +2 -2
  230. package/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol} +3 -3
  231. package/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol} +2 -2
  232. package/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol} +2 -2
  233. package/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol} +2 -2
  234. package/contracts/{GenArt721CoreV3_Engine.sol → engine/V3/GenArt721CoreV3_Engine.sol} +48 -24
  235. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +2298 -0
  236. package/contracts/{GenArt721CoreV3_Engine_Flex.sol → engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol} +50 -31
  237. package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +281 -0
  238. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +2359 -0
  239. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +123 -0
  240. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +29 -0
  241. package/contracts/engine-registry/CoreRegistryV1.sol +254 -0
  242. package/contracts/engine-registry/EngineRegistryV0.sol +2 -2
  243. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +58 -40
  244. package/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol +62 -0
  245. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +27 -0
  246. package/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol +1 -1
  247. package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol +1 -1
  248. package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol +3 -3
  249. package/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol +1 -1
  250. package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol +34 -15
  251. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractExposesHashSeed.sol +11 -0
  252. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol +23 -0
  253. package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol +3 -0
  254. package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol +0 -5
  255. package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +184 -0
  256. package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +16 -0
  257. package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol +1 -1
  258. package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol +2 -5
  259. package/contracts/interfaces/v0.8.x/IRandomizer_V3CoreBase.sol +23 -0
  260. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +37 -0
  261. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +25 -0
  262. package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +26 -0
  263. package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +19 -0
  264. package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +69 -0
  265. package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +44 -0
  266. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +78 -0
  267. package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +28 -0
  268. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +191 -0
  269. package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +123 -0
  270. package/contracts/legacy/GenArt721CoreV1.sol +2 -2
  271. package/contracts/legacy/GenArt721LegacyMinter.sol +5 -5
  272. package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +2 -2
  273. package/contracts/libs/integration-refs/weth9/weth9.sol +2 -0
  274. package/contracts/libs/v0.8.x/ABHelpers.sol +55 -0
  275. package/contracts/libs/v0.8.x/AuthLib.sol +197 -0
  276. package/contracts/libs/v0.8.x/BytecodeStorageV1.sol +399 -0
  277. package/contracts/libs/v0.8.x/SSTORE2.sol +109 -0
  278. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +125 -0
  279. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +109 -0
  280. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +348 -0
  281. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +175 -0
  282. package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +160 -0
  283. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +320 -0
  284. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +44 -0
  285. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +390 -0
  286. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +583 -0
  287. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +153 -0
  288. package/contracts/minter-suite/MinterFilter/MinterFilterV0.sol +3 -3
  289. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +6 -6
  290. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +830 -0
  291. package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +4 -4
  292. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +966 -0
  293. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +4 -4
  294. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +1126 -0
  295. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +4 -4
  296. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +606 -0
  297. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +952 -0
  298. package/contracts/minter-suite/Minters/MinterDALinV4.sol +4 -4
  299. package/contracts/minter-suite/Minters/MinterDALinV5.sol +591 -0
  300. package/contracts/minter-suite/Minters/MinterHolderV4.sol +5 -5
  301. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +5 -5
  302. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +18 -17
  303. package/contracts/minter-suite/Minters/MinterSEAV0.sol +235 -186
  304. package/contracts/minter-suite/Minters/MinterSEAV1.sol +1190 -0
  305. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +6 -6
  306. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +570 -0
  307. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +821 -0
  308. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +802 -0
  309. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +1096 -0
  310. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +992 -0
  311. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +4 -4
  312. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +461 -0
  313. package/contracts/mock/{BytecodeTextCR_DMock.sol → BytecodeV0TextCR_DMock.sol} +5 -5
  314. package/contracts/mock/BytecodeV1LibCallsMock.sol +114 -0
  315. package/contracts/mock/BytecodeV1TextCR_DMock.sol +233 -0
  316. package/contracts/mock/DeadReceiverBidderMock.sol +16 -1
  317. package/contracts/mock/DeadReceiverMock.sol +1 -1
  318. package/contracts/mock/DummySharedMinter.sol +75 -0
  319. package/contracts/mock/ERC20Mock.sol +16 -0
  320. package/contracts/mock/GasLimitReceiverBidderMock.sol +1 -1
  321. package/contracts/mock/GasLimitReceiverMock.sol +1 -1
  322. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +22 -35
  323. package/contracts/mock/MockAdminACLV0.sol +2 -2
  324. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +207 -0
  325. package/contracts/mock/OriginRegisterMock.sol +27 -0
  326. package/contracts/mock/RandomizerV2_NoAssignMock.sol +2 -2
  327. package/contracts/mock/ReentrancyHolderMock.sol +1 -1
  328. package/contracts/mock/ReentrancyMerkleMock.sol +1 -1
  329. package/contracts/mock/ReentrancyMock.sol +1 -1
  330. package/contracts/mock/ReentrancySEAMock.sol +1 -1
  331. package/contracts/mock/SSTORE2Mock.sol +93 -0
  332. package/contracts/randomizer/{BasicRandomizer.sol → deprecated/BasicRandomizer.sol} +1 -1
  333. package/contracts/randomizer/{BasicRandomizerBase_v0_0_0.sol → deprecated/BasicRandomizerBase_v0_0_0.sol} +1 -1
  334. package/contracts/randomizer/{PolyptychRandomizerV0.sol → deprecated/PolyptychRandomizerV0.sol} +3 -3
  335. package/contracts/randomizer/{RandomizerV2.sol → deprecated/RandomizerV2.sol} +3 -3
  336. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +30 -0
  337. package/contracts/randomizer/shared/SharedRandomizerV0.sol +260 -0
  338. package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +2 -2
  339. package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +2 -2
  340. package/package.json +51 -43
  341. package/.env.example +0 -17
  342. package/LICENSE +0 -165
  343. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +0 -1942
  344. package/artifacts/contracts/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +0 -2229
  345. package/artifacts/contracts/engine-registry/future/EngineRegistryV1.sol/EngineRegistryV1.json +0 -109
  346. package/contracts/engine-registry/future/EngineRegistryV1.sol +0 -86
  347. /package/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol +0 -0
  348. /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol +0 -0
  349. /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol +0 -0
  350. /package/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol +0 -0
  351. /package/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol +0 -0
  352. /package/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol +0 -0
  353. /package/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol +0 -0
  354. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol +0 -0
  355. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol +0 -0
  356. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol +0 -0
  357. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol +0 -0
  358. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol +0 -0
  359. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol +0 -0
  360. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol +0 -0
  361. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol +0 -0
  362. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol +0 -0
  363. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol +0 -0
  364. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol +0 -0
  365. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol +0 -0
  366. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol +0 -0
  367. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol +0 -0
  368. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol +0 -0
  369. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol +0 -0
  370. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol +0 -0
  371. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol +0 -0
  372. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol +0 -0
  373. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol +0 -0
  374. /package/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol +0 -0
  375. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol +0 -0
  376. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol +0 -0
  377. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol +0 -0
  378. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol +0 -0
  379. /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol +0 -0
  380. /package/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol +0 -0
  381. /package/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol +0 -0
  382. /package/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol +0 -0
  383. /package/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol +0 -0
  384. /package/contracts/libs/{0.5.x → v0.5.x}/Strings.sol +0 -0
  385. /package/contracts/libs/{0.8.x/BytecodeStorage.sol → v0.8.x/BytecodeStorageV0.sol} +0 -0
  386. /package/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol +0 -0
  387. /package/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol +0 -0
@@ -0,0 +1,2281 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "GenArt721CoreV3_Engine_Flex_PROHIBITION",
4
+ "sourceName": "contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "string",
10
+ "name": "_tokenName",
11
+ "type": "string"
12
+ },
13
+ {
14
+ "internalType": "string",
15
+ "name": "_tokenSymbol",
16
+ "type": "string"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_renderProviderAddress",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "_platformProviderAddress",
26
+ "type": "address"
27
+ },
28
+ {
29
+ "internalType": "address",
30
+ "name": "_randomizerContract",
31
+ "type": "address"
32
+ },
33
+ {
34
+ "internalType": "address",
35
+ "name": "_adminACLContract",
36
+ "type": "address"
37
+ },
38
+ {
39
+ "internalType": "uint248",
40
+ "name": "_startingProjectId",
41
+ "type": "uint248"
42
+ },
43
+ {
44
+ "internalType": "bool",
45
+ "name": "_autoApproveArtistSplitProposals",
46
+ "type": "bool"
47
+ },
48
+ {
49
+ "internalType": "address",
50
+ "name": "_engineRegistryContract",
51
+ "type": "address"
52
+ }
53
+ ],
54
+ "stateMutability": "nonpayable",
55
+ "type": "constructor"
56
+ },
57
+ {
58
+ "anonymous": false,
59
+ "inputs": [
60
+ {
61
+ "indexed": true,
62
+ "internalType": "uint256",
63
+ "name": "_projectId",
64
+ "type": "uint256"
65
+ }
66
+ ],
67
+ "name": "AcceptedArtistAddressesAndSplits",
68
+ "type": "event"
69
+ },
70
+ {
71
+ "anonymous": false,
72
+ "inputs": [
73
+ {
74
+ "indexed": true,
75
+ "internalType": "address",
76
+ "name": "owner",
77
+ "type": "address"
78
+ },
79
+ {
80
+ "indexed": true,
81
+ "internalType": "address",
82
+ "name": "approved",
83
+ "type": "address"
84
+ },
85
+ {
86
+ "indexed": true,
87
+ "internalType": "uint256",
88
+ "name": "tokenId",
89
+ "type": "uint256"
90
+ }
91
+ ],
92
+ "name": "Approval",
93
+ "type": "event"
94
+ },
95
+ {
96
+ "anonymous": false,
97
+ "inputs": [
98
+ {
99
+ "indexed": true,
100
+ "internalType": "address",
101
+ "name": "owner",
102
+ "type": "address"
103
+ },
104
+ {
105
+ "indexed": true,
106
+ "internalType": "address",
107
+ "name": "operator",
108
+ "type": "address"
109
+ },
110
+ {
111
+ "indexed": false,
112
+ "internalType": "bool",
113
+ "name": "approved",
114
+ "type": "bool"
115
+ }
116
+ ],
117
+ "name": "ApprovalForAll",
118
+ "type": "event"
119
+ },
120
+ {
121
+ "anonymous": false,
122
+ "inputs": [
123
+ {
124
+ "indexed": true,
125
+ "internalType": "uint256",
126
+ "name": "_projectId",
127
+ "type": "uint256"
128
+ },
129
+ {
130
+ "indexed": true,
131
+ "internalType": "uint256",
132
+ "name": "_index",
133
+ "type": "uint256"
134
+ }
135
+ ],
136
+ "name": "ExternalAssetDependencyRemoved",
137
+ "type": "event"
138
+ },
139
+ {
140
+ "anonymous": false,
141
+ "inputs": [
142
+ {
143
+ "indexed": true,
144
+ "internalType": "uint256",
145
+ "name": "_projectId",
146
+ "type": "uint256"
147
+ },
148
+ {
149
+ "indexed": true,
150
+ "internalType": "uint256",
151
+ "name": "_index",
152
+ "type": "uint256"
153
+ },
154
+ {
155
+ "indexed": false,
156
+ "internalType": "string",
157
+ "name": "_cid",
158
+ "type": "string"
159
+ },
160
+ {
161
+ "indexed": false,
162
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
163
+ "name": "_dependencyType",
164
+ "type": "uint8"
165
+ },
166
+ {
167
+ "indexed": false,
168
+ "internalType": "uint24",
169
+ "name": "_externalAssetDependencyCount",
170
+ "type": "uint24"
171
+ }
172
+ ],
173
+ "name": "ExternalAssetDependencyUpdated",
174
+ "type": "event"
175
+ },
176
+ {
177
+ "anonymous": false,
178
+ "inputs": [
179
+ {
180
+ "indexed": true,
181
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
182
+ "name": "_dependencyType",
183
+ "type": "uint8"
184
+ },
185
+ {
186
+ "indexed": false,
187
+ "internalType": "string",
188
+ "name": "_gatewayAddress",
189
+ "type": "string"
190
+ }
191
+ ],
192
+ "name": "GatewayUpdated",
193
+ "type": "event"
194
+ },
195
+ {
196
+ "anonymous": false,
197
+ "inputs": [
198
+ {
199
+ "indexed": true,
200
+ "internalType": "address",
201
+ "name": "_to",
202
+ "type": "address"
203
+ },
204
+ {
205
+ "indexed": true,
206
+ "internalType": "uint256",
207
+ "name": "_tokenId",
208
+ "type": "uint256"
209
+ }
210
+ ],
211
+ "name": "Mint",
212
+ "type": "event"
213
+ },
214
+ {
215
+ "anonymous": false,
216
+ "inputs": [
217
+ {
218
+ "indexed": true,
219
+ "internalType": "address",
220
+ "name": "_currentMinter",
221
+ "type": "address"
222
+ }
223
+ ],
224
+ "name": "MinterUpdated",
225
+ "type": "event"
226
+ },
227
+ {
228
+ "anonymous": false,
229
+ "inputs": [
230
+ {
231
+ "indexed": true,
232
+ "internalType": "address",
233
+ "name": "previousOwner",
234
+ "type": "address"
235
+ },
236
+ {
237
+ "indexed": true,
238
+ "internalType": "address",
239
+ "name": "newOwner",
240
+ "type": "address"
241
+ }
242
+ ],
243
+ "name": "OwnershipTransferred",
244
+ "type": "event"
245
+ },
246
+ {
247
+ "anonymous": false,
248
+ "inputs": [
249
+ {
250
+ "indexed": true,
251
+ "internalType": "bytes32",
252
+ "name": "_field",
253
+ "type": "bytes32"
254
+ }
255
+ ],
256
+ "name": "PlatformUpdated",
257
+ "type": "event"
258
+ },
259
+ {
260
+ "anonymous": false,
261
+ "inputs": [
262
+ {
263
+ "indexed": true,
264
+ "internalType": "uint256",
265
+ "name": "_projectId",
266
+ "type": "uint256"
267
+ }
268
+ ],
269
+ "name": "ProjectExternalAssetDependenciesLocked",
270
+ "type": "event"
271
+ },
272
+ {
273
+ "anonymous": false,
274
+ "inputs": [
275
+ {
276
+ "indexed": true,
277
+ "internalType": "uint256",
278
+ "name": "_projectId",
279
+ "type": "uint256"
280
+ },
281
+ {
282
+ "indexed": true,
283
+ "internalType": "bytes32",
284
+ "name": "_update",
285
+ "type": "bytes32"
286
+ }
287
+ ],
288
+ "name": "ProjectUpdated",
289
+ "type": "event"
290
+ },
291
+ {
292
+ "anonymous": false,
293
+ "inputs": [
294
+ {
295
+ "indexed": true,
296
+ "internalType": "uint256",
297
+ "name": "_projectId",
298
+ "type": "uint256"
299
+ },
300
+ {
301
+ "indexed": false,
302
+ "internalType": "address",
303
+ "name": "_artistAddress",
304
+ "type": "address"
305
+ },
306
+ {
307
+ "indexed": false,
308
+ "internalType": "address",
309
+ "name": "_additionalPayeePrimarySales",
310
+ "type": "address"
311
+ },
312
+ {
313
+ "indexed": false,
314
+ "internalType": "uint256",
315
+ "name": "_additionalPayeePrimarySalesPercentage",
316
+ "type": "uint256"
317
+ },
318
+ {
319
+ "indexed": false,
320
+ "internalType": "address",
321
+ "name": "_additionalPayeeSecondarySales",
322
+ "type": "address"
323
+ },
324
+ {
325
+ "indexed": false,
326
+ "internalType": "uint256",
327
+ "name": "_additionalPayeeSecondarySalesPercentage",
328
+ "type": "uint256"
329
+ }
330
+ ],
331
+ "name": "ProposedArtistAddressesAndSplits",
332
+ "type": "event"
333
+ },
334
+ {
335
+ "anonymous": false,
336
+ "inputs": [
337
+ {
338
+ "indexed": true,
339
+ "internalType": "address",
340
+ "name": "from",
341
+ "type": "address"
342
+ },
343
+ {
344
+ "indexed": true,
345
+ "internalType": "address",
346
+ "name": "to",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "indexed": true,
351
+ "internalType": "uint256",
352
+ "name": "tokenId",
353
+ "type": "uint256"
354
+ }
355
+ ],
356
+ "name": "Transfer",
357
+ "type": "event"
358
+ },
359
+ {
360
+ "inputs": [
361
+ {
362
+ "internalType": "string",
363
+ "name": "_projectName",
364
+ "type": "string"
365
+ },
366
+ {
367
+ "internalType": "address payable",
368
+ "name": "_artistAddress",
369
+ "type": "address"
370
+ }
371
+ ],
372
+ "name": "addProject",
373
+ "outputs": [],
374
+ "stateMutability": "nonpayable",
375
+ "type": "function"
376
+ },
377
+ {
378
+ "inputs": [
379
+ {
380
+ "internalType": "uint256",
381
+ "name": "_projectId",
382
+ "type": "uint256"
383
+ },
384
+ {
385
+ "internalType": "string",
386
+ "name": "_cidOrData",
387
+ "type": "string"
388
+ },
389
+ {
390
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
391
+ "name": "_dependencyType",
392
+ "type": "uint8"
393
+ }
394
+ ],
395
+ "name": "addProjectExternalAssetDependency",
396
+ "outputs": [],
397
+ "stateMutability": "nonpayable",
398
+ "type": "function"
399
+ },
400
+ {
401
+ "inputs": [
402
+ {
403
+ "internalType": "uint256",
404
+ "name": "_projectId",
405
+ "type": "uint256"
406
+ },
407
+ {
408
+ "internalType": "string",
409
+ "name": "_script",
410
+ "type": "string"
411
+ }
412
+ ],
413
+ "name": "addProjectScript",
414
+ "outputs": [],
415
+ "stateMutability": "nonpayable",
416
+ "type": "function"
417
+ },
418
+ {
419
+ "inputs": [],
420
+ "name": "admin",
421
+ "outputs": [
422
+ {
423
+ "internalType": "address",
424
+ "name": "",
425
+ "type": "address"
426
+ }
427
+ ],
428
+ "stateMutability": "view",
429
+ "type": "function"
430
+ },
431
+ {
432
+ "inputs": [
433
+ {
434
+ "internalType": "address",
435
+ "name": "_sender",
436
+ "type": "address"
437
+ },
438
+ {
439
+ "internalType": "address",
440
+ "name": "_contract",
441
+ "type": "address"
442
+ },
443
+ {
444
+ "internalType": "bytes4",
445
+ "name": "_selector",
446
+ "type": "bytes4"
447
+ }
448
+ ],
449
+ "name": "adminACLAllowed",
450
+ "outputs": [
451
+ {
452
+ "internalType": "bool",
453
+ "name": "",
454
+ "type": "bool"
455
+ }
456
+ ],
457
+ "stateMutability": "nonpayable",
458
+ "type": "function"
459
+ },
460
+ {
461
+ "inputs": [
462
+ {
463
+ "internalType": "address",
464
+ "name": "_sender",
465
+ "type": "address"
466
+ },
467
+ {
468
+ "internalType": "address",
469
+ "name": "_contract",
470
+ "type": "address"
471
+ },
472
+ {
473
+ "internalType": "bytes4",
474
+ "name": "_selector",
475
+ "type": "bytes4"
476
+ },
477
+ {
478
+ "internalType": "uint256",
479
+ "name": "_projectId",
480
+ "type": "uint256"
481
+ }
482
+ ],
483
+ "name": "adminACLAllowed",
484
+ "outputs": [
485
+ {
486
+ "internalType": "bool",
487
+ "name": "",
488
+ "type": "bool"
489
+ }
490
+ ],
491
+ "stateMutability": "nonpayable",
492
+ "type": "function"
493
+ },
494
+ {
495
+ "inputs": [],
496
+ "name": "adminACLContract",
497
+ "outputs": [
498
+ {
499
+ "internalType": "contract IAdminACLV0",
500
+ "name": "",
501
+ "type": "address"
502
+ }
503
+ ],
504
+ "stateMutability": "view",
505
+ "type": "function"
506
+ },
507
+ {
508
+ "inputs": [
509
+ {
510
+ "internalType": "uint256",
511
+ "name": "_projectId",
512
+ "type": "uint256"
513
+ },
514
+ {
515
+ "internalType": "address payable",
516
+ "name": "_artistAddress",
517
+ "type": "address"
518
+ },
519
+ {
520
+ "internalType": "address payable",
521
+ "name": "_additionalPayeePrimarySales",
522
+ "type": "address"
523
+ },
524
+ {
525
+ "internalType": "uint256",
526
+ "name": "_additionalPayeePrimarySalesPercentage",
527
+ "type": "uint256"
528
+ },
529
+ {
530
+ "internalType": "address payable",
531
+ "name": "_additionalPayeeSecondarySales",
532
+ "type": "address"
533
+ },
534
+ {
535
+ "internalType": "uint256",
536
+ "name": "_additionalPayeeSecondarySalesPercentage",
537
+ "type": "uint256"
538
+ }
539
+ ],
540
+ "name": "adminAcceptArtistAddressesAndSplits",
541
+ "outputs": [],
542
+ "stateMutability": "nonpayable",
543
+ "type": "function"
544
+ },
545
+ {
546
+ "inputs": [
547
+ {
548
+ "internalType": "address",
549
+ "name": "to",
550
+ "type": "address"
551
+ },
552
+ {
553
+ "internalType": "uint256",
554
+ "name": "tokenId",
555
+ "type": "uint256"
556
+ }
557
+ ],
558
+ "name": "approve",
559
+ "outputs": [],
560
+ "stateMutability": "nonpayable",
561
+ "type": "function"
562
+ },
563
+ {
564
+ "inputs": [],
565
+ "name": "artblocksDependencyRegistryAddress",
566
+ "outputs": [
567
+ {
568
+ "internalType": "address",
569
+ "name": "",
570
+ "type": "address"
571
+ }
572
+ ],
573
+ "stateMutability": "view",
574
+ "type": "function"
575
+ },
576
+ {
577
+ "inputs": [],
578
+ "name": "autoApproveArtistSplitProposals",
579
+ "outputs": [
580
+ {
581
+ "internalType": "bool",
582
+ "name": "",
583
+ "type": "bool"
584
+ }
585
+ ],
586
+ "stateMutability": "view",
587
+ "type": "function"
588
+ },
589
+ {
590
+ "inputs": [
591
+ {
592
+ "internalType": "address",
593
+ "name": "owner",
594
+ "type": "address"
595
+ }
596
+ ],
597
+ "name": "balanceOf",
598
+ "outputs": [
599
+ {
600
+ "internalType": "uint256",
601
+ "name": "",
602
+ "type": "uint256"
603
+ }
604
+ ],
605
+ "stateMutability": "view",
606
+ "type": "function"
607
+ },
608
+ {
609
+ "inputs": [],
610
+ "name": "coreType",
611
+ "outputs": [
612
+ {
613
+ "internalType": "string",
614
+ "name": "",
615
+ "type": "string"
616
+ }
617
+ ],
618
+ "stateMutability": "pure",
619
+ "type": "function"
620
+ },
621
+ {
622
+ "inputs": [],
623
+ "name": "coreVersion",
624
+ "outputs": [
625
+ {
626
+ "internalType": "string",
627
+ "name": "",
628
+ "type": "string"
629
+ }
630
+ ],
631
+ "stateMutability": "pure",
632
+ "type": "function"
633
+ },
634
+ {
635
+ "inputs": [],
636
+ "name": "defaultBaseURI",
637
+ "outputs": [
638
+ {
639
+ "internalType": "string",
640
+ "name": "",
641
+ "type": "string"
642
+ }
643
+ ],
644
+ "stateMutability": "view",
645
+ "type": "function"
646
+ },
647
+ {
648
+ "inputs": [],
649
+ "name": "forbidNewProjects",
650
+ "outputs": [],
651
+ "stateMutability": "nonpayable",
652
+ "type": "function"
653
+ },
654
+ {
655
+ "inputs": [
656
+ {
657
+ "internalType": "uint256",
658
+ "name": "tokenId",
659
+ "type": "uint256"
660
+ }
661
+ ],
662
+ "name": "getApproved",
663
+ "outputs": [
664
+ {
665
+ "internalType": "address",
666
+ "name": "",
667
+ "type": "address"
668
+ }
669
+ ],
670
+ "stateMutability": "view",
671
+ "type": "function"
672
+ },
673
+ {
674
+ "inputs": [
675
+ {
676
+ "internalType": "uint256",
677
+ "name": "_index",
678
+ "type": "uint256"
679
+ }
680
+ ],
681
+ "name": "getHistoricalRandomizerAt",
682
+ "outputs": [
683
+ {
684
+ "internalType": "address",
685
+ "name": "",
686
+ "type": "address"
687
+ }
688
+ ],
689
+ "stateMutability": "view",
690
+ "type": "function"
691
+ },
692
+ {
693
+ "inputs": [
694
+ {
695
+ "internalType": "uint256",
696
+ "name": "_projectId",
697
+ "type": "uint256"
698
+ },
699
+ {
700
+ "internalType": "uint256",
701
+ "name": "_price",
702
+ "type": "uint256"
703
+ }
704
+ ],
705
+ "name": "getPrimaryRevenueSplits",
706
+ "outputs": [
707
+ {
708
+ "internalType": "uint256",
709
+ "name": "renderProviderRevenue_",
710
+ "type": "uint256"
711
+ },
712
+ {
713
+ "internalType": "address payable",
714
+ "name": "renderProviderAddress_",
715
+ "type": "address"
716
+ },
717
+ {
718
+ "internalType": "uint256",
719
+ "name": "platformProviderRevenue_",
720
+ "type": "uint256"
721
+ },
722
+ {
723
+ "internalType": "address payable",
724
+ "name": "platformProviderAddress_",
725
+ "type": "address"
726
+ },
727
+ {
728
+ "internalType": "uint256",
729
+ "name": "artistRevenue_",
730
+ "type": "uint256"
731
+ },
732
+ {
733
+ "internalType": "address payable",
734
+ "name": "artistAddress_",
735
+ "type": "address"
736
+ },
737
+ {
738
+ "internalType": "uint256",
739
+ "name": "additionalPayeePrimaryRevenue_",
740
+ "type": "uint256"
741
+ },
742
+ {
743
+ "internalType": "address payable",
744
+ "name": "additionalPayeePrimaryAddress_",
745
+ "type": "address"
746
+ }
747
+ ],
748
+ "stateMutability": "view",
749
+ "type": "function"
750
+ },
751
+ {
752
+ "inputs": [
753
+ {
754
+ "internalType": "uint256",
755
+ "name": "_tokenId",
756
+ "type": "uint256"
757
+ }
758
+ ],
759
+ "name": "getRoyalties",
760
+ "outputs": [
761
+ {
762
+ "internalType": "address payable[]",
763
+ "name": "recipients",
764
+ "type": "address[]"
765
+ },
766
+ {
767
+ "internalType": "uint256[]",
768
+ "name": "bps",
769
+ "type": "uint256[]"
770
+ }
771
+ ],
772
+ "stateMutability": "view",
773
+ "type": "function"
774
+ },
775
+ {
776
+ "inputs": [
777
+ {
778
+ "internalType": "address",
779
+ "name": "owner",
780
+ "type": "address"
781
+ },
782
+ {
783
+ "internalType": "address",
784
+ "name": "operator",
785
+ "type": "address"
786
+ }
787
+ ],
788
+ "name": "isApprovedForAll",
789
+ "outputs": [
790
+ {
791
+ "internalType": "bool",
792
+ "name": "",
793
+ "type": "bool"
794
+ }
795
+ ],
796
+ "stateMutability": "view",
797
+ "type": "function"
798
+ },
799
+ {
800
+ "inputs": [
801
+ {
802
+ "internalType": "address",
803
+ "name": "_minter",
804
+ "type": "address"
805
+ }
806
+ ],
807
+ "name": "isMintWhitelisted",
808
+ "outputs": [
809
+ {
810
+ "internalType": "bool",
811
+ "name": "",
812
+ "type": "bool"
813
+ }
814
+ ],
815
+ "stateMutability": "view",
816
+ "type": "function"
817
+ },
818
+ {
819
+ "inputs": [
820
+ {
821
+ "internalType": "uint256",
822
+ "name": "_projectId",
823
+ "type": "uint256"
824
+ }
825
+ ],
826
+ "name": "lockProjectExternalAssetDependencies",
827
+ "outputs": [],
828
+ "stateMutability": "nonpayable",
829
+ "type": "function"
830
+ },
831
+ {
832
+ "inputs": [
833
+ {
834
+ "internalType": "address",
835
+ "name": "_to",
836
+ "type": "address"
837
+ },
838
+ {
839
+ "internalType": "uint256",
840
+ "name": "_projectId",
841
+ "type": "uint256"
842
+ },
843
+ {
844
+ "internalType": "address",
845
+ "name": "_by",
846
+ "type": "address"
847
+ }
848
+ ],
849
+ "name": "mint_Ecf",
850
+ "outputs": [
851
+ {
852
+ "internalType": "uint256",
853
+ "name": "_tokenId",
854
+ "type": "uint256"
855
+ }
856
+ ],
857
+ "stateMutability": "nonpayable",
858
+ "type": "function"
859
+ },
860
+ {
861
+ "inputs": [],
862
+ "name": "minterContract",
863
+ "outputs": [
864
+ {
865
+ "internalType": "address",
866
+ "name": "",
867
+ "type": "address"
868
+ }
869
+ ],
870
+ "stateMutability": "view",
871
+ "type": "function"
872
+ },
873
+ {
874
+ "inputs": [],
875
+ "name": "name",
876
+ "outputs": [
877
+ {
878
+ "internalType": "string",
879
+ "name": "",
880
+ "type": "string"
881
+ }
882
+ ],
883
+ "stateMutability": "view",
884
+ "type": "function"
885
+ },
886
+ {
887
+ "inputs": [],
888
+ "name": "newProjectsForbidden",
889
+ "outputs": [
890
+ {
891
+ "internalType": "bool",
892
+ "name": "",
893
+ "type": "bool"
894
+ }
895
+ ],
896
+ "stateMutability": "view",
897
+ "type": "function"
898
+ },
899
+ {
900
+ "inputs": [],
901
+ "name": "nextProjectId",
902
+ "outputs": [
903
+ {
904
+ "internalType": "uint256",
905
+ "name": "",
906
+ "type": "uint256"
907
+ }
908
+ ],
909
+ "stateMutability": "view",
910
+ "type": "function"
911
+ },
912
+ {
913
+ "inputs": [],
914
+ "name": "numHistoricalRandomizers",
915
+ "outputs": [
916
+ {
917
+ "internalType": "uint256",
918
+ "name": "",
919
+ "type": "uint256"
920
+ }
921
+ ],
922
+ "stateMutability": "view",
923
+ "type": "function"
924
+ },
925
+ {
926
+ "inputs": [],
927
+ "name": "owner",
928
+ "outputs": [
929
+ {
930
+ "internalType": "address",
931
+ "name": "",
932
+ "type": "address"
933
+ }
934
+ ],
935
+ "stateMutability": "view",
936
+ "type": "function"
937
+ },
938
+ {
939
+ "inputs": [
940
+ {
941
+ "internalType": "uint256",
942
+ "name": "tokenId",
943
+ "type": "uint256"
944
+ }
945
+ ],
946
+ "name": "ownerOf",
947
+ "outputs": [
948
+ {
949
+ "internalType": "address",
950
+ "name": "",
951
+ "type": "address"
952
+ }
953
+ ],
954
+ "stateMutability": "view",
955
+ "type": "function"
956
+ },
957
+ {
958
+ "inputs": [],
959
+ "name": "platformProviderPrimarySalesAddress",
960
+ "outputs": [
961
+ {
962
+ "internalType": "address payable",
963
+ "name": "",
964
+ "type": "address"
965
+ }
966
+ ],
967
+ "stateMutability": "view",
968
+ "type": "function"
969
+ },
970
+ {
971
+ "inputs": [],
972
+ "name": "platformProviderPrimarySalesPercentage",
973
+ "outputs": [
974
+ {
975
+ "internalType": "uint256",
976
+ "name": "",
977
+ "type": "uint256"
978
+ }
979
+ ],
980
+ "stateMutability": "view",
981
+ "type": "function"
982
+ },
983
+ {
984
+ "inputs": [],
985
+ "name": "platformProviderSecondarySalesAddress",
986
+ "outputs": [
987
+ {
988
+ "internalType": "address payable",
989
+ "name": "",
990
+ "type": "address"
991
+ }
992
+ ],
993
+ "stateMutability": "view",
994
+ "type": "function"
995
+ },
996
+ {
997
+ "inputs": [],
998
+ "name": "platformProviderSecondarySalesBPS",
999
+ "outputs": [
1000
+ {
1001
+ "internalType": "uint256",
1002
+ "name": "",
1003
+ "type": "uint256"
1004
+ }
1005
+ ],
1006
+ "stateMutability": "view",
1007
+ "type": "function"
1008
+ },
1009
+ {
1010
+ "inputs": [],
1011
+ "name": "preferredArweaveGateway",
1012
+ "outputs": [
1013
+ {
1014
+ "internalType": "string",
1015
+ "name": "",
1016
+ "type": "string"
1017
+ }
1018
+ ],
1019
+ "stateMutability": "view",
1020
+ "type": "function"
1021
+ },
1022
+ {
1023
+ "inputs": [],
1024
+ "name": "preferredIPFSGateway",
1025
+ "outputs": [
1026
+ {
1027
+ "internalType": "string",
1028
+ "name": "",
1029
+ "type": "string"
1030
+ }
1031
+ ],
1032
+ "stateMutability": "view",
1033
+ "type": "function"
1034
+ },
1035
+ {
1036
+ "inputs": [
1037
+ {
1038
+ "internalType": "uint256",
1039
+ "name": "_projectId",
1040
+ "type": "uint256"
1041
+ }
1042
+ ],
1043
+ "name": "projectArtistPaymentInfo",
1044
+ "outputs": [
1045
+ {
1046
+ "internalType": "address",
1047
+ "name": "artistAddress",
1048
+ "type": "address"
1049
+ },
1050
+ {
1051
+ "internalType": "address",
1052
+ "name": "additionalPayeePrimarySales",
1053
+ "type": "address"
1054
+ },
1055
+ {
1056
+ "internalType": "uint256",
1057
+ "name": "additionalPayeePrimarySalesPercentage",
1058
+ "type": "uint256"
1059
+ },
1060
+ {
1061
+ "internalType": "address",
1062
+ "name": "additionalPayeeSecondarySales",
1063
+ "type": "address"
1064
+ },
1065
+ {
1066
+ "internalType": "uint256",
1067
+ "name": "additionalPayeeSecondarySalesPercentage",
1068
+ "type": "uint256"
1069
+ },
1070
+ {
1071
+ "internalType": "uint256",
1072
+ "name": "secondaryMarketRoyaltyPercentage",
1073
+ "type": "uint256"
1074
+ }
1075
+ ],
1076
+ "stateMutability": "view",
1077
+ "type": "function"
1078
+ },
1079
+ {
1080
+ "inputs": [
1081
+ {
1082
+ "internalType": "uint256",
1083
+ "name": "_projectId",
1084
+ "type": "uint256"
1085
+ }
1086
+ ],
1087
+ "name": "projectDetails",
1088
+ "outputs": [
1089
+ {
1090
+ "internalType": "string",
1091
+ "name": "projectName",
1092
+ "type": "string"
1093
+ },
1094
+ {
1095
+ "internalType": "string",
1096
+ "name": "artist",
1097
+ "type": "string"
1098
+ },
1099
+ {
1100
+ "internalType": "string",
1101
+ "name": "description",
1102
+ "type": "string"
1103
+ },
1104
+ {
1105
+ "internalType": "string",
1106
+ "name": "website",
1107
+ "type": "string"
1108
+ },
1109
+ {
1110
+ "internalType": "string",
1111
+ "name": "license",
1112
+ "type": "string"
1113
+ }
1114
+ ],
1115
+ "stateMutability": "view",
1116
+ "type": "function"
1117
+ },
1118
+ {
1119
+ "inputs": [
1120
+ {
1121
+ "internalType": "uint256",
1122
+ "name": "_projectId",
1123
+ "type": "uint256"
1124
+ },
1125
+ {
1126
+ "internalType": "uint256",
1127
+ "name": "_index",
1128
+ "type": "uint256"
1129
+ }
1130
+ ],
1131
+ "name": "projectExternalAssetDependencyByIndex",
1132
+ "outputs": [
1133
+ {
1134
+ "components": [
1135
+ {
1136
+ "internalType": "string",
1137
+ "name": "cid",
1138
+ "type": "string"
1139
+ },
1140
+ {
1141
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
1142
+ "name": "dependencyType",
1143
+ "type": "uint8"
1144
+ },
1145
+ {
1146
+ "internalType": "address",
1147
+ "name": "bytecodeAddress",
1148
+ "type": "address"
1149
+ },
1150
+ {
1151
+ "internalType": "string",
1152
+ "name": "data",
1153
+ "type": "string"
1154
+ }
1155
+ ],
1156
+ "internalType": "struct IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyWithData",
1157
+ "name": "",
1158
+ "type": "tuple"
1159
+ }
1160
+ ],
1161
+ "stateMutability": "view",
1162
+ "type": "function"
1163
+ },
1164
+ {
1165
+ "inputs": [
1166
+ {
1167
+ "internalType": "uint256",
1168
+ "name": "_projectId",
1169
+ "type": "uint256"
1170
+ }
1171
+ ],
1172
+ "name": "projectExternalAssetDependencyCount",
1173
+ "outputs": [
1174
+ {
1175
+ "internalType": "uint256",
1176
+ "name": "",
1177
+ "type": "uint256"
1178
+ }
1179
+ ],
1180
+ "stateMutability": "view",
1181
+ "type": "function"
1182
+ },
1183
+ {
1184
+ "inputs": [
1185
+ {
1186
+ "internalType": "uint256",
1187
+ "name": "_projectId",
1188
+ "type": "uint256"
1189
+ }
1190
+ ],
1191
+ "name": "projectIdToAdditionalPayeePrimarySales",
1192
+ "outputs": [
1193
+ {
1194
+ "internalType": "address payable",
1195
+ "name": "",
1196
+ "type": "address"
1197
+ }
1198
+ ],
1199
+ "stateMutability": "view",
1200
+ "type": "function"
1201
+ },
1202
+ {
1203
+ "inputs": [
1204
+ {
1205
+ "internalType": "uint256",
1206
+ "name": "_projectId",
1207
+ "type": "uint256"
1208
+ }
1209
+ ],
1210
+ "name": "projectIdToAdditionalPayeePrimarySalesPercentage",
1211
+ "outputs": [
1212
+ {
1213
+ "internalType": "uint256",
1214
+ "name": "",
1215
+ "type": "uint256"
1216
+ }
1217
+ ],
1218
+ "stateMutability": "view",
1219
+ "type": "function"
1220
+ },
1221
+ {
1222
+ "inputs": [
1223
+ {
1224
+ "internalType": "uint256",
1225
+ "name": "_projectId",
1226
+ "type": "uint256"
1227
+ }
1228
+ ],
1229
+ "name": "projectIdToAdditionalPayeeSecondarySales",
1230
+ "outputs": [
1231
+ {
1232
+ "internalType": "address payable",
1233
+ "name": "",
1234
+ "type": "address"
1235
+ }
1236
+ ],
1237
+ "stateMutability": "view",
1238
+ "type": "function"
1239
+ },
1240
+ {
1241
+ "inputs": [
1242
+ {
1243
+ "internalType": "uint256",
1244
+ "name": "_projectId",
1245
+ "type": "uint256"
1246
+ }
1247
+ ],
1248
+ "name": "projectIdToAdditionalPayeeSecondarySalesPercentage",
1249
+ "outputs": [
1250
+ {
1251
+ "internalType": "uint256",
1252
+ "name": "",
1253
+ "type": "uint256"
1254
+ }
1255
+ ],
1256
+ "stateMutability": "view",
1257
+ "type": "function"
1258
+ },
1259
+ {
1260
+ "inputs": [
1261
+ {
1262
+ "internalType": "uint256",
1263
+ "name": "_projectId",
1264
+ "type": "uint256"
1265
+ }
1266
+ ],
1267
+ "name": "projectIdToArtistAddress",
1268
+ "outputs": [
1269
+ {
1270
+ "internalType": "address payable",
1271
+ "name": "",
1272
+ "type": "address"
1273
+ }
1274
+ ],
1275
+ "stateMutability": "view",
1276
+ "type": "function"
1277
+ },
1278
+ {
1279
+ "inputs": [
1280
+ {
1281
+ "internalType": "uint256",
1282
+ "name": "_projectId",
1283
+ "type": "uint256"
1284
+ }
1285
+ ],
1286
+ "name": "projectIdToSecondaryMarketRoyaltyPercentage",
1287
+ "outputs": [
1288
+ {
1289
+ "internalType": "uint256",
1290
+ "name": "",
1291
+ "type": "uint256"
1292
+ }
1293
+ ],
1294
+ "stateMutability": "view",
1295
+ "type": "function"
1296
+ },
1297
+ {
1298
+ "inputs": [
1299
+ {
1300
+ "internalType": "uint256",
1301
+ "name": "_projectId",
1302
+ "type": "uint256"
1303
+ },
1304
+ {
1305
+ "internalType": "uint256",
1306
+ "name": "_index",
1307
+ "type": "uint256"
1308
+ }
1309
+ ],
1310
+ "name": "projectScriptByIndex",
1311
+ "outputs": [
1312
+ {
1313
+ "internalType": "string",
1314
+ "name": "",
1315
+ "type": "string"
1316
+ }
1317
+ ],
1318
+ "stateMutability": "view",
1319
+ "type": "function"
1320
+ },
1321
+ {
1322
+ "inputs": [
1323
+ {
1324
+ "internalType": "uint256",
1325
+ "name": "_projectId",
1326
+ "type": "uint256"
1327
+ },
1328
+ {
1329
+ "internalType": "uint256",
1330
+ "name": "_index",
1331
+ "type": "uint256"
1332
+ }
1333
+ ],
1334
+ "name": "projectScriptBytecodeAddressByIndex",
1335
+ "outputs": [
1336
+ {
1337
+ "internalType": "address",
1338
+ "name": "",
1339
+ "type": "address"
1340
+ }
1341
+ ],
1342
+ "stateMutability": "view",
1343
+ "type": "function"
1344
+ },
1345
+ {
1346
+ "inputs": [
1347
+ {
1348
+ "internalType": "uint256",
1349
+ "name": "_projectId",
1350
+ "type": "uint256"
1351
+ }
1352
+ ],
1353
+ "name": "projectScriptDetails",
1354
+ "outputs": [
1355
+ {
1356
+ "internalType": "string",
1357
+ "name": "scriptTypeAndVersion",
1358
+ "type": "string"
1359
+ },
1360
+ {
1361
+ "internalType": "string",
1362
+ "name": "aspectRatio",
1363
+ "type": "string"
1364
+ },
1365
+ {
1366
+ "internalType": "uint256",
1367
+ "name": "scriptCount",
1368
+ "type": "uint256"
1369
+ }
1370
+ ],
1371
+ "stateMutability": "view",
1372
+ "type": "function"
1373
+ },
1374
+ {
1375
+ "inputs": [
1376
+ {
1377
+ "internalType": "uint256",
1378
+ "name": "_projectId",
1379
+ "type": "uint256"
1380
+ }
1381
+ ],
1382
+ "name": "projectStateData",
1383
+ "outputs": [
1384
+ {
1385
+ "internalType": "uint256",
1386
+ "name": "invocations",
1387
+ "type": "uint256"
1388
+ },
1389
+ {
1390
+ "internalType": "uint256",
1391
+ "name": "maxInvocations",
1392
+ "type": "uint256"
1393
+ },
1394
+ {
1395
+ "internalType": "bool",
1396
+ "name": "active",
1397
+ "type": "bool"
1398
+ },
1399
+ {
1400
+ "internalType": "bool",
1401
+ "name": "paused",
1402
+ "type": "bool"
1403
+ },
1404
+ {
1405
+ "internalType": "uint256",
1406
+ "name": "completedTimestamp",
1407
+ "type": "uint256"
1408
+ },
1409
+ {
1410
+ "internalType": "bool",
1411
+ "name": "locked",
1412
+ "type": "bool"
1413
+ }
1414
+ ],
1415
+ "stateMutability": "view",
1416
+ "type": "function"
1417
+ },
1418
+ {
1419
+ "inputs": [
1420
+ {
1421
+ "internalType": "uint256",
1422
+ "name": "_projectId",
1423
+ "type": "uint256"
1424
+ }
1425
+ ],
1426
+ "name": "projectURIInfo",
1427
+ "outputs": [
1428
+ {
1429
+ "internalType": "string",
1430
+ "name": "projectBaseURI",
1431
+ "type": "string"
1432
+ }
1433
+ ],
1434
+ "stateMutability": "view",
1435
+ "type": "function"
1436
+ },
1437
+ {
1438
+ "inputs": [
1439
+ {
1440
+ "internalType": "uint256",
1441
+ "name": "_projectId",
1442
+ "type": "uint256"
1443
+ },
1444
+ {
1445
+ "internalType": "address payable",
1446
+ "name": "_artistAddress",
1447
+ "type": "address"
1448
+ },
1449
+ {
1450
+ "internalType": "address payable",
1451
+ "name": "_additionalPayeePrimarySales",
1452
+ "type": "address"
1453
+ },
1454
+ {
1455
+ "internalType": "uint256",
1456
+ "name": "_additionalPayeePrimarySalesPercentage",
1457
+ "type": "uint256"
1458
+ },
1459
+ {
1460
+ "internalType": "address payable",
1461
+ "name": "_additionalPayeeSecondarySales",
1462
+ "type": "address"
1463
+ },
1464
+ {
1465
+ "internalType": "uint256",
1466
+ "name": "_additionalPayeeSecondarySalesPercentage",
1467
+ "type": "uint256"
1468
+ }
1469
+ ],
1470
+ "name": "proposeArtistPaymentAddressesAndSplits",
1471
+ "outputs": [],
1472
+ "stateMutability": "nonpayable",
1473
+ "type": "function"
1474
+ },
1475
+ {
1476
+ "inputs": [
1477
+ {
1478
+ "internalType": "uint256",
1479
+ "name": "",
1480
+ "type": "uint256"
1481
+ }
1482
+ ],
1483
+ "name": "proposedArtistAddressesAndSplitsHash",
1484
+ "outputs": [
1485
+ {
1486
+ "internalType": "bytes32",
1487
+ "name": "",
1488
+ "type": "bytes32"
1489
+ }
1490
+ ],
1491
+ "stateMutability": "view",
1492
+ "type": "function"
1493
+ },
1494
+ {
1495
+ "inputs": [],
1496
+ "name": "randomizerContract",
1497
+ "outputs": [
1498
+ {
1499
+ "internalType": "contract IRandomizerV2",
1500
+ "name": "",
1501
+ "type": "address"
1502
+ }
1503
+ ],
1504
+ "stateMutability": "view",
1505
+ "type": "function"
1506
+ },
1507
+ {
1508
+ "inputs": [
1509
+ {
1510
+ "internalType": "uint256",
1511
+ "name": "_projectId",
1512
+ "type": "uint256"
1513
+ },
1514
+ {
1515
+ "internalType": "uint256",
1516
+ "name": "_index",
1517
+ "type": "uint256"
1518
+ }
1519
+ ],
1520
+ "name": "removeProjectExternalAssetDependency",
1521
+ "outputs": [],
1522
+ "stateMutability": "nonpayable",
1523
+ "type": "function"
1524
+ },
1525
+ {
1526
+ "inputs": [
1527
+ {
1528
+ "internalType": "uint256",
1529
+ "name": "_projectId",
1530
+ "type": "uint256"
1531
+ }
1532
+ ],
1533
+ "name": "removeProjectLastScript",
1534
+ "outputs": [],
1535
+ "stateMutability": "nonpayable",
1536
+ "type": "function"
1537
+ },
1538
+ {
1539
+ "inputs": [],
1540
+ "name": "renderProviderPrimarySalesAddress",
1541
+ "outputs": [
1542
+ {
1543
+ "internalType": "address payable",
1544
+ "name": "",
1545
+ "type": "address"
1546
+ }
1547
+ ],
1548
+ "stateMutability": "view",
1549
+ "type": "function"
1550
+ },
1551
+ {
1552
+ "inputs": [],
1553
+ "name": "renderProviderPrimarySalesPercentage",
1554
+ "outputs": [
1555
+ {
1556
+ "internalType": "uint256",
1557
+ "name": "",
1558
+ "type": "uint256"
1559
+ }
1560
+ ],
1561
+ "stateMutability": "view",
1562
+ "type": "function"
1563
+ },
1564
+ {
1565
+ "inputs": [],
1566
+ "name": "renderProviderSecondarySalesAddress",
1567
+ "outputs": [
1568
+ {
1569
+ "internalType": "address payable",
1570
+ "name": "",
1571
+ "type": "address"
1572
+ }
1573
+ ],
1574
+ "stateMutability": "view",
1575
+ "type": "function"
1576
+ },
1577
+ {
1578
+ "inputs": [],
1579
+ "name": "renderProviderSecondarySalesBPS",
1580
+ "outputs": [
1581
+ {
1582
+ "internalType": "uint256",
1583
+ "name": "",
1584
+ "type": "uint256"
1585
+ }
1586
+ ],
1587
+ "stateMutability": "view",
1588
+ "type": "function"
1589
+ },
1590
+ {
1591
+ "inputs": [],
1592
+ "name": "renounceOwnership",
1593
+ "outputs": [],
1594
+ "stateMutability": "nonpayable",
1595
+ "type": "function"
1596
+ },
1597
+ {
1598
+ "inputs": [
1599
+ {
1600
+ "internalType": "address",
1601
+ "name": "from",
1602
+ "type": "address"
1603
+ },
1604
+ {
1605
+ "internalType": "address",
1606
+ "name": "to",
1607
+ "type": "address"
1608
+ },
1609
+ {
1610
+ "internalType": "uint256",
1611
+ "name": "tokenId",
1612
+ "type": "uint256"
1613
+ }
1614
+ ],
1615
+ "name": "safeTransferFrom",
1616
+ "outputs": [],
1617
+ "stateMutability": "nonpayable",
1618
+ "type": "function"
1619
+ },
1620
+ {
1621
+ "inputs": [
1622
+ {
1623
+ "internalType": "address",
1624
+ "name": "from",
1625
+ "type": "address"
1626
+ },
1627
+ {
1628
+ "internalType": "address",
1629
+ "name": "to",
1630
+ "type": "address"
1631
+ },
1632
+ {
1633
+ "internalType": "uint256",
1634
+ "name": "tokenId",
1635
+ "type": "uint256"
1636
+ },
1637
+ {
1638
+ "internalType": "bytes",
1639
+ "name": "data",
1640
+ "type": "bytes"
1641
+ }
1642
+ ],
1643
+ "name": "safeTransferFrom",
1644
+ "outputs": [],
1645
+ "stateMutability": "nonpayable",
1646
+ "type": "function"
1647
+ },
1648
+ {
1649
+ "inputs": [
1650
+ {
1651
+ "internalType": "address",
1652
+ "name": "operator",
1653
+ "type": "address"
1654
+ },
1655
+ {
1656
+ "internalType": "bool",
1657
+ "name": "approved",
1658
+ "type": "bool"
1659
+ }
1660
+ ],
1661
+ "name": "setApprovalForAll",
1662
+ "outputs": [],
1663
+ "stateMutability": "nonpayable",
1664
+ "type": "function"
1665
+ },
1666
+ {
1667
+ "inputs": [
1668
+ {
1669
+ "internalType": "uint256",
1670
+ "name": "_tokenId",
1671
+ "type": "uint256"
1672
+ },
1673
+ {
1674
+ "internalType": "bytes32",
1675
+ "name": "_hashSeed",
1676
+ "type": "bytes32"
1677
+ }
1678
+ ],
1679
+ "name": "setTokenHash_8PT",
1680
+ "outputs": [],
1681
+ "stateMutability": "nonpayable",
1682
+ "type": "function"
1683
+ },
1684
+ {
1685
+ "inputs": [],
1686
+ "name": "startingProjectId",
1687
+ "outputs": [
1688
+ {
1689
+ "internalType": "uint256",
1690
+ "name": "",
1691
+ "type": "uint256"
1692
+ }
1693
+ ],
1694
+ "stateMutability": "view",
1695
+ "type": "function"
1696
+ },
1697
+ {
1698
+ "inputs": [
1699
+ {
1700
+ "internalType": "bytes4",
1701
+ "name": "interfaceId",
1702
+ "type": "bytes4"
1703
+ }
1704
+ ],
1705
+ "name": "supportsInterface",
1706
+ "outputs": [
1707
+ {
1708
+ "internalType": "bool",
1709
+ "name": "",
1710
+ "type": "bool"
1711
+ }
1712
+ ],
1713
+ "stateMutability": "view",
1714
+ "type": "function"
1715
+ },
1716
+ {
1717
+ "inputs": [],
1718
+ "name": "symbol",
1719
+ "outputs": [
1720
+ {
1721
+ "internalType": "string",
1722
+ "name": "",
1723
+ "type": "string"
1724
+ }
1725
+ ],
1726
+ "stateMutability": "view",
1727
+ "type": "function"
1728
+ },
1729
+ {
1730
+ "inputs": [
1731
+ {
1732
+ "internalType": "uint256",
1733
+ "name": "_projectId",
1734
+ "type": "uint256"
1735
+ }
1736
+ ],
1737
+ "name": "toggleProjectIsActive",
1738
+ "outputs": [],
1739
+ "stateMutability": "nonpayable",
1740
+ "type": "function"
1741
+ },
1742
+ {
1743
+ "inputs": [
1744
+ {
1745
+ "internalType": "uint256",
1746
+ "name": "_projectId",
1747
+ "type": "uint256"
1748
+ }
1749
+ ],
1750
+ "name": "toggleProjectIsPaused",
1751
+ "outputs": [],
1752
+ "stateMutability": "nonpayable",
1753
+ "type": "function"
1754
+ },
1755
+ {
1756
+ "inputs": [
1757
+ {
1758
+ "internalType": "uint256",
1759
+ "name": "_tokenId",
1760
+ "type": "uint256"
1761
+ }
1762
+ ],
1763
+ "name": "tokenIdToHash",
1764
+ "outputs": [
1765
+ {
1766
+ "internalType": "bytes32",
1767
+ "name": "",
1768
+ "type": "bytes32"
1769
+ }
1770
+ ],
1771
+ "stateMutability": "view",
1772
+ "type": "function"
1773
+ },
1774
+ {
1775
+ "inputs": [
1776
+ {
1777
+ "internalType": "uint256",
1778
+ "name": "_tokenId",
1779
+ "type": "uint256"
1780
+ }
1781
+ ],
1782
+ "name": "tokenIdToHashSeed",
1783
+ "outputs": [
1784
+ {
1785
+ "internalType": "bytes12",
1786
+ "name": "",
1787
+ "type": "bytes12"
1788
+ }
1789
+ ],
1790
+ "stateMutability": "view",
1791
+ "type": "function"
1792
+ },
1793
+ {
1794
+ "inputs": [
1795
+ {
1796
+ "internalType": "uint256",
1797
+ "name": "_tokenId",
1798
+ "type": "uint256"
1799
+ }
1800
+ ],
1801
+ "name": "tokenIdToProjectId",
1802
+ "outputs": [
1803
+ {
1804
+ "internalType": "uint256",
1805
+ "name": "_projectId",
1806
+ "type": "uint256"
1807
+ }
1808
+ ],
1809
+ "stateMutability": "pure",
1810
+ "type": "function"
1811
+ },
1812
+ {
1813
+ "inputs": [
1814
+ {
1815
+ "internalType": "uint256",
1816
+ "name": "_tokenId",
1817
+ "type": "uint256"
1818
+ }
1819
+ ],
1820
+ "name": "tokenURI",
1821
+ "outputs": [
1822
+ {
1823
+ "internalType": "string",
1824
+ "name": "",
1825
+ "type": "string"
1826
+ }
1827
+ ],
1828
+ "stateMutability": "view",
1829
+ "type": "function"
1830
+ },
1831
+ {
1832
+ "inputs": [
1833
+ {
1834
+ "internalType": "address",
1835
+ "name": "from",
1836
+ "type": "address"
1837
+ },
1838
+ {
1839
+ "internalType": "address",
1840
+ "name": "to",
1841
+ "type": "address"
1842
+ },
1843
+ {
1844
+ "internalType": "uint256",
1845
+ "name": "tokenId",
1846
+ "type": "uint256"
1847
+ }
1848
+ ],
1849
+ "name": "transferFrom",
1850
+ "outputs": [],
1851
+ "stateMutability": "nonpayable",
1852
+ "type": "function"
1853
+ },
1854
+ {
1855
+ "inputs": [
1856
+ {
1857
+ "internalType": "address",
1858
+ "name": "newOwner",
1859
+ "type": "address"
1860
+ }
1861
+ ],
1862
+ "name": "transferOwnership",
1863
+ "outputs": [],
1864
+ "stateMutability": "nonpayable",
1865
+ "type": "function"
1866
+ },
1867
+ {
1868
+ "inputs": [
1869
+ {
1870
+ "internalType": "address",
1871
+ "name": "_artblocksDependencyRegistryAddress",
1872
+ "type": "address"
1873
+ }
1874
+ ],
1875
+ "name": "updateArtblocksDependencyRegistryAddress",
1876
+ "outputs": [],
1877
+ "stateMutability": "nonpayable",
1878
+ "type": "function"
1879
+ },
1880
+ {
1881
+ "inputs": [
1882
+ {
1883
+ "internalType": "string",
1884
+ "name": "_gateway",
1885
+ "type": "string"
1886
+ }
1887
+ ],
1888
+ "name": "updateArweaveGateway",
1889
+ "outputs": [],
1890
+ "stateMutability": "nonpayable",
1891
+ "type": "function"
1892
+ },
1893
+ {
1894
+ "inputs": [
1895
+ {
1896
+ "internalType": "string",
1897
+ "name": "_defaultBaseURI",
1898
+ "type": "string"
1899
+ }
1900
+ ],
1901
+ "name": "updateDefaultBaseURI",
1902
+ "outputs": [],
1903
+ "stateMutability": "nonpayable",
1904
+ "type": "function"
1905
+ },
1906
+ {
1907
+ "inputs": [
1908
+ {
1909
+ "internalType": "string",
1910
+ "name": "_gateway",
1911
+ "type": "string"
1912
+ }
1913
+ ],
1914
+ "name": "updateIPFSGateway",
1915
+ "outputs": [],
1916
+ "stateMutability": "nonpayable",
1917
+ "type": "function"
1918
+ },
1919
+ {
1920
+ "inputs": [
1921
+ {
1922
+ "internalType": "address",
1923
+ "name": "_address",
1924
+ "type": "address"
1925
+ }
1926
+ ],
1927
+ "name": "updateMinterContract",
1928
+ "outputs": [],
1929
+ "stateMutability": "nonpayable",
1930
+ "type": "function"
1931
+ },
1932
+ {
1933
+ "inputs": [
1934
+ {
1935
+ "internalType": "uint256",
1936
+ "name": "_projectId",
1937
+ "type": "uint256"
1938
+ },
1939
+ {
1940
+ "internalType": "address payable",
1941
+ "name": "_artistAddress",
1942
+ "type": "address"
1943
+ }
1944
+ ],
1945
+ "name": "updateProjectArtistAddress",
1946
+ "outputs": [],
1947
+ "stateMutability": "nonpayable",
1948
+ "type": "function"
1949
+ },
1950
+ {
1951
+ "inputs": [
1952
+ {
1953
+ "internalType": "uint256",
1954
+ "name": "_projectId",
1955
+ "type": "uint256"
1956
+ },
1957
+ {
1958
+ "internalType": "string",
1959
+ "name": "_projectArtistName",
1960
+ "type": "string"
1961
+ }
1962
+ ],
1963
+ "name": "updateProjectArtistName",
1964
+ "outputs": [],
1965
+ "stateMutability": "nonpayable",
1966
+ "type": "function"
1967
+ },
1968
+ {
1969
+ "inputs": [
1970
+ {
1971
+ "internalType": "uint256",
1972
+ "name": "_projectId",
1973
+ "type": "uint256"
1974
+ },
1975
+ {
1976
+ "internalType": "string",
1977
+ "name": "_aspectRatio",
1978
+ "type": "string"
1979
+ }
1980
+ ],
1981
+ "name": "updateProjectAspectRatio",
1982
+ "outputs": [],
1983
+ "stateMutability": "nonpayable",
1984
+ "type": "function"
1985
+ },
1986
+ {
1987
+ "inputs": [
1988
+ {
1989
+ "internalType": "uint256",
1990
+ "name": "_projectId",
1991
+ "type": "uint256"
1992
+ },
1993
+ {
1994
+ "internalType": "string",
1995
+ "name": "_newBaseURI",
1996
+ "type": "string"
1997
+ }
1998
+ ],
1999
+ "name": "updateProjectBaseURI",
2000
+ "outputs": [],
2001
+ "stateMutability": "nonpayable",
2002
+ "type": "function"
2003
+ },
2004
+ {
2005
+ "inputs": [
2006
+ {
2007
+ "internalType": "uint256",
2008
+ "name": "_projectId",
2009
+ "type": "uint256"
2010
+ },
2011
+ {
2012
+ "internalType": "string",
2013
+ "name": "_projectDescription",
2014
+ "type": "string"
2015
+ }
2016
+ ],
2017
+ "name": "updateProjectDescription",
2018
+ "outputs": [],
2019
+ "stateMutability": "nonpayable",
2020
+ "type": "function"
2021
+ },
2022
+ {
2023
+ "inputs": [
2024
+ {
2025
+ "internalType": "uint256",
2026
+ "name": "_projectId",
2027
+ "type": "uint256"
2028
+ },
2029
+ {
2030
+ "internalType": "uint256",
2031
+ "name": "_index",
2032
+ "type": "uint256"
2033
+ },
2034
+ {
2035
+ "internalType": "string",
2036
+ "name": "_cidOrData",
2037
+ "type": "string"
2038
+ },
2039
+ {
2040
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
2041
+ "name": "_dependencyType",
2042
+ "type": "uint8"
2043
+ }
2044
+ ],
2045
+ "name": "updateProjectExternalAssetDependency",
2046
+ "outputs": [],
2047
+ "stateMutability": "nonpayable",
2048
+ "type": "function"
2049
+ },
2050
+ {
2051
+ "inputs": [
2052
+ {
2053
+ "internalType": "uint256",
2054
+ "name": "_projectId",
2055
+ "type": "uint256"
2056
+ },
2057
+ {
2058
+ "internalType": "string",
2059
+ "name": "_projectLicense",
2060
+ "type": "string"
2061
+ }
2062
+ ],
2063
+ "name": "updateProjectLicense",
2064
+ "outputs": [],
2065
+ "stateMutability": "nonpayable",
2066
+ "type": "function"
2067
+ },
2068
+ {
2069
+ "inputs": [
2070
+ {
2071
+ "internalType": "uint256",
2072
+ "name": "_projectId",
2073
+ "type": "uint256"
2074
+ },
2075
+ {
2076
+ "internalType": "uint24",
2077
+ "name": "_maxInvocations",
2078
+ "type": "uint24"
2079
+ }
2080
+ ],
2081
+ "name": "updateProjectMaxInvocations",
2082
+ "outputs": [],
2083
+ "stateMutability": "nonpayable",
2084
+ "type": "function"
2085
+ },
2086
+ {
2087
+ "inputs": [
2088
+ {
2089
+ "internalType": "uint256",
2090
+ "name": "_projectId",
2091
+ "type": "uint256"
2092
+ },
2093
+ {
2094
+ "internalType": "string",
2095
+ "name": "_projectName",
2096
+ "type": "string"
2097
+ }
2098
+ ],
2099
+ "name": "updateProjectName",
2100
+ "outputs": [],
2101
+ "stateMutability": "nonpayable",
2102
+ "type": "function"
2103
+ },
2104
+ {
2105
+ "inputs": [
2106
+ {
2107
+ "internalType": "uint256",
2108
+ "name": "_projectId",
2109
+ "type": "uint256"
2110
+ },
2111
+ {
2112
+ "internalType": "uint256",
2113
+ "name": "_scriptId",
2114
+ "type": "uint256"
2115
+ },
2116
+ {
2117
+ "internalType": "string",
2118
+ "name": "_script",
2119
+ "type": "string"
2120
+ }
2121
+ ],
2122
+ "name": "updateProjectScript",
2123
+ "outputs": [],
2124
+ "stateMutability": "nonpayable",
2125
+ "type": "function"
2126
+ },
2127
+ {
2128
+ "inputs": [
2129
+ {
2130
+ "internalType": "uint256",
2131
+ "name": "_projectId",
2132
+ "type": "uint256"
2133
+ },
2134
+ {
2135
+ "internalType": "bytes32",
2136
+ "name": "_scriptTypeAndVersion",
2137
+ "type": "bytes32"
2138
+ }
2139
+ ],
2140
+ "name": "updateProjectScriptType",
2141
+ "outputs": [],
2142
+ "stateMutability": "nonpayable",
2143
+ "type": "function"
2144
+ },
2145
+ {
2146
+ "inputs": [
2147
+ {
2148
+ "internalType": "uint256",
2149
+ "name": "_projectId",
2150
+ "type": "uint256"
2151
+ },
2152
+ {
2153
+ "internalType": "uint256",
2154
+ "name": "_secondMarketRoyalty",
2155
+ "type": "uint256"
2156
+ }
2157
+ ],
2158
+ "name": "updateProjectSecondaryMarketRoyaltyPercentage",
2159
+ "outputs": [],
2160
+ "stateMutability": "nonpayable",
2161
+ "type": "function"
2162
+ },
2163
+ {
2164
+ "inputs": [
2165
+ {
2166
+ "internalType": "uint256",
2167
+ "name": "_projectId",
2168
+ "type": "uint256"
2169
+ },
2170
+ {
2171
+ "internalType": "string",
2172
+ "name": "_projectWebsite",
2173
+ "type": "string"
2174
+ }
2175
+ ],
2176
+ "name": "updateProjectWebsite",
2177
+ "outputs": [],
2178
+ "stateMutability": "nonpayable",
2179
+ "type": "function"
2180
+ },
2181
+ {
2182
+ "inputs": [
2183
+ {
2184
+ "internalType": "uint256",
2185
+ "name": "renderProviderPrimarySalesPercentage_",
2186
+ "type": "uint256"
2187
+ },
2188
+ {
2189
+ "internalType": "uint256",
2190
+ "name": "platformProviderPrimarySalesPercentage_",
2191
+ "type": "uint256"
2192
+ }
2193
+ ],
2194
+ "name": "updateProviderPrimarySalesPercentages",
2195
+ "outputs": [],
2196
+ "stateMutability": "nonpayable",
2197
+ "type": "function"
2198
+ },
2199
+ {
2200
+ "inputs": [
2201
+ {
2202
+ "internalType": "address payable",
2203
+ "name": "_renderProviderPrimarySalesAddress",
2204
+ "type": "address"
2205
+ },
2206
+ {
2207
+ "internalType": "address payable",
2208
+ "name": "_renderProviderSecondarySalesAddress",
2209
+ "type": "address"
2210
+ },
2211
+ {
2212
+ "internalType": "address payable",
2213
+ "name": "_platformProviderPrimarySalesAddress",
2214
+ "type": "address"
2215
+ },
2216
+ {
2217
+ "internalType": "address payable",
2218
+ "name": "_platformProviderSecondarySalesAddress",
2219
+ "type": "address"
2220
+ }
2221
+ ],
2222
+ "name": "updateProviderSalesAddresses",
2223
+ "outputs": [],
2224
+ "stateMutability": "nonpayable",
2225
+ "type": "function"
2226
+ },
2227
+ {
2228
+ "inputs": [
2229
+ {
2230
+ "internalType": "uint256",
2231
+ "name": "_renderProviderSecondarySalesBPS",
2232
+ "type": "uint256"
2233
+ },
2234
+ {
2235
+ "internalType": "uint256",
2236
+ "name": "_platformProviderSecondarySalesBPS",
2237
+ "type": "uint256"
2238
+ }
2239
+ ],
2240
+ "name": "updateProviderSecondarySalesBPS",
2241
+ "outputs": [],
2242
+ "stateMutability": "nonpayable",
2243
+ "type": "function"
2244
+ },
2245
+ {
2246
+ "inputs": [
2247
+ {
2248
+ "internalType": "address",
2249
+ "name": "_randomizerAddress",
2250
+ "type": "address"
2251
+ }
2252
+ ],
2253
+ "name": "updateRandomizerAddress",
2254
+ "outputs": [],
2255
+ "stateMutability": "nonpayable",
2256
+ "type": "function"
2257
+ }
2258
+ ],
2259
+ "bytecode": "0x60c06040526c1b995e1d141c9bda9958dd1259609a1b6007557f6e657750726f6a65637473466f7262696464656e0000000000000000000000006008556d64656661756c744261736555524960901b6009557072616e646f6d697a65724164647265737360781b600a557f646570656e64656e637952656769737472794164647265737300000000000000600b557f70726f766964657253616c657341646472657373657300000000000000000000600c557f70726f76696465725072696d61727950657263656e7461676573000000000000600d557f70726f76696465725365636f6e64617279425053000000000000000000000000600e556818dbdb5c1b195d195960ba1b600f556561637469766560d01b6010556c6172746973744164647265737360981b601155651c185d5cd95960d21b6012556618dc99585d195960ca1b601355636e616d6560e01b601455696172746973744e616d6560b01b60155570726f79616c747950657263656e7461676560781b6016556a3232b9b1b934b83a34b7b760a91b601755667765627369746560c81b601855666c6963656e736560c81b6019556d6d6178496e766f636174696f6e7360901b601a55651cd8dc9a5c1d60d21b601b55697363726970745479706560b01b601c556a617370656374526174696f60a81b601d55666261736555524960c81b601e556028805460ff60a01b19908116600560a11b90811790925560298054909116909117905560fa602b819055602d55603180546001600160881b0319167014303132333435363738396162636465661790553480156200025857600080fd5b5060405162006c2f38038062006c2f8339810160408190526200027b9162000908565b888860006200028b838262000a92565b5060016200029a828262000a92565b505050620002b7620002b16200043e60201b60201c565b62000442565b620002c2876200046f565b620002cd866200046f565b620002d8856200046f565b620002e3846200046f565b81151560a0526001600160f81b0383166080526200030487808880620004ce565b6200030f8562000539565b6200031a8462000442565b620003516200032930620005b0565b6040516020016200033b919062000b5e565b60408051601f19818403018152919052620005dc565b602f80547fff00000000000000000000000000000000000000000000000000000000000000166001600160f81b03851617905560075460405160008051602062006c0f83398151915290600090a260405163f889b3ed60e01b81523060048201526576332e312e3360d01b60248201527f47656e417274373231436f726556335f456e67696e655f466c6578000000000060448201526001600160a01b0382169063f889b3ed90606401600060405180830381600087803b1580156200041657600080fd5b505af11580156200042b573d6000803e3d6000fd5b5050505050505050505050505062000c26565b3390565b6200044d8162000609565b602280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116620004cb5760405162461bcd60e51b815260206004820152601b60248201527f4d75737420696e707574206e6f6e2d7a65726f2061646472657373000000000060448201526064015b60405180910390fd5b50565b602980546001600160a01b038085166001600160a01b031992831617909255602c805484841690831617905560288054878416908316179055602a805492861692909116919091179055600c5460405160008051602062006c0f83398151915290600090a250505050565b602080546001600160a01b0383166001600160a01b031991821681179092556021805460018101825560009182527f3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b5700180549092169092179055600a54604051909160008051602062006c0f83398151915291a250565b603154606090620005d6906001600160a01b03841690600160801b900460ff166200065b565b92915050565b6030620005ea828262000a92565b5060095460405160008051602062006c0f83398151915290600090a250565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060006200066c83600262000bc6565b6200067990600262000be0565b6001600160401b038111156200069357620006936200080d565b6040519080825280601f01601f191660200182016040528015620006be576020820181803683370190505b509050600360fc1b81600081518110620006dc57620006dc62000bf6565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106200070e576200070e62000bf6565b60200101906001600160f81b031916908160001a90535060006200073484600262000bc6565b6200074190600162000be0565b90505b6001811115620007b55760315460801b600f8616601081106200076b576200076b62000bf6565b1a60f81b82828151811062000784576200078462000bf6565b60200101906001600160f81b031916908160001a90535060049490941c93620007ad8162000c0c565b905062000744565b508315620008065760405162461bcd60e51b815260206004820152601760248201527f686578206c656e67746820696e73756666696369656e740000000000000000006044820152606401620004c2565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200084057818101518382015260200162000826565b50506000910152565b600082601f8301126200085b57600080fd5b81516001600160401b03808211156200087857620008786200080d565b604051601f8301601f19908116603f01168101908282118183101715620008a357620008a36200080d565b81604052838152866020858801011115620008bd57600080fd5b620008d084602083016020890162000823565b9695505050505050565b80516001600160a01b0381168114620008f257600080fd5b919050565b80518015158114620008f257600080fd5b60008060008060008060008060006101208a8c0312156200092857600080fd5b89516001600160401b03808211156200094057600080fd5b6200094e8d838e0162000849565b9a5060208c01519150808211156200096557600080fd5b50620009748c828d0162000849565b9850506200098560408b01620008da565b96506200099560608b01620008da565b9550620009a560808b01620008da565b9450620009b560a08b01620008da565b60c08b01519094506001600160f81b0381168114620009d357600080fd5b9250620009e360e08b01620008f7565b9150620009f46101008b01620008da565b90509295985092959850929598565b600181811c9082168062000a1857607f821691505b60208210810362000a3957634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000a8d57600081815260208120601f850160051c8101602086101562000a685750805b601f850160051c820191505b8181101562000a895782815560010162000a74565b5050505b505050565b81516001600160401b0381111562000aae5762000aae6200080d565b62000ac68162000abf845462000a03565b8462000a3f565b602080601f83116001811462000afe576000841562000ae55750858301515b600019600386901b1c1916600185901b17855562000a89565b600085815260208120601f198616915b8281101562000b2f5788860151825594840194600190910190840162000b0e565b508582101562000b4e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b7f68747470733a2f2f746f6b656e2e617274626c6f636b732e696f2f000000000081526000825162000b9881601b85016020870162000823565b602f60f81b601b939091019283015250601c01919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620005d657620005d662000bb0565b80820180821115620005d657620005d662000bb0565b634e487b7160e01b600052603260045260246000fd5b60008162000c1e5762000c1e62000bb0565b506000190190565b60805160a051615fb562000c5a60003960008181610c940152611ef2015260008181610de401526147d70152615fb56000f3fe608060405234801561001057600080fd5b506004361061048d5760003560e01c8063715018a611610265578063b7b04fae1161014d578063b7b04fae14610b7a578063b7ba527d14610b8d578063b88d4fde14610b95578063b971136814610ba8578063ba3c234514610bb0578063bb3bafd614610bc3578063bd3d10e714610be4578063c34a03b514610bf7578063c6c7c5bf14610c0a578063c87b56dd14610c1d578063cc90e72514610c30578063d03c390c14610c43578063d50f513814610c56578063db21a84614610c69578063db2ff86114610c7c578063e6032df214610c8f578063e935b7b114610cb6578063e985e9c514610cc7578063eb9cd5d414610cda578063ed8abfda14610cfc578063f2fde38b14610d26578063f313d73314610d39578063f6cd39e314610dcf578063f851a44014610dd7578063f893c07b14610ddf57600080fd5b8063715018a6146108f157806376ee6fab146108f95780638639415b1461090c5780638c3c9cdd146109675780638da5cb5b1461097a5780638dd91a561461098257806392f00233146109a657806395d89b41146109b95780639a02e4fa146109c1578063a11ec70a146109f8578063a22cb46514610a0b578063a3b2cca614610a1e578063a47d29cb14610a31578063abcbb7b414610a5d578063ac11fa1c14610a65578063acad012414610a85578063acd4c66f14610a98578063ad0305ce14610aaa578063ad28329014610acc578063ad2cdfc414610af9578063ad576c4514610b26578063ae45ad9814610b39578063b1656ba314610b41578063b168762214610b54578063b75395e014610b6757600080fd5b806328ec8f501161038857806328ec8f50146106dd5780632b2741661461070a5780632b65e67d1461071d5780632b8258c5146107305780632d9c02051461073957806330ef4c5f1461074c57806336c7c12c1461075e578063378599631461077157806338c8e468146107845780633bb22553146107b05780633e48e848146107b957806341814cd3146107cc57806342842e0e146107df57806348337282146107f25780634e1d64af146108055780635464c3091461080d5780635508fd521461082057806358b9a5a914610834578063621a1f741461086c5780636352211e1461087f5780636689c8de1461089257806366e46237146108a557806369d14faf146108b85780636c907b7f146108cb57806370a08231146108de57600080fd5b80611e3c146104925780615de5146104a75780630132c697146104cd57806301856fd4146104e057806301ffc9a7146104f357806304143a5c1461051657806306fdde031461051e578063081812fc14610533578063095ea7b3146105535780630d170673146105665780630e79c928146105795780630ea5613f1461058c5780630ebeb0ee146105d657806310a9ef18146105ff57806317df5366146106125780631ab6014c146106255780631b689c0b146106385780631c05cad71461064b5780631e9bef461461065e5780632302cbda14610671578063230448b11461068457806323b872dd1461069757806325b75d68146106aa5780632642c6b6146106bd575b600080fd5b6104a56104a0366004614e9b565b610e06565b005b6104ba6104b5366004614ed2565b610f37565b6040519081526020015b60405180910390f35b6104a56104db366004614f14565b6111db565b6104a56104ee366004614e9b565b6112f9565b610506610501366004614f62565b6113a1565b60405190151581526020016104c4565b6104a56113cc565b610526611437565b6040516104c49190614fd6565b610546610541366004614fe9565b6114c9565b6040516104c49190615002565b6104a5610561366004615016565b6114f0565b6104a561057436600461510d565b611605565b6104a561058736600461510d565b611664565b61059f61059a366004614fe9565b611853565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c0016104c4565b6105466105e4366004614fe9565b6000908152602660205260409020546001600160a01b031690565b6104a561060d366004615167565b6118b6565b601f54610546906001600160a01b031681565b602954610546906001600160a01b031681565b6104ba610646366004614fe9565b611a85565b6104a56106593660046151c7565b611a94565b602254610546906001600160a01b031681565b6104a561067f366004615223565b611ad7565b610506610692366004615257565b611aff565b6104a56106a5366004615297565b611b17565b6104a56106b836600461510d565b611b48565b6106d06106cb366004614e9b565b611ba7565b6040516104c49190615310565b6104ba6106eb366004614fe9565b600090815260266020526040902060010154600160a01b900460ff1690565b6104a5610718366004615371565b611d1d565b6104a561072b36600461538e565b611d71565b6104ba602d5481565b610526610747366004614fe9565b6120df565b602954600160a01b900460ff166104ba565b602054610546906001600160a01b031681565b6104a561077f36600461510d565b612184565b610546610792366004614fe9565b6000908152602660205260409020600101546001600160a01b031690565b6104ba602b5481565b6104a56107c736600461510d565b6121d1565b602a54610546906001600160a01b031681565b6104a56107ed366004615297565b612227565b6104a5610800366004615371565b612242565b6105266122a8565b6104a561081b3660046153f5565b6122c1565b602f5461050690600160f81b900460ff1681565b610546610842366004614e9b565b6000918252602360209081526040808420928452600990920190529020546001600160a01b031690565b6104ba61087a366004614fe9565b612322565b61054661088d366004614fe9565b612384565b6105066108a0366004615466565b6123b9565b6104a56108b33660046154b7565b61246e565b6104a56108c636600461550d565b612623565b6104a56108d9366004615371565b612690565b6104ba6108ec366004615371565b6126b5565b6104a561273b565b6104a561090736600461538e565b612753565b61091f61091a366004614e9b565b61291b565b604080519889526001600160a01b0397881660208a015288019590955292851660608701526080860191909152831660a085015260c08401521660e0820152610100016104c4565b610526610975366004614e9b565b612a24565b610546612a83565b610995610990366004614fe9565b612a97565b6040516104c4959493929190615532565b602e54610546906001600160a01b031681565b610526612d8b565b6109eb6109cf366004614fe9565b600090815260026020526040902054600160a01b900460a01b90565b6040516104c4919061559f565b6104a5610a06366004614fe9565b612d9a565b6104a5610a193660046155c2565b612ded565b6104a5610a2c36600461510d565b612dfc565b610546610a3f366004614fe9565b6000908152602660205260409020600201546001600160a01b031690565b610526612ed0565b6104ba610a73366004614fe9565b60276020526000908152604090205481565b6104a5610a9336600461510d565b612f5e565b602854600160a01b900460ff166104ba565b610506610ab8366004615371565b602e546001600160a01b0390811691161490565b6104ba610ada366004614fe9565b6000908152602360205260409020600a0154610100900462ffffff1690565b6104ba610b07366004614fe9565b600090815260266020526040902060020154600160a01b900460ff1690565b6104a5610b34366004614e9b565b613029565b6105266131b4565b6104a5610b4f3660046155f0565b6131dd565b610546610b62366004614fe9565b6132b9565b602854610546906001600160a01b031681565b6104a5610b8836600461510d565b613331565b610526613390565b6104a5610ba336600461563f565b61339d565b6021546104ba565b6104a5610bbe366004614fe9565b6133cf565b610bd6610bd1366004614fe9565b61342f565b6040516104c49291906156be565b6104a5610bf2366004614e9b565b6136c3565b6104a5610c05366004614e9b565b613776565b602c54610546906001600160a01b031681565b610526610c2b366004614fe9565b61380f565b6104a5610c3e366004615742565b6138f7565b6104a5610c51366004614fe9565b613acf565b6104a5610c643660046153f5565b613b33565b6104a5610c77366004614e9b565b613b5b565b6104a5610c8a366004614fe9565b613be7565b6105067f000000000000000000000000000000000000000000000000000000000000000081565b602f546001600160f81b03166104ba565b610506610cd5366004615788565b613cef565b610ced610ce8366004614fe9565b613d1d565b6040516104c4939291906157b6565b6104ba610d0a366004614fe9565b600090815260266020526040902054600160a01b900460ff1690565b6104a5610d34366004615371565b613de9565b610d91610d47366004614fe9565b6000908152602660205260409020600281015481546001909201546001600160a01b03808316948482169460ff600160a01b95869004811695938516948490048116939091041690565b604080516001600160a01b039788168152958716602087015285019390935293166060830152608082019290925260a081019190915260c0016104c4565b610526613e5f565b610546613e6c565b6104ba7f000000000000000000000000000000000000000000000000000000000000000081565b610e0f82613e76565b600082815260026020908152604090912090546001600160a01b03163314610e785760405162461bcd60e51b815260206004820152601760248201527613db9b1e481c985b991bdb5a5e995c881b585e481cd95d604a1b60448201526064015b60405180910390fd5b8054600160a01b900460a01b6001600160a01b03191615610ed45760405162461bcd60e51b8152602060048201526016602482015275151bdad95b881a185cda08185b1c9958591e481cd95d60521b6044820152606401610e6f565b81610f155760405162461bcd60e51b8152602060048201526011602482015270139bc81e995c9bc81a185cda081cd95959607a1b6044820152606401610e6f565b805460a09290921c600160a01b026001600160a01b0390921691909117905550565b602e546000906001600160a01b03163314610f945760405162461bcd60e51b815260206004820152601e60248201527f4d757374206d696e742066726f6d206d696e74657220636f6e747261637400006044820152606401610e6f565b6000838152602360205260409020805462ffffff8082169160018301916301000000909104168083106110095760405162461bcd60e51b815260206004820152601f60248201527f4d757374206e6f7420657863656564206d617820696e766f636174696f6e73006044820152606401610e6f565b8354600160881b900460ff168061103c57506000878152602660205260409020600201546001600160a01b038781169116145b6110885760405162461bcd60e51b815260206004820181905260248201527f50726f6a656374206d75737420657869737420616e64206265206163746976656044820152606401610e6f565b8354600160901b900460ff1615806110bc57506000878152602660205260409020600201546001600160a01b038781169116145b6111005760405162461bcd60e51b8152602060048201526015602482015274283ab931b430b9b2b99030b932903830bab9b2b21760591b6044820152606401610e6f565b835462ffffff191662ffffff8381169182178655848116620f42408a02019190831690036111315761113188613ec5565b61113b8982613f15565b602054604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b15801561118157600080fd5b505af1158015611195573d6000803e3d6000fd5b50506040518392506001600160a01b038c1691507f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590600090a398975050505050505050565b6111ec82630132c69760e01b614047565b6000828152602360205260409020805462ffffff808216916301000000900481169084161061125c5760405162461bcd60e51b815260206004820152601c60248201527b4f6e6c79206d6178496e766f636174696f6e7320646563726561736560201b6044820152606401610e6f565b808362ffffff1610156112a85760405162461bcd60e51b81526020600482015260146024820152734f6e6c792067746520696e766f636174696f6e7360601b6044820152606401610e6f565b815465ffffff0000001916630100000062ffffff851602178255601a546040518590600080516020615f6083398151915290600090a3808362ffffff16036112f3576112f384613ec5565b50505050565b611302826140c2565b6113128262615bf560e21b614047565b6000828152602360205260409081902090611330908390600161410a565b6113795760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b6044820152606401610e6f565b60078101829055601c546040518490600080516020615f6083398151915290600090a3505050565b60006001600160e01b03198216635d9dd7eb60e11b14806113c657506113c68261417d565b92915050565b6113df6301050e9760e21b6000196141cd565b602f54600160f81b900460ff161561142d5760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903337b93134b23232b760791b6044820152606401610e6f565b6114356141f5565b565b606060008054611446906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611472906157ec565b80156114bf5780601f10611494576101008083540402835291602001916114bf565b820191906000526020600020905b8154815290600101906020018083116114a257829003601f168201915b5050505050905090565b60006114d482614237565b506000908152600460205260409020546001600160a01b031690565b60006114fb82612384565b9050806001600160a01b0316836001600160a01b0316036115685760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610e6f565b336001600160a01b038216148061158457506115848133613cef565b6115f65760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610e6f565b611600838361425c565b505050565b61160e826140c2565b61161f82630d17067360e01b614047565b611628816142ca565b60008281526023602052604090206001016116438282615883565b506014546040518390600080516020615f6083398151915290600090a35050565b61166d826140c2565b61167e826301cf392560e31b614047565b611687816142ca565b80518190600b8111156116db5760405162461bcd60e51b815260206004820152601c60248201527b41737065637420726174696f20666f726d617420746f6f206c6f6e6760201b6044820152606401610e6f565b60008060005b838110156117c75760008582815181106116fd576116fd61593c565b01602001516001600160f81b0319169050600360fc1b81108015906117305750603960f81b6001600160f81b0319821611155b1561173f5760019250506117b5565b6001600160f81b03198116601760f91b0361176357836117635760019350506117b5565b60405162461bcd60e51b815260206004820152602160248201527f496d70726f7065726c7920666f726d61747465642061737065637420726174696044820152606f60f81b6064820152608401610e6f565b806117bf81615968565b9150506116e1565b50806118135760405162461bcd60e51b815260206004820152601b60248201527a41737065637420726174696f20686173206e6f206e756d6265727360281b6044820152606401610e6f565b600086815260236020526040902060080161182e8682615883565b50601d546040518790600080516020615f6083398151915290600090a3505050505050565b6000818152602360205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b0316916118a988614319565b1591505091939550919395565b6118bf84614363565b6118d0846302153de360e31b614047565b6000848152602360205260409020600a0154610100900462ffffff1680841061190b5760405162461bcd60e51b8152600401610e6f90615981565b6000858152602360209081526040808320878452600b0190915290206001808201805460ff81169286929160ff19169083600281111561194d5761194d6152d8565b02179055506002846002811115611966576119666152d8565b03611a1757600281600281111561197f5761197f6152d8565b146119b857604080516020808201835260008083528a8152602382528381208a8252600b0190915291909120906119b69082615883565b505b6119c1856143c4565b60008881526023602090815260408083208a8452600b01825280832060010180546001600160a01b039590951661010002610100600160a81b031990951694909417909355825190810190925281529450611a3f565b6000878152602360209081526040808320898452600b019091529020611a3d8682615883565b505b85877f1628bf0d5f04426de03959d1da1357d8210b3b99e35281256ab7e9bd55dae949878787604051611a74939291906159b3565b60405180910390a350505050505050565b60006113c6620f4240836159fe565b611aa7631c05cad760e01b6000196141cd565b611ab084614474565b611ab983614474565b611ac282614474565b611acb81614474565b6112f3848484846144c8565b611aea63118165ed60e11b6000196141cd565b611af3816142ca565b611afc81614532565b50565b6000611b0f8484846000196123b9565b949350505050565b611b21338261455c565b611b3d5760405162461bcd60e51b8152600401610e6f90615a12565b6116008383836145ba565b611b51826140c2565b611b62826304b6ebad60e31b614047565b611b6b816142ca565b6000828152602360205260409020600501611b868282615883565b506019546040518390600080516020615f6083398151915290600090a35050565b611bd3604080516080810190915260608152602081016000815260006020820152606060409091015290565b6000838152602360209081526040808320858452600b01909152908190206001810154825160808101909352815491926101009091046001600160a01b03169181908490611c20906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611c4c906157ec565b8015611c995780601f10611c6e57610100808354040283529160200191611c99565b820191906000526020600020905b815481529060010190602001808311611c7c57829003601f168201915b5050509183525050600184015460209091019060ff166002811115611cc057611cc06152d8565b81526001600160a01b03831660208201526040016002600185015460ff166002811115611cef57611cef6152d8565b14611d095760405180602001604052806000815250611d12565b611d1283614756565b905295945050505050565b611d30631593a0b360e11b6000196141cd565b611d3981614474565b601f80546001600160a01b0319166001600160a01b038316179055600b54604051600080516020615f4083398151915290600090a250565b611d7a866147d5565b611d8b86632b65e67d60e01b614047565b611d9485614474565b600086815260266020526040902060648411801590611db4575060648211155b611dee5760405162461bcd60e51b815260206004820152600b60248201526a4d6178206f66203130302560a81b6044820152606401610e6f565b831580611e0357506001600160a01b03851615155b611e4f5760405162461bcd60e51b815260206004820152601d60248201527f5072696d617279207061796565206973207a65726f20616464726573730000006044820152606401610e6f565b811580611e6457506001600160a01b03831615155b611eb05760405162461bcd60e51b815260206004820152601f60248201527f5365636f6e64617279207061796565206973207a65726f2061646472657373006044820152606401610e6f565b867f6ff7d102bb3657a26dcbbcd299d821a066718a7cf76ae7cd98279f18b74da8ac8787878787604051611ee8959493929190615a60565b60405180910390a27f000000000000000000000000000000000000000000000000000000000000000080611f8e57600282015482546001600160a01b03918216898316149160009181169089161480611f4857506001600160a01b038816155b60018501549091506000906001600160a01b0388811691161480611f7357506001600160a01b038716155b9050828015611f7f5750815b8015611f885750805b93505050505b8015612096576000801b602760008a815260200190815260200160002081905550868260020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550858260000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550848260020160146101000a81548160ff021916908360ff160217905550838260010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828260010160146101000a81548160ff021916908360ff160217905550877fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a26120d5565b86868686866040516020016120af959493929190615a60565b60408051601f19818403018152918152815160209283012060008b815260279093529120555b5050505050505050565b60008181526023602052604090206006018054606091906120ff906157ec565b80601f016020809104026020016040519081016040528092919081815260200182805461212b906157ec565b80156121785780601f1061214d57610100808354040283529160200191612178565b820191906000526020600020905b81548152906001019060200180831161215b57829003601f168201915b50505050509050919050565b61219582633785996360e01b614047565b60008281526023602052604090206004016121b08282615883565b506018546040518390600080516020615f6083398151915290600090a35050565b6121e2826307c91d0960e31b614047565b6121eb816142ca565b60008281526023602052604090206006016122068282615883565b50601e546040518390600080516020615f6083398151915290600090a35050565b6116008383836040518060200160405280600081525061339d565b612255632419b94160e11b6000196141cd565b61225e81614474565b602e80546001600160a01b0319166001600160a01b0383169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a250565b60606122bc6576332e312e3360d01b614857565b905090565b6122d4635464c30960e01b6000196141cd565b60256122e1828483615a93565b5060015b7f897675a9bb2e78c7082f6dd757f2db5e1d07724c1f2d46fea1da4e17e5061afd8383604051612316929190615b4d565b60405180910390a25050565b600081815260026020526040812054600160a01b900460a01b6001600160a01b0319811682036123555750600092915050565b80604051602001612366919061559f565b60405160208183030381529060405280519060200120915050919050565b6000818152600260205260408120546001600160a01b0316806113c65760405162461bcd60e51b8152600401610e6f90615b7c565b6000806123c4612a83565b6001600160a01b031614158015612465575060225460405163a8c4c7d360e01b81526001600160a01b03878116600483015286811660248301526001600160e01b031986166044830152606482018590529091169063a8c4c7d3906084016020604051808303816000875af1158015612441573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124659190615bae565b95945050505050565b61247783614363565b612488836366e4623760e01b614047565b6000838152602360205260408120600a0154610100900462ffffff169060028360028111156124b9576124b96152d8565b036124dc576124c7846143c4565b90506040518060200160405280600081525093505b60006040518060600160405280868152602001856002811115612501576125016152d8565b81526001600160a01b038416602091820152600088815260238252604080822062ffffff88168352600b01909252208151919250829181906125439082615883565b50602082015160018083018054909160ff199091169083600281111561256b5761256b6152d8565b021790555060409190910151600191820180546001600160a01b0390921661010002610100600160a81b03199092169190911790556125ab908490615bcb565b6000878152602360205260409020600a01805463ffffff00191661010062ffffff938416021790558316867f1628bf0d5f04426de03959d1da1357d8210b3b99e35281256ab7e9bd55dae9498787612604886001615bcb565b604051612613939291906159b3565b60405180910390a3505050505050565b61262c826147d5565b61263d826369d14faf60e01b6148c2565b61264681614474565b60008281526026602052604080822060020180546001600160a01b0319166001600160a01b038516179055601154905190918491600080516020615f608339815191529190a35050565b6126a3636c907b7f60e01b6000196141cd565b6126ac81614474565b611afc8161497a565b60006001600160a01b03821661271f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610e6f565b506001600160a01b031660009081526003602052604090205490565b6127436149f0565b61274b6141f5565b611435614a4f565b61275c866147d5565b61276d866376ee6fab60e01b6148c2565b61277685614474565b848484848460405160200161278f959493929190615a60565b60408051601f19818403018152918152815160209283012060008981526027909352912054146127fe5760405162461bcd60e51b815260206004820152601a602482015279135d5cdd081b585d18da08185c9d1a5cdd081c1c9bdc1bdcd85b60321b6044820152606401610e6f565b6000602660008881526020019081526020016000209050858160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550848160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838160020160146101000a81548160ff021916908360ff160217905550828160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818160010160146101000a81548160ff021916908360ff1602179055506000801b6027600089815260200190815260200160002081905550867fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a250505050505050565b60008281526026602052604081206028548291829182918291829182918291908a9060649061295490600160a01b900460ff1683615bee565b61295e91906159fe565b995061296a8a82615c05565b60295490915060649061298790600160a01b900460ff168d615bee565b61299191906159fe565b975061299d8882615c05565b60028301549091506064906129bc90600160a01b900460ff1683615bee565b6129c691906159fe565b93506129d28482615c05565b6028546029546001600160a01b039182169b5016975095508515612a015760028201546001600160a01b031694505b8315612a155781546001600160a01b031692505b50509295985092959890939650565b6000828152602360205260409020805460609190600160301b900462ffffff168310612a605750506040805160208101909152600081526113c6565b6000838152600982016020526040902054611b0f906001600160a01b0316614756565b60006122bc6006546001600160a01b031690565b60608060608060606000602360008881526020019081526020016000209050806001018054612ac5906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612af1906157ec565b8015612b3e5780601f10612b1357610100808354040283529160200191612b3e565b820191906000526020600020905b815481529060010190602001808311612b2157829003601f168201915b50505050509550806002018054612b54906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612b80906157ec565b8015612bcd5780601f10612ba257610100808354040283529160200191612bcd565b820191906000526020600020905b815481529060010190602001808311612bb057829003601f168201915b50505050509450806003018054612be3906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612c0f906157ec565b8015612c5c5780601f10612c3157610100808354040283529160200191612c5c565b820191906000526020600020905b815481529060010190602001808311612c3f57829003601f168201915b50505050509350806004018054612c72906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612c9e906157ec565b8015612ceb5780601f10612cc057610100808354040283529160200191612ceb565b820191906000526020600020905b815481529060010190602001808311612cce57829003601f168201915b50505050509250806005018054612d01906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612d2d906157ec565b8015612d7a5780601f10612d4f57610100808354040283529160200191612d7a565b820191906000526020600020905b815481529060010190602001808311612d5d57829003601f168201915b505050505091505091939590929450565b606060018054611446906157ec565b612da381614a61565b600081815260236020526040808220805460ff60901b198116600160901b9182900460ff1615909102179055601254905190918391600080516020615f608339815191529190a350565b612df8338383614ab8565b5050565b612e0582614319565b15612e2057612e1b826351d9665360e11b614047565b612e94565b612e3333306351d9665360e11b856123b9565b612e945760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c7920617274697374207768656e20756e6c6f636b65642c206f776e657260448201526b081dda195b881b1bd8dad95960a21b6064820152608401610e6f565b6000828152602360205260409020600301612eaf8282615883565b506017546040518390600080516020615f6083398151915290600090a35050565b60308054612edd906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612f09906157ec565b8015612f565780601f10612f2b57610100808354040283529160200191612f56565b820191906000526020600020905b815481529060010190602001808311612f3957829003601f168201915b505050505081565b612f67826140c2565b612f7882632b2b404960e21b614047565b612f81816142ca565b6000828152602360205260409020612f98826143c4565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b0394909416939093179092558254612fea92919004166001615bcb565b815462ffffff91909116600160301b0262ffffff60301b19909116178155601b546040518490600080516020615f6083398151915290600090a3505050565b61303282614363565b6130438263ad576c4560e01b614047565b6000828152602360205260409020600a0154610100900462ffffff1680821061307e5760405162461bcd60e51b8152600401610e6f90615981565b600061308b600183615c18565b600085815260236020908152604080832062ffffff85168452600b01909152808220868352912091925090806130c18382615c34565b50600182810154828201805460ff90921692909160ff1916908360028111156130ec576130ec6152d8565b021790555060019182015491018054610100600160a81b031916610100928390046001600160a01b0316909202919091179055600084815260236020908152604080832062ffffff85168452600b0190915281209061314b8282614e4d565b5060010180546001600160a81b0319169055600084815260236020526040808220600a01805463ffffff00191661010062ffffff86160217905551849186917fa2290757ebb75dea327ace340daae74c1ac76aca04f6fd163fbf5b87e6d707599190a350505050565b60606122bc7a08ecadc82e4e86e646286dee4caac66be8adcced2dccabe8cd8caf602b1b614857565b6131e6836140c2565b6131f78363b1656ba360e01b614047565b613200816142ca565b60008381526023602052604090208054600160301b900462ffffff1683106132625760405162461bcd60e51b81526020600482015260156024820152747363726970744964206f7574206f662072616e676560581b6044820152606401610e6f565b61326b826143c4565b600084815260098301602052604080822080546001600160a01b0319166001600160a01b039490941693909317909255601b5491518691600080516020615f6083398151915291a350505050565b60215460009082106133035760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606401610e6f565b602182815481106133165761331661593c565b6000918252602090912001546001600160a01b031692915050565b61333a826140c2565b61334b82635bd827d760e11b614047565b613354816142ca565b600082815260236020526040902060020161336f8282615883565b506015546040518390600080516020615f6083398151915290600090a35050565b60258054612edd906157ec565b6133a7338361455c565b6133c35760405162461bcd60e51b8152600401610e6f90615a12565b6112f384848484614b82565b6133d881614363565b6133e98163ba3c234560e01b614047565b600081815260236020526040808220600a01805460ff191660011790555182917fcbd4f9053ca1f820efad7731ae6c938613bfef183ee6f03f61cc8d4ab583f5dc91a250565b60608061343b83613e76565b60408051600480825260a082019092529060208201608080368337505060408051600480825260a08201909252929450905060208201608080368337019050509050600061348884611a85565b600081815260266020526040812080546001820154939450909260ff600160a01b92839004811693929091041690826134c2836064615c05565b6134cc9190615bee565b905060006134da8484615bee565b602b54602d5491925090600084156135545760028801548b516001600160a01b03909116908c90839081106135115761351161593c565b6001600160a01b0390921660209283029190910190910152848a8261353581615968565b9350815181106135475761354761593c565b6020026020010181815250505b83156135c25760018801548b516001600160a01b03909116908c908390811061357f5761357f61593c565b6001600160a01b0390921660209283029190910190910152838a826135a381615968565b9350815181106135b5576135b561593c565b6020026020010181815250505b821561362e57602a548b516001600160a01b03909116908c90839081106135eb576135eb61593c565b6001600160a01b0390921660209283029190910190910152828a8261360f81615968565b9350815181106136215761362161593c565b6020026020010181815250505b811561369a57602c548b516001600160a01b03909116908c90839081106136575761365761593c565b6001600160a01b0390921660209283029190910190910152818a8261367b81615968565b93508151811061368d5761368d61593c565b6020026020010181815250505b80600411156136b55780600403808c51038c52808b51038b52505b505050505050505050915091565b6136d663bd3d10e760e01b6000196141cd565b60646136e28284615d00565b111561372b5760405162461bcd60e51b81526020600482015260186024820152774d61782073756d206f66204f4e455f48554e44524544202560401b6044820152606401610e6f565b6028805460ff808516600160a01b90810260ff60a01b1993841617909355602980549185169093029116179055600d54604051600080516020615f4083398151915290600090a25050565b6137878263c34a03b560e01b614047565b605f8111156137cb5760405162461bcd60e51b815260206004820152601060248201526f13dd995c881b585e081c195c98d95b9d60821b6044820152606401610e6f565b600082815260266020526040808220805460ff60a01b1916600160a01b60ff861602179055601654905190918491600080516020615f608339815191529190a35050565b606061381a82613e76565b60006023600061382985611a85565b81526020019081526020016000206006018054613845906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054613871906157ec565b80156138be5780601f10613893576101008083540402835291602001916138be565b820191906000526020600020905b8154815290600101906020018083116138a157829003601f168201915b50505050509050806138cf84614bb5565b6040516020016138e0929190615d13565b604051602081830303815290604052915050919050565b613900826142ca565b61390981614474565b602f54600160f81b900460ff161561395c5760405162461bcd60e51b81526020600482015260166024820152752732bb90383937b532b1ba39903337b93134b23232b760511b6044820152606401610e6f565b6022546040516217798b60e61b815233600482015230602482015263cc90e72560e01b60448201526001600160a01b03909116906305de62c0906064016020604051808303816000875af11580156139b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139dc9190615bae565b6139f85760405162461bcd60e51b8152600401610e6f90615d42565b602f546001600160f81b0316600081815260266020908152604080832060020180546001600160a01b0319166001600160a01b03871617905560239091529020600101613a458482615883565b506000818152602360205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b01178155600601613a82603082615c34565b50613a8e816001615d72565b602f80546001600160f81b0319166001600160f81b03929092169190911790556013546040518290600080516020615f6083398151915290600090a3505050565b613ae063340f0e4360e21b826141cd565b613ae9816147d5565b600081815260236020526040808220805460ff60881b198116600160881b9182900460ff1615909102179055601054905190918391600080516020615f608339815191529190a350565b613b46631aa1ea2760e31b6000196141cd565b6024613b53828483615a93565b5060006122e5565b613b6e636d90d42360e11b6000196141cd565b612710613b7b8284615d00565b1115613bbf5760405162461bcd60e51b81526020600482015260136024820152724f766572206d61782073756d206f662042505360681b6044820152606401610e6f565b602b829055602d819055600e54604051600080516020615f4083398151915290600090a25050565b613bf0816140c2565b613c018163db2ff86160e01b614047565b60008181526023602052604090208054600160301b900462ffffff16613c605760405162461bcd60e51b81526020600482015260146024820152734e6f207363726970747320746f2072656d6f766560601b6044820152606401610e6f565b80546009820190600090613c8290600190600160301b900462ffffff16615c18565b62ffffff908116825260208201929092526040908101600090812080546001600160a01b0319169055835462ffffff60301b198116600160301b9182900485166000190190941602929092178355601b54905190918491600080516020615f608339815191529190a35050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000818152602360205260408120600781015460609283929091613d4090614857565b9350806008018054613d51906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054613d7d906157ec565b8015613dca5780601f10613d9f57610100808354040283529160200191613dca565b820191906000526020600020905b815481529060010190602001808311613dad57829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b613df16149f0565b6001600160a01b038116613e565760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610e6f565b611afc81614cb5565b60248054612edd906157ec565b60006122bc612a83565b613e7f81614ce0565b611afc5760405162461bcd60e51b8152602060048201526017602482015276151bdad95b88125108191bd95cc81b9bdd08195e1a5cdd604a1b6044820152606401610e6f565b600081815260236020526040808220805467ffffffffffffffff60481b1916600160481b426001600160401b031602179055600f54905190918391600080516020615f608339815191529190a350565b6001600160a01b038216613f6b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610e6f565b613f7481614ce0565b15613fc05760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606401610e6f565b6001600160a01b0382166000908152600360205260408120805460019290613fe9908490615d00565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152602660205260409020600201546001600160a01b03163314806140765750614076333083856123b9565b612df85760405162461bcd60e51b815260206004820181905260248201527f4f6e6c7920617274697374206f722041646d696e2041434c20616c6c6f7765646044820152606401610e6f565b6140cb81614319565b611afc5760405162461bcd60e51b815260206004820152601060248201526f13db9b1e481a59881d5b9b1bd8dad95960821b6044820152606401610e6f565b600080805b60208160ff161015614169576000868260ff16602081106141325761413261593c565b1a90508015801590614147575060808160ff16105b15614160578560ff168160ff1603614160578260010192505b5060010161410f565b8360ff168260ff1614925050509392505050565b60006001600160e01b031982166380ac58cd60e01b14806141ae57506001600160e01b03198216635b5e139f60e01b145b806113c657506301ffc9a760e01b6001600160e01b03198316146113c6565b6141d9333084846123b9565b612df85760405162461bcd60e51b8152600401610e6f90615d42565b602f54600160f81b900460ff1661143557602f80546001600160f81b0316600160f81b179055600854604051600080516020615f4083398151915290600090a2565b61424081614ce0565b611afc5760405162461bcd60e51b8152600401610e6f90615b7c565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061429182612384565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8051600003611afc5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b6044820152606401610e6f565b6000614324826147d5565b600082815260236020526040902054600160481b90046001600160401b031680158080611b0f57506224ea0061435a8342615c05565b10949350505050565b6000818152602360205260409020600a015460ff1615611afc5760405162461bcd60e51b815260206004820152601c60248201527b115e1d195c9b985b0819195c195b99195b98da595cc81b1bd8dad95960221b6044820152606401610e6f565b6000807f42797465636f646553746f726167655f56312e302e305f5f5f5f5f5f5f5f5f2030846040516020016143fc93929190615d92565b60405160208183030381529060405290508051602082016000f091506001600160a01b03821661446e5760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610e6f565b50919050565b6001600160a01b038116611afc5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b6044820152606401610e6f565b602980546001600160a01b038085166001600160a01b031992831617909255602c805484841690831617905560288054878416908316179055602a805492861692909116919091179055600c54604051600080516020615f4083398151915290600090a250505050565b603061453e8282615883565b50600954604051600080516020615f4083398151915290600090a250565b60008061456883612384565b9050806001600160a01b0316846001600160a01b0316148061458f575061458f8185613cef565b80611b0f5750836001600160a01b03166145a8846114c9565b6001600160a01b031614949350505050565b826001600160a01b03166145cd82612384565b6001600160a01b0316146146315760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610e6f565b6001600160a01b0382166146935760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610e6f565b61469e60008261425c565b6001600160a01b03831660009081526003602052604081208054600192906146c7908490615c05565b90915550506001600160a01b03821660009081526003602052604081208054600192906146f5908490615d00565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b604051630eacc5e760e31b815260609073__$55f4e50e6128becd8bf164b272db98df09$__906375662f3890614790908590600401615002565b600060405180830381865af41580156147ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113c69190810190615df3565b7f0000000000000000000000000000000000000000000000000000000000000000811015801561480f5750602f546001600160f81b031681105b611afc5760405162461bcd60e51b8152602060048201526019602482015278141c9bda9958dd08125108191bd95cc81b9bdd08195e1a5cdd603a1b6044820152606401610e6f565b606060005b828160ff16602081106148715761487161593c565b1a60f81b6001600160f81b03191615801590614890575060208160ff16105b156148a7578061489f81615e60565b91505061485c565b60405191506040820160405280825282602083015250919050565b6148ce333083856123b9565b8061490d575060006148de612a83565b6001600160a01b031614801561490d57506000828152602660205260409020600201546001600160a01b031633145b612df85760405162461bcd60e51b815260206004820152603860248201527f4f6e6c792041646d696e2041434c20616c6c6f7765642c206f722061727469736044820152771d081a59881bdddb995c881a185cc81c995b9bdd5b98d95960421b6064820152608401610e6f565b602080546001600160a01b0383166001600160a01b031991821681179092556021805460018101825560009182527f3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b5700180549092169092179055600a546040519091600080516020615f4083398151915291a250565b336149f9612a83565b6001600160a01b0316146114355760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e6f565b614a576149f0565b6114356000614cb5565b6000818152602660205260409020600201546001600160a01b03163314611afc5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48185c9d1a5cdd60aa1b6044820152606401610e6f565b816001600160a01b0316836001600160a01b031603614b155760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610e6f565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b614b8d8484846145ba565b614b9984848484614cfd565b6112f35760405162461bcd60e51b8152600401610e6f90615e7f565b606081600003614bdc5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115614c065780614bf081615968565b9150614bff9050600a836159fe565b9150614be0565b6000816001600160401b03811115614c2057614c20615042565b6040519080825280601f01601f191660200182016040528015614c4a576020820181803683370190505b5090505b8415611b0f57614c5f600183615c05565b9150614c6c600a86615ed1565b614c77906030615d00565b60f81b818381518110614c8c57614c8c61593c565b60200101906001600160f81b031916908160001a905350614cae600a866159fe565b9450614c4e565b614cbe81614dfb565b602280546001600160a01b0319166001600160a01b0392909216919091179055565b6000908152600260205260409020546001600160a01b0316151590565b60006001600160a01b0384163b15614df357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290614d41903390899088908890600401615ee5565b6020604051808303816000875af1925050508015614d7c575060408051601f3d908101601f19168201909252614d7991810190615f22565b60015b614dd9573d808015614daa576040519150601f19603f3d011682016040523d82523d6000602084013e614daf565b606091505b508051600003614dd15760405162461bcd60e51b8152600401610e6f90615e7f565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611b0f565b506001611b0f565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b508054614e59906157ec565b6000825580601f10614e69575050565b601f016020900490600052602060002090810190611afc91905b80821115614e975760008155600101614e83565b5090565b60008060408385031215614eae57600080fd5b50508035926020909101359150565b6001600160a01b0381168114611afc57600080fd5b600080600060608486031215614ee757600080fd5b8335614ef281614ebd565b9250602084013591506040840135614f0981614ebd565b809150509250925092565b60008060408385031215614f2757600080fd5b82359150602083013562ffffff81168114614f4157600080fd5b809150509250929050565b6001600160e01b031981168114611afc57600080fd5b600060208284031215614f7457600080fd5b8135614f7f81614f4c565b9392505050565b60005b83811015614fa1578181015183820152602001614f89565b50506000910152565b60008151808452614fc2816020860160208601614f86565b601f01601f19169290920160200192915050565b602081526000614f7f6020830184614faa565b600060208284031215614ffb57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6000806040838503121561502957600080fd5b823561503481614ebd565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561508057615080615042565b604052919050565b60006001600160401b038211156150a1576150a1615042565b50601f01601f191660200190565b60006150c26150bd84615088565b615058565b90508281528383830111156150d657600080fd5b828260208301376000602084830101529392505050565b600082601f8301126150fe57600080fd5b614f7f838335602085016150af565b6000806040838503121561512057600080fd5b8235915060208301356001600160401b0381111561513d57600080fd5b615149858286016150ed565b9150509250929050565b80356003811061516257600080fd5b919050565b6000806000806080858703121561517d57600080fd5b843593506020850135925060408501356001600160401b038111156151a157600080fd5b6151ad878288016150ed565b9250506151bc60608601615153565b905092959194509250565b600080600080608085870312156151dd57600080fd5b84356151e881614ebd565b935060208501356151f881614ebd565b9250604085013561520881614ebd565b9150606085013561521881614ebd565b939692955090935050565b60006020828403121561523557600080fd5b81356001600160401b0381111561524b57600080fd5b611b0f848285016150ed565b60008060006060848603121561526c57600080fd5b833561527781614ebd565b9250602084013561528781614ebd565b91506040840135614f0981614f4c565b6000806000606084860312156152ac57600080fd5b83356152b781614ebd565b925060208401356152c781614ebd565b929592945050506040919091013590565b634e487b7160e01b600052602160045260246000fd5b6003811061530c57634e487b7160e01b600052602160045260246000fd5b9052565b60208152600082516080602084015261532c60a0840182614faa565b9050602084015161534060408501826152ee565b5060408401516001600160a01b0316606084810191909152840151838203601f190160808501526124658282614faa565b60006020828403121561538357600080fd5b8135614f7f81614ebd565b60008060008060008060c087890312156153a757600080fd5b8635955060208701356153b981614ebd565b945060408701356153c981614ebd565b93506060870135925060808701356153e081614ebd565b8092505060a087013590509295509295509295565b6000806020838503121561540857600080fd5b82356001600160401b038082111561541f57600080fd5b818501915085601f83011261543357600080fd5b81358181111561544257600080fd5b86602082850101111561545457600080fd5b60209290920196919550909350505050565b6000806000806080858703121561547c57600080fd5b843561548781614ebd565b9350602085013561549781614ebd565b925060408501356154a781614f4c565b9396929550929360600135925050565b6000806000606084860312156154cc57600080fd5b8335925060208401356001600160401b038111156154e957600080fd5b6154f5868287016150ed565b92505061550460408501615153565b90509250925092565b6000806040838503121561552057600080fd5b823591506020830135614f4181614ebd565b60a08152600061554560a0830188614faa565b82810360208401526155578188614faa565b9050828103604084015261556b8187614faa565b9050828103606084015261557f8186614faa565b905082810360808401526155938185614faa565b98975050505050505050565b6001600160a01b031991909116815260200190565b8015158114611afc57600080fd5b600080604083850312156155d557600080fd5b82356155e081614ebd565b91506020830135614f41816155b4565b60008060006060848603121561560557600080fd5b833592506020840135915060408401356001600160401b0381111561562957600080fd5b615635868287016150ed565b9150509250925092565b6000806000806080858703121561565557600080fd5b843561566081614ebd565b9350602085013561567081614ebd565b92506040850135915060608501356001600160401b0381111561569257600080fd5b8501601f810187136156a357600080fd5b6156b2878235602084016150af565b91505092959194509250565b604080825283519082018190526000906020906060840190828701845b828110156157005781516001600160a01b0316845292840192908401906001016156db565b5050508381038285015284518082528583019183019060005b8181101561573557835183529284019291840191600101615719565b5090979650505050505050565b6000806040838503121561575557600080fd5b82356001600160401b0381111561576b57600080fd5b615777858286016150ed565b9250506020830135614f4181614ebd565b6000806040838503121561579b57600080fd5b82356157a681614ebd565b91506020830135614f4181614ebd565b6060815260006157c96060830186614faa565b82810360208401526157db8186614faa565b915050826040830152949350505050565b600181811c9082168061580057607f821691505b60208210810361446e57634e487b7160e01b600052602260045260246000fd5b601f82111561160057600081815260208120601f850160051c810160208610156158475750805b601f850160051c820191505b8181101561586657828155600101615853565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b0381111561589c5761589c615042565b6158b0816158aa84546157ec565b84615820565b602080601f8311600181146158df57600084156158cd5750858301515b6158d7858261586e565b865550615866565b600085815260208120601f198616915b8281101561590e578886015182559484019460019091019084016158ef565b508582101561592c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161597a5761597a615952565b5060010190565b602080825260189082015277417373657420696e646578206f7574206f662072616e676560401b604082015260600190565b6060815260006159c66060830186614faa565b90506159d560208301856152ee565b62ffffff83166040830152949350505050565b634e487b7160e01b600052601260045260246000fd5b600082615a0d57615a0d6159e8565b500490565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b6001600160a01b039586168152938516602085015260408401929092529092166060820152608081019190915260a00190565b6001600160401b03831115615aaa57615aaa615042565b615abe83615ab883546157ec565b83615820565b6000601f841160018114615aec5760008515615ada5750838201355b615ae4868261586e565b845550615b46565b600083815260209020601f19861690835b82811015615b1d5786850135825560209485019460019092019101615afd565b5086821015615b3a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b600060208284031215615bc057600080fd5b8151614f7f816155b4565b62ffffff818116838216019080821115615be757615be7615952565b5092915050565b80820281158282048414176113c6576113c6615952565b818103818111156113c6576113c6615952565b62ffffff828116828216039080821115615be757615be7615952565b818103615c3f575050565b615c4982546157ec565b6001600160401b03811115615c6057615c60615042565b615c6e816158aa84546157ec565b6000601f821160018114615c9c5760008315615c8a5750848201545b615c94848261586e565b855550615b46565b600085815260209020601f19841690600086815260209020845b83811015615cd65782860154825560019586019590910190602001615cb6565b508583101561592c5793015460001960f8600387901b161c19169092555050600190811b01905550565b808201808211156113c6576113c6615952565b60008351615d25818460208801614f86565b835190830190615d39818360208801614f86565b01949350505050565b60208082526016908201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b604082015260600190565b6001600160f81b03818116838216019080821115615be757615be7615952565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b03191660388301528251615de481604c850160208701614f86565b91909101604c01949350505050565b600060208284031215615e0557600080fd5b81516001600160401b03811115615e1b57600080fd5b8201601f81018413615e2c57600080fd5b8051615e3a6150bd82615088565b818152856020838501011115615e4f57600080fd5b612465826020830160208601614f86565b600060ff821660ff8103615e7657615e76615952565b60010192915050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600082615ee057615ee06159e8565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f1890830184614faa565b9695505050505050565b600060208284031215615f3457600080fd5b8151614f7f81614f4c56fe8b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d009b96a30340e86d03ce4be42f94ac02d7b27b4a4cdae942beb69026718dfe66afca2646970667358221220dd0d3fc9d2740b9e52dec15d9846ecf7eba5f63daaa5bea403192722892dd63764736f6c634300081300338b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d009",
2260
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061048d5760003560e01c8063715018a611610265578063b7b04fae1161014d578063b7b04fae14610b7a578063b7ba527d14610b8d578063b88d4fde14610b95578063b971136814610ba8578063ba3c234514610bb0578063bb3bafd614610bc3578063bd3d10e714610be4578063c34a03b514610bf7578063c6c7c5bf14610c0a578063c87b56dd14610c1d578063cc90e72514610c30578063d03c390c14610c43578063d50f513814610c56578063db21a84614610c69578063db2ff86114610c7c578063e6032df214610c8f578063e935b7b114610cb6578063e985e9c514610cc7578063eb9cd5d414610cda578063ed8abfda14610cfc578063f2fde38b14610d26578063f313d73314610d39578063f6cd39e314610dcf578063f851a44014610dd7578063f893c07b14610ddf57600080fd5b8063715018a6146108f157806376ee6fab146108f95780638639415b1461090c5780638c3c9cdd146109675780638da5cb5b1461097a5780638dd91a561461098257806392f00233146109a657806395d89b41146109b95780639a02e4fa146109c1578063a11ec70a146109f8578063a22cb46514610a0b578063a3b2cca614610a1e578063a47d29cb14610a31578063abcbb7b414610a5d578063ac11fa1c14610a65578063acad012414610a85578063acd4c66f14610a98578063ad0305ce14610aaa578063ad28329014610acc578063ad2cdfc414610af9578063ad576c4514610b26578063ae45ad9814610b39578063b1656ba314610b41578063b168762214610b54578063b75395e014610b6757600080fd5b806328ec8f501161038857806328ec8f50146106dd5780632b2741661461070a5780632b65e67d1461071d5780632b8258c5146107305780632d9c02051461073957806330ef4c5f1461074c57806336c7c12c1461075e578063378599631461077157806338c8e468146107845780633bb22553146107b05780633e48e848146107b957806341814cd3146107cc57806342842e0e146107df57806348337282146107f25780634e1d64af146108055780635464c3091461080d5780635508fd521461082057806358b9a5a914610834578063621a1f741461086c5780636352211e1461087f5780636689c8de1461089257806366e46237146108a557806369d14faf146108b85780636c907b7f146108cb57806370a08231146108de57600080fd5b80611e3c146104925780615de5146104a75780630132c697146104cd57806301856fd4146104e057806301ffc9a7146104f357806304143a5c1461051657806306fdde031461051e578063081812fc14610533578063095ea7b3146105535780630d170673146105665780630e79c928146105795780630ea5613f1461058c5780630ebeb0ee146105d657806310a9ef18146105ff57806317df5366146106125780631ab6014c146106255780631b689c0b146106385780631c05cad71461064b5780631e9bef461461065e5780632302cbda14610671578063230448b11461068457806323b872dd1461069757806325b75d68146106aa5780632642c6b6146106bd575b600080fd5b6104a56104a0366004614e9b565b610e06565b005b6104ba6104b5366004614ed2565b610f37565b6040519081526020015b60405180910390f35b6104a56104db366004614f14565b6111db565b6104a56104ee366004614e9b565b6112f9565b610506610501366004614f62565b6113a1565b60405190151581526020016104c4565b6104a56113cc565b610526611437565b6040516104c49190614fd6565b610546610541366004614fe9565b6114c9565b6040516104c49190615002565b6104a5610561366004615016565b6114f0565b6104a561057436600461510d565b611605565b6104a561058736600461510d565b611664565b61059f61059a366004614fe9565b611853565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c0016104c4565b6105466105e4366004614fe9565b6000908152602660205260409020546001600160a01b031690565b6104a561060d366004615167565b6118b6565b601f54610546906001600160a01b031681565b602954610546906001600160a01b031681565b6104ba610646366004614fe9565b611a85565b6104a56106593660046151c7565b611a94565b602254610546906001600160a01b031681565b6104a561067f366004615223565b611ad7565b610506610692366004615257565b611aff565b6104a56106a5366004615297565b611b17565b6104a56106b836600461510d565b611b48565b6106d06106cb366004614e9b565b611ba7565b6040516104c49190615310565b6104ba6106eb366004614fe9565b600090815260266020526040902060010154600160a01b900460ff1690565b6104a5610718366004615371565b611d1d565b6104a561072b36600461538e565b611d71565b6104ba602d5481565b610526610747366004614fe9565b6120df565b602954600160a01b900460ff166104ba565b602054610546906001600160a01b031681565b6104a561077f36600461510d565b612184565b610546610792366004614fe9565b6000908152602660205260409020600101546001600160a01b031690565b6104ba602b5481565b6104a56107c736600461510d565b6121d1565b602a54610546906001600160a01b031681565b6104a56107ed366004615297565b612227565b6104a5610800366004615371565b612242565b6105266122a8565b6104a561081b3660046153f5565b6122c1565b602f5461050690600160f81b900460ff1681565b610546610842366004614e9b565b6000918252602360209081526040808420928452600990920190529020546001600160a01b031690565b6104ba61087a366004614fe9565b612322565b61054661088d366004614fe9565b612384565b6105066108a0366004615466565b6123b9565b6104a56108b33660046154b7565b61246e565b6104a56108c636600461550d565b612623565b6104a56108d9366004615371565b612690565b6104ba6108ec366004615371565b6126b5565b6104a561273b565b6104a561090736600461538e565b612753565b61091f61091a366004614e9b565b61291b565b604080519889526001600160a01b0397881660208a015288019590955292851660608701526080860191909152831660a085015260c08401521660e0820152610100016104c4565b610526610975366004614e9b565b612a24565b610546612a83565b610995610990366004614fe9565b612a97565b6040516104c4959493929190615532565b602e54610546906001600160a01b031681565b610526612d8b565b6109eb6109cf366004614fe9565b600090815260026020526040902054600160a01b900460a01b90565b6040516104c4919061559f565b6104a5610a06366004614fe9565b612d9a565b6104a5610a193660046155c2565b612ded565b6104a5610a2c36600461510d565b612dfc565b610546610a3f366004614fe9565b6000908152602660205260409020600201546001600160a01b031690565b610526612ed0565b6104ba610a73366004614fe9565b60276020526000908152604090205481565b6104a5610a9336600461510d565b612f5e565b602854600160a01b900460ff166104ba565b610506610ab8366004615371565b602e546001600160a01b0390811691161490565b6104ba610ada366004614fe9565b6000908152602360205260409020600a0154610100900462ffffff1690565b6104ba610b07366004614fe9565b600090815260266020526040902060020154600160a01b900460ff1690565b6104a5610b34366004614e9b565b613029565b6105266131b4565b6104a5610b4f3660046155f0565b6131dd565b610546610b62366004614fe9565b6132b9565b602854610546906001600160a01b031681565b6104a5610b8836600461510d565b613331565b610526613390565b6104a5610ba336600461563f565b61339d565b6021546104ba565b6104a5610bbe366004614fe9565b6133cf565b610bd6610bd1366004614fe9565b61342f565b6040516104c49291906156be565b6104a5610bf2366004614e9b565b6136c3565b6104a5610c05366004614e9b565b613776565b602c54610546906001600160a01b031681565b610526610c2b366004614fe9565b61380f565b6104a5610c3e366004615742565b6138f7565b6104a5610c51366004614fe9565b613acf565b6104a5610c643660046153f5565b613b33565b6104a5610c77366004614e9b565b613b5b565b6104a5610c8a366004614fe9565b613be7565b6105067f000000000000000000000000000000000000000000000000000000000000000081565b602f546001600160f81b03166104ba565b610506610cd5366004615788565b613cef565b610ced610ce8366004614fe9565b613d1d565b6040516104c4939291906157b6565b6104ba610d0a366004614fe9565b600090815260266020526040902054600160a01b900460ff1690565b6104a5610d34366004615371565b613de9565b610d91610d47366004614fe9565b6000908152602660205260409020600281015481546001909201546001600160a01b03808316948482169460ff600160a01b95869004811695938516948490048116939091041690565b604080516001600160a01b039788168152958716602087015285019390935293166060830152608082019290925260a081019190915260c0016104c4565b610526613e5f565b610546613e6c565b6104ba7f000000000000000000000000000000000000000000000000000000000000000081565b610e0f82613e76565b600082815260026020908152604090912090546001600160a01b03163314610e785760405162461bcd60e51b815260206004820152601760248201527613db9b1e481c985b991bdb5a5e995c881b585e481cd95d604a1b60448201526064015b60405180910390fd5b8054600160a01b900460a01b6001600160a01b03191615610ed45760405162461bcd60e51b8152602060048201526016602482015275151bdad95b881a185cda08185b1c9958591e481cd95d60521b6044820152606401610e6f565b81610f155760405162461bcd60e51b8152602060048201526011602482015270139bc81e995c9bc81a185cda081cd95959607a1b6044820152606401610e6f565b805460a09290921c600160a01b026001600160a01b0390921691909117905550565b602e546000906001600160a01b03163314610f945760405162461bcd60e51b815260206004820152601e60248201527f4d757374206d696e742066726f6d206d696e74657220636f6e747261637400006044820152606401610e6f565b6000838152602360205260409020805462ffffff8082169160018301916301000000909104168083106110095760405162461bcd60e51b815260206004820152601f60248201527f4d757374206e6f7420657863656564206d617820696e766f636174696f6e73006044820152606401610e6f565b8354600160881b900460ff168061103c57506000878152602660205260409020600201546001600160a01b038781169116145b6110885760405162461bcd60e51b815260206004820181905260248201527f50726f6a656374206d75737420657869737420616e64206265206163746976656044820152606401610e6f565b8354600160901b900460ff1615806110bc57506000878152602660205260409020600201546001600160a01b038781169116145b6111005760405162461bcd60e51b8152602060048201526015602482015274283ab931b430b9b2b99030b932903830bab9b2b21760591b6044820152606401610e6f565b835462ffffff191662ffffff8381169182178655848116620f42408a02019190831690036111315761113188613ec5565b61113b8982613f15565b602054604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b15801561118157600080fd5b505af1158015611195573d6000803e3d6000fd5b50506040518392506001600160a01b038c1691507f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590600090a398975050505050505050565b6111ec82630132c69760e01b614047565b6000828152602360205260409020805462ffffff808216916301000000900481169084161061125c5760405162461bcd60e51b815260206004820152601c60248201527b4f6e6c79206d6178496e766f636174696f6e7320646563726561736560201b6044820152606401610e6f565b808362ffffff1610156112a85760405162461bcd60e51b81526020600482015260146024820152734f6e6c792067746520696e766f636174696f6e7360601b6044820152606401610e6f565b815465ffffff0000001916630100000062ffffff851602178255601a546040518590600080516020615f6083398151915290600090a3808362ffffff16036112f3576112f384613ec5565b50505050565b611302826140c2565b6113128262615bf560e21b614047565b6000828152602360205260409081902090611330908390600161410a565b6113795760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b6044820152606401610e6f565b60078101829055601c546040518490600080516020615f6083398151915290600090a3505050565b60006001600160e01b03198216635d9dd7eb60e11b14806113c657506113c68261417d565b92915050565b6113df6301050e9760e21b6000196141cd565b602f54600160f81b900460ff161561142d5760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903337b93134b23232b760791b6044820152606401610e6f565b6114356141f5565b565b606060008054611446906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611472906157ec565b80156114bf5780601f10611494576101008083540402835291602001916114bf565b820191906000526020600020905b8154815290600101906020018083116114a257829003601f168201915b5050505050905090565b60006114d482614237565b506000908152600460205260409020546001600160a01b031690565b60006114fb82612384565b9050806001600160a01b0316836001600160a01b0316036115685760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610e6f565b336001600160a01b038216148061158457506115848133613cef565b6115f65760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610e6f565b611600838361425c565b505050565b61160e826140c2565b61161f82630d17067360e01b614047565b611628816142ca565b60008281526023602052604090206001016116438282615883565b506014546040518390600080516020615f6083398151915290600090a35050565b61166d826140c2565b61167e826301cf392560e31b614047565b611687816142ca565b80518190600b8111156116db5760405162461bcd60e51b815260206004820152601c60248201527b41737065637420726174696f20666f726d617420746f6f206c6f6e6760201b6044820152606401610e6f565b60008060005b838110156117c75760008582815181106116fd576116fd61593c565b01602001516001600160f81b0319169050600360fc1b81108015906117305750603960f81b6001600160f81b0319821611155b1561173f5760019250506117b5565b6001600160f81b03198116601760f91b0361176357836117635760019350506117b5565b60405162461bcd60e51b815260206004820152602160248201527f496d70726f7065726c7920666f726d61747465642061737065637420726174696044820152606f60f81b6064820152608401610e6f565b806117bf81615968565b9150506116e1565b50806118135760405162461bcd60e51b815260206004820152601b60248201527a41737065637420726174696f20686173206e6f206e756d6265727360281b6044820152606401610e6f565b600086815260236020526040902060080161182e8682615883565b50601d546040518790600080516020615f6083398151915290600090a3505050505050565b6000818152602360205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b0316916118a988614319565b1591505091939550919395565b6118bf84614363565b6118d0846302153de360e31b614047565b6000848152602360205260409020600a0154610100900462ffffff1680841061190b5760405162461bcd60e51b8152600401610e6f90615981565b6000858152602360209081526040808320878452600b0190915290206001808201805460ff81169286929160ff19169083600281111561194d5761194d6152d8565b02179055506002846002811115611966576119666152d8565b03611a1757600281600281111561197f5761197f6152d8565b146119b857604080516020808201835260008083528a8152602382528381208a8252600b0190915291909120906119b69082615883565b505b6119c1856143c4565b60008881526023602090815260408083208a8452600b01825280832060010180546001600160a01b039590951661010002610100600160a81b031990951694909417909355825190810190925281529450611a3f565b6000878152602360209081526040808320898452600b019091529020611a3d8682615883565b505b85877f1628bf0d5f04426de03959d1da1357d8210b3b99e35281256ab7e9bd55dae949878787604051611a74939291906159b3565b60405180910390a350505050505050565b60006113c6620f4240836159fe565b611aa7631c05cad760e01b6000196141cd565b611ab084614474565b611ab983614474565b611ac282614474565b611acb81614474565b6112f3848484846144c8565b611aea63118165ed60e11b6000196141cd565b611af3816142ca565b611afc81614532565b50565b6000611b0f8484846000196123b9565b949350505050565b611b21338261455c565b611b3d5760405162461bcd60e51b8152600401610e6f90615a12565b6116008383836145ba565b611b51826140c2565b611b62826304b6ebad60e31b614047565b611b6b816142ca565b6000828152602360205260409020600501611b868282615883565b506019546040518390600080516020615f6083398151915290600090a35050565b611bd3604080516080810190915260608152602081016000815260006020820152606060409091015290565b6000838152602360209081526040808320858452600b01909152908190206001810154825160808101909352815491926101009091046001600160a01b03169181908490611c20906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611c4c906157ec565b8015611c995780601f10611c6e57610100808354040283529160200191611c99565b820191906000526020600020905b815481529060010190602001808311611c7c57829003601f168201915b5050509183525050600184015460209091019060ff166002811115611cc057611cc06152d8565b81526001600160a01b03831660208201526040016002600185015460ff166002811115611cef57611cef6152d8565b14611d095760405180602001604052806000815250611d12565b611d1283614756565b905295945050505050565b611d30631593a0b360e11b6000196141cd565b611d3981614474565b601f80546001600160a01b0319166001600160a01b038316179055600b54604051600080516020615f4083398151915290600090a250565b611d7a866147d5565b611d8b86632b65e67d60e01b614047565b611d9485614474565b600086815260266020526040902060648411801590611db4575060648211155b611dee5760405162461bcd60e51b815260206004820152600b60248201526a4d6178206f66203130302560a81b6044820152606401610e6f565b831580611e0357506001600160a01b03851615155b611e4f5760405162461bcd60e51b815260206004820152601d60248201527f5072696d617279207061796565206973207a65726f20616464726573730000006044820152606401610e6f565b811580611e6457506001600160a01b03831615155b611eb05760405162461bcd60e51b815260206004820152601f60248201527f5365636f6e64617279207061796565206973207a65726f2061646472657373006044820152606401610e6f565b867f6ff7d102bb3657a26dcbbcd299d821a066718a7cf76ae7cd98279f18b74da8ac8787878787604051611ee8959493929190615a60565b60405180910390a27f000000000000000000000000000000000000000000000000000000000000000080611f8e57600282015482546001600160a01b03918216898316149160009181169089161480611f4857506001600160a01b038816155b60018501549091506000906001600160a01b0388811691161480611f7357506001600160a01b038716155b9050828015611f7f5750815b8015611f885750805b93505050505b8015612096576000801b602760008a815260200190815260200160002081905550868260020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550858260000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550848260020160146101000a81548160ff021916908360ff160217905550838260010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828260010160146101000a81548160ff021916908360ff160217905550877fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a26120d5565b86868686866040516020016120af959493929190615a60565b60408051601f19818403018152918152815160209283012060008b815260279093529120555b5050505050505050565b60008181526023602052604090206006018054606091906120ff906157ec565b80601f016020809104026020016040519081016040528092919081815260200182805461212b906157ec565b80156121785780601f1061214d57610100808354040283529160200191612178565b820191906000526020600020905b81548152906001019060200180831161215b57829003601f168201915b50505050509050919050565b61219582633785996360e01b614047565b60008281526023602052604090206004016121b08282615883565b506018546040518390600080516020615f6083398151915290600090a35050565b6121e2826307c91d0960e31b614047565b6121eb816142ca565b60008281526023602052604090206006016122068282615883565b50601e546040518390600080516020615f6083398151915290600090a35050565b6116008383836040518060200160405280600081525061339d565b612255632419b94160e11b6000196141cd565b61225e81614474565b602e80546001600160a01b0319166001600160a01b0383169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a250565b60606122bc6576332e312e3360d01b614857565b905090565b6122d4635464c30960e01b6000196141cd565b60256122e1828483615a93565b5060015b7f897675a9bb2e78c7082f6dd757f2db5e1d07724c1f2d46fea1da4e17e5061afd8383604051612316929190615b4d565b60405180910390a25050565b600081815260026020526040812054600160a01b900460a01b6001600160a01b0319811682036123555750600092915050565b80604051602001612366919061559f565b60405160208183030381529060405280519060200120915050919050565b6000818152600260205260408120546001600160a01b0316806113c65760405162461bcd60e51b8152600401610e6f90615b7c565b6000806123c4612a83565b6001600160a01b031614158015612465575060225460405163a8c4c7d360e01b81526001600160a01b03878116600483015286811660248301526001600160e01b031986166044830152606482018590529091169063a8c4c7d3906084016020604051808303816000875af1158015612441573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124659190615bae565b95945050505050565b61247783614363565b612488836366e4623760e01b614047565b6000838152602360205260408120600a0154610100900462ffffff169060028360028111156124b9576124b96152d8565b036124dc576124c7846143c4565b90506040518060200160405280600081525093505b60006040518060600160405280868152602001856002811115612501576125016152d8565b81526001600160a01b038416602091820152600088815260238252604080822062ffffff88168352600b01909252208151919250829181906125439082615883565b50602082015160018083018054909160ff199091169083600281111561256b5761256b6152d8565b021790555060409190910151600191820180546001600160a01b0390921661010002610100600160a81b03199092169190911790556125ab908490615bcb565b6000878152602360205260409020600a01805463ffffff00191661010062ffffff938416021790558316867f1628bf0d5f04426de03959d1da1357d8210b3b99e35281256ab7e9bd55dae9498787612604886001615bcb565b604051612613939291906159b3565b60405180910390a3505050505050565b61262c826147d5565b61263d826369d14faf60e01b6148c2565b61264681614474565b60008281526026602052604080822060020180546001600160a01b0319166001600160a01b038516179055601154905190918491600080516020615f608339815191529190a35050565b6126a3636c907b7f60e01b6000196141cd565b6126ac81614474565b611afc8161497a565b60006001600160a01b03821661271f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610e6f565b506001600160a01b031660009081526003602052604090205490565b6127436149f0565b61274b6141f5565b611435614a4f565b61275c866147d5565b61276d866376ee6fab60e01b6148c2565b61277685614474565b848484848460405160200161278f959493929190615a60565b60408051601f19818403018152918152815160209283012060008981526027909352912054146127fe5760405162461bcd60e51b815260206004820152601a602482015279135d5cdd081b585d18da08185c9d1a5cdd081c1c9bdc1bdcd85b60321b6044820152606401610e6f565b6000602660008881526020019081526020016000209050858160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550848160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838160020160146101000a81548160ff021916908360ff160217905550828160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818160010160146101000a81548160ff021916908360ff1602179055506000801b6027600089815260200190815260200160002081905550867fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a250505050505050565b60008281526026602052604081206028548291829182918291829182918291908a9060649061295490600160a01b900460ff1683615bee565b61295e91906159fe565b995061296a8a82615c05565b60295490915060649061298790600160a01b900460ff168d615bee565b61299191906159fe565b975061299d8882615c05565b60028301549091506064906129bc90600160a01b900460ff1683615bee565b6129c691906159fe565b93506129d28482615c05565b6028546029546001600160a01b039182169b5016975095508515612a015760028201546001600160a01b031694505b8315612a155781546001600160a01b031692505b50509295985092959890939650565b6000828152602360205260409020805460609190600160301b900462ffffff168310612a605750506040805160208101909152600081526113c6565b6000838152600982016020526040902054611b0f906001600160a01b0316614756565b60006122bc6006546001600160a01b031690565b60608060608060606000602360008881526020019081526020016000209050806001018054612ac5906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612af1906157ec565b8015612b3e5780601f10612b1357610100808354040283529160200191612b3e565b820191906000526020600020905b815481529060010190602001808311612b2157829003601f168201915b50505050509550806002018054612b54906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612b80906157ec565b8015612bcd5780601f10612ba257610100808354040283529160200191612bcd565b820191906000526020600020905b815481529060010190602001808311612bb057829003601f168201915b50505050509450806003018054612be3906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612c0f906157ec565b8015612c5c5780601f10612c3157610100808354040283529160200191612c5c565b820191906000526020600020905b815481529060010190602001808311612c3f57829003601f168201915b50505050509350806004018054612c72906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612c9e906157ec565b8015612ceb5780601f10612cc057610100808354040283529160200191612ceb565b820191906000526020600020905b815481529060010190602001808311612cce57829003601f168201915b50505050509250806005018054612d01906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612d2d906157ec565b8015612d7a5780601f10612d4f57610100808354040283529160200191612d7a565b820191906000526020600020905b815481529060010190602001808311612d5d57829003601f168201915b505050505091505091939590929450565b606060018054611446906157ec565b612da381614a61565b600081815260236020526040808220805460ff60901b198116600160901b9182900460ff1615909102179055601254905190918391600080516020615f608339815191529190a350565b612df8338383614ab8565b5050565b612e0582614319565b15612e2057612e1b826351d9665360e11b614047565b612e94565b612e3333306351d9665360e11b856123b9565b612e945760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c7920617274697374207768656e20756e6c6f636b65642c206f776e657260448201526b081dda195b881b1bd8dad95960a21b6064820152608401610e6f565b6000828152602360205260409020600301612eaf8282615883565b506017546040518390600080516020615f6083398151915290600090a35050565b60308054612edd906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054612f09906157ec565b8015612f565780601f10612f2b57610100808354040283529160200191612f56565b820191906000526020600020905b815481529060010190602001808311612f3957829003601f168201915b505050505081565b612f67826140c2565b612f7882632b2b404960e21b614047565b612f81816142ca565b6000828152602360205260409020612f98826143c4565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b0394909416939093179092558254612fea92919004166001615bcb565b815462ffffff91909116600160301b0262ffffff60301b19909116178155601b546040518490600080516020615f6083398151915290600090a3505050565b61303282614363565b6130438263ad576c4560e01b614047565b6000828152602360205260409020600a0154610100900462ffffff1680821061307e5760405162461bcd60e51b8152600401610e6f90615981565b600061308b600183615c18565b600085815260236020908152604080832062ffffff85168452600b01909152808220868352912091925090806130c18382615c34565b50600182810154828201805460ff90921692909160ff1916908360028111156130ec576130ec6152d8565b021790555060019182015491018054610100600160a81b031916610100928390046001600160a01b0316909202919091179055600084815260236020908152604080832062ffffff85168452600b0190915281209061314b8282614e4d565b5060010180546001600160a81b0319169055600084815260236020526040808220600a01805463ffffff00191661010062ffffff86160217905551849186917fa2290757ebb75dea327ace340daae74c1ac76aca04f6fd163fbf5b87e6d707599190a350505050565b60606122bc7a08ecadc82e4e86e646286dee4caac66be8adcced2dccabe8cd8caf602b1b614857565b6131e6836140c2565b6131f78363b1656ba360e01b614047565b613200816142ca565b60008381526023602052604090208054600160301b900462ffffff1683106132625760405162461bcd60e51b81526020600482015260156024820152747363726970744964206f7574206f662072616e676560581b6044820152606401610e6f565b61326b826143c4565b600084815260098301602052604080822080546001600160a01b0319166001600160a01b039490941693909317909255601b5491518691600080516020615f6083398151915291a350505050565b60215460009082106133035760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606401610e6f565b602182815481106133165761331661593c565b6000918252602090912001546001600160a01b031692915050565b61333a826140c2565b61334b82635bd827d760e11b614047565b613354816142ca565b600082815260236020526040902060020161336f8282615883565b506015546040518390600080516020615f6083398151915290600090a35050565b60258054612edd906157ec565b6133a7338361455c565b6133c35760405162461bcd60e51b8152600401610e6f90615a12565b6112f384848484614b82565b6133d881614363565b6133e98163ba3c234560e01b614047565b600081815260236020526040808220600a01805460ff191660011790555182917fcbd4f9053ca1f820efad7731ae6c938613bfef183ee6f03f61cc8d4ab583f5dc91a250565b60608061343b83613e76565b60408051600480825260a082019092529060208201608080368337505060408051600480825260a08201909252929450905060208201608080368337019050509050600061348884611a85565b600081815260266020526040812080546001820154939450909260ff600160a01b92839004811693929091041690826134c2836064615c05565b6134cc9190615bee565b905060006134da8484615bee565b602b54602d5491925090600084156135545760028801548b516001600160a01b03909116908c90839081106135115761351161593c565b6001600160a01b0390921660209283029190910190910152848a8261353581615968565b9350815181106135475761354761593c565b6020026020010181815250505b83156135c25760018801548b516001600160a01b03909116908c908390811061357f5761357f61593c565b6001600160a01b0390921660209283029190910190910152838a826135a381615968565b9350815181106135b5576135b561593c565b6020026020010181815250505b821561362e57602a548b516001600160a01b03909116908c90839081106135eb576135eb61593c565b6001600160a01b0390921660209283029190910190910152828a8261360f81615968565b9350815181106136215761362161593c565b6020026020010181815250505b811561369a57602c548b516001600160a01b03909116908c90839081106136575761365761593c565b6001600160a01b0390921660209283029190910190910152818a8261367b81615968565b93508151811061368d5761368d61593c565b6020026020010181815250505b80600411156136b55780600403808c51038c52808b51038b52505b505050505050505050915091565b6136d663bd3d10e760e01b6000196141cd565b60646136e28284615d00565b111561372b5760405162461bcd60e51b81526020600482015260186024820152774d61782073756d206f66204f4e455f48554e44524544202560401b6044820152606401610e6f565b6028805460ff808516600160a01b90810260ff60a01b1993841617909355602980549185169093029116179055600d54604051600080516020615f4083398151915290600090a25050565b6137878263c34a03b560e01b614047565b605f8111156137cb5760405162461bcd60e51b815260206004820152601060248201526f13dd995c881b585e081c195c98d95b9d60821b6044820152606401610e6f565b600082815260266020526040808220805460ff60a01b1916600160a01b60ff861602179055601654905190918491600080516020615f608339815191529190a35050565b606061381a82613e76565b60006023600061382985611a85565b81526020019081526020016000206006018054613845906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054613871906157ec565b80156138be5780601f10613893576101008083540402835291602001916138be565b820191906000526020600020905b8154815290600101906020018083116138a157829003601f168201915b50505050509050806138cf84614bb5565b6040516020016138e0929190615d13565b604051602081830303815290604052915050919050565b613900826142ca565b61390981614474565b602f54600160f81b900460ff161561395c5760405162461bcd60e51b81526020600482015260166024820152752732bb90383937b532b1ba39903337b93134b23232b760511b6044820152606401610e6f565b6022546040516217798b60e61b815233600482015230602482015263cc90e72560e01b60448201526001600160a01b03909116906305de62c0906064016020604051808303816000875af11580156139b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139dc9190615bae565b6139f85760405162461bcd60e51b8152600401610e6f90615d42565b602f546001600160f81b0316600081815260266020908152604080832060020180546001600160a01b0319166001600160a01b03871617905560239091529020600101613a458482615883565b506000818152602360205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b01178155600601613a82603082615c34565b50613a8e816001615d72565b602f80546001600160f81b0319166001600160f81b03929092169190911790556013546040518290600080516020615f6083398151915290600090a3505050565b613ae063340f0e4360e21b826141cd565b613ae9816147d5565b600081815260236020526040808220805460ff60881b198116600160881b9182900460ff1615909102179055601054905190918391600080516020615f608339815191529190a350565b613b46631aa1ea2760e31b6000196141cd565b6024613b53828483615a93565b5060006122e5565b613b6e636d90d42360e11b6000196141cd565b612710613b7b8284615d00565b1115613bbf5760405162461bcd60e51b81526020600482015260136024820152724f766572206d61782073756d206f662042505360681b6044820152606401610e6f565b602b829055602d819055600e54604051600080516020615f4083398151915290600090a25050565b613bf0816140c2565b613c018163db2ff86160e01b614047565b60008181526023602052604090208054600160301b900462ffffff16613c605760405162461bcd60e51b81526020600482015260146024820152734e6f207363726970747320746f2072656d6f766560601b6044820152606401610e6f565b80546009820190600090613c8290600190600160301b900462ffffff16615c18565b62ffffff908116825260208201929092526040908101600090812080546001600160a01b0319169055835462ffffff60301b198116600160301b9182900485166000190190941602929092178355601b54905190918491600080516020615f608339815191529190a35050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000818152602360205260408120600781015460609283929091613d4090614857565b9350806008018054613d51906157ec565b80601f0160208091040260200160405190810160405280929190818152602001828054613d7d906157ec565b8015613dca5780601f10613d9f57610100808354040283529160200191613dca565b820191906000526020600020905b815481529060010190602001808311613dad57829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b613df16149f0565b6001600160a01b038116613e565760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610e6f565b611afc81614cb5565b60248054612edd906157ec565b60006122bc612a83565b613e7f81614ce0565b611afc5760405162461bcd60e51b8152602060048201526017602482015276151bdad95b88125108191bd95cc81b9bdd08195e1a5cdd604a1b6044820152606401610e6f565b600081815260236020526040808220805467ffffffffffffffff60481b1916600160481b426001600160401b031602179055600f54905190918391600080516020615f608339815191529190a350565b6001600160a01b038216613f6b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610e6f565b613f7481614ce0565b15613fc05760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606401610e6f565b6001600160a01b0382166000908152600360205260408120805460019290613fe9908490615d00565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152602660205260409020600201546001600160a01b03163314806140765750614076333083856123b9565b612df85760405162461bcd60e51b815260206004820181905260248201527f4f6e6c7920617274697374206f722041646d696e2041434c20616c6c6f7765646044820152606401610e6f565b6140cb81614319565b611afc5760405162461bcd60e51b815260206004820152601060248201526f13db9b1e481a59881d5b9b1bd8dad95960821b6044820152606401610e6f565b600080805b60208160ff161015614169576000868260ff16602081106141325761413261593c565b1a90508015801590614147575060808160ff16105b15614160578560ff168160ff1603614160578260010192505b5060010161410f565b8360ff168260ff1614925050509392505050565b60006001600160e01b031982166380ac58cd60e01b14806141ae57506001600160e01b03198216635b5e139f60e01b145b806113c657506301ffc9a760e01b6001600160e01b03198316146113c6565b6141d9333084846123b9565b612df85760405162461bcd60e51b8152600401610e6f90615d42565b602f54600160f81b900460ff1661143557602f80546001600160f81b0316600160f81b179055600854604051600080516020615f4083398151915290600090a2565b61424081614ce0565b611afc5760405162461bcd60e51b8152600401610e6f90615b7c565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061429182612384565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8051600003611afc5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b6044820152606401610e6f565b6000614324826147d5565b600082815260236020526040902054600160481b90046001600160401b031680158080611b0f57506224ea0061435a8342615c05565b10949350505050565b6000818152602360205260409020600a015460ff1615611afc5760405162461bcd60e51b815260206004820152601c60248201527b115e1d195c9b985b0819195c195b99195b98da595cc81b1bd8dad95960221b6044820152606401610e6f565b6000807f42797465636f646553746f726167655f56312e302e305f5f5f5f5f5f5f5f5f2030846040516020016143fc93929190615d92565b60405160208183030381529060405290508051602082016000f091506001600160a01b03821661446e5760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610e6f565b50919050565b6001600160a01b038116611afc5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b6044820152606401610e6f565b602980546001600160a01b038085166001600160a01b031992831617909255602c805484841690831617905560288054878416908316179055602a805492861692909116919091179055600c54604051600080516020615f4083398151915290600090a250505050565b603061453e8282615883565b50600954604051600080516020615f4083398151915290600090a250565b60008061456883612384565b9050806001600160a01b0316846001600160a01b0316148061458f575061458f8185613cef565b80611b0f5750836001600160a01b03166145a8846114c9565b6001600160a01b031614949350505050565b826001600160a01b03166145cd82612384565b6001600160a01b0316146146315760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610e6f565b6001600160a01b0382166146935760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610e6f565b61469e60008261425c565b6001600160a01b03831660009081526003602052604081208054600192906146c7908490615c05565b90915550506001600160a01b03821660009081526003602052604081208054600192906146f5908490615d00565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b604051630eacc5e760e31b815260609073__$55f4e50e6128becd8bf164b272db98df09$__906375662f3890614790908590600401615002565b600060405180830381865af41580156147ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113c69190810190615df3565b7f0000000000000000000000000000000000000000000000000000000000000000811015801561480f5750602f546001600160f81b031681105b611afc5760405162461bcd60e51b8152602060048201526019602482015278141c9bda9958dd08125108191bd95cc81b9bdd08195e1a5cdd603a1b6044820152606401610e6f565b606060005b828160ff16602081106148715761487161593c565b1a60f81b6001600160f81b03191615801590614890575060208160ff16105b156148a7578061489f81615e60565b91505061485c565b60405191506040820160405280825282602083015250919050565b6148ce333083856123b9565b8061490d575060006148de612a83565b6001600160a01b031614801561490d57506000828152602660205260409020600201546001600160a01b031633145b612df85760405162461bcd60e51b815260206004820152603860248201527f4f6e6c792041646d696e2041434c20616c6c6f7765642c206f722061727469736044820152771d081a59881bdddb995c881a185cc81c995b9bdd5b98d95960421b6064820152608401610e6f565b602080546001600160a01b0383166001600160a01b031991821681179092556021805460018101825560009182527f3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b5700180549092169092179055600a546040519091600080516020615f4083398151915291a250565b336149f9612a83565b6001600160a01b0316146114355760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e6f565b614a576149f0565b6114356000614cb5565b6000818152602660205260409020600201546001600160a01b03163314611afc5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48185c9d1a5cdd60aa1b6044820152606401610e6f565b816001600160a01b0316836001600160a01b031603614b155760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610e6f565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b614b8d8484846145ba565b614b9984848484614cfd565b6112f35760405162461bcd60e51b8152600401610e6f90615e7f565b606081600003614bdc5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115614c065780614bf081615968565b9150614bff9050600a836159fe565b9150614be0565b6000816001600160401b03811115614c2057614c20615042565b6040519080825280601f01601f191660200182016040528015614c4a576020820181803683370190505b5090505b8415611b0f57614c5f600183615c05565b9150614c6c600a86615ed1565b614c77906030615d00565b60f81b818381518110614c8c57614c8c61593c565b60200101906001600160f81b031916908160001a905350614cae600a866159fe565b9450614c4e565b614cbe81614dfb565b602280546001600160a01b0319166001600160a01b0392909216919091179055565b6000908152600260205260409020546001600160a01b0316151590565b60006001600160a01b0384163b15614df357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290614d41903390899088908890600401615ee5565b6020604051808303816000875af1925050508015614d7c575060408051601f3d908101601f19168201909252614d7991810190615f22565b60015b614dd9573d808015614daa576040519150601f19603f3d011682016040523d82523d6000602084013e614daf565b606091505b508051600003614dd15760405162461bcd60e51b8152600401610e6f90615e7f565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611b0f565b506001611b0f565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b508054614e59906157ec565b6000825580601f10614e69575050565b601f016020900490600052602060002090810190611afc91905b80821115614e975760008155600101614e83565b5090565b60008060408385031215614eae57600080fd5b50508035926020909101359150565b6001600160a01b0381168114611afc57600080fd5b600080600060608486031215614ee757600080fd5b8335614ef281614ebd565b9250602084013591506040840135614f0981614ebd565b809150509250925092565b60008060408385031215614f2757600080fd5b82359150602083013562ffffff81168114614f4157600080fd5b809150509250929050565b6001600160e01b031981168114611afc57600080fd5b600060208284031215614f7457600080fd5b8135614f7f81614f4c565b9392505050565b60005b83811015614fa1578181015183820152602001614f89565b50506000910152565b60008151808452614fc2816020860160208601614f86565b601f01601f19169290920160200192915050565b602081526000614f7f6020830184614faa565b600060208284031215614ffb57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6000806040838503121561502957600080fd5b823561503481614ebd565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561508057615080615042565b604052919050565b60006001600160401b038211156150a1576150a1615042565b50601f01601f191660200190565b60006150c26150bd84615088565b615058565b90508281528383830111156150d657600080fd5b828260208301376000602084830101529392505050565b600082601f8301126150fe57600080fd5b614f7f838335602085016150af565b6000806040838503121561512057600080fd5b8235915060208301356001600160401b0381111561513d57600080fd5b615149858286016150ed565b9150509250929050565b80356003811061516257600080fd5b919050565b6000806000806080858703121561517d57600080fd5b843593506020850135925060408501356001600160401b038111156151a157600080fd5b6151ad878288016150ed565b9250506151bc60608601615153565b905092959194509250565b600080600080608085870312156151dd57600080fd5b84356151e881614ebd565b935060208501356151f881614ebd565b9250604085013561520881614ebd565b9150606085013561521881614ebd565b939692955090935050565b60006020828403121561523557600080fd5b81356001600160401b0381111561524b57600080fd5b611b0f848285016150ed565b60008060006060848603121561526c57600080fd5b833561527781614ebd565b9250602084013561528781614ebd565b91506040840135614f0981614f4c565b6000806000606084860312156152ac57600080fd5b83356152b781614ebd565b925060208401356152c781614ebd565b929592945050506040919091013590565b634e487b7160e01b600052602160045260246000fd5b6003811061530c57634e487b7160e01b600052602160045260246000fd5b9052565b60208152600082516080602084015261532c60a0840182614faa565b9050602084015161534060408501826152ee565b5060408401516001600160a01b0316606084810191909152840151838203601f190160808501526124658282614faa565b60006020828403121561538357600080fd5b8135614f7f81614ebd565b60008060008060008060c087890312156153a757600080fd5b8635955060208701356153b981614ebd565b945060408701356153c981614ebd565b93506060870135925060808701356153e081614ebd565b8092505060a087013590509295509295509295565b6000806020838503121561540857600080fd5b82356001600160401b038082111561541f57600080fd5b818501915085601f83011261543357600080fd5b81358181111561544257600080fd5b86602082850101111561545457600080fd5b60209290920196919550909350505050565b6000806000806080858703121561547c57600080fd5b843561548781614ebd565b9350602085013561549781614ebd565b925060408501356154a781614f4c565b9396929550929360600135925050565b6000806000606084860312156154cc57600080fd5b8335925060208401356001600160401b038111156154e957600080fd5b6154f5868287016150ed565b92505061550460408501615153565b90509250925092565b6000806040838503121561552057600080fd5b823591506020830135614f4181614ebd565b60a08152600061554560a0830188614faa565b82810360208401526155578188614faa565b9050828103604084015261556b8187614faa565b9050828103606084015261557f8186614faa565b905082810360808401526155938185614faa565b98975050505050505050565b6001600160a01b031991909116815260200190565b8015158114611afc57600080fd5b600080604083850312156155d557600080fd5b82356155e081614ebd565b91506020830135614f41816155b4565b60008060006060848603121561560557600080fd5b833592506020840135915060408401356001600160401b0381111561562957600080fd5b615635868287016150ed565b9150509250925092565b6000806000806080858703121561565557600080fd5b843561566081614ebd565b9350602085013561567081614ebd565b92506040850135915060608501356001600160401b0381111561569257600080fd5b8501601f810187136156a357600080fd5b6156b2878235602084016150af565b91505092959194509250565b604080825283519082018190526000906020906060840190828701845b828110156157005781516001600160a01b0316845292840192908401906001016156db565b5050508381038285015284518082528583019183019060005b8181101561573557835183529284019291840191600101615719565b5090979650505050505050565b6000806040838503121561575557600080fd5b82356001600160401b0381111561576b57600080fd5b615777858286016150ed565b9250506020830135614f4181614ebd565b6000806040838503121561579b57600080fd5b82356157a681614ebd565b91506020830135614f4181614ebd565b6060815260006157c96060830186614faa565b82810360208401526157db8186614faa565b915050826040830152949350505050565b600181811c9082168061580057607f821691505b60208210810361446e57634e487b7160e01b600052602260045260246000fd5b601f82111561160057600081815260208120601f850160051c810160208610156158475750805b601f850160051c820191505b8181101561586657828155600101615853565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b0381111561589c5761589c615042565b6158b0816158aa84546157ec565b84615820565b602080601f8311600181146158df57600084156158cd5750858301515b6158d7858261586e565b865550615866565b600085815260208120601f198616915b8281101561590e578886015182559484019460019091019084016158ef565b508582101561592c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161597a5761597a615952565b5060010190565b602080825260189082015277417373657420696e646578206f7574206f662072616e676560401b604082015260600190565b6060815260006159c66060830186614faa565b90506159d560208301856152ee565b62ffffff83166040830152949350505050565b634e487b7160e01b600052601260045260246000fd5b600082615a0d57615a0d6159e8565b500490565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b6001600160a01b039586168152938516602085015260408401929092529092166060820152608081019190915260a00190565b6001600160401b03831115615aaa57615aaa615042565b615abe83615ab883546157ec565b83615820565b6000601f841160018114615aec5760008515615ada5750838201355b615ae4868261586e565b845550615b46565b600083815260209020601f19861690835b82811015615b1d5786850135825560209485019460019092019101615afd565b5086821015615b3a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b600060208284031215615bc057600080fd5b8151614f7f816155b4565b62ffffff818116838216019080821115615be757615be7615952565b5092915050565b80820281158282048414176113c6576113c6615952565b818103818111156113c6576113c6615952565b62ffffff828116828216039080821115615be757615be7615952565b818103615c3f575050565b615c4982546157ec565b6001600160401b03811115615c6057615c60615042565b615c6e816158aa84546157ec565b6000601f821160018114615c9c5760008315615c8a5750848201545b615c94848261586e565b855550615b46565b600085815260209020601f19841690600086815260209020845b83811015615cd65782860154825560019586019590910190602001615cb6565b508583101561592c5793015460001960f8600387901b161c19169092555050600190811b01905550565b808201808211156113c6576113c6615952565b60008351615d25818460208801614f86565b835190830190615d39818360208801614f86565b01949350505050565b60208082526016908201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b604082015260600190565b6001600160f81b03818116838216019080821115615be757615be7615952565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b03191660388301528251615de481604c850160208701614f86565b91909101604c01949350505050565b600060208284031215615e0557600080fd5b81516001600160401b03811115615e1b57600080fd5b8201601f81018413615e2c57600080fd5b8051615e3a6150bd82615088565b818152856020838501011115615e4f57600080fd5b612465826020830160208601614f86565b600060ff821660ff8103615e7657615e76615952565b60010192915050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600082615ee057615ee06159e8565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f1890830184614faa565b9695505050505050565b600060208284031215615f3457600080fd5b8151614f7f81614f4c56fe8b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d009b96a30340e86d03ce4be42f94ac02d7b27b4a4cdae942beb69026718dfe66afca2646970667358221220dd0d3fc9d2740b9e52dec15d9846ecf7eba5f63daaa5bea403192722892dd63764736f6c63430008130033",
2261
+ "linkReferences": {
2262
+ "contracts/libs/v0.8.x/BytecodeStorageV1.sol": {
2263
+ "BytecodeStorageReader": [
2264
+ {
2265
+ "length": 20,
2266
+ "start": 21442
2267
+ }
2268
+ ]
2269
+ }
2270
+ },
2271
+ "deployedLinkReferences": {
2272
+ "contracts/libs/v0.8.x/BytecodeStorageV1.sol": {
2273
+ "BytecodeStorageReader": [
2274
+ {
2275
+ "length": 20,
2276
+ "start": 18280
2277
+ }
2278
+ ]
2279
+ }
2280
+ }
2281
+ }