@artblocks/contracts 1.3.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/README.md +11 -10
  2. package/artifacts/contracts/AdminACLV0RoyaltyRegistry.sol/AdminACLV0RoyaltyRegistry.json +193 -0
  3. package/artifacts/contracts/AdminACLV0RoyaltyRegistry.sol/IRoyaltyRegistry.json +35 -0
  4. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  5. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol/BytecodeStorageReaderContractV2.json +2 -2
  6. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol/BytecodeStorageReaderContractV2_Web3Call.json +2 -2
  7. package/artifacts/contracts/BytecodeStorageV2Writer.sol/BytecodeStorageV2Writer.json +2 -2
  8. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +210 -2
  9. package/artifacts/contracts/GenArt721CoreV3_Curated.sol/GenArt721CoreV3_Curated.json +235 -20
  10. package/artifacts/contracts/GenArt721CoreV3_Curated_Flex.sol/GenArt721CoreV3_Curated_Flex.json +3197 -0
  11. package/artifacts/contracts/GenArt721CoreV3_Explorations_Flex.sol/GenArt721CoreV3_Explorations_Flex.json +3192 -0
  12. package/artifacts/contracts/OwnedCreate2FactoryV0.sol/OwnedCreate2FactoryV0.json +2 -2
  13. package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +27 -2
  14. package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +27 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  33. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +25 -0
  34. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterSEA/MinterSEAV0.sol/MinterSEAV0.json +2 -2
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  37. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  38. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  39. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  40. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  41. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  42. package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +28 -2
  43. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +239 -20
  44. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +267 -48
  45. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +27 -2
  46. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
  47. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +27 -2
  48. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +25 -0
  49. package/artifacts/contracts/engine/V3/transfer-hooks/AbstractTransferHook.sol/AbstractTransferHook.json +79 -0
  50. package/artifacts/contracts/engine/V3/transfer-hooks/OwnerHistoryTransferHook.sol/OwnerHistoryTransferHook.json +315 -0
  51. package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +2 -2
  52. package/artifacts/contracts/interfaces/v0.8.x/IClaimMinter.sol/IClaimMinter.json +189 -0
  53. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +149 -0
  54. package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +26 -0
  55. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +25 -0
  56. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +25 -0
  57. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +123 -0
  58. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +123 -0
  59. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +25 -0
  60. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +25 -0
  61. package/artifacts/contracts/interfaces/v0.8.x/IOwnerHistoryTransferHook.sol/IOwnerHistoryTransferHook.json +299 -0
  62. package/artifacts/contracts/interfaces/v0.8.x/ISRHooks.sol/ISRHooks.json +432 -0
  63. package/artifacts/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol/ISeaDropShimForContract.json +0 -13
  64. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol/ISharedMinterTieredAllowV0.json +94 -0
  65. package/artifacts/contracts/interfaces/v0.8.x/ITransferHook.sol/ITransferHook.json +63 -0
  66. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  67. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +2 -2
  68. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +2 -2
  69. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +2 -2
  70. package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/ENSLib.json +10 -0
  71. package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/IUniversalResolver.json +45 -0
  72. package/artifacts/contracts/libs/v0.8.x/EnumerableSetUint16.sol/EnumerableSetUint16.json +10 -0
  73. package/artifacts/contracts/libs/v0.8.x/FeistelWalkLib.sol/FeistelWalkLib.json +10 -0
  74. package/artifacts/contracts/libs/v0.8.x/ImmutableUint16Array.sol/ImmutableUint16Array.json +10 -0
  75. package/artifacts/contracts/libs/v0.8.x/V3EngineLib.sol/V3EngineLib.json +163 -0
  76. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +2 -2
  77. package/artifacts/contracts/libs/v0.8.x/V3TransferHookLib.sol/V3TransferHookLib.json +79 -0
  78. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +2 -2
  79. package/artifacts/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol/OnChainAllowlistLib.json +10 -0
  80. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  81. package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +2 -2
  82. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +2 -2
  83. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +2 -2
  84. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +2 -2
  85. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  86. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +2 -2
  87. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +2 -2
  88. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +2 -2
  89. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +2 -2
  90. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +2 -2
  91. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +2 -2
  92. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol/MinterMinPriceMerkleV0.json +2 -2
  93. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceV0.sol/MinterMinPriceV0.json +2 -2
  94. package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +2 -2
  95. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +2 -2
  96. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +2 -2
  97. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +2 -2
  98. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +2 -2
  99. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol/MinterSetPriceOnChainAllowV0.json +522 -0
  100. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +2 -2
  101. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +2 -2
  102. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol/MinterSetPriceTieredAllowV1.json +715 -0
  103. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +2 -2
  104. package/artifacts/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol/MinterSlidingScaleV0.json +431 -0
  105. package/artifacts/contracts/minter-suite/Minters/one-off/ClaimMinter.sol/ClaimMinter.json +502 -0
  106. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol/MinterSetPriceTieredOnChainAllowV0.json +673 -0
  107. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +2 -2
  108. package/artifacts/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol/SeaDropXArtBlocksShim.json +6 -19
  109. package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +2 -2
  110. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  111. package/artifacts/contracts/mock/ENSLibMock.sol/ENSLibMock.json +30 -0
  112. package/artifacts/contracts/mock/EnumerableSetUint16Mock.sol/EnumerableSetUint16Mock.json +146 -0
  113. package/artifacts/contracts/mock/FeistelWalkLibMock.sol/FeistelWalkLibMock.json +142 -0
  114. package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +2 -2
  115. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
  116. package/artifacts/contracts/mock/ImmutableUint16ArrayMock.sol/ImmutableUint16ArrayMock.json +89 -0
  117. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -2
  118. package/artifacts/contracts/mock/MockGenArt721V3Core.sol/MockGenArt721V3Core.json +490 -0
  119. package/artifacts/contracts/mock/MockPMP.sol/MockPMP.json +523 -0
  120. package/artifacts/contracts/mock/MockTransferHook.sol/MockTransferHook.json +453 -0
  121. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockBatchTransferrer.json +39 -0
  122. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockForwardingERC721Receiver.json +71 -0
  123. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockSpoofingCore.json +94 -0
  124. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  125. package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/IBatchMinter.json +64 -0
  126. package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/ReentrancyBatchMockShared.json +113 -0
  127. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/MockTarget.json +74 -0
  128. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorPartialRevertsTestHelper.json +138 -0
  129. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorTestHelper.json +119 -0
  130. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  131. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  132. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +2 -2
  133. package/artifacts/contracts/relay/RelayExecutor.sol/RelayExecutor.json +101 -0
  134. package/artifacts/contracts/relay/RelayExecutorPartialReverts.sol/RelayExecutorPartialReverts.json +120 -0
  135. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol/GenArt721RoyaltyOverrideSplits.json +263 -0
  136. package/artifacts/contracts/utils/MintMulticallUtil.sol/IMinterSetPriceV5.json +40 -0
  137. package/artifacts/contracts/utils/MintMulticallUtil.sol/MintMulticallUtil.json +163 -0
  138. package/artifacts/contracts/web3call/PMPV0.sol/PMPV0.json +2 -2
  139. package/artifacts/contracts/web3call/PMPV1.sol/PMPV1.json +648 -0
  140. package/artifacts/contracts/web3call/augment-hooks/InjectBaseGasFee.sol/InjectBaseGasFee.json +2 -2
  141. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeight.sol/InjectBlockHeight.json +83 -0
  142. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol/InjectBlockHeightAndArtistProjectOverrides.json +226 -0
  143. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol/InjectBlockHeightAndNumOwnedProjectTokens.json +182 -0
  144. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.json +226 -0
  145. package/artifacts/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol/InjectBlockTimestamp.json +83 -0
  146. package/artifacts/contracts/web3call/augment-hooks/InjectBytesPerToken.sol/InjectBytesPerToken.json +358 -0
  147. package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/InjectChromieSquiggleFloorPrice.json +2 -2
  148. package/artifacts/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol/InjectIsNounsDaoMember.json +2 -2
  149. package/artifacts/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol/InjectIsProjectFullyMinted.json +2 -2
  150. package/artifacts/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol/InjectPolyptychTokenHash.json +2 -2
  151. package/artifacts/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol/InjectTokenHashSeed.json +2 -2
  152. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwner.sol/InjectTokenOwner.json +2 -2
  153. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol/InjectTokenOwnerEthBalance.json +2 -2
  154. package/artifacts/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol/InjectUSDCTotalSupply.json +2 -2
  155. package/artifacts/contracts/web3call/augment-hooks/SRHooks.sol/SRHooks.json +899 -0
  156. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IGenArt721V0_Minimal.json +30 -0
  157. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IRelic.json +35 -0
  158. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/LiftHooks.json +256 -0
  159. package/artifacts/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol}/AbstractPMPConfigureHook.json +1 -1
  160. package/artifacts/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol/PMPConfigureLockHook.json +195 -0
  161. package/contracts/AdminACLV0RoyaltyRegistry.sol +142 -0
  162. package/contracts/DependencyRegistryV0.sol +143 -13
  163. package/contracts/GenArt721CoreV3_Curated.sol +1 -1
  164. package/contracts/GenArt721CoreV3_Curated_Flex.sol +173 -0
  165. package/contracts/GenArt721CoreV3_Explorations_Flex.sol +159 -0
  166. package/contracts/engine/V3/EngineFactoryV0.sol +20 -1
  167. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +286 -299
  168. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +292 -301
  169. package/contracts/engine/V3/transfer-hooks/AbstractTransferHook.sol +101 -0
  170. package/contracts/engine/V3/transfer-hooks/OwnerHistoryTransferHook.sol +291 -0
  171. package/contracts/generator/GenArt721GeneratorV0.sol +145 -47
  172. package/contracts/helpers/ERC1967ProxyImport.sol +5 -0
  173. package/contracts/interfaces/v0.8.x/IArtblocksRoyaltyOverride.sol +1 -1
  174. package/contracts/interfaces/v0.8.x/IClaimMinter.sol +70 -0
  175. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +95 -0
  176. package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +15 -0
  177. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +21 -2
  178. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +72 -0
  179. package/contracts/interfaces/v0.8.x/IOwnerHistoryTransferHook.sol +119 -0
  180. package/contracts/interfaces/v0.8.x/ISRHooks.sol +229 -0
  181. package/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol +0 -6
  182. package/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol +69 -0
  183. package/contracts/interfaces/v0.8.x/ITransferHook.sol +48 -0
  184. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +12 -0
  185. package/contracts/libs/v0.8.x/ENSLib.sol +85 -0
  186. package/contracts/libs/v0.8.x/EnumerableSetUint16.sol +429 -0
  187. package/contracts/libs/v0.8.x/FeistelWalkLib.sol +221 -0
  188. package/contracts/libs/v0.8.x/ImmutableUint16Array.sol +201 -0
  189. package/contracts/libs/v0.8.x/V3EngineLib.sol +490 -0
  190. package/contracts/libs/v0.8.x/V3TransferHookLib.sol +251 -0
  191. package/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol +165 -0
  192. package/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol +632 -0
  193. package/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol +871 -0
  194. package/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol +493 -0
  195. package/contracts/minter-suite/Minters/one-off/ClaimMinter.sol +595 -0
  196. package/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol +894 -0
  197. package/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol +59 -41
  198. package/contracts/mock/ENSLibMock.sol +25 -0
  199. package/contracts/mock/EnumerableSetUint16Mock.sol +88 -0
  200. package/contracts/mock/FeistelWalkLibMock.sol +81 -0
  201. package/contracts/mock/ImmutableUint16ArrayMock.sol +62 -0
  202. package/contracts/mock/MockGenArt721V3Core.sol +416 -0
  203. package/contracts/mock/MockPMP.sol +287 -0
  204. package/contracts/mock/MockTransferHook.sol +160 -0
  205. package/contracts/mock/MockTransferHookTestHelpers.sol +96 -0
  206. package/contracts/mock/ReentrancyBatchMockShared.sol +53 -0
  207. package/contracts/mock/RelayExecutorTestHelper.sol +44 -0
  208. package/contracts/relay/RelayExecutor.sol +61 -0
  209. package/contracts/relay/RelayExecutorPartialReverts.sol +79 -0
  210. package/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol +130 -0
  211. package/contracts/utils/MintMulticallUtil.sol +103 -0
  212. package/contracts/web3call/PMPV1.sol +1204 -0
  213. package/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol +1 -1
  214. package/contracts/web3call/augment-hooks/InjectBaseGasFee.sol +1 -1
  215. package/contracts/web3call/augment-hooks/InjectBlockHeight.sol +57 -0
  216. package/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol +310 -0
  217. package/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol +141 -0
  218. package/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol +326 -0
  219. package/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol +57 -0
  220. package/contracts/web3call/augment-hooks/InjectBytesPerToken.sol +279 -0
  221. package/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol +1 -1
  222. package/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol +1 -1
  223. package/contracts/web3call/augment-hooks/InjectTokenOwner.sol +1 -1
  224. package/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol +1 -1
  225. package/contracts/web3call/augment-hooks/SRHooks.sol +1722 -0
  226. package/contracts/web3call/combined-hooks/LiftHooks.sol +304 -0
  227. package/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol} +1 -1
  228. package/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol +107 -0
  229. package/package.json +39 -24
@@ -0,0 +1,3192 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "GenArt721CoreV3_Explorations_Flex",
4
+ "sourceName": "contracts/GenArt721CoreV3_Explorations_Flex.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "components": [
10
+ {
11
+ "internalType": "string",
12
+ "name": "tokenName",
13
+ "type": "string"
14
+ },
15
+ {
16
+ "internalType": "string",
17
+ "name": "tokenSymbol",
18
+ "type": "string"
19
+ },
20
+ {
21
+ "internalType": "address",
22
+ "name": "renderProviderAddress",
23
+ "type": "address"
24
+ },
25
+ {
26
+ "internalType": "address",
27
+ "name": "platformProviderAddress",
28
+ "type": "address"
29
+ },
30
+ {
31
+ "internalType": "address",
32
+ "name": "newSuperAdminAddress",
33
+ "type": "address"
34
+ },
35
+ {
36
+ "internalType": "address",
37
+ "name": "randomizerContract",
38
+ "type": "address"
39
+ },
40
+ {
41
+ "internalType": "address",
42
+ "name": "splitProviderAddress",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "internalType": "address",
47
+ "name": "minterFilterAddress",
48
+ "type": "address"
49
+ },
50
+ {
51
+ "internalType": "uint248",
52
+ "name": "startingProjectId",
53
+ "type": "uint248"
54
+ },
55
+ {
56
+ "internalType": "bool",
57
+ "name": "autoApproveArtistSplitProposals",
58
+ "type": "bool"
59
+ },
60
+ {
61
+ "internalType": "bool",
62
+ "name": "nullPlatformProvider",
63
+ "type": "bool"
64
+ },
65
+ {
66
+ "internalType": "bool",
67
+ "name": "allowArtistProjectActivation",
68
+ "type": "bool"
69
+ }
70
+ ],
71
+ "internalType": "struct EngineConfiguration",
72
+ "name": "engineConfiguration",
73
+ "type": "tuple"
74
+ },
75
+ {
76
+ "internalType": "address",
77
+ "name": "adminACLContract_",
78
+ "type": "address"
79
+ },
80
+ {
81
+ "internalType": "address",
82
+ "name": "bytecodeStorageReaderContract_",
83
+ "type": "address"
84
+ }
85
+ ],
86
+ "stateMutability": "nonpayable",
87
+ "type": "constructor"
88
+ },
89
+ {
90
+ "inputs": [
91
+ {
92
+ "internalType": "address",
93
+ "name": "sender",
94
+ "type": "address"
95
+ },
96
+ {
97
+ "internalType": "uint256",
98
+ "name": "tokenId",
99
+ "type": "uint256"
100
+ },
101
+ {
102
+ "internalType": "address",
103
+ "name": "owner",
104
+ "type": "address"
105
+ }
106
+ ],
107
+ "name": "ERC721IncorrectOwner",
108
+ "type": "error"
109
+ },
110
+ {
111
+ "inputs": [
112
+ {
113
+ "internalType": "address",
114
+ "name": "operator",
115
+ "type": "address"
116
+ },
117
+ {
118
+ "internalType": "uint256",
119
+ "name": "tokenId",
120
+ "type": "uint256"
121
+ }
122
+ ],
123
+ "name": "ERC721InsufficientApproval",
124
+ "type": "error"
125
+ },
126
+ {
127
+ "inputs": [
128
+ {
129
+ "internalType": "address",
130
+ "name": "approver",
131
+ "type": "address"
132
+ }
133
+ ],
134
+ "name": "ERC721InvalidApprover",
135
+ "type": "error"
136
+ },
137
+ {
138
+ "inputs": [
139
+ {
140
+ "internalType": "address",
141
+ "name": "operator",
142
+ "type": "address"
143
+ }
144
+ ],
145
+ "name": "ERC721InvalidOperator",
146
+ "type": "error"
147
+ },
148
+ {
149
+ "inputs": [
150
+ {
151
+ "internalType": "address",
152
+ "name": "owner",
153
+ "type": "address"
154
+ }
155
+ ],
156
+ "name": "ERC721InvalidOwner",
157
+ "type": "error"
158
+ },
159
+ {
160
+ "inputs": [
161
+ {
162
+ "internalType": "address",
163
+ "name": "receiver",
164
+ "type": "address"
165
+ }
166
+ ],
167
+ "name": "ERC721InvalidReceiver",
168
+ "type": "error"
169
+ },
170
+ {
171
+ "inputs": [
172
+ {
173
+ "internalType": "address",
174
+ "name": "sender",
175
+ "type": "address"
176
+ }
177
+ ],
178
+ "name": "ERC721InvalidSender",
179
+ "type": "error"
180
+ },
181
+ {
182
+ "inputs": [
183
+ {
184
+ "internalType": "uint256",
185
+ "name": "tokenId",
186
+ "type": "uint256"
187
+ }
188
+ ],
189
+ "name": "ERC721NonexistentToken",
190
+ "type": "error"
191
+ },
192
+ {
193
+ "inputs": [
194
+ {
195
+ "internalType": "enum IGenArt721CoreContractV3_Base.ErrorCodes",
196
+ "name": "_errorCode",
197
+ "type": "uint8"
198
+ }
199
+ ],
200
+ "name": "GenArt721Error",
201
+ "type": "error"
202
+ },
203
+ {
204
+ "inputs": [
205
+ {
206
+ "internalType": "address",
207
+ "name": "owner",
208
+ "type": "address"
209
+ }
210
+ ],
211
+ "name": "OwnableInvalidOwner",
212
+ "type": "error"
213
+ },
214
+ {
215
+ "inputs": [
216
+ {
217
+ "internalType": "address",
218
+ "name": "account",
219
+ "type": "address"
220
+ }
221
+ ],
222
+ "name": "OwnableUnauthorizedAccount",
223
+ "type": "error"
224
+ },
225
+ {
226
+ "anonymous": false,
227
+ "inputs": [
228
+ {
229
+ "indexed": true,
230
+ "internalType": "uint256",
231
+ "name": "_projectId",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "name": "AcceptedArtistAddressesAndSplits",
236
+ "type": "event"
237
+ },
238
+ {
239
+ "anonymous": false,
240
+ "inputs": [
241
+ {
242
+ "indexed": true,
243
+ "internalType": "address",
244
+ "name": "owner",
245
+ "type": "address"
246
+ },
247
+ {
248
+ "indexed": true,
249
+ "internalType": "address",
250
+ "name": "approved",
251
+ "type": "address"
252
+ },
253
+ {
254
+ "indexed": true,
255
+ "internalType": "uint256",
256
+ "name": "tokenId",
257
+ "type": "uint256"
258
+ }
259
+ ],
260
+ "name": "Approval",
261
+ "type": "event"
262
+ },
263
+ {
264
+ "anonymous": false,
265
+ "inputs": [
266
+ {
267
+ "indexed": true,
268
+ "internalType": "address",
269
+ "name": "owner",
270
+ "type": "address"
271
+ },
272
+ {
273
+ "indexed": true,
274
+ "internalType": "address",
275
+ "name": "operator",
276
+ "type": "address"
277
+ },
278
+ {
279
+ "indexed": false,
280
+ "internalType": "bool",
281
+ "name": "approved",
282
+ "type": "bool"
283
+ }
284
+ ],
285
+ "name": "ApprovalForAll",
286
+ "type": "event"
287
+ },
288
+ {
289
+ "anonymous": false,
290
+ "inputs": [
291
+ {
292
+ "indexed": true,
293
+ "internalType": "address",
294
+ "name": "artblocksCurationRegistryAddress",
295
+ "type": "address"
296
+ }
297
+ ],
298
+ "name": "ArtBlocksCurationRegistryContractUpdated",
299
+ "type": "event"
300
+ },
301
+ {
302
+ "anonymous": false,
303
+ "inputs": [
304
+ {
305
+ "indexed": true,
306
+ "internalType": "uint256",
307
+ "name": "_projectId",
308
+ "type": "uint256"
309
+ },
310
+ {
311
+ "indexed": true,
312
+ "internalType": "uint256",
313
+ "name": "_index",
314
+ "type": "uint256"
315
+ }
316
+ ],
317
+ "name": "ExternalAssetDependencyRemoved",
318
+ "type": "event"
319
+ },
320
+ {
321
+ "anonymous": false,
322
+ "inputs": [
323
+ {
324
+ "indexed": true,
325
+ "internalType": "uint256",
326
+ "name": "_projectId",
327
+ "type": "uint256"
328
+ },
329
+ {
330
+ "indexed": true,
331
+ "internalType": "uint256",
332
+ "name": "_index",
333
+ "type": "uint256"
334
+ },
335
+ {
336
+ "indexed": false,
337
+ "internalType": "string",
338
+ "name": "_cid",
339
+ "type": "string"
340
+ },
341
+ {
342
+ "indexed": false,
343
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
344
+ "name": "_dependencyType",
345
+ "type": "uint8"
346
+ },
347
+ {
348
+ "indexed": false,
349
+ "internalType": "uint24",
350
+ "name": "_externalAssetDependencyCount",
351
+ "type": "uint24"
352
+ }
353
+ ],
354
+ "name": "ExternalAssetDependencyUpdated",
355
+ "type": "event"
356
+ },
357
+ {
358
+ "anonymous": false,
359
+ "inputs": [
360
+ {
361
+ "indexed": true,
362
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
363
+ "name": "_dependencyType",
364
+ "type": "uint8"
365
+ },
366
+ {
367
+ "indexed": false,
368
+ "internalType": "string",
369
+ "name": "_gatewayAddress",
370
+ "type": "string"
371
+ }
372
+ ],
373
+ "name": "GatewayUpdated",
374
+ "type": "event"
375
+ },
376
+ {
377
+ "anonymous": false,
378
+ "inputs": [
379
+ {
380
+ "indexed": true,
381
+ "internalType": "address",
382
+ "name": "_to",
383
+ "type": "address"
384
+ },
385
+ {
386
+ "indexed": true,
387
+ "internalType": "uint256",
388
+ "name": "_tokenId",
389
+ "type": "uint256"
390
+ }
391
+ ],
392
+ "name": "Mint",
393
+ "type": "event"
394
+ },
395
+ {
396
+ "anonymous": false,
397
+ "inputs": [
398
+ {
399
+ "indexed": true,
400
+ "internalType": "address",
401
+ "name": "_to",
402
+ "type": "address"
403
+ },
404
+ {
405
+ "indexed": true,
406
+ "internalType": "uint256",
407
+ "name": "_tokenId",
408
+ "type": "uint256"
409
+ },
410
+ {
411
+ "indexed": false,
412
+ "internalType": "bytes32",
413
+ "name": "_tokenHash",
414
+ "type": "bytes32"
415
+ }
416
+ ],
417
+ "name": "Mint",
418
+ "type": "event"
419
+ },
420
+ {
421
+ "anonymous": false,
422
+ "inputs": [
423
+ {
424
+ "indexed": true,
425
+ "internalType": "address",
426
+ "name": "_currentMinter",
427
+ "type": "address"
428
+ }
429
+ ],
430
+ "name": "MinterUpdated",
431
+ "type": "event"
432
+ },
433
+ {
434
+ "anonymous": false,
435
+ "inputs": [
436
+ {
437
+ "indexed": true,
438
+ "internalType": "address",
439
+ "name": "previousOwner",
440
+ "type": "address"
441
+ },
442
+ {
443
+ "indexed": true,
444
+ "internalType": "address",
445
+ "name": "newOwner",
446
+ "type": "address"
447
+ }
448
+ ],
449
+ "name": "OwnershipTransferred",
450
+ "type": "event"
451
+ },
452
+ {
453
+ "anonymous": false,
454
+ "inputs": [
455
+ {
456
+ "indexed": true,
457
+ "internalType": "bytes32",
458
+ "name": "_field",
459
+ "type": "bytes32"
460
+ }
461
+ ],
462
+ "name": "PlatformUpdated",
463
+ "type": "event"
464
+ },
465
+ {
466
+ "anonymous": false,
467
+ "inputs": [
468
+ {
469
+ "indexed": true,
470
+ "internalType": "uint256",
471
+ "name": "_projectId",
472
+ "type": "uint256"
473
+ }
474
+ ],
475
+ "name": "ProjectExternalAssetDependenciesLocked",
476
+ "type": "event"
477
+ },
478
+ {
479
+ "anonymous": false,
480
+ "inputs": [
481
+ {
482
+ "indexed": true,
483
+ "internalType": "uint256",
484
+ "name": "projectId",
485
+ "type": "uint256"
486
+ },
487
+ {
488
+ "indexed": true,
489
+ "internalType": "address",
490
+ "name": "royaltySplitter",
491
+ "type": "address"
492
+ }
493
+ ],
494
+ "name": "ProjectRoyaltySplitterUpdated",
495
+ "type": "event"
496
+ },
497
+ {
498
+ "anonymous": false,
499
+ "inputs": [
500
+ {
501
+ "indexed": true,
502
+ "internalType": "uint256",
503
+ "name": "_projectId",
504
+ "type": "uint256"
505
+ },
506
+ {
507
+ "indexed": true,
508
+ "internalType": "address",
509
+ "name": "_hook",
510
+ "type": "address"
511
+ }
512
+ ],
513
+ "name": "ProjectTransferHookLocked",
514
+ "type": "event"
515
+ },
516
+ {
517
+ "anonymous": false,
518
+ "inputs": [
519
+ {
520
+ "indexed": true,
521
+ "internalType": "uint256",
522
+ "name": "_projectId",
523
+ "type": "uint256"
524
+ },
525
+ {
526
+ "indexed": true,
527
+ "internalType": "address",
528
+ "name": "_hook",
529
+ "type": "address"
530
+ }
531
+ ],
532
+ "name": "ProjectTransferHookUpdated",
533
+ "type": "event"
534
+ },
535
+ {
536
+ "anonymous": false,
537
+ "inputs": [
538
+ {
539
+ "indexed": true,
540
+ "internalType": "uint256",
541
+ "name": "_projectId",
542
+ "type": "uint256"
543
+ },
544
+ {
545
+ "indexed": true,
546
+ "internalType": "bytes32",
547
+ "name": "_update",
548
+ "type": "bytes32"
549
+ }
550
+ ],
551
+ "name": "ProjectUpdated",
552
+ "type": "event"
553
+ },
554
+ {
555
+ "anonymous": false,
556
+ "inputs": [
557
+ {
558
+ "indexed": true,
559
+ "internalType": "uint256",
560
+ "name": "_projectId",
561
+ "type": "uint256"
562
+ },
563
+ {
564
+ "indexed": false,
565
+ "internalType": "address",
566
+ "name": "_artistAddress",
567
+ "type": "address"
568
+ },
569
+ {
570
+ "indexed": false,
571
+ "internalType": "address",
572
+ "name": "_additionalPayeePrimarySales",
573
+ "type": "address"
574
+ },
575
+ {
576
+ "indexed": false,
577
+ "internalType": "uint256",
578
+ "name": "_additionalPayeePrimarySalesPercentage",
579
+ "type": "uint256"
580
+ },
581
+ {
582
+ "indexed": false,
583
+ "internalType": "address",
584
+ "name": "_additionalPayeeSecondarySales",
585
+ "type": "address"
586
+ },
587
+ {
588
+ "indexed": false,
589
+ "internalType": "uint256",
590
+ "name": "_additionalPayeeSecondarySalesPercentage",
591
+ "type": "uint256"
592
+ }
593
+ ],
594
+ "name": "ProposedArtistAddressesAndSplits",
595
+ "type": "event"
596
+ },
597
+ {
598
+ "anonymous": false,
599
+ "inputs": [
600
+ {
601
+ "indexed": true,
602
+ "internalType": "address",
603
+ "name": "from",
604
+ "type": "address"
605
+ },
606
+ {
607
+ "indexed": true,
608
+ "internalType": "address",
609
+ "name": "to",
610
+ "type": "address"
611
+ },
612
+ {
613
+ "indexed": true,
614
+ "internalType": "uint256",
615
+ "name": "tokenId",
616
+ "type": "uint256"
617
+ }
618
+ ],
619
+ "name": "Transfer",
620
+ "type": "event"
621
+ },
622
+ {
623
+ "inputs": [],
624
+ "name": "IS_FLAGSHIP",
625
+ "outputs": [
626
+ {
627
+ "internalType": "bool",
628
+ "name": "",
629
+ "type": "bool"
630
+ }
631
+ ],
632
+ "stateMutability": "view",
633
+ "type": "function"
634
+ },
635
+ {
636
+ "inputs": [
637
+ {
638
+ "internalType": "uint256",
639
+ "name": "",
640
+ "type": "uint256"
641
+ }
642
+ ],
643
+ "name": "PREVIOUS_ART_BLOCKS_EXPLORATIONS_CONTRACTS",
644
+ "outputs": [
645
+ {
646
+ "internalType": "address",
647
+ "name": "",
648
+ "type": "address"
649
+ }
650
+ ],
651
+ "stateMutability": "view",
652
+ "type": "function"
653
+ },
654
+ {
655
+ "inputs": [
656
+ {
657
+ "internalType": "string",
658
+ "name": "_projectName",
659
+ "type": "string"
660
+ },
661
+ {
662
+ "internalType": "address payable",
663
+ "name": "_artistAddress",
664
+ "type": "address"
665
+ }
666
+ ],
667
+ "name": "addProject",
668
+ "outputs": [],
669
+ "stateMutability": "nonpayable",
670
+ "type": "function"
671
+ },
672
+ {
673
+ "inputs": [
674
+ {
675
+ "internalType": "uint256",
676
+ "name": "_projectId",
677
+ "type": "uint256"
678
+ },
679
+ {
680
+ "internalType": "address",
681
+ "name": "_assetAddress",
682
+ "type": "address"
683
+ }
684
+ ],
685
+ "name": "addProjectAssetDependencyOnChainAtAddress",
686
+ "outputs": [],
687
+ "stateMutability": "nonpayable",
688
+ "type": "function"
689
+ },
690
+ {
691
+ "inputs": [
692
+ {
693
+ "internalType": "uint256",
694
+ "name": "_projectId",
695
+ "type": "uint256"
696
+ },
697
+ {
698
+ "internalType": "string",
699
+ "name": "_cidOrData",
700
+ "type": "string"
701
+ },
702
+ {
703
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
704
+ "name": "_dependencyType",
705
+ "type": "uint8"
706
+ }
707
+ ],
708
+ "name": "addProjectExternalAssetDependency",
709
+ "outputs": [],
710
+ "stateMutability": "nonpayable",
711
+ "type": "function"
712
+ },
713
+ {
714
+ "inputs": [
715
+ {
716
+ "internalType": "uint256",
717
+ "name": "_projectId",
718
+ "type": "uint256"
719
+ },
720
+ {
721
+ "internalType": "bytes",
722
+ "name": "_compressedString",
723
+ "type": "bytes"
724
+ }
725
+ ],
726
+ "name": "addProjectExternalAssetDependencyOnChainCompressed",
727
+ "outputs": [],
728
+ "stateMutability": "nonpayable",
729
+ "type": "function"
730
+ },
731
+ {
732
+ "inputs": [
733
+ {
734
+ "internalType": "uint256",
735
+ "name": "_projectId",
736
+ "type": "uint256"
737
+ },
738
+ {
739
+ "internalType": "string",
740
+ "name": "_script",
741
+ "type": "string"
742
+ }
743
+ ],
744
+ "name": "addProjectScript",
745
+ "outputs": [],
746
+ "stateMutability": "nonpayable",
747
+ "type": "function"
748
+ },
749
+ {
750
+ "inputs": [
751
+ {
752
+ "internalType": "uint256",
753
+ "name": "_projectId",
754
+ "type": "uint256"
755
+ },
756
+ {
757
+ "internalType": "bytes",
758
+ "name": "_compressedScript",
759
+ "type": "bytes"
760
+ }
761
+ ],
762
+ "name": "addProjectScriptCompressed",
763
+ "outputs": [],
764
+ "stateMutability": "nonpayable",
765
+ "type": "function"
766
+ },
767
+ {
768
+ "inputs": [],
769
+ "name": "admin",
770
+ "outputs": [
771
+ {
772
+ "internalType": "address",
773
+ "name": "",
774
+ "type": "address"
775
+ }
776
+ ],
777
+ "stateMutability": "view",
778
+ "type": "function"
779
+ },
780
+ {
781
+ "inputs": [
782
+ {
783
+ "internalType": "address",
784
+ "name": "_sender",
785
+ "type": "address"
786
+ },
787
+ {
788
+ "internalType": "address",
789
+ "name": "_contract",
790
+ "type": "address"
791
+ },
792
+ {
793
+ "internalType": "bytes4",
794
+ "name": "_selector",
795
+ "type": "bytes4"
796
+ }
797
+ ],
798
+ "name": "adminACLAllowed",
799
+ "outputs": [
800
+ {
801
+ "internalType": "bool",
802
+ "name": "",
803
+ "type": "bool"
804
+ }
805
+ ],
806
+ "stateMutability": "nonpayable",
807
+ "type": "function"
808
+ },
809
+ {
810
+ "inputs": [],
811
+ "name": "adminACLContract",
812
+ "outputs": [
813
+ {
814
+ "internalType": "contract IAdminACLV0",
815
+ "name": "",
816
+ "type": "address"
817
+ }
818
+ ],
819
+ "stateMutability": "view",
820
+ "type": "function"
821
+ },
822
+ {
823
+ "inputs": [
824
+ {
825
+ "internalType": "uint256",
826
+ "name": "_projectId",
827
+ "type": "uint256"
828
+ },
829
+ {
830
+ "internalType": "address payable",
831
+ "name": "_artistAddress",
832
+ "type": "address"
833
+ },
834
+ {
835
+ "internalType": "address payable",
836
+ "name": "_additionalPayeePrimarySales",
837
+ "type": "address"
838
+ },
839
+ {
840
+ "internalType": "uint256",
841
+ "name": "_additionalPayeePrimarySalesPercentage",
842
+ "type": "uint256"
843
+ },
844
+ {
845
+ "internalType": "address payable",
846
+ "name": "_additionalPayeeSecondarySales",
847
+ "type": "address"
848
+ },
849
+ {
850
+ "internalType": "uint256",
851
+ "name": "_additionalPayeeSecondarySalesPercentage",
852
+ "type": "uint256"
853
+ }
854
+ ],
855
+ "name": "adminAcceptArtistAddressesAndSplits",
856
+ "outputs": [],
857
+ "stateMutability": "nonpayable",
858
+ "type": "function"
859
+ },
860
+ {
861
+ "inputs": [],
862
+ "name": "allowArtistProjectActivation",
863
+ "outputs": [
864
+ {
865
+ "internalType": "bool",
866
+ "name": "",
867
+ "type": "bool"
868
+ }
869
+ ],
870
+ "stateMutability": "view",
871
+ "type": "function"
872
+ },
873
+ {
874
+ "inputs": [
875
+ {
876
+ "internalType": "address",
877
+ "name": "to",
878
+ "type": "address"
879
+ },
880
+ {
881
+ "internalType": "uint256",
882
+ "name": "tokenId",
883
+ "type": "uint256"
884
+ }
885
+ ],
886
+ "name": "approve",
887
+ "outputs": [],
888
+ "stateMutability": "nonpayable",
889
+ "type": "function"
890
+ },
891
+ {
892
+ "inputs": [],
893
+ "name": "artblocksCurationRegistryAddress",
894
+ "outputs": [
895
+ {
896
+ "internalType": "address",
897
+ "name": "",
898
+ "type": "address"
899
+ }
900
+ ],
901
+ "stateMutability": "view",
902
+ "type": "function"
903
+ },
904
+ {
905
+ "inputs": [],
906
+ "name": "artblocksDependencyRegistryAddress",
907
+ "outputs": [
908
+ {
909
+ "internalType": "address",
910
+ "name": "",
911
+ "type": "address"
912
+ }
913
+ ],
914
+ "stateMutability": "view",
915
+ "type": "function"
916
+ },
917
+ {
918
+ "inputs": [],
919
+ "name": "artblocksOnChainGeneratorAddress",
920
+ "outputs": [
921
+ {
922
+ "internalType": "address",
923
+ "name": "",
924
+ "type": "address"
925
+ }
926
+ ],
927
+ "stateMutability": "view",
928
+ "type": "function"
929
+ },
930
+ {
931
+ "inputs": [],
932
+ "name": "autoApproveArtistSplitProposals",
933
+ "outputs": [
934
+ {
935
+ "internalType": "bool",
936
+ "name": "",
937
+ "type": "bool"
938
+ }
939
+ ],
940
+ "stateMutability": "view",
941
+ "type": "function"
942
+ },
943
+ {
944
+ "inputs": [
945
+ {
946
+ "internalType": "address",
947
+ "name": "owner",
948
+ "type": "address"
949
+ }
950
+ ],
951
+ "name": "balanceOf",
952
+ "outputs": [
953
+ {
954
+ "internalType": "uint256",
955
+ "name": "",
956
+ "type": "uint256"
957
+ }
958
+ ],
959
+ "stateMutability": "view",
960
+ "type": "function"
961
+ },
962
+ {
963
+ "inputs": [],
964
+ "name": "bytecodeStorageReaderContract",
965
+ "outputs": [
966
+ {
967
+ "internalType": "contract IBytecodeStorageReader_Base",
968
+ "name": "",
969
+ "type": "address"
970
+ }
971
+ ],
972
+ "stateMutability": "view",
973
+ "type": "function"
974
+ },
975
+ {
976
+ "inputs": [
977
+ {
978
+ "internalType": "uint256",
979
+ "name": "_projectId",
980
+ "type": "uint256"
981
+ },
982
+ {
983
+ "internalType": "address",
984
+ "name": "_hook",
985
+ "type": "address"
986
+ }
987
+ ],
988
+ "name": "configureProjectTransferHook",
989
+ "outputs": [],
990
+ "stateMutability": "nonpayable",
991
+ "type": "function"
992
+ },
993
+ {
994
+ "inputs": [],
995
+ "name": "coreType",
996
+ "outputs": [
997
+ {
998
+ "internalType": "string",
999
+ "name": "",
1000
+ "type": "string"
1001
+ }
1002
+ ],
1003
+ "stateMutability": "pure",
1004
+ "type": "function"
1005
+ },
1006
+ {
1007
+ "inputs": [],
1008
+ "name": "coreVersion",
1009
+ "outputs": [
1010
+ {
1011
+ "internalType": "string",
1012
+ "name": "",
1013
+ "type": "string"
1014
+ }
1015
+ ],
1016
+ "stateMutability": "pure",
1017
+ "type": "function"
1018
+ },
1019
+ {
1020
+ "inputs": [],
1021
+ "name": "defaultBaseURI",
1022
+ "outputs": [
1023
+ {
1024
+ "internalType": "string",
1025
+ "name": "",
1026
+ "type": "string"
1027
+ }
1028
+ ],
1029
+ "stateMutability": "view",
1030
+ "type": "function"
1031
+ },
1032
+ {
1033
+ "inputs": [],
1034
+ "name": "defaultPlatformProviderSecondarySalesAddress",
1035
+ "outputs": [
1036
+ {
1037
+ "internalType": "address payable",
1038
+ "name": "",
1039
+ "type": "address"
1040
+ }
1041
+ ],
1042
+ "stateMutability": "view",
1043
+ "type": "function"
1044
+ },
1045
+ {
1046
+ "inputs": [],
1047
+ "name": "defaultPlatformProviderSecondarySalesBPS",
1048
+ "outputs": [
1049
+ {
1050
+ "internalType": "uint256",
1051
+ "name": "",
1052
+ "type": "uint256"
1053
+ }
1054
+ ],
1055
+ "stateMutability": "view",
1056
+ "type": "function"
1057
+ },
1058
+ {
1059
+ "inputs": [],
1060
+ "name": "defaultRenderProviderSecondarySalesAddress",
1061
+ "outputs": [
1062
+ {
1063
+ "internalType": "address payable",
1064
+ "name": "",
1065
+ "type": "address"
1066
+ }
1067
+ ],
1068
+ "stateMutability": "view",
1069
+ "type": "function"
1070
+ },
1071
+ {
1072
+ "inputs": [],
1073
+ "name": "defaultRenderProviderSecondarySalesBPS",
1074
+ "outputs": [
1075
+ {
1076
+ "internalType": "uint256",
1077
+ "name": "",
1078
+ "type": "uint256"
1079
+ }
1080
+ ],
1081
+ "stateMutability": "view",
1082
+ "type": "function"
1083
+ },
1084
+ {
1085
+ "inputs": [],
1086
+ "name": "forbidNewProjects",
1087
+ "outputs": [],
1088
+ "stateMutability": "nonpayable",
1089
+ "type": "function"
1090
+ },
1091
+ {
1092
+ "inputs": [
1093
+ {
1094
+ "internalType": "uint256",
1095
+ "name": "tokenId",
1096
+ "type": "uint256"
1097
+ }
1098
+ ],
1099
+ "name": "getApproved",
1100
+ "outputs": [
1101
+ {
1102
+ "internalType": "address",
1103
+ "name": "",
1104
+ "type": "address"
1105
+ }
1106
+ ],
1107
+ "stateMutability": "view",
1108
+ "type": "function"
1109
+ },
1110
+ {
1111
+ "inputs": [
1112
+ {
1113
+ "internalType": "string",
1114
+ "name": "_script",
1115
+ "type": "string"
1116
+ }
1117
+ ],
1118
+ "name": "getCompressed",
1119
+ "outputs": [
1120
+ {
1121
+ "internalType": "bytes",
1122
+ "name": "",
1123
+ "type": "bytes"
1124
+ }
1125
+ ],
1126
+ "stateMutability": "pure",
1127
+ "type": "function"
1128
+ },
1129
+ {
1130
+ "inputs": [
1131
+ {
1132
+ "internalType": "uint256",
1133
+ "name": "_index",
1134
+ "type": "uint256"
1135
+ }
1136
+ ],
1137
+ "name": "getHistoricalRandomizerAt",
1138
+ "outputs": [
1139
+ {
1140
+ "internalType": "address",
1141
+ "name": "",
1142
+ "type": "address"
1143
+ }
1144
+ ],
1145
+ "stateMutability": "view",
1146
+ "type": "function"
1147
+ },
1148
+ {
1149
+ "inputs": [
1150
+ {
1151
+ "internalType": "uint256",
1152
+ "name": "_projectId",
1153
+ "type": "uint256"
1154
+ },
1155
+ {
1156
+ "internalType": "uint256",
1157
+ "name": "_price",
1158
+ "type": "uint256"
1159
+ }
1160
+ ],
1161
+ "name": "getPrimaryRevenueSplits",
1162
+ "outputs": [
1163
+ {
1164
+ "internalType": "uint256",
1165
+ "name": "renderProviderRevenue_",
1166
+ "type": "uint256"
1167
+ },
1168
+ {
1169
+ "internalType": "address payable",
1170
+ "name": "renderProviderAddress_",
1171
+ "type": "address"
1172
+ },
1173
+ {
1174
+ "internalType": "uint256",
1175
+ "name": "platformProviderRevenue_",
1176
+ "type": "uint256"
1177
+ },
1178
+ {
1179
+ "internalType": "address payable",
1180
+ "name": "platformProviderAddress_",
1181
+ "type": "address"
1182
+ },
1183
+ {
1184
+ "internalType": "uint256",
1185
+ "name": "artistRevenue_",
1186
+ "type": "uint256"
1187
+ },
1188
+ {
1189
+ "internalType": "address payable",
1190
+ "name": "artistAddress_",
1191
+ "type": "address"
1192
+ },
1193
+ {
1194
+ "internalType": "uint256",
1195
+ "name": "additionalPayeePrimaryRevenue_",
1196
+ "type": "uint256"
1197
+ },
1198
+ {
1199
+ "internalType": "address payable",
1200
+ "name": "additionalPayeePrimaryAddress_",
1201
+ "type": "address"
1202
+ }
1203
+ ],
1204
+ "stateMutability": "view",
1205
+ "type": "function"
1206
+ },
1207
+ {
1208
+ "inputs": [
1209
+ {
1210
+ "components": [
1211
+ {
1212
+ "internalType": "string",
1213
+ "name": "tokenName",
1214
+ "type": "string"
1215
+ },
1216
+ {
1217
+ "internalType": "string",
1218
+ "name": "tokenSymbol",
1219
+ "type": "string"
1220
+ },
1221
+ {
1222
+ "internalType": "address",
1223
+ "name": "renderProviderAddress",
1224
+ "type": "address"
1225
+ },
1226
+ {
1227
+ "internalType": "address",
1228
+ "name": "platformProviderAddress",
1229
+ "type": "address"
1230
+ },
1231
+ {
1232
+ "internalType": "address",
1233
+ "name": "newSuperAdminAddress",
1234
+ "type": "address"
1235
+ },
1236
+ {
1237
+ "internalType": "address",
1238
+ "name": "randomizerContract",
1239
+ "type": "address"
1240
+ },
1241
+ {
1242
+ "internalType": "address",
1243
+ "name": "splitProviderAddress",
1244
+ "type": "address"
1245
+ },
1246
+ {
1247
+ "internalType": "address",
1248
+ "name": "minterFilterAddress",
1249
+ "type": "address"
1250
+ },
1251
+ {
1252
+ "internalType": "uint248",
1253
+ "name": "startingProjectId",
1254
+ "type": "uint248"
1255
+ },
1256
+ {
1257
+ "internalType": "bool",
1258
+ "name": "autoApproveArtistSplitProposals",
1259
+ "type": "bool"
1260
+ },
1261
+ {
1262
+ "internalType": "bool",
1263
+ "name": "nullPlatformProvider",
1264
+ "type": "bool"
1265
+ },
1266
+ {
1267
+ "internalType": "bool",
1268
+ "name": "allowArtistProjectActivation",
1269
+ "type": "bool"
1270
+ }
1271
+ ],
1272
+ "internalType": "struct EngineConfiguration",
1273
+ "name": "",
1274
+ "type": "tuple"
1275
+ },
1276
+ {
1277
+ "internalType": "address",
1278
+ "name": "",
1279
+ "type": "address"
1280
+ },
1281
+ {
1282
+ "internalType": "string",
1283
+ "name": "",
1284
+ "type": "string"
1285
+ },
1286
+ {
1287
+ "internalType": "address",
1288
+ "name": "",
1289
+ "type": "address"
1290
+ }
1291
+ ],
1292
+ "name": "initialize",
1293
+ "outputs": [],
1294
+ "stateMutability": "pure",
1295
+ "type": "function"
1296
+ },
1297
+ {
1298
+ "inputs": [
1299
+ {
1300
+ "internalType": "address",
1301
+ "name": "owner",
1302
+ "type": "address"
1303
+ },
1304
+ {
1305
+ "internalType": "address",
1306
+ "name": "operator",
1307
+ "type": "address"
1308
+ }
1309
+ ],
1310
+ "name": "isApprovedForAll",
1311
+ "outputs": [
1312
+ {
1313
+ "internalType": "bool",
1314
+ "name": "",
1315
+ "type": "bool"
1316
+ }
1317
+ ],
1318
+ "stateMutability": "view",
1319
+ "type": "function"
1320
+ },
1321
+ {
1322
+ "inputs": [
1323
+ {
1324
+ "internalType": "address",
1325
+ "name": "_minter",
1326
+ "type": "address"
1327
+ }
1328
+ ],
1329
+ "name": "isMintWhitelisted",
1330
+ "outputs": [
1331
+ {
1332
+ "internalType": "bool",
1333
+ "name": "",
1334
+ "type": "bool"
1335
+ }
1336
+ ],
1337
+ "stateMutability": "view",
1338
+ "type": "function"
1339
+ },
1340
+ {
1341
+ "inputs": [
1342
+ {
1343
+ "internalType": "uint256",
1344
+ "name": "_projectId",
1345
+ "type": "uint256"
1346
+ }
1347
+ ],
1348
+ "name": "lockProjectExternalAssetDependencies",
1349
+ "outputs": [],
1350
+ "stateMutability": "nonpayable",
1351
+ "type": "function"
1352
+ },
1353
+ {
1354
+ "inputs": [
1355
+ {
1356
+ "internalType": "uint256",
1357
+ "name": "_projectId",
1358
+ "type": "uint256"
1359
+ },
1360
+ {
1361
+ "internalType": "address",
1362
+ "name": "_expectedHook",
1363
+ "type": "address"
1364
+ }
1365
+ ],
1366
+ "name": "lockProjectTransferHook",
1367
+ "outputs": [],
1368
+ "stateMutability": "nonpayable",
1369
+ "type": "function"
1370
+ },
1371
+ {
1372
+ "inputs": [
1373
+ {
1374
+ "internalType": "address",
1375
+ "name": "_to",
1376
+ "type": "address"
1377
+ },
1378
+ {
1379
+ "internalType": "uint256",
1380
+ "name": "_projectId",
1381
+ "type": "uint256"
1382
+ },
1383
+ {
1384
+ "internalType": "address",
1385
+ "name": "_by",
1386
+ "type": "address"
1387
+ }
1388
+ ],
1389
+ "name": "mint_Ecf",
1390
+ "outputs": [
1391
+ {
1392
+ "internalType": "uint256",
1393
+ "name": "_tokenId",
1394
+ "type": "uint256"
1395
+ }
1396
+ ],
1397
+ "stateMutability": "nonpayable",
1398
+ "type": "function"
1399
+ },
1400
+ {
1401
+ "inputs": [],
1402
+ "name": "minterContract",
1403
+ "outputs": [
1404
+ {
1405
+ "internalType": "address",
1406
+ "name": "",
1407
+ "type": "address"
1408
+ }
1409
+ ],
1410
+ "stateMutability": "view",
1411
+ "type": "function"
1412
+ },
1413
+ {
1414
+ "inputs": [],
1415
+ "name": "name",
1416
+ "outputs": [
1417
+ {
1418
+ "internalType": "string",
1419
+ "name": "",
1420
+ "type": "string"
1421
+ }
1422
+ ],
1423
+ "stateMutability": "view",
1424
+ "type": "function"
1425
+ },
1426
+ {
1427
+ "inputs": [],
1428
+ "name": "newProjectsForbidden",
1429
+ "outputs": [
1430
+ {
1431
+ "internalType": "bool",
1432
+ "name": "",
1433
+ "type": "bool"
1434
+ }
1435
+ ],
1436
+ "stateMutability": "view",
1437
+ "type": "function"
1438
+ },
1439
+ {
1440
+ "inputs": [],
1441
+ "name": "nextCoreContract",
1442
+ "outputs": [
1443
+ {
1444
+ "internalType": "address",
1445
+ "name": "",
1446
+ "type": "address"
1447
+ }
1448
+ ],
1449
+ "stateMutability": "view",
1450
+ "type": "function"
1451
+ },
1452
+ {
1453
+ "inputs": [],
1454
+ "name": "nextProjectId",
1455
+ "outputs": [
1456
+ {
1457
+ "internalType": "uint256",
1458
+ "name": "",
1459
+ "type": "uint256"
1460
+ }
1461
+ ],
1462
+ "stateMutability": "view",
1463
+ "type": "function"
1464
+ },
1465
+ {
1466
+ "inputs": [],
1467
+ "name": "nullPlatformProvider",
1468
+ "outputs": [
1469
+ {
1470
+ "internalType": "bool",
1471
+ "name": "",
1472
+ "type": "bool"
1473
+ }
1474
+ ],
1475
+ "stateMutability": "view",
1476
+ "type": "function"
1477
+ },
1478
+ {
1479
+ "inputs": [],
1480
+ "name": "numHistoricalRandomizers",
1481
+ "outputs": [
1482
+ {
1483
+ "internalType": "uint256",
1484
+ "name": "",
1485
+ "type": "uint256"
1486
+ }
1487
+ ],
1488
+ "stateMutability": "view",
1489
+ "type": "function"
1490
+ },
1491
+ {
1492
+ "inputs": [],
1493
+ "name": "owner",
1494
+ "outputs": [
1495
+ {
1496
+ "internalType": "address",
1497
+ "name": "",
1498
+ "type": "address"
1499
+ }
1500
+ ],
1501
+ "stateMutability": "view",
1502
+ "type": "function"
1503
+ },
1504
+ {
1505
+ "inputs": [
1506
+ {
1507
+ "internalType": "uint256",
1508
+ "name": "tokenId",
1509
+ "type": "uint256"
1510
+ }
1511
+ ],
1512
+ "name": "ownerOf",
1513
+ "outputs": [
1514
+ {
1515
+ "internalType": "address",
1516
+ "name": "",
1517
+ "type": "address"
1518
+ }
1519
+ ],
1520
+ "stateMutability": "view",
1521
+ "type": "function"
1522
+ },
1523
+ {
1524
+ "inputs": [],
1525
+ "name": "platformProviderPrimarySalesAddress",
1526
+ "outputs": [
1527
+ {
1528
+ "internalType": "address payable",
1529
+ "name": "",
1530
+ "type": "address"
1531
+ }
1532
+ ],
1533
+ "stateMutability": "view",
1534
+ "type": "function"
1535
+ },
1536
+ {
1537
+ "inputs": [],
1538
+ "name": "platformProviderPrimarySalesPercentage",
1539
+ "outputs": [
1540
+ {
1541
+ "internalType": "uint256",
1542
+ "name": "",
1543
+ "type": "uint256"
1544
+ }
1545
+ ],
1546
+ "stateMutability": "view",
1547
+ "type": "function"
1548
+ },
1549
+ {
1550
+ "inputs": [],
1551
+ "name": "preferredArweaveGateway",
1552
+ "outputs": [
1553
+ {
1554
+ "internalType": "string",
1555
+ "name": "",
1556
+ "type": "string"
1557
+ }
1558
+ ],
1559
+ "stateMutability": "view",
1560
+ "type": "function"
1561
+ },
1562
+ {
1563
+ "inputs": [],
1564
+ "name": "preferredIPFSGateway",
1565
+ "outputs": [
1566
+ {
1567
+ "internalType": "string",
1568
+ "name": "",
1569
+ "type": "string"
1570
+ }
1571
+ ],
1572
+ "stateMutability": "view",
1573
+ "type": "function"
1574
+ },
1575
+ {
1576
+ "inputs": [
1577
+ {
1578
+ "internalType": "uint256",
1579
+ "name": "_projectId",
1580
+ "type": "uint256"
1581
+ }
1582
+ ],
1583
+ "name": "projectDetails",
1584
+ "outputs": [
1585
+ {
1586
+ "internalType": "string",
1587
+ "name": "projectName",
1588
+ "type": "string"
1589
+ },
1590
+ {
1591
+ "internalType": "string",
1592
+ "name": "artist",
1593
+ "type": "string"
1594
+ },
1595
+ {
1596
+ "internalType": "string",
1597
+ "name": "description",
1598
+ "type": "string"
1599
+ },
1600
+ {
1601
+ "internalType": "string",
1602
+ "name": "website",
1603
+ "type": "string"
1604
+ },
1605
+ {
1606
+ "internalType": "string",
1607
+ "name": "license",
1608
+ "type": "string"
1609
+ }
1610
+ ],
1611
+ "stateMutability": "view",
1612
+ "type": "function"
1613
+ },
1614
+ {
1615
+ "inputs": [
1616
+ {
1617
+ "internalType": "uint256",
1618
+ "name": "_projectId",
1619
+ "type": "uint256"
1620
+ },
1621
+ {
1622
+ "internalType": "uint256",
1623
+ "name": "_index",
1624
+ "type": "uint256"
1625
+ }
1626
+ ],
1627
+ "name": "projectExternalAssetDependencyByIndex",
1628
+ "outputs": [
1629
+ {
1630
+ "components": [
1631
+ {
1632
+ "internalType": "string",
1633
+ "name": "cid",
1634
+ "type": "string"
1635
+ },
1636
+ {
1637
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
1638
+ "name": "dependencyType",
1639
+ "type": "uint8"
1640
+ },
1641
+ {
1642
+ "internalType": "address",
1643
+ "name": "bytecodeAddress",
1644
+ "type": "address"
1645
+ },
1646
+ {
1647
+ "internalType": "string",
1648
+ "name": "data",
1649
+ "type": "string"
1650
+ }
1651
+ ],
1652
+ "internalType": "struct IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyWithData",
1653
+ "name": "",
1654
+ "type": "tuple"
1655
+ }
1656
+ ],
1657
+ "stateMutability": "view",
1658
+ "type": "function"
1659
+ },
1660
+ {
1661
+ "inputs": [
1662
+ {
1663
+ "internalType": "uint256",
1664
+ "name": "_projectId",
1665
+ "type": "uint256"
1666
+ }
1667
+ ],
1668
+ "name": "projectExternalAssetDependencyCount",
1669
+ "outputs": [
1670
+ {
1671
+ "internalType": "uint256",
1672
+ "name": "",
1673
+ "type": "uint256"
1674
+ }
1675
+ ],
1676
+ "stateMutability": "view",
1677
+ "type": "function"
1678
+ },
1679
+ {
1680
+ "inputs": [
1681
+ {
1682
+ "internalType": "uint256",
1683
+ "name": "_projectId",
1684
+ "type": "uint256"
1685
+ }
1686
+ ],
1687
+ "name": "projectIdToArtistAddress",
1688
+ "outputs": [
1689
+ {
1690
+ "internalType": "address payable",
1691
+ "name": "",
1692
+ "type": "address"
1693
+ }
1694
+ ],
1695
+ "stateMutability": "view",
1696
+ "type": "function"
1697
+ },
1698
+ {
1699
+ "inputs": [
1700
+ {
1701
+ "internalType": "uint256",
1702
+ "name": "_projectId",
1703
+ "type": "uint256"
1704
+ }
1705
+ ],
1706
+ "name": "projectIdToFinancials",
1707
+ "outputs": [
1708
+ {
1709
+ "components": [
1710
+ {
1711
+ "internalType": "address payable",
1712
+ "name": "additionalPayeePrimarySales",
1713
+ "type": "address"
1714
+ },
1715
+ {
1716
+ "internalType": "uint8",
1717
+ "name": "secondaryMarketRoyaltyPercentage",
1718
+ "type": "uint8"
1719
+ },
1720
+ {
1721
+ "internalType": "address payable",
1722
+ "name": "additionalPayeeSecondarySales",
1723
+ "type": "address"
1724
+ },
1725
+ {
1726
+ "internalType": "uint8",
1727
+ "name": "additionalPayeeSecondarySalesPercentage",
1728
+ "type": "uint8"
1729
+ },
1730
+ {
1731
+ "internalType": "address payable",
1732
+ "name": "artistAddress",
1733
+ "type": "address"
1734
+ },
1735
+ {
1736
+ "internalType": "uint8",
1737
+ "name": "additionalPayeePrimarySalesPercentage",
1738
+ "type": "uint8"
1739
+ },
1740
+ {
1741
+ "internalType": "address",
1742
+ "name": "platformProviderSecondarySalesAddress",
1743
+ "type": "address"
1744
+ },
1745
+ {
1746
+ "internalType": "uint16",
1747
+ "name": "platformProviderSecondarySalesBPS",
1748
+ "type": "uint16"
1749
+ },
1750
+ {
1751
+ "internalType": "address",
1752
+ "name": "renderProviderSecondarySalesAddress",
1753
+ "type": "address"
1754
+ },
1755
+ {
1756
+ "internalType": "uint16",
1757
+ "name": "renderProviderSecondarySalesBPS",
1758
+ "type": "uint16"
1759
+ },
1760
+ {
1761
+ "internalType": "address",
1762
+ "name": "royaltySplitter",
1763
+ "type": "address"
1764
+ }
1765
+ ],
1766
+ "internalType": "struct IGenArt721CoreContractV3_ProjectFinance.ProjectFinance",
1767
+ "name": "",
1768
+ "type": "tuple"
1769
+ }
1770
+ ],
1771
+ "stateMutability": "view",
1772
+ "type": "function"
1773
+ },
1774
+ {
1775
+ "inputs": [
1776
+ {
1777
+ "internalType": "uint256",
1778
+ "name": "_projectId",
1779
+ "type": "uint256"
1780
+ }
1781
+ ],
1782
+ "name": "projectIdToSecondaryMarketRoyaltyPercentage",
1783
+ "outputs": [
1784
+ {
1785
+ "internalType": "uint256",
1786
+ "name": "",
1787
+ "type": "uint256"
1788
+ }
1789
+ ],
1790
+ "stateMutability": "view",
1791
+ "type": "function"
1792
+ },
1793
+ {
1794
+ "inputs": [
1795
+ {
1796
+ "internalType": "uint256",
1797
+ "name": "_projectId",
1798
+ "type": "uint256"
1799
+ },
1800
+ {
1801
+ "internalType": "uint256",
1802
+ "name": "_index",
1803
+ "type": "uint256"
1804
+ }
1805
+ ],
1806
+ "name": "projectScriptByIndex",
1807
+ "outputs": [
1808
+ {
1809
+ "internalType": "string",
1810
+ "name": "",
1811
+ "type": "string"
1812
+ }
1813
+ ],
1814
+ "stateMutability": "view",
1815
+ "type": "function"
1816
+ },
1817
+ {
1818
+ "inputs": [
1819
+ {
1820
+ "internalType": "uint256",
1821
+ "name": "_projectId",
1822
+ "type": "uint256"
1823
+ },
1824
+ {
1825
+ "internalType": "uint256",
1826
+ "name": "_index",
1827
+ "type": "uint256"
1828
+ }
1829
+ ],
1830
+ "name": "projectScriptBytecodeAddressByIndex",
1831
+ "outputs": [
1832
+ {
1833
+ "internalType": "address",
1834
+ "name": "",
1835
+ "type": "address"
1836
+ }
1837
+ ],
1838
+ "stateMutability": "view",
1839
+ "type": "function"
1840
+ },
1841
+ {
1842
+ "inputs": [
1843
+ {
1844
+ "internalType": "uint256",
1845
+ "name": "_projectId",
1846
+ "type": "uint256"
1847
+ }
1848
+ ],
1849
+ "name": "projectScriptDetails",
1850
+ "outputs": [
1851
+ {
1852
+ "internalType": "string",
1853
+ "name": "scriptTypeAndVersion",
1854
+ "type": "string"
1855
+ },
1856
+ {
1857
+ "internalType": "string",
1858
+ "name": "aspectRatio",
1859
+ "type": "string"
1860
+ },
1861
+ {
1862
+ "internalType": "uint256",
1863
+ "name": "scriptCount",
1864
+ "type": "uint256"
1865
+ }
1866
+ ],
1867
+ "stateMutability": "view",
1868
+ "type": "function"
1869
+ },
1870
+ {
1871
+ "inputs": [
1872
+ {
1873
+ "internalType": "uint256",
1874
+ "name": "_projectId",
1875
+ "type": "uint256"
1876
+ }
1877
+ ],
1878
+ "name": "projectStateData",
1879
+ "outputs": [
1880
+ {
1881
+ "internalType": "uint256",
1882
+ "name": "invocations",
1883
+ "type": "uint256"
1884
+ },
1885
+ {
1886
+ "internalType": "uint256",
1887
+ "name": "maxInvocations",
1888
+ "type": "uint256"
1889
+ },
1890
+ {
1891
+ "internalType": "bool",
1892
+ "name": "active",
1893
+ "type": "bool"
1894
+ },
1895
+ {
1896
+ "internalType": "bool",
1897
+ "name": "paused",
1898
+ "type": "bool"
1899
+ },
1900
+ {
1901
+ "internalType": "uint256",
1902
+ "name": "completedTimestamp",
1903
+ "type": "uint256"
1904
+ },
1905
+ {
1906
+ "internalType": "bool",
1907
+ "name": "locked",
1908
+ "type": "bool"
1909
+ }
1910
+ ],
1911
+ "stateMutability": "view",
1912
+ "type": "function"
1913
+ },
1914
+ {
1915
+ "inputs": [
1916
+ {
1917
+ "internalType": "uint256",
1918
+ "name": "_projectId",
1919
+ "type": "uint256"
1920
+ }
1921
+ ],
1922
+ "name": "projectTransferHookConfig",
1923
+ "outputs": [
1924
+ {
1925
+ "internalType": "address",
1926
+ "name": "hook",
1927
+ "type": "address"
1928
+ },
1929
+ {
1930
+ "internalType": "bool",
1931
+ "name": "locked",
1932
+ "type": "bool"
1933
+ }
1934
+ ],
1935
+ "stateMutability": "view",
1936
+ "type": "function"
1937
+ },
1938
+ {
1939
+ "inputs": [
1940
+ {
1941
+ "internalType": "uint256",
1942
+ "name": "_projectId",
1943
+ "type": "uint256"
1944
+ }
1945
+ ],
1946
+ "name": "projectURIInfo",
1947
+ "outputs": [
1948
+ {
1949
+ "internalType": "string",
1950
+ "name": "projectBaseURI",
1951
+ "type": "string"
1952
+ }
1953
+ ],
1954
+ "stateMutability": "view",
1955
+ "type": "function"
1956
+ },
1957
+ {
1958
+ "inputs": [
1959
+ {
1960
+ "internalType": "uint256",
1961
+ "name": "_projectId",
1962
+ "type": "uint256"
1963
+ },
1964
+ {
1965
+ "internalType": "address payable",
1966
+ "name": "_artistAddress",
1967
+ "type": "address"
1968
+ },
1969
+ {
1970
+ "internalType": "address payable",
1971
+ "name": "_additionalPayeePrimarySales",
1972
+ "type": "address"
1973
+ },
1974
+ {
1975
+ "internalType": "uint256",
1976
+ "name": "_additionalPayeePrimarySalesPercentage",
1977
+ "type": "uint256"
1978
+ },
1979
+ {
1980
+ "internalType": "address payable",
1981
+ "name": "_additionalPayeeSecondarySales",
1982
+ "type": "address"
1983
+ },
1984
+ {
1985
+ "internalType": "uint256",
1986
+ "name": "_additionalPayeeSecondarySalesPercentage",
1987
+ "type": "uint256"
1988
+ }
1989
+ ],
1990
+ "name": "proposeArtistPaymentAddressesAndSplits",
1991
+ "outputs": [],
1992
+ "stateMutability": "nonpayable",
1993
+ "type": "function"
1994
+ },
1995
+ {
1996
+ "inputs": [
1997
+ {
1998
+ "internalType": "uint256",
1999
+ "name": "",
2000
+ "type": "uint256"
2001
+ }
2002
+ ],
2003
+ "name": "proposedArtistAddressesAndSplitsHash",
2004
+ "outputs": [
2005
+ {
2006
+ "internalType": "bytes32",
2007
+ "name": "",
2008
+ "type": "bytes32"
2009
+ }
2010
+ ],
2011
+ "stateMutability": "view",
2012
+ "type": "function"
2013
+ },
2014
+ {
2015
+ "inputs": [],
2016
+ "name": "randomizerContract",
2017
+ "outputs": [
2018
+ {
2019
+ "internalType": "contract IRandomizer_V3CoreBase",
2020
+ "name": "",
2021
+ "type": "address"
2022
+ }
2023
+ ],
2024
+ "stateMutability": "view",
2025
+ "type": "function"
2026
+ },
2027
+ {
2028
+ "inputs": [
2029
+ {
2030
+ "internalType": "uint256",
2031
+ "name": "_projectId",
2032
+ "type": "uint256"
2033
+ },
2034
+ {
2035
+ "internalType": "uint256",
2036
+ "name": "_index",
2037
+ "type": "uint256"
2038
+ }
2039
+ ],
2040
+ "name": "removeProjectExternalAssetDependency",
2041
+ "outputs": [],
2042
+ "stateMutability": "nonpayable",
2043
+ "type": "function"
2044
+ },
2045
+ {
2046
+ "inputs": [
2047
+ {
2048
+ "internalType": "uint256",
2049
+ "name": "_projectId",
2050
+ "type": "uint256"
2051
+ }
2052
+ ],
2053
+ "name": "removeProjectLastScript",
2054
+ "outputs": [],
2055
+ "stateMutability": "nonpayable",
2056
+ "type": "function"
2057
+ },
2058
+ {
2059
+ "inputs": [],
2060
+ "name": "renderProviderPrimarySalesAddress",
2061
+ "outputs": [
2062
+ {
2063
+ "internalType": "address payable",
2064
+ "name": "",
2065
+ "type": "address"
2066
+ }
2067
+ ],
2068
+ "stateMutability": "view",
2069
+ "type": "function"
2070
+ },
2071
+ {
2072
+ "inputs": [],
2073
+ "name": "renderProviderPrimarySalesPercentage",
2074
+ "outputs": [
2075
+ {
2076
+ "internalType": "uint256",
2077
+ "name": "",
2078
+ "type": "uint256"
2079
+ }
2080
+ ],
2081
+ "stateMutability": "view",
2082
+ "type": "function"
2083
+ },
2084
+ {
2085
+ "inputs": [],
2086
+ "name": "renounceOwnership",
2087
+ "outputs": [],
2088
+ "stateMutability": "nonpayable",
2089
+ "type": "function"
2090
+ },
2091
+ {
2092
+ "inputs": [
2093
+ {
2094
+ "internalType": "uint256",
2095
+ "name": "_tokenId",
2096
+ "type": "uint256"
2097
+ },
2098
+ {
2099
+ "internalType": "uint256",
2100
+ "name": "_salePrice",
2101
+ "type": "uint256"
2102
+ }
2103
+ ],
2104
+ "name": "royaltyInfo",
2105
+ "outputs": [
2106
+ {
2107
+ "internalType": "address",
2108
+ "name": "receiver",
2109
+ "type": "address"
2110
+ },
2111
+ {
2112
+ "internalType": "uint256",
2113
+ "name": "royaltyAmount",
2114
+ "type": "uint256"
2115
+ }
2116
+ ],
2117
+ "stateMutability": "view",
2118
+ "type": "function"
2119
+ },
2120
+ {
2121
+ "inputs": [
2122
+ {
2123
+ "internalType": "address",
2124
+ "name": "from",
2125
+ "type": "address"
2126
+ },
2127
+ {
2128
+ "internalType": "address",
2129
+ "name": "to",
2130
+ "type": "address"
2131
+ },
2132
+ {
2133
+ "internalType": "uint256",
2134
+ "name": "tokenId",
2135
+ "type": "uint256"
2136
+ }
2137
+ ],
2138
+ "name": "safeTransferFrom",
2139
+ "outputs": [],
2140
+ "stateMutability": "nonpayable",
2141
+ "type": "function"
2142
+ },
2143
+ {
2144
+ "inputs": [
2145
+ {
2146
+ "internalType": "address",
2147
+ "name": "from",
2148
+ "type": "address"
2149
+ },
2150
+ {
2151
+ "internalType": "address",
2152
+ "name": "to",
2153
+ "type": "address"
2154
+ },
2155
+ {
2156
+ "internalType": "uint256",
2157
+ "name": "tokenId",
2158
+ "type": "uint256"
2159
+ },
2160
+ {
2161
+ "internalType": "bytes",
2162
+ "name": "data",
2163
+ "type": "bytes"
2164
+ }
2165
+ ],
2166
+ "name": "safeTransferFrom",
2167
+ "outputs": [],
2168
+ "stateMutability": "nonpayable",
2169
+ "type": "function"
2170
+ },
2171
+ {
2172
+ "inputs": [
2173
+ {
2174
+ "internalType": "address",
2175
+ "name": "operator",
2176
+ "type": "address"
2177
+ },
2178
+ {
2179
+ "internalType": "bool",
2180
+ "name": "approved",
2181
+ "type": "bool"
2182
+ }
2183
+ ],
2184
+ "name": "setApprovalForAll",
2185
+ "outputs": [],
2186
+ "stateMutability": "nonpayable",
2187
+ "type": "function"
2188
+ },
2189
+ {
2190
+ "inputs": [
2191
+ {
2192
+ "internalType": "uint256",
2193
+ "name": "_tokenId",
2194
+ "type": "uint256"
2195
+ },
2196
+ {
2197
+ "internalType": "bytes32",
2198
+ "name": "_hashSeed",
2199
+ "type": "bytes32"
2200
+ }
2201
+ ],
2202
+ "name": "setTokenHash_8PT",
2203
+ "outputs": [],
2204
+ "stateMutability": "nonpayable",
2205
+ "type": "function"
2206
+ },
2207
+ {
2208
+ "inputs": [],
2209
+ "name": "splitProvider",
2210
+ "outputs": [
2211
+ {
2212
+ "internalType": "contract ISplitProviderV0",
2213
+ "name": "",
2214
+ "type": "address"
2215
+ }
2216
+ ],
2217
+ "stateMutability": "view",
2218
+ "type": "function"
2219
+ },
2220
+ {
2221
+ "inputs": [],
2222
+ "name": "startingProjectId",
2223
+ "outputs": [
2224
+ {
2225
+ "internalType": "uint256",
2226
+ "name": "",
2227
+ "type": "uint256"
2228
+ }
2229
+ ],
2230
+ "stateMutability": "view",
2231
+ "type": "function"
2232
+ },
2233
+ {
2234
+ "inputs": [
2235
+ {
2236
+ "internalType": "bytes4",
2237
+ "name": "interfaceId",
2238
+ "type": "bytes4"
2239
+ }
2240
+ ],
2241
+ "name": "supportsInterface",
2242
+ "outputs": [
2243
+ {
2244
+ "internalType": "bool",
2245
+ "name": "",
2246
+ "type": "bool"
2247
+ }
2248
+ ],
2249
+ "stateMutability": "view",
2250
+ "type": "function"
2251
+ },
2252
+ {
2253
+ "inputs": [],
2254
+ "name": "symbol",
2255
+ "outputs": [
2256
+ {
2257
+ "internalType": "string",
2258
+ "name": "",
2259
+ "type": "string"
2260
+ }
2261
+ ],
2262
+ "stateMutability": "view",
2263
+ "type": "function"
2264
+ },
2265
+ {
2266
+ "inputs": [
2267
+ {
2268
+ "internalType": "uint256",
2269
+ "name": "_projectId",
2270
+ "type": "uint256"
2271
+ }
2272
+ ],
2273
+ "name": "syncProviderSecondaryForProjectToDefaults",
2274
+ "outputs": [],
2275
+ "stateMutability": "nonpayable",
2276
+ "type": "function"
2277
+ },
2278
+ {
2279
+ "inputs": [
2280
+ {
2281
+ "internalType": "uint256",
2282
+ "name": "_projectId",
2283
+ "type": "uint256"
2284
+ }
2285
+ ],
2286
+ "name": "toggleProjectIsActive",
2287
+ "outputs": [],
2288
+ "stateMutability": "nonpayable",
2289
+ "type": "function"
2290
+ },
2291
+ {
2292
+ "inputs": [
2293
+ {
2294
+ "internalType": "uint256",
2295
+ "name": "_projectId",
2296
+ "type": "uint256"
2297
+ }
2298
+ ],
2299
+ "name": "toggleProjectIsPaused",
2300
+ "outputs": [],
2301
+ "stateMutability": "nonpayable",
2302
+ "type": "function"
2303
+ },
2304
+ {
2305
+ "inputs": [
2306
+ {
2307
+ "internalType": "uint256",
2308
+ "name": "_tokenId",
2309
+ "type": "uint256"
2310
+ }
2311
+ ],
2312
+ "name": "tokenIdToHash",
2313
+ "outputs": [
2314
+ {
2315
+ "internalType": "bytes32",
2316
+ "name": "",
2317
+ "type": "bytes32"
2318
+ }
2319
+ ],
2320
+ "stateMutability": "view",
2321
+ "type": "function"
2322
+ },
2323
+ {
2324
+ "inputs": [
2325
+ {
2326
+ "internalType": "uint256",
2327
+ "name": "_tokenId",
2328
+ "type": "uint256"
2329
+ }
2330
+ ],
2331
+ "name": "tokenIdToHashSeed",
2332
+ "outputs": [
2333
+ {
2334
+ "internalType": "bytes12",
2335
+ "name": "",
2336
+ "type": "bytes12"
2337
+ }
2338
+ ],
2339
+ "stateMutability": "view",
2340
+ "type": "function"
2341
+ },
2342
+ {
2343
+ "inputs": [
2344
+ {
2345
+ "internalType": "uint256",
2346
+ "name": "_tokenId",
2347
+ "type": "uint256"
2348
+ }
2349
+ ],
2350
+ "name": "tokenIdToProjectId",
2351
+ "outputs": [
2352
+ {
2353
+ "internalType": "uint256",
2354
+ "name": "_projectId",
2355
+ "type": "uint256"
2356
+ }
2357
+ ],
2358
+ "stateMutability": "pure",
2359
+ "type": "function"
2360
+ },
2361
+ {
2362
+ "inputs": [
2363
+ {
2364
+ "internalType": "uint256",
2365
+ "name": "_tokenId",
2366
+ "type": "uint256"
2367
+ }
2368
+ ],
2369
+ "name": "tokenURI",
2370
+ "outputs": [
2371
+ {
2372
+ "internalType": "string",
2373
+ "name": "",
2374
+ "type": "string"
2375
+ }
2376
+ ],
2377
+ "stateMutability": "view",
2378
+ "type": "function"
2379
+ },
2380
+ {
2381
+ "inputs": [
2382
+ {
2383
+ "internalType": "address",
2384
+ "name": "from",
2385
+ "type": "address"
2386
+ },
2387
+ {
2388
+ "internalType": "address",
2389
+ "name": "to",
2390
+ "type": "address"
2391
+ },
2392
+ {
2393
+ "internalType": "uint256",
2394
+ "name": "tokenId",
2395
+ "type": "uint256"
2396
+ }
2397
+ ],
2398
+ "name": "transferFrom",
2399
+ "outputs": [],
2400
+ "stateMutability": "nonpayable",
2401
+ "type": "function"
2402
+ },
2403
+ {
2404
+ "inputs": [
2405
+ {
2406
+ "internalType": "address",
2407
+ "name": "newOwner",
2408
+ "type": "address"
2409
+ }
2410
+ ],
2411
+ "name": "transferOwnership",
2412
+ "outputs": [],
2413
+ "stateMutability": "nonpayable",
2414
+ "type": "function"
2415
+ },
2416
+ {
2417
+ "inputs": [
2418
+ {
2419
+ "internalType": "address",
2420
+ "name": "_artblocksCurationRegistryAddress",
2421
+ "type": "address"
2422
+ }
2423
+ ],
2424
+ "name": "updateArtblocksCurationRegistryAddress",
2425
+ "outputs": [],
2426
+ "stateMutability": "nonpayable",
2427
+ "type": "function"
2428
+ },
2429
+ {
2430
+ "inputs": [
2431
+ {
2432
+ "internalType": "address",
2433
+ "name": "_artblocksDependencyRegistryAddress",
2434
+ "type": "address"
2435
+ }
2436
+ ],
2437
+ "name": "updateArtblocksDependencyRegistryAddress",
2438
+ "outputs": [],
2439
+ "stateMutability": "nonpayable",
2440
+ "type": "function"
2441
+ },
2442
+ {
2443
+ "inputs": [
2444
+ {
2445
+ "internalType": "address",
2446
+ "name": "_artblocksOnChainGeneratorAddress",
2447
+ "type": "address"
2448
+ }
2449
+ ],
2450
+ "name": "updateArtblocksOnChainGeneratorAddress",
2451
+ "outputs": [],
2452
+ "stateMutability": "nonpayable",
2453
+ "type": "function"
2454
+ },
2455
+ {
2456
+ "inputs": [
2457
+ {
2458
+ "internalType": "string",
2459
+ "name": "_gateway",
2460
+ "type": "string"
2461
+ }
2462
+ ],
2463
+ "name": "updateArweaveGateway",
2464
+ "outputs": [],
2465
+ "stateMutability": "nonpayable",
2466
+ "type": "function"
2467
+ },
2468
+ {
2469
+ "inputs": [
2470
+ {
2471
+ "internalType": "address",
2472
+ "name": "_bytecodeStorageReaderContract",
2473
+ "type": "address"
2474
+ }
2475
+ ],
2476
+ "name": "updateBytecodeStorageReaderContract",
2477
+ "outputs": [],
2478
+ "stateMutability": "nonpayable",
2479
+ "type": "function"
2480
+ },
2481
+ {
2482
+ "inputs": [
2483
+ {
2484
+ "internalType": "string",
2485
+ "name": "_defaultBaseURI",
2486
+ "type": "string"
2487
+ }
2488
+ ],
2489
+ "name": "updateDefaultBaseURI",
2490
+ "outputs": [],
2491
+ "stateMutability": "nonpayable",
2492
+ "type": "function"
2493
+ },
2494
+ {
2495
+ "inputs": [
2496
+ {
2497
+ "internalType": "string",
2498
+ "name": "_gateway",
2499
+ "type": "string"
2500
+ }
2501
+ ],
2502
+ "name": "updateIPFSGateway",
2503
+ "outputs": [],
2504
+ "stateMutability": "nonpayable",
2505
+ "type": "function"
2506
+ },
2507
+ {
2508
+ "inputs": [
2509
+ {
2510
+ "internalType": "address",
2511
+ "name": "_address",
2512
+ "type": "address"
2513
+ }
2514
+ ],
2515
+ "name": "updateMinterContract",
2516
+ "outputs": [],
2517
+ "stateMutability": "nonpayable",
2518
+ "type": "function"
2519
+ },
2520
+ {
2521
+ "inputs": [
2522
+ {
2523
+ "internalType": "address",
2524
+ "name": "_nextCoreContract",
2525
+ "type": "address"
2526
+ }
2527
+ ],
2528
+ "name": "updateNextCoreContract",
2529
+ "outputs": [],
2530
+ "stateMutability": "nonpayable",
2531
+ "type": "function"
2532
+ },
2533
+ {
2534
+ "inputs": [
2535
+ {
2536
+ "internalType": "uint256",
2537
+ "name": "_projectId",
2538
+ "type": "uint256"
2539
+ },
2540
+ {
2541
+ "internalType": "address payable",
2542
+ "name": "_artistAddress",
2543
+ "type": "address"
2544
+ }
2545
+ ],
2546
+ "name": "updateProjectArtistAddress",
2547
+ "outputs": [],
2548
+ "stateMutability": "nonpayable",
2549
+ "type": "function"
2550
+ },
2551
+ {
2552
+ "inputs": [
2553
+ {
2554
+ "internalType": "uint256",
2555
+ "name": "_projectId",
2556
+ "type": "uint256"
2557
+ },
2558
+ {
2559
+ "internalType": "string",
2560
+ "name": "_projectArtistName",
2561
+ "type": "string"
2562
+ }
2563
+ ],
2564
+ "name": "updateProjectArtistName",
2565
+ "outputs": [],
2566
+ "stateMutability": "nonpayable",
2567
+ "type": "function"
2568
+ },
2569
+ {
2570
+ "inputs": [
2571
+ {
2572
+ "internalType": "uint256",
2573
+ "name": "_projectId",
2574
+ "type": "uint256"
2575
+ },
2576
+ {
2577
+ "internalType": "string",
2578
+ "name": "_aspectRatio",
2579
+ "type": "string"
2580
+ }
2581
+ ],
2582
+ "name": "updateProjectAspectRatio",
2583
+ "outputs": [],
2584
+ "stateMutability": "nonpayable",
2585
+ "type": "function"
2586
+ },
2587
+ {
2588
+ "inputs": [
2589
+ {
2590
+ "internalType": "uint256",
2591
+ "name": "_projectId",
2592
+ "type": "uint256"
2593
+ },
2594
+ {
2595
+ "internalType": "uint256",
2596
+ "name": "_index",
2597
+ "type": "uint256"
2598
+ },
2599
+ {
2600
+ "internalType": "address",
2601
+ "name": "_assetAddress",
2602
+ "type": "address"
2603
+ }
2604
+ ],
2605
+ "name": "updateProjectAssetDependencyOnChainAtAddress",
2606
+ "outputs": [],
2607
+ "stateMutability": "nonpayable",
2608
+ "type": "function"
2609
+ },
2610
+ {
2611
+ "inputs": [
2612
+ {
2613
+ "internalType": "uint256",
2614
+ "name": "_projectId",
2615
+ "type": "uint256"
2616
+ },
2617
+ {
2618
+ "internalType": "string",
2619
+ "name": "_newBaseURI",
2620
+ "type": "string"
2621
+ }
2622
+ ],
2623
+ "name": "updateProjectBaseURI",
2624
+ "outputs": [],
2625
+ "stateMutability": "nonpayable",
2626
+ "type": "function"
2627
+ },
2628
+ {
2629
+ "inputs": [
2630
+ {
2631
+ "internalType": "uint256",
2632
+ "name": "_projectId",
2633
+ "type": "uint256"
2634
+ },
2635
+ {
2636
+ "internalType": "string",
2637
+ "name": "_projectDescription",
2638
+ "type": "string"
2639
+ }
2640
+ ],
2641
+ "name": "updateProjectDescription",
2642
+ "outputs": [],
2643
+ "stateMutability": "nonpayable",
2644
+ "type": "function"
2645
+ },
2646
+ {
2647
+ "inputs": [
2648
+ {
2649
+ "internalType": "uint256",
2650
+ "name": "_projectId",
2651
+ "type": "uint256"
2652
+ },
2653
+ {
2654
+ "internalType": "uint256",
2655
+ "name": "_index",
2656
+ "type": "uint256"
2657
+ },
2658
+ {
2659
+ "internalType": "string",
2660
+ "name": "_cidOrData",
2661
+ "type": "string"
2662
+ },
2663
+ {
2664
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
2665
+ "name": "_dependencyType",
2666
+ "type": "uint8"
2667
+ }
2668
+ ],
2669
+ "name": "updateProjectExternalAssetDependency",
2670
+ "outputs": [],
2671
+ "stateMutability": "nonpayable",
2672
+ "type": "function"
2673
+ },
2674
+ {
2675
+ "inputs": [
2676
+ {
2677
+ "internalType": "uint256",
2678
+ "name": "_projectId",
2679
+ "type": "uint256"
2680
+ },
2681
+ {
2682
+ "internalType": "uint256",
2683
+ "name": "_index",
2684
+ "type": "uint256"
2685
+ },
2686
+ {
2687
+ "internalType": "bytes",
2688
+ "name": "_compressedString",
2689
+ "type": "bytes"
2690
+ }
2691
+ ],
2692
+ "name": "updateProjectExternalAssetDependencyOnChainCompressed",
2693
+ "outputs": [],
2694
+ "stateMutability": "nonpayable",
2695
+ "type": "function"
2696
+ },
2697
+ {
2698
+ "inputs": [
2699
+ {
2700
+ "internalType": "uint256",
2701
+ "name": "_projectId",
2702
+ "type": "uint256"
2703
+ },
2704
+ {
2705
+ "internalType": "string",
2706
+ "name": "_projectLicense",
2707
+ "type": "string"
2708
+ }
2709
+ ],
2710
+ "name": "updateProjectLicense",
2711
+ "outputs": [],
2712
+ "stateMutability": "nonpayable",
2713
+ "type": "function"
2714
+ },
2715
+ {
2716
+ "inputs": [
2717
+ {
2718
+ "internalType": "uint256",
2719
+ "name": "_projectId",
2720
+ "type": "uint256"
2721
+ },
2722
+ {
2723
+ "internalType": "uint24",
2724
+ "name": "_maxInvocations",
2725
+ "type": "uint24"
2726
+ }
2727
+ ],
2728
+ "name": "updateProjectMaxInvocations",
2729
+ "outputs": [],
2730
+ "stateMutability": "nonpayable",
2731
+ "type": "function"
2732
+ },
2733
+ {
2734
+ "inputs": [
2735
+ {
2736
+ "internalType": "uint256",
2737
+ "name": "_projectId",
2738
+ "type": "uint256"
2739
+ },
2740
+ {
2741
+ "internalType": "string",
2742
+ "name": "_projectName",
2743
+ "type": "string"
2744
+ }
2745
+ ],
2746
+ "name": "updateProjectName",
2747
+ "outputs": [],
2748
+ "stateMutability": "nonpayable",
2749
+ "type": "function"
2750
+ },
2751
+ {
2752
+ "inputs": [
2753
+ {
2754
+ "internalType": "uint256",
2755
+ "name": "_projectId",
2756
+ "type": "uint256"
2757
+ },
2758
+ {
2759
+ "internalType": "uint256",
2760
+ "name": "_scriptId",
2761
+ "type": "uint256"
2762
+ },
2763
+ {
2764
+ "internalType": "string",
2765
+ "name": "_script",
2766
+ "type": "string"
2767
+ }
2768
+ ],
2769
+ "name": "updateProjectScript",
2770
+ "outputs": [],
2771
+ "stateMutability": "nonpayable",
2772
+ "type": "function"
2773
+ },
2774
+ {
2775
+ "inputs": [
2776
+ {
2777
+ "internalType": "uint256",
2778
+ "name": "_projectId",
2779
+ "type": "uint256"
2780
+ },
2781
+ {
2782
+ "internalType": "uint256",
2783
+ "name": "_scriptId",
2784
+ "type": "uint256"
2785
+ },
2786
+ {
2787
+ "internalType": "bytes",
2788
+ "name": "_compressedScript",
2789
+ "type": "bytes"
2790
+ }
2791
+ ],
2792
+ "name": "updateProjectScriptCompressed",
2793
+ "outputs": [],
2794
+ "stateMutability": "nonpayable",
2795
+ "type": "function"
2796
+ },
2797
+ {
2798
+ "inputs": [
2799
+ {
2800
+ "internalType": "uint256",
2801
+ "name": "_projectId",
2802
+ "type": "uint256"
2803
+ },
2804
+ {
2805
+ "internalType": "bytes32",
2806
+ "name": "_scriptTypeAndVersion",
2807
+ "type": "bytes32"
2808
+ }
2809
+ ],
2810
+ "name": "updateProjectScriptType",
2811
+ "outputs": [],
2812
+ "stateMutability": "nonpayable",
2813
+ "type": "function"
2814
+ },
2815
+ {
2816
+ "inputs": [
2817
+ {
2818
+ "internalType": "uint256",
2819
+ "name": "_projectId",
2820
+ "type": "uint256"
2821
+ },
2822
+ {
2823
+ "internalType": "uint256",
2824
+ "name": "_secondaryMarketRoyalty",
2825
+ "type": "uint256"
2826
+ }
2827
+ ],
2828
+ "name": "updateProjectSecondaryMarketRoyaltyPercentage",
2829
+ "outputs": [],
2830
+ "stateMutability": "nonpayable",
2831
+ "type": "function"
2832
+ },
2833
+ {
2834
+ "inputs": [
2835
+ {
2836
+ "internalType": "uint256",
2837
+ "name": "_projectId",
2838
+ "type": "uint256"
2839
+ },
2840
+ {
2841
+ "internalType": "string",
2842
+ "name": "_projectWebsite",
2843
+ "type": "string"
2844
+ }
2845
+ ],
2846
+ "name": "updateProjectWebsite",
2847
+ "outputs": [],
2848
+ "stateMutability": "nonpayable",
2849
+ "type": "function"
2850
+ },
2851
+ {
2852
+ "inputs": [
2853
+ {
2854
+ "internalType": "uint256",
2855
+ "name": "_defaultRenderProviderSecondarySalesBPS",
2856
+ "type": "uint256"
2857
+ },
2858
+ {
2859
+ "internalType": "uint256",
2860
+ "name": "_defaultPlatformProviderSecondarySalesBPS",
2861
+ "type": "uint256"
2862
+ }
2863
+ ],
2864
+ "name": "updateProviderDefaultSecondarySalesBPS",
2865
+ "outputs": [],
2866
+ "stateMutability": "nonpayable",
2867
+ "type": "function"
2868
+ },
2869
+ {
2870
+ "inputs": [
2871
+ {
2872
+ "internalType": "uint256",
2873
+ "name": "renderProviderPrimarySalesPercentage_",
2874
+ "type": "uint256"
2875
+ },
2876
+ {
2877
+ "internalType": "uint256",
2878
+ "name": "platformProviderPrimarySalesPercentage_",
2879
+ "type": "uint256"
2880
+ }
2881
+ ],
2882
+ "name": "updateProviderPrimarySalesPercentages",
2883
+ "outputs": [],
2884
+ "stateMutability": "nonpayable",
2885
+ "type": "function"
2886
+ },
2887
+ {
2888
+ "inputs": [
2889
+ {
2890
+ "internalType": "address payable",
2891
+ "name": "_renderProviderPrimarySalesAddress",
2892
+ "type": "address"
2893
+ },
2894
+ {
2895
+ "internalType": "address payable",
2896
+ "name": "_defaultRenderProviderSecondarySalesAddress",
2897
+ "type": "address"
2898
+ },
2899
+ {
2900
+ "internalType": "address payable",
2901
+ "name": "_platformProviderPrimarySalesAddress",
2902
+ "type": "address"
2903
+ },
2904
+ {
2905
+ "internalType": "address payable",
2906
+ "name": "_defaultPlatformProviderSecondarySalesAddress",
2907
+ "type": "address"
2908
+ }
2909
+ ],
2910
+ "name": "updateProviderSalesAddresses",
2911
+ "outputs": [],
2912
+ "stateMutability": "nonpayable",
2913
+ "type": "function"
2914
+ },
2915
+ {
2916
+ "inputs": [
2917
+ {
2918
+ "internalType": "address",
2919
+ "name": "_randomizerAddress",
2920
+ "type": "address"
2921
+ }
2922
+ ],
2923
+ "name": "updateRandomizerAddress",
2924
+ "outputs": [],
2925
+ "stateMutability": "nonpayable",
2926
+ "type": "function"
2927
+ },
2928
+ {
2929
+ "inputs": [
2930
+ {
2931
+ "internalType": "address",
2932
+ "name": "_splitProviderAddress",
2933
+ "type": "address"
2934
+ }
2935
+ ],
2936
+ "name": "updateSplitProvider",
2937
+ "outputs": [],
2938
+ "stateMutability": "nonpayable",
2939
+ "type": "function"
2940
+ }
2941
+ ],
2942
+ "bytecode": "0x60a060405273942bc2d3e7a589fe5bd4a5c6ef9727dfd82f5c8a60809081526200002e90602090600162000897565b503480156200003c57600080fd5b5060405162006b5e38038062006b5e8339810160408190526200005f9162000a57565b61dead62000071565b60405180910390fd5b6200007c8162000308565b5060408301516200008d9062000335565b60a08301516200009d9062000335565b620000a88262000335565b620000b38162000335565b82610120015115620001365760405162461bcd60e51b8152602060048201526050602482015260008051602062006b3e83398151915260448201527f783a206175746f417070726f766541727469737453706c697450726f706f736160648201526f6c73206d7573742062652066616c736560801b608482015260a40162000068565b826101400151620001ad5760405162461bcd60e51b81526020600482015260446024820181905260008051602062006b3e833981519152908201527f783a206e756c6c506c6174666f726d50726f7669646572206d757374206265206064820152637472756560e01b608482015260a40162000068565b826101600151156200022d5760405162461bcd60e51b815260206004820152604d602482015260008051602062006b3e83398151915260448201527f783a20616c6c6f7741727469737450726f6a65637441637469766174696f6e2060648201526c6d7573742062652066616c736560981b608482015260a40162000068565b60008361010001516001600160f81b031611620002b65760405162461bcd60e51b815260206004820152604b602482015260008051602062006b3e83398151915260448201527f783a207374617274696e6750726f6a6563744964206d7573742062652067726560648201526a061746572207468616e20360ac1b608482015260a40162000068565b620002ff83836040518060400160405280601b81526020017f68747470733a2f2f746f6b656e2e617274626c6f636b732e696f2f0000000000815250846200036560201b60201c565b50505062000df0565b6200031381620005d3565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166200036257600060405163d327ad1b60e01b815260040162000068919062000be4565b50565b600a54600160a01b900460ff16156200039657602560405163d327ad1b60e01b815260040162000068919062000be4565b600a8054600160a01b60ff60a01b199182161790915560118054909116600560a11b17905560fa601455610140840151620003d357600a620003d6565b60005b601260146101000a81548160ff021916908360ff160217905550836101400151620004035760fa62000406565b60005b60ff16601655835160208501516200041f919062000625565b60e08401516001600160a01b031615620004435760e08401516200044390620006a9565b60c08401516200045390620006f3565b6200045e8162000737565b610120840151601a805461014087015161016088015161ffff1990921693151561ff0019169390931761010093151584021762ff0000191662010000911515919091021790558401516001600160f81b031660185560408401516060850151620004cc91908190806200075a565b60a0840151620004dc906200081d565b620004e78362000308565b604051630f09abed60e01b8152620005759073__$526a0e1606533cfee074bfa0f2706e48aa$__90630f09abed9062000527908690309060040162000c0d565b600060405180830381865af415801562000545573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200056f919081019062000c53565b62000880565b610100840151601980547fff00000000000000000000000000000000000000000000000000000000000000166001600160f81b0390921691909117905560005b60405160008051602062006b1e83398151915290600090a250505050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60025460ff16156200067a5760405162461bcd60e51b815260206004820152601360248201527f416c726561647920696e697469616c697a656400000000000000000000000000604482015260640162000068565b600062000688838262000d24565b50600162000697828262000d24565b50506002805460ff1916600117905550565b601780546001600160a01b0319166001600160a01b0383169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a250565b620006fe8162000335565b601c80546001600160a01b0319166001600160a01b038316179055600a5b60405160008051602062006b1e83398151915290600090a250565b601d80546001600160a01b0319166001600160a01b038316179055600b6200071c565b601a54610100900460ff1615620007b5576001600160a01b0382161515806200078b57506001600160a01b03811615155b15620007af57602460405163d327ad1b60e01b815260040162000068919062000be4565b620007cb565b620007c08262000335565b620007cb8162000335565b601280546001600160a01b038085166001600160a01b031992831617909255601580548484169083161790556011805487841690831617905560138054928616929091169190911790556007620005b5565b600b80546001600160a01b0383166001600160a01b03199182168117909255600c80546001810182556000919091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7018054909116909117905560036200071c565b601b6200088e828262000d24565b5060026200071c565b828054828255906000526020600020908101928215620008ef579160200282015b82811115620008ef57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620008b8565b50620008fd92915062000901565b5090565b5b80821115620008fd576000815560010162000902565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b038111828210171562000954576200095462000918565b60405290565b60005b83811015620009775781810151838201526020016200095d565b50506000910152565b600082601f8301126200099257600080fd5b81516001600160401b0380821115620009af57620009af62000918565b604051601f8301601f19908116603f01168101908282118183101715620009da57620009da62000918565b81604052838152866020858801011115620009f457600080fd5b62000a078460208301602089016200095a565b9695505050505050565b80516001600160a01b038116811462000a2957600080fd5b919050565b80516001600160f81b038116811462000a2957600080fd5b8051801515811462000a2957600080fd5b60008060006060848603121562000a6d57600080fd5b83516001600160401b038082111562000a8557600080fd5b90850190610180828803121562000a9b57600080fd5b62000aa56200092e565b82518281111562000ab557600080fd5b62000ac38982860162000980565b82525060208301518281111562000ad957600080fd5b62000ae78982860162000980565b60208301525062000afb6040840162000a11565b604082015262000b0e6060840162000a11565b606082015262000b216080840162000a11565b608082015262000b3460a0840162000a11565b60a082015262000b4760c0840162000a11565b60c082015262000b5a60e0840162000a11565b60e0820152610100915062000b7182840162000a2e565b82820152610120915062000b8782840162000a46565b82820152610140915062000b9d82840162000a46565b82820152610160915062000bb382840162000a46565b8282015280955050505062000bcb6020850162000a11565b915062000bdb6040850162000a11565b90509250925092565b60208101602a831062000c0757634e487b7160e01b600052602160045260246000fd5b91905290565b604081526000835180604084015262000c2e8160608501602088016200095a565b6001600160a01b0393909316602083015250601f91909101601f191601606001919050565b60006020828403121562000c6657600080fd5b81516001600160401b0381111562000c7d57600080fd5b62000c8b8482850162000980565b949350505050565b600181811c9082168062000ca857607f821691505b60208210810362000cc957634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000d1f576000816000526020600020601f850160051c8101602086101562000cfa5750805b601f850160051c820191505b8181101562000d1b5782815560010162000d06565b5050505b505050565b81516001600160401b0381111562000d405762000d4062000918565b62000d588162000d51845462000c93565b8462000ccf565b602080601f83116001811462000d90576000841562000d775750858301515b600019600386901b1c1916600185901b17855562000d1b565b600085815260208120601f198616915b8281101562000dc15788860151825594840194600190910190840162000da0565b508582101562000de05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b615d1e8062000e006000396000f3fe608060405234801561001057600080fd5b50600436106105545760003560e01c80638639415b116102c35780638639415b14610b595780638997618f14610bb45780638c3c9cdd14610bc75780638da5cb5b14610bda5780638dd91a5614610be25780638e4298fc14610c0657806392f0023314610c195780639424702b14610c2c5780639523751714610c3f5780639549179514610c5257806395d89b4114610c65578063993c0cbf14610c6d5780639a02e4fa14610c805780639d97f4a014610cb7578063a0bee56414610cca578063a11ec70a14610cdd578063a22cb46514610cf0578063a3b2cca614610d03578063a47d29cb14610d16578063abcbb7b414610d42578063ac11fa1c14610d4a578063acad012414610d6a578063acd4c66f14610d7d578063ad0305ce14610d8f578063ad28329014610db1578063ad576c4514610dc4578063ae45ad9814610dd7578063b1656ba314610ddf578063b168762214610df2578063b202b56514610e05578063b75395e014610e18578063b7b04fae14610e2b578063b7ba527d14610e3e578063b88d4fde14610e46578063b971136814610e59578063ba3c234514610e61578063bb7dbb6c14610e74578063bba4448a14610e87578063bd3d10e714610e9a578063c34a03b514610ead578063c87b56dd14610ec0578063cc90e72514610ed3578063ce90652014610ee6578063d03c390c14610ef9578063d50f513814610f0c578063db2ff86114610f1f578063e32551e714610f32578063e5216f8c14610f45578063e6032df214610f77578063e935b7b114610f84578063e985e9c514610f95578063eb9cd5d414610fa8578063ed8abfda14610fca578063eef719a414610ff4578063f23f702114610ffd578063f2fde38b14611010578063f6cd39e314611023578063f851a4401461102b578063f893c07b14611033578063ffd43f651461103c57600080fd5b80611e3c146105595780615de51461056e5780630132c6971461059457806301856fd4146105a757806301ffc9a7146105ba57806304143a5c146105dd57806306fdde03146105e5578063081812fc146105fa578063095ea7b31461061a5780630a1df77a1461062d5780630d170673146107585780630e79c9281461076b5780630ea5613f1461077e57806310a9ef18146107c857806317df5366146107db5780631ab6014c146107ee5780631b689c0b146108015780631c05cad7146108145780631e9bef46146108275780632302cbda1461083a578063230448b11461084d57806323b872dd1461086057806325b75d68146108735780632642c6b61461088657806327df6c1a146108a65780632a55205a146108b95780632b274166146108da5780632b65e67d146108ed5780632d9c02051461090057806330ef4c5f14610913578063329dab731461092557806336c7c12c14610938578063378599631461094b57806337fbc9651461095e57806339077c6e14610971578063398a2895146109845780633e48e8481461099757806342842e0e146109aa57806348337282146109bd5780634b976697146109d05780634e1d64af146109e3578063507dd100146109eb5780635119d04b146109fe5780635464c30914610a075780635508fd5214610a1a57806357a8e57414610a2e57806358b9a5a914610a41578063621a1f7414610a795780636352211e14610a8c5780636580a1ed14610a9f57806366e4623714610aa7578063682dda6314610aba57806369d14faf14610acd5780636c907b7f14610ae05780636ddba41114610af35780636ee96f2a14610b0557806370a0823114610b18578063715018a614610b2b57806376ee6fab14610b33578063801aa94114610b46575b600080fd5b61056c61056736600461482a565b61104f565b005b61058161057c366004614871565b611117565b6040519081526020015b60405180910390f35b61056c6105a23660046148b3565b611389565b61056c6105b536600461482a565b611450565b6105cd6105c8366004614901565b6114fe565b604051901515815260200161058b565b61056c611529565b6105ed611571565b60405161058b919061496e565b61060d610608366004614981565b611603565b60405161058b91906149a7565b61056c6106283660046149bb565b611618565b61074b61063b366004614981565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810191909152506000908152600f602090815260409182902082516101608101845281546001600160a01b03808216835260ff600160a01b9283900481169584019590955260018401548082169684019690965294819004841660608301526002830154808616608084015281900490931660a0820152600382015480851660c083015261ffff90849004811660e08301526004830154808616610100840152939093049092166101208301526005015490911661014082015290565b60405161058b91906149e7565b61056c610766366004614bd6565b611627565b61056c610779366004614bd6565b61166d565b61079161078c366004614981565b61171b565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c00161058b565b61056c6107d6366004614c29565b61177e565b60095461060d906001600160a01b031681565b60125461060d906001600160a01b031681565b61058161080f366004614981565b6117bb565b61056c610822366004614c8b565b6117ca565b600d5461060d906001600160a01b031681565b61056c610848366004614cdc565b6117f8565b6105cd61085b366004614d10565b61181d565b61056c61086e366004614d50565b6118c9565b61056c610881366004614bd6565b61194e565b61089961089436600461482a565b611994565b60405161058b9190614dbb565b61056c6108b436600461482a565b611a4b565b6108cc6108c736600461482a565b611ae9565b60405161058b929190614e25565b61056c6108e8366004614e3e565b611b9c565b61056c6108fb366004614e5b565b611bed565b6105ed61090e366004614981565b611cd5565b601254600160a01b900460ff16610581565b61056c610933366004614ec2565b611d7a565b600b5461060d906001600160a01b031681565b61056c610959366004614bd6565b611e33565b601c5461060d906001600160a01b031681565b61056c61097f366004614f11565b611e5f565b61056c610992366004614981565b611ee0565b61056c6109a5366004614bd6565b611f97565b61056c6109b8366004614d50565b611fcc565b61056c6109cb366004614e3e565b611fec565b601d5461060d906001600160a01b031681565b6105ed61200e565b61060d6109f9366004614981565b612027565b61058160165481565b61056c610a15366004614f3f565b612051565b6019546105cd90600160f81b900460ff1681565b60085461060d906001600160a01b031681565b61060d610a4f36600461482a565b6000918252600e60209081526040808420928452600990920190529020546001600160a01b031690565b610581610a87366004614981565b6120ce565b61060d610a9a366004614981565b612130565b6105cd600181565b61056c610ab5366004614fb0565b61213b565b61056c610ac8366004614fff565b612177565b61056c610adb366004614fff565b6121f1565b61056c610aee366004614e3e565b61224e565b601a546105cd90610100900460ff1681565b61056c610b13366004614fff565b612270565b610581610b26366004614e3e565b6122c8565b61056c612310565b61056c610b41366004614e5b565b612328565b60155461060d906001600160a01b031681565b610b6c610b6736600461482a565b6123d7565b604080519889526001600160a01b0397881660208a015288019590955292851660608701526080860191909152831660a085015260c08401521660e08201526101000161058b565b600a5461060d906001600160a01b031681565b6105ed610bd536600461482a565b6124c4565b61060d612523565b610bf5610bf0366004614981565b612537565b60405161058b959493929190615024565b61056c610c14366004614fff565b6127d4565b60175461060d906001600160a01b031681565b61056c610c3a366004614bd6565b612815565b61056c610c4d366004614e3e565b61285f565b61056c610c603660046150c1565b61289a565b6105ed612905565b61056c610c7b366004614e3e565b612914565b610caa610c8e366004614981565b600090815260036020526040902054600160a01b900460a01b90565b60405161058b9190615246565b61056c610cc5366004614e3e565b612936565b61056c610cd8366004614e3e565b61294f565b61056c610ceb366004614981565b6129a9565b61056c610cfe36600461525b565b6129fc565b61056c610d11366004614bd6565b612a07565b61060d610d24366004614981565b6000908152600f60205260409020600201546001600160a01b031690565b6105ed612a57565b610581610d58366004614981565b60106020526000908152604090205481565b61056c610d78366004614bd6565b612ae5565b601154600160a01b900460ff16610581565b6105cd610d9d366004614e3e565b6017546001600160a01b0390811691161490565b610581610dbf366004614981565b612baf565b61056c610dd236600461482a565b612c26565b6105ed612c76565b61056c610ded366004614ec2565b612c9f565b61060d610e00366004614981565b612d09565b61056c610e13366004614bd6565b612d5f565b60115461060d906001600160a01b031681565b61056c610e39366004614bd6565b612d99565b6105ed612dd6565b61056c610e54366004615289565b612e49565b600c54610581565b61056c610e6f366004614981565b612e60565b61056c610e82366004614ec2565b612ed8565b60215461060d906001600160a01b031681565b61056c610ea836600461482a565b612f24565b61056c610ebb36600461482a565b612fcd565b6105ed610ece366004614981565b61302f565b61056c610ee13660046152f4565b613117565b601a546105cd9062010000900460ff1681565b61056c610f07366004614981565b6132c0565b61056c610f1a366004614f3f565b613332565b61056c610f2d366004614981565b61337b565b6105ed610f40366004614cdc565b613446565b610f58610f53366004614981565b6134cd565b604080516001600160a01b03909316835290151560208301520161058b565b601a546105cd9060ff1681565b6019546001600160f81b0316610581565b6105cd610fa336600461533a565b61357e565b610fbb610fb6366004614981565b6135ac565b60405161058b93929190615368565b610581610fd8366004614981565b6000908152600f6020526040902054600160a01b900460ff1690565b61058160145481565b61056c61100b366004614e3e565b613678565b61056c61101e366004614e3e565b6136aa565b6105ed6136e5565b61060d613730565b61058160185481565b60135461060d906001600160a01b031681565b6110588261373a565b6000828152600360205260409020600b546001600160a01b0316331461109d57600e60405163d327ad1b60e01b8152600401611094919061539e565b60405180910390fd5b8054600160a01b900460a01b6001600160a01b031916156110d457600f60405163d327ad1b60e01b8152600401611094919061539e565b816110f557601060405163d327ad1b60e01b8152600401611094919061539e565b805460a09290921c600160a01b026001600160a01b0390921691909117905550565b6017546000906001600160a01b0316331461114857600a60405163d327ad1b60e01b8152600401611094919061539e565b6000838152600e60205260409020805462ffffff80821691600183019163010000009091041680831061119157600b60405163d327ad1b60e01b8152600401611094919061539e565b8354600160881b900460ff16806111c457506000878152600f60205260409020600201546001600160a01b038781169116145b6111e457600c60405163d327ad1b60e01b8152600401611094919061539e565b8354600160901b900460ff16801561121957506000878152600f60205260409020600201546001600160a01b03878116911614155b1561123a57600d60405163d327ad1b60e01b8152600401611094919061539e565b835462ffffff191662ffffff8381169182178655848116620f42408a020191908316900361126b5761126b8861376f565b61127589826137a4565b600b54604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b1580156112bb57600080fd5b505af11580156112cf573d6000803e3d6000fd5b505050506112e060008a838a613809565b600081815260036020526040812054600160a01b900460a01b9082906001600160a01b038c16907f3dec94b8abc8f801eaade1616d3aadd3114b556a284267905e0a053b2df39892906001600160a01b031985169003611341576000611369565b836040516020016113529190615246565b604051602081830303815290604052805190602001205b60405190815260200160405180910390a3509450505050505b9392505050565b611392826138da565b6000828152600e60205260409020805462ffffff80821691630100000090048116908416106113d757601c60405163d327ad1b60e01b8152600401611094919061539e565b808362ffffff16101561140057601d60405163d327ad1b60e01b8152600401611094919061539e565b815465ffffff0000001916630100000062ffffff851602178255600b6040518590600080516020615cc983398151915290600090a3808362ffffff160361144a5761144a8461376f565b50505050565b61145982613917565b6114698262615bf560e21b613940565b60405162b487b560e01b81526004810182905273__$526a0e1606533cfee074bfa0f2706e48aa$__9062b487b59060240160006040518083038186803b1580156114b257600080fd5b505af41580156114c6573d6000803e3d6000fd5b5050506000838152600e6020526040902060070182905550600d5b6040518390600080516020615cc983398151915290600090a35050565b60006001600160e01b0319821663152a902d60e11b148061152357506115238261398e565b92915050565b6115396301050e9760e21b6139de565b601954600160f81b900460ff161561156757601960405163d327ad1b60e01b8152600401611094919061539e565b61156f613a09565b565b606060008054611580906153b8565b80601f01602080910402602001604051908101604052809291908181526020018280546115ac906153b8565b80156115f95780601f106115ce576101008083540402835291602001916115f9565b820191906000526020600020905b8154815290600101906020018083116115dc57829003601f168201915b5050505050905090565b600061160e82613a4a565b5061152382613a82565b611623828233613a9d565b5050565b61163082613917565b61164182630d17067360e01b613940565b61164a81613aaa565b6000828152600e602052604090206001016116658282615449565b5060056114e1565b61167682613917565b611687826301cf392560e31b613940565b61169081613aaa565b6040516311772ed760e31b815273__$526a0e1606533cfee074bfa0f2706e48aa$__90638bb976b8906116c790849060040161496e565b60006040518083038186803b1580156116df57600080fd5b505af41580156116f3573d6000803e3d6000fd5b5050506000838152600e6020526040902060080190506117138282615449565b50600e6114e1565b6000818152600e60205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b03169161177188613acf565b1591505091939550919395565b600281600381111561179257611792614d91565b146117af5760405162461bcd60e51b815260040161109490615502565b61144a84848484613b19565b6000611523620f42408361556e565b6117da631c05cad760e01b6139de565b6117e384613b9d565b6117ec83613b9d565b61144a84848484613bc7565b61180863118165ed60e11b6139de565b61181181613aaa565b61181a81613c97565b50565b600080611828612523565b6001600160a01b0316141580156118c15750600d546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af115801561189d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c19190615590565b949350505050565b6001600160a01b0382166118f3576000604051633250574960e11b815260040161109491906149a7565b6000611900838333613cab565b9050836001600160a01b0316816001600160a01b03161461144a576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401611094565b61195782613917565b611968826304b6ebad60e31b613940565b61197181613aaa565b6000828152600e6020526040902060050161198c8282615449565b50600a6114e1565b6119c0604080516080810190915260608152602081016000815260006020820152606060409091015290565b601d546040516315d3a7a360e01b815273__$e6054cf5c39994f65d88881af69e8a80a3$__916315d3a7a391611a0691879187916001600160a01b0316906004016155ad565b600060405180830381865af4158015611a23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611382919081019061561c565b611a5b6313efb60d60e11b6139de565b601a54610100900460ff168015611a7157508015155b15611a9257602460405163d327ad1b60e01b8152600401611094919061539e565b612710611a9f82846156d2565b1115611ac157601360405163d327ad1b60e01b8152600401611094919061539e565b6014829055601681905560095b604051600080516020615c6983398151915290600090a25050565b600080611af58461373a565b73__$526a0e1606533cfee074bfa0f2706e48aa$__63cdbb0e85600f6000611b1c886117bb565b8152602001908152602001600020856040518363ffffffff1660e01b8152600401611b51929190918252602082015260400190565b6040805180830381865af4158015611b6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9191906156e5565b915091509250929050565b611bac631593a0b360e11b6139de565b611bb581613b9d565b600980546001600160a01b0319166001600160a01b03831617905560055b604051600080516020615c6983398151915290600090a250565b611bf686613cff565b611bff866138da565b611c0885613b9d565b6040805160c0810182528781526001600160a01b038088166020808401919091528782168385015260608301879052858216608084015260a0830185905260008a8152600f909152839020601a54601c5494516317a9e6ef60e01b815273__$526a0e1606533cfee074bfa0f2706e48aa$__956317a9e6ef95611c9d9590949360109360ff909116929091169060040161575d565b60006040518083038186803b158015611cb557600080fd5b505af4158015611cc9573d6000803e3d6000fd5b50505050505050505050565b6000818152600e60205260409020600601805460609190611cf5906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054611d21906153b8565b8015611d6e5780601f10611d4357610100808354040283529160200191611d6e565b820191906000526020600020905b815481529060010190602001808311611d5157829003601f168201915b50505050509050919050565b611d8383613917565b611d948363329dab7360e01b613940565b611d9d81613d3b565b6000838152600e602052604090208054600160301b900462ffffff168310611ddb57601e60405163d327ad1b60e01b8152600401611094919061539e565b611de482613d60565b6000848152600983016020526040902080546001600160a01b0319166001600160a01b0392909216919091179055600c6040518590600080516020615cc983398151915290600090a350505050565b611e3c826138da565b6000828152600e60205260409020600401611e578282615449565b5060096114e1565b611e7083631c83be3760e11b613940565b604051631c83be3760e11b815273__$e6054cf5c39994f65d88881af69e8a80a3$__906339077c6e90611eab908690869086906004016155ad565b60006040518083038186803b158015611ec357600080fd5b505af4158015611ed7573d6000803e3d6000fd5b50505050505050565b611ef063398a289560e01b6139de565b611ef981613cff565b6000818152600f602052604090206015546003820180546001600160a01b039283166001600160a01b0319808316821784556016546001600160b01b0319938416909217600160a01b61ffff9384168102919091179094556013546004870180549190961691811682178655601454931617911690910217905560106040518390600080516020615cc983398151915290600090a361162382613dfe565b611fa0826138da565b611fa981613aaa565b6000828152600e60205260409020600601611fc48282615449565b50600f6114e1565b611fe783838360405180602001604052806000815250612e49565b505050565b611ffc632419b94160e11b6139de565b61200581613b9d565b61181a81613e60565b6060612022651d8ccb8ccb8d60d21b613eaa565b905090565b6020818154811061203757600080fd5b6000918252602090912001546001600160a01b0316905081565b612061635464c30960e01b6139de565b604051635464c30960e01b815273__$e6054cf5c39994f65d88881af69e8a80a3$__90635464c3099061209a908590859060040161579a565b60006040518083038186803b1580156120b257600080fd5b505af41580156120c6573d6000803e3d6000fd5b505050505050565b600081815260036020526040812054600160a01b900460a01b6001600160a01b0319811682036121015750600092915050565b806040516020016121129190615246565b60405160208183030381529060405280519060200120915050919050565b600061152382613a4a565b600281600381111561214f5761214f614d91565b1461216c5760405162461bcd60e51b815260040161109490615502565b611fe7838383613f15565b61218082613cff565b612189826138da565b73__$6a61b7463b67c0ad76875d11a95492296d$__636b0e6ad6601e84846121b087613acf565b6040516001600160e01b031960e087901b168152600481019490945260248401929092526001600160a01b031660448301521515606482015260840161209a565b6121fa82613cff565b61220b826369d14faf60e01b613f61565b61221481613b9d565b6000828152600f6020526040902060020180546001600160a01b0319166001600160a01b03831617905561224782613dfe565b60026114e1565b61225e636c907b7f60e01b6139de565b61226781613b9d565b61181a81613fd3565b61228182633774b79560e11b613940565b604051633774b79560e11b8152600481018390526001600160a01b038216602482015273__$e6054cf5c39994f65d88881af69e8a80a3$__90636ee96f2a9060440161209a565b60006001600160a01b0382166122f45760006040516322718ad960e21b815260040161109491906149a7565b506001600160a01b031660009081526004602052604090205490565b612318614035565b612320613a09565b61156f614067565b61233186613cff565b612342866376ee6fab60e01b613f61565b61234b85613b9d565b6040805160c0810182528781526001600160a01b038088166020808401919091528782168385015260608301879052858216608084015260a0830185905260008a8152600f909152839020601c549351630c4f942760e41b815273__$526a0e1606533cfee074bfa0f2706e48aa$__9463c4f9427094611c9d94909392601092909116906004016157c9565b6000828152600f60205260408082206011546012549251630141162d60e71b815260048101929092526024820185905260ff600160a01b8083048216604485015284041660648301526001600160a01b03908116608483015290911660a4820152819081908190819081908190819073__$526a0e1606533cfee074bfa0f2706e48aa$__9063a08b16809060c40161010060405180830381865af4158015612483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a791906157fd565b975097509750975097509750975097509295985092959890939650565b6000828152600e60205260409020805460609190600160301b900462ffffff168310612500575050604080516020810190915260008152611523565b60008381526009820160205260409020546118c1906001600160a01b0316614079565b60006120226007546001600160a01b031690565b60608060608060606000600e60008881526020019081526020016000209050806001018054612565906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054612591906153b8565b80156125de5780601f106125b3576101008083540402835291602001916125de565b820191906000526020600020905b8154815290600101906020018083116125c157829003601f168201915b505050505095508060020180546125f4906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054612620906153b8565b801561266d5780601f106126425761010080835404028352916020019161266d565b820191906000526020600020905b81548152906001019060200180831161265057829003601f168201915b505050506003830154919650506001600160a01b03168061269f576040518060200160405280600081525094506126ab565b6126a881614079565b94505b8160040180546126ba906153b8565b80601f01602080910402602001604051908101604052809291908181526020018280546126e6906153b8565b80156127335780601f1061270857610100808354040283529160200191612733565b820191906000526020600020905b81548152906001019060200180831161271657829003601f168201915b50505050509350816005018054612749906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054612775906153b8565b80156127c25780601f10612797576101008083540402835291602001916127c2565b820191906000526020600020905b8154815290600101906020018083116127a557829003601f168201915b50505050509250505091939590929450565b6127dd82613cff565b6127ee82632390a63f60e21b613940565b73__$6a61b7463b67c0ad76875d11a95492296d$__635f20f255601e84846121b087613acf565b61282682639424702b60e01b613940565b604051639424702b60e01b815273__$e6054cf5c39994f65d88881af69e8a80a3$__90639424702b9061209a9085908590600401615885565b61286f639523751760e01b6139de565b61287881613b9d565b600a80546001600160a01b0319166001600160a01b0383161790556006611bd3565b60405162461bcd60e51b81526020600482015260466024820152600080516020615c8983398151915260448201527f783a20636f6e747261637420696e697469616c697a656420696e20636f6e7374606482015265393ab1ba37b960d11b608482015260a401611094565b606060018054611580906153b8565b61292463993c0cbf60e01b6139de565b61292d81613b9d565b61181a816140ef565b6129466304ecbfa560e51b6139de565b61181a81614111565b61295f63282fb95960e21b6139de565b602180546001600160a01b0319166001600160a01b0383169081179091556040517fdd6101118dad49a63dd2ba96813aa513ada53dfb2bb3632a650894405e320af490600090a250565b6129b2816138da565b6000818152600e60205260409020805460ff60901b198116600160901b9182900460ff161590910217905560035b6040518290600080516020615cc983398151915290600090a350565b61162333838361413c565b612a18826351d9665360e11b6141d2565b612a2181614248565b6000838152600e6020526040902060030180546001600160a01b0319166001600160a01b039290921691909117905560086114e1565b601b8054612a64906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054612a90906153b8565b8015612add5780601f10612ab257610100808354040283529160200191612add565b820191906000526020600020905b815481529060010190602001808311612ac057829003601f168201915b505050505081565b612aee82613917565b612aff82632b2b404960e21b613940565b612b0881613aaa565b6000828152600e60205260409020612b1f82614248565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b0394909416939093179092558254612b719291900416600161589e565b815462ffffff91909116600160301b0262ffffff60301b19909116178155600c6040518490600080516020615cc983398151915290600090a3505050565b604051630ad2832960e41b81526004810182905260009073__$e6054cf5c39994f65d88881af69e8a80a3$__9063ad28329090602401602060405180830381865af4158015612c02573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152391906158c1565b612c378263ad576c4560e01b613940565b60405163ad576c4560e01b8152600481018390526024810182905273__$e6054cf5c39994f65d88881af69e8a80a3$__9063ad576c459060440161209a565b60606120227a08ecadc82e4e86e646286dee4caac66be8adcced2dccabe8cd8caf602b1b613eaa565b612ca883613917565b612cb98363b1656ba360e01b613940565b612cc281613aaa565b6000838152600e602052604090208054600160301b900462ffffff168310612d0057601e60405163d327ad1b60e01b8152600401611094919061539e565b611de482614248565b600c546000908210612d3157601260405163d327ad1b60e01b8152600401611094919061539e565b600c8281548110612d4457612d446158da565b6000918252602090912001546001600160a01b031692915050565b612d6882613917565b612d798263b202b56560e01b613940565b612d8281613d3b565b6000828152600e60205260409020612b1f82613d60565b612daa82635bd827d760e11b6141d2565b612db381613aaa565b6000828152600e60205260409020600201612dce8282615449565b5060066114e1565b606073__$e6054cf5c39994f65d88881af69e8a80a3$__63b7ba527d6040518163ffffffff1660e01b8152600401600060405180830381865af4158015612e21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261202291908101906158f0565b612e548484846118c9565b61144a8484848461426e565b612e718163ba3c234560e01b613940565b60405163ba3c234560e01b81526004810182905273__$e6054cf5c39994f65d88881af69e8a80a3$__9063ba3c2345906024015b60006040518083038186803b158015612ebd57600080fd5b505af4158015612ed1573d6000803e3d6000fd5b5050505050565b612ee983632edf6edb60e21b613940565b604051632edf6edb60e21b815273__$e6054cf5c39994f65d88881af69e8a80a3$__9063bb7dbb6c90611eab90869086908690600401615924565b612f3463bd3d10e760e01b6139de565b601a54610100900460ff168015612f4a57508015155b15612f6b57602460405163d327ad1b60e01b8152600401611094919061539e565b6064612f7782846156d2565b1115612f9957601160405163d327ad1b60e01b8152600401611094919061539e565b6011805460ff808516600160a01b90810260ff60a01b19938416179093556012805491851690930291161790556008611ace565b612fd6826138da565b605f811115612ffb57601b60405163d327ad1b60e01b8152600401611094919061539e565b6000828152600f60205260409020805460ff60a01b1916600160a01b60ff84160217905561302882613dfe565b60076114e1565b606061303a8261373a565b6000600e6000613049856117bb565b81526020019081526020016000206006018054613065906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054613091906153b8565b80156130de5780601f106130b3576101008083540402835291602001916130de565b820191906000526020600020905b8154815290600101906020018083116130c157829003601f168201915b50505050509050806130ef8461437e565b604051602001613100929190615943565b604051602081830303815290604052915050919050565b61312763cc90e72560e01b6139de565b61313082613aaa565b61313981613b9d565b601954600160f81b900460ff161561316757601860405163d327ad1b60e01b8152600401611094919061539e565b6019546001600160f81b03166000818152600f602090815260408083206002810180546001600160a01b0319166001600160a01b038816179055600e9092529091206001016131b68582615449565b506000828152600e60205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b011781556006016131f3601b82615972565b50805460ff60a01b1916600560a01b1781556015546003820180546001600160a01b039283166001600160a01b0319808316821784556016546001600160b01b0319938416909217600160a01b61ffff9384168102919091179094556013546004870180549190961691811682178655601454931617911690910217905561327c826001615a3e565b601980546001600160f81b0319166001600160f81b039290921691909117905560046040518390600080516020615cc983398151915290600090a361144a82613dfe565b601a5462010000900460ff16156132e7576132e28163340f0e4360e21b613940565b6132f7565b6132f763340f0e4360e21b6139de565b61330081613cff565b6000818152600e60205260409020805460ff60881b198116600160881b9182900460ff161590910217905560016129e0565b613342631aa1ea2760e31b6139de565b604051631aa1ea2760e31b815273__$e6054cf5c39994f65d88881af69e8a80a3$__9063d50f51389061209a908590859060040161579a565b61338481613917565b6133958163db2ff86160e01b613940565b6000818152600e6020526040812080549091600160301b90910462ffffff1690036133d657601f60405163d327ad1b60e01b8152600401611094919061539e565b805460098201906000906133f890600190600160301b900462ffffff16615a5e565b62ffffff9081168252602082019290925260400160002080546001600160a01b0319169055815462ffffff60301b198116600160301b9182900483166000190190921602178155600c6114e1565b606061345182613aaa565b60405163e32551e760e01b815273__$a84cab3dc26412b6358fa38e3bc69cb812$__9063e32551e79061348890859060040161496e565b600060405180830381865af41580156134a5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115239190810190615a7a565b6000818152601e6020526040812080548291906001600160a01b031673__$6a61b7463b67c0ad76875d11a95492296d$__630a2fcc308361350d88613acf565b6040516001600160e01b031960e085901b168152600481019290925215156024820152604401602060405180830381865af4158015613550573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135749190615590565b9250925050915091565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6000818152600e602052604081206007810154606092839290916135cf90613eaa565b93508060080180546135e0906153b8565b80601f016020809104026020016040519081016040528092919081815260200182805461360c906153b8565b80156136595780601f1061362e57610100808354040283529160200191613659565b820191906000526020600020905b81548152906001019060200180831161363c57829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b61368863f23f702160e01b6139de565b600880546001600160a01b0319166001600160a01b0383161790556004611bd3565b6136b2614035565b6001600160a01b0381166136dc576000604051631e4fbdf760e01b815260040161109491906149a7565b61181a81614410565b606073__$e6054cf5c39994f65d88881af69e8a80a3$__63f6cd39e36040518163ffffffff1660e01b8152600401600060405180830381865af4158015612e21573d6000803e3d6000fd5b6000612022612523565b60006137458261443b565b6001600160a01b03160361181a57600360405163d327ad1b60e01b8152600401611094919061539e565b6000818152600e602052604081208054600160481b600160881b031916600160481b426001600160401b0316021790556129e0565b6001600160a01b0382166137ce576000604051633250574960e11b815260040161109491906149a7565b60006137dc83836000613cab565b90506001600160a01b03811615611fe75760006040516339e3563760e11b815260040161109491906149a7565b6000601e8161381b620f42408661556e565b81526020810191909152604001600020546001600160a01b0316905080613842575061144a565b604051638e3f517360e01b8152601e60048201526001600160a01b0380831660248301526044820185905280871660648301528086166084830152831660a482015273__$6a61b7463b67c0ad76875d11a95492296d$__90638e3f51739060c40160006040518083038186803b1580156138bb57600080fd5b505af41580156138cf573d6000803e3d6000fd5b505050505050505050565b6000818152600f60205260409020600201546001600160a01b0316331461181a57600760405163d327ad1b60e01b8152600401611094919061539e565b61392081613acf565b61181a57600560405163d327ad1b60e01b8152600401611094919061539e565b6000828152600f60205260409020600201546001600160a01b031633148061396e575061396e33308361181d565b61162357600860405163d327ad1b60e01b8152600401611094919061539e565b60006001600160e01b031982166380ac58cd60e01b14806139bf57506001600160e01b03198216635b5e139f60e01b145b8061152357506301ffc9a760e01b6001600160e01b0319831614611523565b6139e933308361181d565b61181a57600660405163d327ad1b60e01b8152600401611094919061539e565b601954600160f81b900460ff1661156f57601980546001600160f81b0316600160f81b1790556001604051600080516020615c6983398151915290600090a2565b600080613a568361443b565b90506001600160a01b03811661152357604051637e27328960e01b815260048101849052602401611094565b6000908152600560205260409020546001600160a01b031690565b611fe78383836001614456565b805160000361181a57600160405163d327ad1b60e01b8152600401611094919061539e565b6000613ada82613cff565b6000828152600e6020526040902054600160481b90046001600160401b0316801580806118c157506224ea00613b108342615ac2565b10949350505050565b613b2a846302153de360e31b613940565b6040516374a4e96960e11b815273__$e6054cf5c39994f65d88881af69e8a80a3$__9063e949d2d290613b67908790879087908790600401615ad5565b60006040518083038186803b158015613b7f57600080fd5b505af4158015613b93573d6000803e3d6000fd5b5050505050505050565b6001600160a01b03811661181a57600060405163d327ad1b60e01b8152600401611094919061539e565b601a54610100900460ff1615613c1c576001600160a01b038216151580613bf657506001600160a01b03811615155b15613c1757602460405163d327ad1b60e01b8152600401611094919061539e565b613c2e565b613c2582613b9d565b613c2e81613b9d565b601280546001600160a01b038085166001600160a01b031992831617909255601580548484169083161790556011805487841690831617905560138054928616929091169190911790556007604051600080516020615c6983398151915290600090a250505050565b601b613ca38282615449565b506002611bd3565b601f5460009060ff1615613cd557602860405163d327ad1b60e01b8152600401611094919061539e565b6000613ce2858585614553565b90506001600160a01b038116156118c1576118c181868633613809565b601854811080613d1a57506019546001600160f81b03168110155b1561181a57600460405163d327ad1b60e01b8152600401611094919061539e565b805160000361181a57600260405163d327ad1b60e01b8152600401611094919061539e565b600080600080516020615ca98339815191523084604051602001613d8693929190615b03565b60405160208183030381529060405290508051602082016000f091506001600160a01b038216613df85760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401611094565b50919050565b6000818152600f602052604090819020601c549151637b7f124360e11b815260048101919091526001600160a01b0390911660248201526044810182905273__$526a0e1606533cfee074bfa0f2706e48aa$__9063f6fe248690606401612ea5565b601780546001600160a01b0319166001600160a01b0383169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a250565b606060005b828160ff1660208110613ec457613ec46158da565b1a60f81b6001600160f81b03191615801590613ee3575060208160ff16105b15613efa5780613ef281615b6e565b915050613eaf565b60405191506040820160405280825282602083015250919050565b613f26836366e4623760e01b613940565b604051638f65b1f360e01b815273__$e6054cf5c39994f65d88881af69e8a80a3$__90638f65b1f390611eab90869086908690600401615b8d565b613f6c33308361181d565b15613f75575050565b6000613f7f612523565b6001600160a01b0316148015613fae57506000828152600f60205260409020600201546001600160a01b031633145b15613fb7575050565b600960405163d327ad1b60e01b8152600401611094919061539e565b600b80546001600160a01b0383166001600160a01b03199182168117909255600c80546001810182556000919091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701805490911690911790556003611bd3565b3361403e612523565b6001600160a01b03161461156f573360405163118cdaa760e01b815260040161109491906149a7565b61406f614035565b61156f6000614410565b601d54604051630eacc5e760e31b81526060916001600160a01b0316906375662f38906140aa9085906004016149a7565b600060405180830381865afa1580156140c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261152391908101906158f0565b601d80546001600160a01b0319166001600160a01b038316179055600b611bd3565b61411a81613b9d565b601c80546001600160a01b0319166001600160a01b038316179055600a611bd3565b6001600160a01b0382166141655781604051630b61174360e31b815260040161109491906149a7565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6141db82613acf565b1561421d576000828152600f60205260409020600201546001600160a01b0316331461162357601a60405163d327ad1b60e01b8152600401611094919061539e565b61422833308361181d565b61162357601a60405163d327ad1b60e01b8152600401611094919061539e565b600080600080516020615ca98339815191523084604051602001613d8693929190615bb5565b6001600160a01b0383163b1561144a57604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906142b0903390889087908790600401615c0e565b6020604051808303816000875af19250505080156142eb575060408051601f3d908101601f191682019092526142e891810190615c4b565b60015b61434b573d808015614319576040519150601f19603f3d011682016040523d82523d6000602084013e61431e565b606091505b5080516000036143435783604051633250574960e11b815260040161109491906149a7565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14612ed15783604051633250574960e11b815260040161109491906149a7565b6060600061438b83614647565b60010190506000816001600160401b038111156143aa576143aa614ac8565b6040519080825280601f01601f1916602001820160405280156143d4576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846143de57509392505050565b6144198161471d565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000908152600360205260409020546001600160a01b031690565b808061446a57506001600160a01b03821615155b1561452357600061447a84613a4a565b90506001600160a01b038316158015906144a65750826001600160a01b0316816001600160a01b031614155b80156144b957506144b7818461357e565b155b156144d9578260405163a9fbf51f60e01b815260040161109491906149a7565b81156145215783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260056020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b60008061455f8461443b565b90506001600160a01b0383161561457b5761457b81848661476f565b6001600160a01b038116156145b957614598600085600080614456565b6001600160a01b038116600090815260046020526040902080546000190190555b6001600160a01b038516156145e8576001600160a01b0385166000908152600460205260409020805460010190555b60008481526003602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106146865772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106146b0576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106146ce57662386f26fc10000830492506010015b6305f5e10083106146e6576305f5e100830492506008015b61271083106146fa57612710830492506004015b6064831061470c576064830492506002015b600a83106115235760010192915050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61477a8383836147c5565b611fe7576001600160a01b0383166147a857604051637e27328960e01b815260048101829052602401611094565b818160405163177e802f60e01b8152600401611094929190614e25565b60006001600160a01b038316158015906118c15750826001600160a01b0316846001600160a01b031614806147ff57506147ff848461357e565b806118c15750826001600160a01b031661481883613a82565b6001600160a01b031614949350505050565b6000806040838503121561483d57600080fd5b50508035926020909101359150565b6001600160a01b038116811461181a57600080fd5b803561486c8161484c565b919050565b60008060006060848603121561488657600080fd5b83356148918161484c565b92506020840135915060408401356148a88161484c565b809150509250925092565b600080604083850312156148c657600080fd5b82359150602083013562ffffff811681146148e057600080fd5b809150509250929050565b6001600160e01b03198116811461181a57600080fd5b60006020828403121561491357600080fd5b8135611382816148eb565b60005b83811015614939578181015183820152602001614921565b50506000910152565b6000815180845261495a81602086016020860161491e565b601f01601f19169290920160200192915050565b6020815260006113826020830184614942565b60006020828403121561499357600080fd5b5035919050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080604083850312156149ce57600080fd5b82356149d98161484c565b946020939093013593505050565b6000610160820190506149fb82845161499a565b6020830151614a0f602084018260ff169052565b506040830151614a22604084018261499a565b506060830151614a37606084018260ff169052565b506080830151614a4a608084018261499a565b5060a0830151614a5f60a084018260ff169052565b5060c0830151614a7260c084018261499a565b5060e0830151614a8860e084018261ffff169052565b5061010080840151614a9c8285018261499a565b50506101208381015161ffff169083015261014080840151614ac08285018261499a565b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715614b0157614b01614ac8565b60405290565b604051608081016001600160401b0381118282101715614b0157614b01614ac8565b604051601f8201601f191681016001600160401b0381118282101715614b5157614b51614ac8565b604052919050565b60006001600160401b03821115614b7257614b72614ac8565b50601f01601f191660200190565b600082601f830112614b9157600080fd5b8135614ba4614b9f82614b59565b614b29565b818152846020838601011115614bb957600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614be957600080fd5b8235915060208301356001600160401b03811115614c0657600080fd5b614c1285828601614b80565b9150509250929050565b6004811061181a57600080fd5b60008060008060808587031215614c3f57600080fd5b843593506020850135925060408501356001600160401b03811115614c6357600080fd5b614c6f87828801614b80565b9250506060850135614c8081614c1c565b939692955090935050565b60008060008060808587031215614ca157600080fd5b8435614cac8161484c565b93506020850135614cbc8161484c565b92506040850135614ccc8161484c565b91506060850135614c808161484c565b600060208284031215614cee57600080fd5b81356001600160401b03811115614d0457600080fd5b6118c184828501614b80565b600080600060608486031215614d2557600080fd5b8335614d308161484c565b92506020840135614d408161484c565b915060408401356148a8816148eb565b600080600060608486031215614d6557600080fd5b8335614d708161484c565b92506020840135614d808161484c565b929592945050506040919091013590565b634e487b7160e01b600052602160045260246000fd5b60048110614db757614db7614d91565b9052565b602081526000825160806020840152614dd760a0840182614942565b90506020840151614deb6040850182614da7565b5060408401516001600160a01b0316606084810191909152840151838203601f19016080850152614e1c8282614942565b95945050505050565b6001600160a01b03929092168252602082015260400190565b600060208284031215614e5057600080fd5b81356113828161484c565b60008060008060008060c08789031215614e7457600080fd5b863595506020870135614e868161484c565b94506040870135614e968161484c565b9350606087013592506080870135614ead8161484c565b8092505060a087013590509295509295509295565b600080600060608486031215614ed757600080fd5b833592506020840135915060408401356001600160401b03811115614efb57600080fd5b614f0786828701614b80565b9150509250925092565b600080600060608486031215614f2657600080fd5b833592506020840135915060408401356148a88161484c565b60008060208385031215614f5257600080fd5b82356001600160401b0380821115614f6957600080fd5b818501915085601f830112614f7d57600080fd5b813581811115614f8c57600080fd5b866020828501011115614f9e57600080fd5b60209290920196919550909350505050565b600080600060608486031215614fc557600080fd5b8335925060208401356001600160401b03811115614fe257600080fd5b614fee86828701614b80565b92505060408401356148a881614c1c565b6000806040838503121561501257600080fd5b8235915060208301356148e08161484c565b60a08152600061503760a0830188614942565b82810360208401526150498188614942565b9050828103604084015261505d8187614942565b905082810360608401526150718186614942565b905082810360808401526150858185614942565b98975050505050505050565b80356001600160f81b038116811461486c57600080fd5b801515811461181a57600080fd5b803561486c816150a8565b600080600080608085870312156150d757600080fd5b84356001600160401b03808211156150ee57600080fd5b90860190610180828903121561510357600080fd5b61510b614ade565b82358281111561511a57600080fd5b6151268a828601614b80565b82525060208301358281111561513b57600080fd5b6151478a828601614b80565b60208301525061515960408401614861565b604082015261516a60608401614861565b606082015261517b60808401614861565b608082015261518c60a08401614861565b60a082015261519d60c08401614861565b60c08201526151ae60e08401614861565b60e08201526101006151c1818501615091565b908201526101206151d38482016150b6565b908201526101406151e58482016150b6565b908201526101606151f78482016150b6565b90820152955061520960208801614861565b9450604087013591508082111561521f57600080fd5b5061522c87828801614b80565b92505061523b60608601614861565b905092959194509250565b6001600160a01b031991909116815260200190565b6000806040838503121561526e57600080fd5b82356152798161484c565b915060208301356148e0816150a8565b6000806000806080858703121561529f57600080fd5b84356152aa8161484c565b935060208501356152ba8161484c565b92506040850135915060608501356001600160401b038111156152dc57600080fd5b6152e887828801614b80565b91505092959194509250565b6000806040838503121561530757600080fd5b82356001600160401b0381111561531d57600080fd5b61532985828601614b80565b92505060208301356148e08161484c565b6000806040838503121561534d57600080fd5b82356153588161484c565b915060208301356148e08161484c565b60608152600061537b6060830186614942565b828103602084015261538d8186614942565b915050826040830152949350505050565b60208101602a83106153b2576153b2614d91565b91905290565b600181811c908216806153cc57607f821691505b602082108103613df857634e487b7160e01b600052602260045260246000fd5b601f821115611fe7576000816000526020600020601f850160051c810160208610156154155750805b601f850160051c820191505b818110156120c657828155600101615421565b600019600383901b1c191660019190911b1790565b81516001600160401b0381111561546257615462614ac8565b6154768161547084546153b8565b846153ec565b602080601f8311600181146154a557600084156154935750858301515b61549d8582615434565b8655506120c6565b600085815260208120601f198616915b828110156154d4578886015182559484019460019091019084016154b5565b50858210156154f25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252604290820152600080516020615c8983398151915260408201527f783a20446570656e64656e63792074797065206d757374206265204f4e43484160608201526124a760f11b608082015260a00190565b634e487b7160e01b600052601160045260246000fd5b60008261558b57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156155a257600080fd5b8151611382816150a8565b92835260208301919091526001600160a01b0316604082015260600190565b60006155da614b9f84614b59565b90508281528383830111156155ee57600080fd5b61138283602083018461491e565b600082601f83011261560d57600080fd5b611382838351602085016155cc565b60006020828403121561562e57600080fd5b81516001600160401b038082111561564557600080fd5b908301906080828603121561565957600080fd5b615661614b07565b82518281111561567057600080fd5b61567c878286016155fc565b825250602083015161568d81614c1c565b602082015260408301516156a08161484c565b60408201526060830151828111156156b757600080fd5b6156c3878286016155fc565b60608301525095945050505050565b8082018082111561152357611523615558565b600080604083850312156156f857600080fd5b82516157038161484c565b6020939093015192949293505050565b80518252602081015160018060a01b03808216602085015280604084015116604085015260608301516060850152806080840151166080850152505060a081015160a08301525050565b610140810161576c8288615713565b60c082019590955260e08101939093529015156101008301526001600160a01b031661012090910152919050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b61012081016157d88287615713565b60c082019490945260e08101929092526001600160a01b031661010090910152919050565b600080600080600080600080610100898b03121561581a57600080fd5b88519750602089015161582c8161484c565b60408a015160608b015191985096506158448161484c565b60808a015160a08b0151919650945061585c8161484c565b60c08a015160e08b015191945092506158748161484c565b809150509295985092959890939650565b8281526040602082015260006118c16040830184614942565b62ffffff8181168382160190808211156158ba576158ba615558565b5092915050565b6000602082840312156158d357600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561590257600080fd5b81516001600160401b0381111561591857600080fd5b6118c1848285016155fc565b838152826020820152606060408201526000614e1c6060830184614942565b6000835161595581846020880161491e565b83519083019061596981836020880161491e565b01949350505050565b81810361597d575050565b61598782546153b8565b6001600160401b0381111561599e5761599e614ac8565b6159ac8161547084546153b8565b6000601f8211600181146159da57600083156159c85750848201545b6159d28482615434565b855550612ed1565b600085815260209020601f19841690600086815260209020845b83811015615a1457828601548255600195860195909101906020016159f4565b50858310156154f25793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160f81b038181168382160190808211156158ba576158ba615558565b62ffffff8281168282160390808211156158ba576158ba615558565b600060208284031215615a8c57600080fd5b81516001600160401b03811115615aa257600080fd5b8201601f81018413615ab357600080fd5b6118c1848251602084016155cc565b8181038181111561152357611523615558565b848152836020820152608060408201526000615af46080830185614942565b9050614e1c6060830184614da7565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152600160f81b604c8301528251615b5f81604d85016020870161491e565b91909101604d01949350505050565b600060ff821660ff8103615b8457615b84615558565b60010192915050565b838152606060208201526000615ba66060830185614942565b90506118c16040830184614da7565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152604c82018190528251615b5f81604d85016020870161491e565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615c4190830184614942565b9695505050505050565b600060208284031215615c5d57600080fd5b8151611382816148eb56fe8b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d00947656e417274373231436f726556335f4578706c6f726174696f6e735f466c6542797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f20b96a30340e86d03ce4be42f94ac02d7b27b4a4cdae942beb69026718dfe66afca264697066735822122017938c985382e2805fc809e0c276e7545d14a8a0fed5c738802322ea3e61593c64736f6c634300081600338b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d00947656e417274373231436f726556335f4578706c6f726174696f6e735f466c65",
2943
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106105545760003560e01c80638639415b116102c35780638639415b14610b595780638997618f14610bb45780638c3c9cdd14610bc75780638da5cb5b14610bda5780638dd91a5614610be25780638e4298fc14610c0657806392f0023314610c195780639424702b14610c2c5780639523751714610c3f5780639549179514610c5257806395d89b4114610c65578063993c0cbf14610c6d5780639a02e4fa14610c805780639d97f4a014610cb7578063a0bee56414610cca578063a11ec70a14610cdd578063a22cb46514610cf0578063a3b2cca614610d03578063a47d29cb14610d16578063abcbb7b414610d42578063ac11fa1c14610d4a578063acad012414610d6a578063acd4c66f14610d7d578063ad0305ce14610d8f578063ad28329014610db1578063ad576c4514610dc4578063ae45ad9814610dd7578063b1656ba314610ddf578063b168762214610df2578063b202b56514610e05578063b75395e014610e18578063b7b04fae14610e2b578063b7ba527d14610e3e578063b88d4fde14610e46578063b971136814610e59578063ba3c234514610e61578063bb7dbb6c14610e74578063bba4448a14610e87578063bd3d10e714610e9a578063c34a03b514610ead578063c87b56dd14610ec0578063cc90e72514610ed3578063ce90652014610ee6578063d03c390c14610ef9578063d50f513814610f0c578063db2ff86114610f1f578063e32551e714610f32578063e5216f8c14610f45578063e6032df214610f77578063e935b7b114610f84578063e985e9c514610f95578063eb9cd5d414610fa8578063ed8abfda14610fca578063eef719a414610ff4578063f23f702114610ffd578063f2fde38b14611010578063f6cd39e314611023578063f851a4401461102b578063f893c07b14611033578063ffd43f651461103c57600080fd5b80611e3c146105595780615de51461056e5780630132c6971461059457806301856fd4146105a757806301ffc9a7146105ba57806304143a5c146105dd57806306fdde03146105e5578063081812fc146105fa578063095ea7b31461061a5780630a1df77a1461062d5780630d170673146107585780630e79c9281461076b5780630ea5613f1461077e57806310a9ef18146107c857806317df5366146107db5780631ab6014c146107ee5780631b689c0b146108015780631c05cad7146108145780631e9bef46146108275780632302cbda1461083a578063230448b11461084d57806323b872dd1461086057806325b75d68146108735780632642c6b61461088657806327df6c1a146108a65780632a55205a146108b95780632b274166146108da5780632b65e67d146108ed5780632d9c02051461090057806330ef4c5f14610913578063329dab731461092557806336c7c12c14610938578063378599631461094b57806337fbc9651461095e57806339077c6e14610971578063398a2895146109845780633e48e8481461099757806342842e0e146109aa57806348337282146109bd5780634b976697146109d05780634e1d64af146109e3578063507dd100146109eb5780635119d04b146109fe5780635464c30914610a075780635508fd5214610a1a57806357a8e57414610a2e57806358b9a5a914610a41578063621a1f7414610a795780636352211e14610a8c5780636580a1ed14610a9f57806366e4623714610aa7578063682dda6314610aba57806369d14faf14610acd5780636c907b7f14610ae05780636ddba41114610af35780636ee96f2a14610b0557806370a0823114610b18578063715018a614610b2b57806376ee6fab14610b33578063801aa94114610b46575b600080fd5b61056c61056736600461482a565b61104f565b005b61058161057c366004614871565b611117565b6040519081526020015b60405180910390f35b61056c6105a23660046148b3565b611389565b61056c6105b536600461482a565b611450565b6105cd6105c8366004614901565b6114fe565b604051901515815260200161058b565b61056c611529565b6105ed611571565b60405161058b919061496e565b61060d610608366004614981565b611603565b60405161058b91906149a7565b61056c6106283660046149bb565b611618565b61074b61063b366004614981565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810191909152506000908152600f602090815260409182902082516101608101845281546001600160a01b03808216835260ff600160a01b9283900481169584019590955260018401548082169684019690965294819004841660608301526002830154808616608084015281900490931660a0820152600382015480851660c083015261ffff90849004811660e08301526004830154808616610100840152939093049092166101208301526005015490911661014082015290565b60405161058b91906149e7565b61056c610766366004614bd6565b611627565b61056c610779366004614bd6565b61166d565b61079161078c366004614981565b61171b565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c00161058b565b61056c6107d6366004614c29565b61177e565b60095461060d906001600160a01b031681565b60125461060d906001600160a01b031681565b61058161080f366004614981565b6117bb565b61056c610822366004614c8b565b6117ca565b600d5461060d906001600160a01b031681565b61056c610848366004614cdc565b6117f8565b6105cd61085b366004614d10565b61181d565b61056c61086e366004614d50565b6118c9565b61056c610881366004614bd6565b61194e565b61089961089436600461482a565b611994565b60405161058b9190614dbb565b61056c6108b436600461482a565b611a4b565b6108cc6108c736600461482a565b611ae9565b60405161058b929190614e25565b61056c6108e8366004614e3e565b611b9c565b61056c6108fb366004614e5b565b611bed565b6105ed61090e366004614981565b611cd5565b601254600160a01b900460ff16610581565b61056c610933366004614ec2565b611d7a565b600b5461060d906001600160a01b031681565b61056c610959366004614bd6565b611e33565b601c5461060d906001600160a01b031681565b61056c61097f366004614f11565b611e5f565b61056c610992366004614981565b611ee0565b61056c6109a5366004614bd6565b611f97565b61056c6109b8366004614d50565b611fcc565b61056c6109cb366004614e3e565b611fec565b601d5461060d906001600160a01b031681565b6105ed61200e565b61060d6109f9366004614981565b612027565b61058160165481565b61056c610a15366004614f3f565b612051565b6019546105cd90600160f81b900460ff1681565b60085461060d906001600160a01b031681565b61060d610a4f36600461482a565b6000918252600e60209081526040808420928452600990920190529020546001600160a01b031690565b610581610a87366004614981565b6120ce565b61060d610a9a366004614981565b612130565b6105cd600181565b61056c610ab5366004614fb0565b61213b565b61056c610ac8366004614fff565b612177565b61056c610adb366004614fff565b6121f1565b61056c610aee366004614e3e565b61224e565b601a546105cd90610100900460ff1681565b61056c610b13366004614fff565b612270565b610581610b26366004614e3e565b6122c8565b61056c612310565b61056c610b41366004614e5b565b612328565b60155461060d906001600160a01b031681565b610b6c610b6736600461482a565b6123d7565b604080519889526001600160a01b0397881660208a015288019590955292851660608701526080860191909152831660a085015260c08401521660e08201526101000161058b565b600a5461060d906001600160a01b031681565b6105ed610bd536600461482a565b6124c4565b61060d612523565b610bf5610bf0366004614981565b612537565b60405161058b959493929190615024565b61056c610c14366004614fff565b6127d4565b60175461060d906001600160a01b031681565b61056c610c3a366004614bd6565b612815565b61056c610c4d366004614e3e565b61285f565b61056c610c603660046150c1565b61289a565b6105ed612905565b61056c610c7b366004614e3e565b612914565b610caa610c8e366004614981565b600090815260036020526040902054600160a01b900460a01b90565b60405161058b9190615246565b61056c610cc5366004614e3e565b612936565b61056c610cd8366004614e3e565b61294f565b61056c610ceb366004614981565b6129a9565b61056c610cfe36600461525b565b6129fc565b61056c610d11366004614bd6565b612a07565b61060d610d24366004614981565b6000908152600f60205260409020600201546001600160a01b031690565b6105ed612a57565b610581610d58366004614981565b60106020526000908152604090205481565b61056c610d78366004614bd6565b612ae5565b601154600160a01b900460ff16610581565b6105cd610d9d366004614e3e565b6017546001600160a01b0390811691161490565b610581610dbf366004614981565b612baf565b61056c610dd236600461482a565b612c26565b6105ed612c76565b61056c610ded366004614ec2565b612c9f565b61060d610e00366004614981565b612d09565b61056c610e13366004614bd6565b612d5f565b60115461060d906001600160a01b031681565b61056c610e39366004614bd6565b612d99565b6105ed612dd6565b61056c610e54366004615289565b612e49565b600c54610581565b61056c610e6f366004614981565b612e60565b61056c610e82366004614ec2565b612ed8565b60215461060d906001600160a01b031681565b61056c610ea836600461482a565b612f24565b61056c610ebb36600461482a565b612fcd565b6105ed610ece366004614981565b61302f565b61056c610ee13660046152f4565b613117565b601a546105cd9062010000900460ff1681565b61056c610f07366004614981565b6132c0565b61056c610f1a366004614f3f565b613332565b61056c610f2d366004614981565b61337b565b6105ed610f40366004614cdc565b613446565b610f58610f53366004614981565b6134cd565b604080516001600160a01b03909316835290151560208301520161058b565b601a546105cd9060ff1681565b6019546001600160f81b0316610581565b6105cd610fa336600461533a565b61357e565b610fbb610fb6366004614981565b6135ac565b60405161058b93929190615368565b610581610fd8366004614981565b6000908152600f6020526040902054600160a01b900460ff1690565b61058160145481565b61056c61100b366004614e3e565b613678565b61056c61101e366004614e3e565b6136aa565b6105ed6136e5565b61060d613730565b61058160185481565b60135461060d906001600160a01b031681565b6110588261373a565b6000828152600360205260409020600b546001600160a01b0316331461109d57600e60405163d327ad1b60e01b8152600401611094919061539e565b60405180910390fd5b8054600160a01b900460a01b6001600160a01b031916156110d457600f60405163d327ad1b60e01b8152600401611094919061539e565b816110f557601060405163d327ad1b60e01b8152600401611094919061539e565b805460a09290921c600160a01b026001600160a01b0390921691909117905550565b6017546000906001600160a01b0316331461114857600a60405163d327ad1b60e01b8152600401611094919061539e565b6000838152600e60205260409020805462ffffff80821691600183019163010000009091041680831061119157600b60405163d327ad1b60e01b8152600401611094919061539e565b8354600160881b900460ff16806111c457506000878152600f60205260409020600201546001600160a01b038781169116145b6111e457600c60405163d327ad1b60e01b8152600401611094919061539e565b8354600160901b900460ff16801561121957506000878152600f60205260409020600201546001600160a01b03878116911614155b1561123a57600d60405163d327ad1b60e01b8152600401611094919061539e565b835462ffffff191662ffffff8381169182178655848116620f42408a020191908316900361126b5761126b8861376f565b61127589826137a4565b600b54604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b1580156112bb57600080fd5b505af11580156112cf573d6000803e3d6000fd5b505050506112e060008a838a613809565b600081815260036020526040812054600160a01b900460a01b9082906001600160a01b038c16907f3dec94b8abc8f801eaade1616d3aadd3114b556a284267905e0a053b2df39892906001600160a01b031985169003611341576000611369565b836040516020016113529190615246565b604051602081830303815290604052805190602001205b60405190815260200160405180910390a3509450505050505b9392505050565b611392826138da565b6000828152600e60205260409020805462ffffff80821691630100000090048116908416106113d757601c60405163d327ad1b60e01b8152600401611094919061539e565b808362ffffff16101561140057601d60405163d327ad1b60e01b8152600401611094919061539e565b815465ffffff0000001916630100000062ffffff851602178255600b6040518590600080516020615cc983398151915290600090a3808362ffffff160361144a5761144a8461376f565b50505050565b61145982613917565b6114698262615bf560e21b613940565b60405162b487b560e01b81526004810182905273__$526a0e1606533cfee074bfa0f2706e48aa$__9062b487b59060240160006040518083038186803b1580156114b257600080fd5b505af41580156114c6573d6000803e3d6000fd5b5050506000838152600e6020526040902060070182905550600d5b6040518390600080516020615cc983398151915290600090a35050565b60006001600160e01b0319821663152a902d60e11b148061152357506115238261398e565b92915050565b6115396301050e9760e21b6139de565b601954600160f81b900460ff161561156757601960405163d327ad1b60e01b8152600401611094919061539e565b61156f613a09565b565b606060008054611580906153b8565b80601f01602080910402602001604051908101604052809291908181526020018280546115ac906153b8565b80156115f95780601f106115ce576101008083540402835291602001916115f9565b820191906000526020600020905b8154815290600101906020018083116115dc57829003601f168201915b5050505050905090565b600061160e82613a4a565b5061152382613a82565b611623828233613a9d565b5050565b61163082613917565b61164182630d17067360e01b613940565b61164a81613aaa565b6000828152600e602052604090206001016116658282615449565b5060056114e1565b61167682613917565b611687826301cf392560e31b613940565b61169081613aaa565b6040516311772ed760e31b815273__$526a0e1606533cfee074bfa0f2706e48aa$__90638bb976b8906116c790849060040161496e565b60006040518083038186803b1580156116df57600080fd5b505af41580156116f3573d6000803e3d6000fd5b5050506000838152600e6020526040902060080190506117138282615449565b50600e6114e1565b6000818152600e60205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b03169161177188613acf565b1591505091939550919395565b600281600381111561179257611792614d91565b146117af5760405162461bcd60e51b815260040161109490615502565b61144a84848484613b19565b6000611523620f42408361556e565b6117da631c05cad760e01b6139de565b6117e384613b9d565b6117ec83613b9d565b61144a84848484613bc7565b61180863118165ed60e11b6139de565b61181181613aaa565b61181a81613c97565b50565b600080611828612523565b6001600160a01b0316141580156118c15750600d546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af115801561189d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c19190615590565b949350505050565b6001600160a01b0382166118f3576000604051633250574960e11b815260040161109491906149a7565b6000611900838333613cab565b9050836001600160a01b0316816001600160a01b03161461144a576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401611094565b61195782613917565b611968826304b6ebad60e31b613940565b61197181613aaa565b6000828152600e6020526040902060050161198c8282615449565b50600a6114e1565b6119c0604080516080810190915260608152602081016000815260006020820152606060409091015290565b601d546040516315d3a7a360e01b815273__$e6054cf5c39994f65d88881af69e8a80a3$__916315d3a7a391611a0691879187916001600160a01b0316906004016155ad565b600060405180830381865af4158015611a23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611382919081019061561c565b611a5b6313efb60d60e11b6139de565b601a54610100900460ff168015611a7157508015155b15611a9257602460405163d327ad1b60e01b8152600401611094919061539e565b612710611a9f82846156d2565b1115611ac157601360405163d327ad1b60e01b8152600401611094919061539e565b6014829055601681905560095b604051600080516020615c6983398151915290600090a25050565b600080611af58461373a565b73__$526a0e1606533cfee074bfa0f2706e48aa$__63cdbb0e85600f6000611b1c886117bb565b8152602001908152602001600020856040518363ffffffff1660e01b8152600401611b51929190918252602082015260400190565b6040805180830381865af4158015611b6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9191906156e5565b915091509250929050565b611bac631593a0b360e11b6139de565b611bb581613b9d565b600980546001600160a01b0319166001600160a01b03831617905560055b604051600080516020615c6983398151915290600090a250565b611bf686613cff565b611bff866138da565b611c0885613b9d565b6040805160c0810182528781526001600160a01b038088166020808401919091528782168385015260608301879052858216608084015260a0830185905260008a8152600f909152839020601a54601c5494516317a9e6ef60e01b815273__$526a0e1606533cfee074bfa0f2706e48aa$__956317a9e6ef95611c9d9590949360109360ff909116929091169060040161575d565b60006040518083038186803b158015611cb557600080fd5b505af4158015611cc9573d6000803e3d6000fd5b50505050505050505050565b6000818152600e60205260409020600601805460609190611cf5906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054611d21906153b8565b8015611d6e5780601f10611d4357610100808354040283529160200191611d6e565b820191906000526020600020905b815481529060010190602001808311611d5157829003601f168201915b50505050509050919050565b611d8383613917565b611d948363329dab7360e01b613940565b611d9d81613d3b565b6000838152600e602052604090208054600160301b900462ffffff168310611ddb57601e60405163d327ad1b60e01b8152600401611094919061539e565b611de482613d60565b6000848152600983016020526040902080546001600160a01b0319166001600160a01b0392909216919091179055600c6040518590600080516020615cc983398151915290600090a350505050565b611e3c826138da565b6000828152600e60205260409020600401611e578282615449565b5060096114e1565b611e7083631c83be3760e11b613940565b604051631c83be3760e11b815273__$e6054cf5c39994f65d88881af69e8a80a3$__906339077c6e90611eab908690869086906004016155ad565b60006040518083038186803b158015611ec357600080fd5b505af4158015611ed7573d6000803e3d6000fd5b50505050505050565b611ef063398a289560e01b6139de565b611ef981613cff565b6000818152600f602052604090206015546003820180546001600160a01b039283166001600160a01b0319808316821784556016546001600160b01b0319938416909217600160a01b61ffff9384168102919091179094556013546004870180549190961691811682178655601454931617911690910217905560106040518390600080516020615cc983398151915290600090a361162382613dfe565b611fa0826138da565b611fa981613aaa565b6000828152600e60205260409020600601611fc48282615449565b50600f6114e1565b611fe783838360405180602001604052806000815250612e49565b505050565b611ffc632419b94160e11b6139de565b61200581613b9d565b61181a81613e60565b6060612022651d8ccb8ccb8d60d21b613eaa565b905090565b6020818154811061203757600080fd5b6000918252602090912001546001600160a01b0316905081565b612061635464c30960e01b6139de565b604051635464c30960e01b815273__$e6054cf5c39994f65d88881af69e8a80a3$__90635464c3099061209a908590859060040161579a565b60006040518083038186803b1580156120b257600080fd5b505af41580156120c6573d6000803e3d6000fd5b505050505050565b600081815260036020526040812054600160a01b900460a01b6001600160a01b0319811682036121015750600092915050565b806040516020016121129190615246565b60405160208183030381529060405280519060200120915050919050565b600061152382613a4a565b600281600381111561214f5761214f614d91565b1461216c5760405162461bcd60e51b815260040161109490615502565b611fe7838383613f15565b61218082613cff565b612189826138da565b73__$6a61b7463b67c0ad76875d11a95492296d$__636b0e6ad6601e84846121b087613acf565b6040516001600160e01b031960e087901b168152600481019490945260248401929092526001600160a01b031660448301521515606482015260840161209a565b6121fa82613cff565b61220b826369d14faf60e01b613f61565b61221481613b9d565b6000828152600f6020526040902060020180546001600160a01b0319166001600160a01b03831617905561224782613dfe565b60026114e1565b61225e636c907b7f60e01b6139de565b61226781613b9d565b61181a81613fd3565b61228182633774b79560e11b613940565b604051633774b79560e11b8152600481018390526001600160a01b038216602482015273__$e6054cf5c39994f65d88881af69e8a80a3$__90636ee96f2a9060440161209a565b60006001600160a01b0382166122f45760006040516322718ad960e21b815260040161109491906149a7565b506001600160a01b031660009081526004602052604090205490565b612318614035565b612320613a09565b61156f614067565b61233186613cff565b612342866376ee6fab60e01b613f61565b61234b85613b9d565b6040805160c0810182528781526001600160a01b038088166020808401919091528782168385015260608301879052858216608084015260a0830185905260008a8152600f909152839020601c549351630c4f942760e41b815273__$526a0e1606533cfee074bfa0f2706e48aa$__9463c4f9427094611c9d94909392601092909116906004016157c9565b6000828152600f60205260408082206011546012549251630141162d60e71b815260048101929092526024820185905260ff600160a01b8083048216604485015284041660648301526001600160a01b03908116608483015290911660a4820152819081908190819081908190819073__$526a0e1606533cfee074bfa0f2706e48aa$__9063a08b16809060c40161010060405180830381865af4158015612483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a791906157fd565b975097509750975097509750975097509295985092959890939650565b6000828152600e60205260409020805460609190600160301b900462ffffff168310612500575050604080516020810190915260008152611523565b60008381526009820160205260409020546118c1906001600160a01b0316614079565b60006120226007546001600160a01b031690565b60608060608060606000600e60008881526020019081526020016000209050806001018054612565906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054612591906153b8565b80156125de5780601f106125b3576101008083540402835291602001916125de565b820191906000526020600020905b8154815290600101906020018083116125c157829003601f168201915b505050505095508060020180546125f4906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054612620906153b8565b801561266d5780601f106126425761010080835404028352916020019161266d565b820191906000526020600020905b81548152906001019060200180831161265057829003601f168201915b505050506003830154919650506001600160a01b03168061269f576040518060200160405280600081525094506126ab565b6126a881614079565b94505b8160040180546126ba906153b8565b80601f01602080910402602001604051908101604052809291908181526020018280546126e6906153b8565b80156127335780601f1061270857610100808354040283529160200191612733565b820191906000526020600020905b81548152906001019060200180831161271657829003601f168201915b50505050509350816005018054612749906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054612775906153b8565b80156127c25780601f10612797576101008083540402835291602001916127c2565b820191906000526020600020905b8154815290600101906020018083116127a557829003601f168201915b50505050509250505091939590929450565b6127dd82613cff565b6127ee82632390a63f60e21b613940565b73__$6a61b7463b67c0ad76875d11a95492296d$__635f20f255601e84846121b087613acf565b61282682639424702b60e01b613940565b604051639424702b60e01b815273__$e6054cf5c39994f65d88881af69e8a80a3$__90639424702b9061209a9085908590600401615885565b61286f639523751760e01b6139de565b61287881613b9d565b600a80546001600160a01b0319166001600160a01b0383161790556006611bd3565b60405162461bcd60e51b81526020600482015260466024820152600080516020615c8983398151915260448201527f783a20636f6e747261637420696e697469616c697a656420696e20636f6e7374606482015265393ab1ba37b960d11b608482015260a401611094565b606060018054611580906153b8565b61292463993c0cbf60e01b6139de565b61292d81613b9d565b61181a816140ef565b6129466304ecbfa560e51b6139de565b61181a81614111565b61295f63282fb95960e21b6139de565b602180546001600160a01b0319166001600160a01b0383169081179091556040517fdd6101118dad49a63dd2ba96813aa513ada53dfb2bb3632a650894405e320af490600090a250565b6129b2816138da565b6000818152600e60205260409020805460ff60901b198116600160901b9182900460ff161590910217905560035b6040518290600080516020615cc983398151915290600090a350565b61162333838361413c565b612a18826351d9665360e11b6141d2565b612a2181614248565b6000838152600e6020526040902060030180546001600160a01b0319166001600160a01b039290921691909117905560086114e1565b601b8054612a64906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054612a90906153b8565b8015612add5780601f10612ab257610100808354040283529160200191612add565b820191906000526020600020905b815481529060010190602001808311612ac057829003601f168201915b505050505081565b612aee82613917565b612aff82632b2b404960e21b613940565b612b0881613aaa565b6000828152600e60205260409020612b1f82614248565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b0394909416939093179092558254612b719291900416600161589e565b815462ffffff91909116600160301b0262ffffff60301b19909116178155600c6040518490600080516020615cc983398151915290600090a3505050565b604051630ad2832960e41b81526004810182905260009073__$e6054cf5c39994f65d88881af69e8a80a3$__9063ad28329090602401602060405180830381865af4158015612c02573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152391906158c1565b612c378263ad576c4560e01b613940565b60405163ad576c4560e01b8152600481018390526024810182905273__$e6054cf5c39994f65d88881af69e8a80a3$__9063ad576c459060440161209a565b60606120227a08ecadc82e4e86e646286dee4caac66be8adcced2dccabe8cd8caf602b1b613eaa565b612ca883613917565b612cb98363b1656ba360e01b613940565b612cc281613aaa565b6000838152600e602052604090208054600160301b900462ffffff168310612d0057601e60405163d327ad1b60e01b8152600401611094919061539e565b611de482614248565b600c546000908210612d3157601260405163d327ad1b60e01b8152600401611094919061539e565b600c8281548110612d4457612d446158da565b6000918252602090912001546001600160a01b031692915050565b612d6882613917565b612d798263b202b56560e01b613940565b612d8281613d3b565b6000828152600e60205260409020612b1f82613d60565b612daa82635bd827d760e11b6141d2565b612db381613aaa565b6000828152600e60205260409020600201612dce8282615449565b5060066114e1565b606073__$e6054cf5c39994f65d88881af69e8a80a3$__63b7ba527d6040518163ffffffff1660e01b8152600401600060405180830381865af4158015612e21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261202291908101906158f0565b612e548484846118c9565b61144a8484848461426e565b612e718163ba3c234560e01b613940565b60405163ba3c234560e01b81526004810182905273__$e6054cf5c39994f65d88881af69e8a80a3$__9063ba3c2345906024015b60006040518083038186803b158015612ebd57600080fd5b505af4158015612ed1573d6000803e3d6000fd5b5050505050565b612ee983632edf6edb60e21b613940565b604051632edf6edb60e21b815273__$e6054cf5c39994f65d88881af69e8a80a3$__9063bb7dbb6c90611eab90869086908690600401615924565b612f3463bd3d10e760e01b6139de565b601a54610100900460ff168015612f4a57508015155b15612f6b57602460405163d327ad1b60e01b8152600401611094919061539e565b6064612f7782846156d2565b1115612f9957601160405163d327ad1b60e01b8152600401611094919061539e565b6011805460ff808516600160a01b90810260ff60a01b19938416179093556012805491851690930291161790556008611ace565b612fd6826138da565b605f811115612ffb57601b60405163d327ad1b60e01b8152600401611094919061539e565b6000828152600f60205260409020805460ff60a01b1916600160a01b60ff84160217905561302882613dfe565b60076114e1565b606061303a8261373a565b6000600e6000613049856117bb565b81526020019081526020016000206006018054613065906153b8565b80601f0160208091040260200160405190810160405280929190818152602001828054613091906153b8565b80156130de5780601f106130b3576101008083540402835291602001916130de565b820191906000526020600020905b8154815290600101906020018083116130c157829003601f168201915b50505050509050806130ef8461437e565b604051602001613100929190615943565b604051602081830303815290604052915050919050565b61312763cc90e72560e01b6139de565b61313082613aaa565b61313981613b9d565b601954600160f81b900460ff161561316757601860405163d327ad1b60e01b8152600401611094919061539e565b6019546001600160f81b03166000818152600f602090815260408083206002810180546001600160a01b0319166001600160a01b038816179055600e9092529091206001016131b68582615449565b506000828152600e60205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b011781556006016131f3601b82615972565b50805460ff60a01b1916600560a01b1781556015546003820180546001600160a01b039283166001600160a01b0319808316821784556016546001600160b01b0319938416909217600160a01b61ffff9384168102919091179094556013546004870180549190961691811682178655601454931617911690910217905561327c826001615a3e565b601980546001600160f81b0319166001600160f81b039290921691909117905560046040518390600080516020615cc983398151915290600090a361144a82613dfe565b601a5462010000900460ff16156132e7576132e28163340f0e4360e21b613940565b6132f7565b6132f763340f0e4360e21b6139de565b61330081613cff565b6000818152600e60205260409020805460ff60881b198116600160881b9182900460ff161590910217905560016129e0565b613342631aa1ea2760e31b6139de565b604051631aa1ea2760e31b815273__$e6054cf5c39994f65d88881af69e8a80a3$__9063d50f51389061209a908590859060040161579a565b61338481613917565b6133958163db2ff86160e01b613940565b6000818152600e6020526040812080549091600160301b90910462ffffff1690036133d657601f60405163d327ad1b60e01b8152600401611094919061539e565b805460098201906000906133f890600190600160301b900462ffffff16615a5e565b62ffffff9081168252602082019290925260400160002080546001600160a01b0319169055815462ffffff60301b198116600160301b9182900483166000190190921602178155600c6114e1565b606061345182613aaa565b60405163e32551e760e01b815273__$a84cab3dc26412b6358fa38e3bc69cb812$__9063e32551e79061348890859060040161496e565b600060405180830381865af41580156134a5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115239190810190615a7a565b6000818152601e6020526040812080548291906001600160a01b031673__$6a61b7463b67c0ad76875d11a95492296d$__630a2fcc308361350d88613acf565b6040516001600160e01b031960e085901b168152600481019290925215156024820152604401602060405180830381865af4158015613550573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135749190615590565b9250925050915091565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6000818152600e602052604081206007810154606092839290916135cf90613eaa565b93508060080180546135e0906153b8565b80601f016020809104026020016040519081016040528092919081815260200182805461360c906153b8565b80156136595780601f1061362e57610100808354040283529160200191613659565b820191906000526020600020905b81548152906001019060200180831161363c57829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b61368863f23f702160e01b6139de565b600880546001600160a01b0319166001600160a01b0383161790556004611bd3565b6136b2614035565b6001600160a01b0381166136dc576000604051631e4fbdf760e01b815260040161109491906149a7565b61181a81614410565b606073__$e6054cf5c39994f65d88881af69e8a80a3$__63f6cd39e36040518163ffffffff1660e01b8152600401600060405180830381865af4158015612e21573d6000803e3d6000fd5b6000612022612523565b60006137458261443b565b6001600160a01b03160361181a57600360405163d327ad1b60e01b8152600401611094919061539e565b6000818152600e602052604081208054600160481b600160881b031916600160481b426001600160401b0316021790556129e0565b6001600160a01b0382166137ce576000604051633250574960e11b815260040161109491906149a7565b60006137dc83836000613cab565b90506001600160a01b03811615611fe75760006040516339e3563760e11b815260040161109491906149a7565b6000601e8161381b620f42408661556e565b81526020810191909152604001600020546001600160a01b0316905080613842575061144a565b604051638e3f517360e01b8152601e60048201526001600160a01b0380831660248301526044820185905280871660648301528086166084830152831660a482015273__$6a61b7463b67c0ad76875d11a95492296d$__90638e3f51739060c40160006040518083038186803b1580156138bb57600080fd5b505af41580156138cf573d6000803e3d6000fd5b505050505050505050565b6000818152600f60205260409020600201546001600160a01b0316331461181a57600760405163d327ad1b60e01b8152600401611094919061539e565b61392081613acf565b61181a57600560405163d327ad1b60e01b8152600401611094919061539e565b6000828152600f60205260409020600201546001600160a01b031633148061396e575061396e33308361181d565b61162357600860405163d327ad1b60e01b8152600401611094919061539e565b60006001600160e01b031982166380ac58cd60e01b14806139bf57506001600160e01b03198216635b5e139f60e01b145b8061152357506301ffc9a760e01b6001600160e01b0319831614611523565b6139e933308361181d565b61181a57600660405163d327ad1b60e01b8152600401611094919061539e565b601954600160f81b900460ff1661156f57601980546001600160f81b0316600160f81b1790556001604051600080516020615c6983398151915290600090a2565b600080613a568361443b565b90506001600160a01b03811661152357604051637e27328960e01b815260048101849052602401611094565b6000908152600560205260409020546001600160a01b031690565b611fe78383836001614456565b805160000361181a57600160405163d327ad1b60e01b8152600401611094919061539e565b6000613ada82613cff565b6000828152600e6020526040902054600160481b90046001600160401b0316801580806118c157506224ea00613b108342615ac2565b10949350505050565b613b2a846302153de360e31b613940565b6040516374a4e96960e11b815273__$e6054cf5c39994f65d88881af69e8a80a3$__9063e949d2d290613b67908790879087908790600401615ad5565b60006040518083038186803b158015613b7f57600080fd5b505af4158015613b93573d6000803e3d6000fd5b5050505050505050565b6001600160a01b03811661181a57600060405163d327ad1b60e01b8152600401611094919061539e565b601a54610100900460ff1615613c1c576001600160a01b038216151580613bf657506001600160a01b03811615155b15613c1757602460405163d327ad1b60e01b8152600401611094919061539e565b613c2e565b613c2582613b9d565b613c2e81613b9d565b601280546001600160a01b038085166001600160a01b031992831617909255601580548484169083161790556011805487841690831617905560138054928616929091169190911790556007604051600080516020615c6983398151915290600090a250505050565b601b613ca38282615449565b506002611bd3565b601f5460009060ff1615613cd557602860405163d327ad1b60e01b8152600401611094919061539e565b6000613ce2858585614553565b90506001600160a01b038116156118c1576118c181868633613809565b601854811080613d1a57506019546001600160f81b03168110155b1561181a57600460405163d327ad1b60e01b8152600401611094919061539e565b805160000361181a57600260405163d327ad1b60e01b8152600401611094919061539e565b600080600080516020615ca98339815191523084604051602001613d8693929190615b03565b60405160208183030381529060405290508051602082016000f091506001600160a01b038216613df85760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401611094565b50919050565b6000818152600f602052604090819020601c549151637b7f124360e11b815260048101919091526001600160a01b0390911660248201526044810182905273__$526a0e1606533cfee074bfa0f2706e48aa$__9063f6fe248690606401612ea5565b601780546001600160a01b0319166001600160a01b0383169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a250565b606060005b828160ff1660208110613ec457613ec46158da565b1a60f81b6001600160f81b03191615801590613ee3575060208160ff16105b15613efa5780613ef281615b6e565b915050613eaf565b60405191506040820160405280825282602083015250919050565b613f26836366e4623760e01b613940565b604051638f65b1f360e01b815273__$e6054cf5c39994f65d88881af69e8a80a3$__90638f65b1f390611eab90869086908690600401615b8d565b613f6c33308361181d565b15613f75575050565b6000613f7f612523565b6001600160a01b0316148015613fae57506000828152600f60205260409020600201546001600160a01b031633145b15613fb7575050565b600960405163d327ad1b60e01b8152600401611094919061539e565b600b80546001600160a01b0383166001600160a01b03199182168117909255600c80546001810182556000919091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701805490911690911790556003611bd3565b3361403e612523565b6001600160a01b03161461156f573360405163118cdaa760e01b815260040161109491906149a7565b61406f614035565b61156f6000614410565b601d54604051630eacc5e760e31b81526060916001600160a01b0316906375662f38906140aa9085906004016149a7565b600060405180830381865afa1580156140c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261152391908101906158f0565b601d80546001600160a01b0319166001600160a01b038316179055600b611bd3565b61411a81613b9d565b601c80546001600160a01b0319166001600160a01b038316179055600a611bd3565b6001600160a01b0382166141655781604051630b61174360e31b815260040161109491906149a7565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6141db82613acf565b1561421d576000828152600f60205260409020600201546001600160a01b0316331461162357601a60405163d327ad1b60e01b8152600401611094919061539e565b61422833308361181d565b61162357601a60405163d327ad1b60e01b8152600401611094919061539e565b600080600080516020615ca98339815191523084604051602001613d8693929190615bb5565b6001600160a01b0383163b1561144a57604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906142b0903390889087908790600401615c0e565b6020604051808303816000875af19250505080156142eb575060408051601f3d908101601f191682019092526142e891810190615c4b565b60015b61434b573d808015614319576040519150601f19603f3d011682016040523d82523d6000602084013e61431e565b606091505b5080516000036143435783604051633250574960e11b815260040161109491906149a7565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14612ed15783604051633250574960e11b815260040161109491906149a7565b6060600061438b83614647565b60010190506000816001600160401b038111156143aa576143aa614ac8565b6040519080825280601f01601f1916602001820160405280156143d4576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846143de57509392505050565b6144198161471d565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000908152600360205260409020546001600160a01b031690565b808061446a57506001600160a01b03821615155b1561452357600061447a84613a4a565b90506001600160a01b038316158015906144a65750826001600160a01b0316816001600160a01b031614155b80156144b957506144b7818461357e565b155b156144d9578260405163a9fbf51f60e01b815260040161109491906149a7565b81156145215783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260056020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b60008061455f8461443b565b90506001600160a01b0383161561457b5761457b81848661476f565b6001600160a01b038116156145b957614598600085600080614456565b6001600160a01b038116600090815260046020526040902080546000190190555b6001600160a01b038516156145e8576001600160a01b0385166000908152600460205260409020805460010190555b60008481526003602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106146865772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106146b0576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106146ce57662386f26fc10000830492506010015b6305f5e10083106146e6576305f5e100830492506008015b61271083106146fa57612710830492506004015b6064831061470c576064830492506002015b600a83106115235760010192915050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61477a8383836147c5565b611fe7576001600160a01b0383166147a857604051637e27328960e01b815260048101829052602401611094565b818160405163177e802f60e01b8152600401611094929190614e25565b60006001600160a01b038316158015906118c15750826001600160a01b0316846001600160a01b031614806147ff57506147ff848461357e565b806118c15750826001600160a01b031661481883613a82565b6001600160a01b031614949350505050565b6000806040838503121561483d57600080fd5b50508035926020909101359150565b6001600160a01b038116811461181a57600080fd5b803561486c8161484c565b919050565b60008060006060848603121561488657600080fd5b83356148918161484c565b92506020840135915060408401356148a88161484c565b809150509250925092565b600080604083850312156148c657600080fd5b82359150602083013562ffffff811681146148e057600080fd5b809150509250929050565b6001600160e01b03198116811461181a57600080fd5b60006020828403121561491357600080fd5b8135611382816148eb565b60005b83811015614939578181015183820152602001614921565b50506000910152565b6000815180845261495a81602086016020860161491e565b601f01601f19169290920160200192915050565b6020815260006113826020830184614942565b60006020828403121561499357600080fd5b5035919050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080604083850312156149ce57600080fd5b82356149d98161484c565b946020939093013593505050565b6000610160820190506149fb82845161499a565b6020830151614a0f602084018260ff169052565b506040830151614a22604084018261499a565b506060830151614a37606084018260ff169052565b506080830151614a4a608084018261499a565b5060a0830151614a5f60a084018260ff169052565b5060c0830151614a7260c084018261499a565b5060e0830151614a8860e084018261ffff169052565b5061010080840151614a9c8285018261499a565b50506101208381015161ffff169083015261014080840151614ac08285018261499a565b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715614b0157614b01614ac8565b60405290565b604051608081016001600160401b0381118282101715614b0157614b01614ac8565b604051601f8201601f191681016001600160401b0381118282101715614b5157614b51614ac8565b604052919050565b60006001600160401b03821115614b7257614b72614ac8565b50601f01601f191660200190565b600082601f830112614b9157600080fd5b8135614ba4614b9f82614b59565b614b29565b818152846020838601011115614bb957600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614be957600080fd5b8235915060208301356001600160401b03811115614c0657600080fd5b614c1285828601614b80565b9150509250929050565b6004811061181a57600080fd5b60008060008060808587031215614c3f57600080fd5b843593506020850135925060408501356001600160401b03811115614c6357600080fd5b614c6f87828801614b80565b9250506060850135614c8081614c1c565b939692955090935050565b60008060008060808587031215614ca157600080fd5b8435614cac8161484c565b93506020850135614cbc8161484c565b92506040850135614ccc8161484c565b91506060850135614c808161484c565b600060208284031215614cee57600080fd5b81356001600160401b03811115614d0457600080fd5b6118c184828501614b80565b600080600060608486031215614d2557600080fd5b8335614d308161484c565b92506020840135614d408161484c565b915060408401356148a8816148eb565b600080600060608486031215614d6557600080fd5b8335614d708161484c565b92506020840135614d808161484c565b929592945050506040919091013590565b634e487b7160e01b600052602160045260246000fd5b60048110614db757614db7614d91565b9052565b602081526000825160806020840152614dd760a0840182614942565b90506020840151614deb6040850182614da7565b5060408401516001600160a01b0316606084810191909152840151838203601f19016080850152614e1c8282614942565b95945050505050565b6001600160a01b03929092168252602082015260400190565b600060208284031215614e5057600080fd5b81356113828161484c565b60008060008060008060c08789031215614e7457600080fd5b863595506020870135614e868161484c565b94506040870135614e968161484c565b9350606087013592506080870135614ead8161484c565b8092505060a087013590509295509295509295565b600080600060608486031215614ed757600080fd5b833592506020840135915060408401356001600160401b03811115614efb57600080fd5b614f0786828701614b80565b9150509250925092565b600080600060608486031215614f2657600080fd5b833592506020840135915060408401356148a88161484c565b60008060208385031215614f5257600080fd5b82356001600160401b0380821115614f6957600080fd5b818501915085601f830112614f7d57600080fd5b813581811115614f8c57600080fd5b866020828501011115614f9e57600080fd5b60209290920196919550909350505050565b600080600060608486031215614fc557600080fd5b8335925060208401356001600160401b03811115614fe257600080fd5b614fee86828701614b80565b92505060408401356148a881614c1c565b6000806040838503121561501257600080fd5b8235915060208301356148e08161484c565b60a08152600061503760a0830188614942565b82810360208401526150498188614942565b9050828103604084015261505d8187614942565b905082810360608401526150718186614942565b905082810360808401526150858185614942565b98975050505050505050565b80356001600160f81b038116811461486c57600080fd5b801515811461181a57600080fd5b803561486c816150a8565b600080600080608085870312156150d757600080fd5b84356001600160401b03808211156150ee57600080fd5b90860190610180828903121561510357600080fd5b61510b614ade565b82358281111561511a57600080fd5b6151268a828601614b80565b82525060208301358281111561513b57600080fd5b6151478a828601614b80565b60208301525061515960408401614861565b604082015261516a60608401614861565b606082015261517b60808401614861565b608082015261518c60a08401614861565b60a082015261519d60c08401614861565b60c08201526151ae60e08401614861565b60e08201526101006151c1818501615091565b908201526101206151d38482016150b6565b908201526101406151e58482016150b6565b908201526101606151f78482016150b6565b90820152955061520960208801614861565b9450604087013591508082111561521f57600080fd5b5061522c87828801614b80565b92505061523b60608601614861565b905092959194509250565b6001600160a01b031991909116815260200190565b6000806040838503121561526e57600080fd5b82356152798161484c565b915060208301356148e0816150a8565b6000806000806080858703121561529f57600080fd5b84356152aa8161484c565b935060208501356152ba8161484c565b92506040850135915060608501356001600160401b038111156152dc57600080fd5b6152e887828801614b80565b91505092959194509250565b6000806040838503121561530757600080fd5b82356001600160401b0381111561531d57600080fd5b61532985828601614b80565b92505060208301356148e08161484c565b6000806040838503121561534d57600080fd5b82356153588161484c565b915060208301356148e08161484c565b60608152600061537b6060830186614942565b828103602084015261538d8186614942565b915050826040830152949350505050565b60208101602a83106153b2576153b2614d91565b91905290565b600181811c908216806153cc57607f821691505b602082108103613df857634e487b7160e01b600052602260045260246000fd5b601f821115611fe7576000816000526020600020601f850160051c810160208610156154155750805b601f850160051c820191505b818110156120c657828155600101615421565b600019600383901b1c191660019190911b1790565b81516001600160401b0381111561546257615462614ac8565b6154768161547084546153b8565b846153ec565b602080601f8311600181146154a557600084156154935750858301515b61549d8582615434565b8655506120c6565b600085815260208120601f198616915b828110156154d4578886015182559484019460019091019084016154b5565b50858210156154f25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252604290820152600080516020615c8983398151915260408201527f783a20446570656e64656e63792074797065206d757374206265204f4e43484160608201526124a760f11b608082015260a00190565b634e487b7160e01b600052601160045260246000fd5b60008261558b57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156155a257600080fd5b8151611382816150a8565b92835260208301919091526001600160a01b0316604082015260600190565b60006155da614b9f84614b59565b90508281528383830111156155ee57600080fd5b61138283602083018461491e565b600082601f83011261560d57600080fd5b611382838351602085016155cc565b60006020828403121561562e57600080fd5b81516001600160401b038082111561564557600080fd5b908301906080828603121561565957600080fd5b615661614b07565b82518281111561567057600080fd5b61567c878286016155fc565b825250602083015161568d81614c1c565b602082015260408301516156a08161484c565b60408201526060830151828111156156b757600080fd5b6156c3878286016155fc565b60608301525095945050505050565b8082018082111561152357611523615558565b600080604083850312156156f857600080fd5b82516157038161484c565b6020939093015192949293505050565b80518252602081015160018060a01b03808216602085015280604084015116604085015260608301516060850152806080840151166080850152505060a081015160a08301525050565b610140810161576c8288615713565b60c082019590955260e08101939093529015156101008301526001600160a01b031661012090910152919050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b61012081016157d88287615713565b60c082019490945260e08101929092526001600160a01b031661010090910152919050565b600080600080600080600080610100898b03121561581a57600080fd5b88519750602089015161582c8161484c565b60408a015160608b015191985096506158448161484c565b60808a015160a08b0151919650945061585c8161484c565b60c08a015160e08b015191945092506158748161484c565b809150509295985092959890939650565b8281526040602082015260006118c16040830184614942565b62ffffff8181168382160190808211156158ba576158ba615558565b5092915050565b6000602082840312156158d357600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561590257600080fd5b81516001600160401b0381111561591857600080fd5b6118c1848285016155fc565b838152826020820152606060408201526000614e1c6060830184614942565b6000835161595581846020880161491e565b83519083019061596981836020880161491e565b01949350505050565b81810361597d575050565b61598782546153b8565b6001600160401b0381111561599e5761599e614ac8565b6159ac8161547084546153b8565b6000601f8211600181146159da57600083156159c85750848201545b6159d28482615434565b855550612ed1565b600085815260209020601f19841690600086815260209020845b83811015615a1457828601548255600195860195909101906020016159f4565b50858310156154f25793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160f81b038181168382160190808211156158ba576158ba615558565b62ffffff8281168282160390808211156158ba576158ba615558565b600060208284031215615a8c57600080fd5b81516001600160401b03811115615aa257600080fd5b8201601f81018413615ab357600080fd5b6118c1848251602084016155cc565b8181038181111561152357611523615558565b848152836020820152608060408201526000615af46080830185614942565b9050614e1c6060830184614da7565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152600160f81b604c8301528251615b5f81604d85016020870161491e565b91909101604d01949350505050565b600060ff821660ff8103615b8457615b84615558565b60010192915050565b838152606060208201526000615ba66060830185614942565b90506118c16040830184614da7565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152604c82018190528251615b5f81604d85016020870161491e565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615c4190830184614942565b9695505050505050565b600060208284031215615c5d57600080fd5b8151611382816148eb56fe8b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d00947656e417274373231436f726556335f4578706c6f726174696f6e735f466c6542797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f20b96a30340e86d03ce4be42f94ac02d7b27b4a4cdae942beb69026718dfe66afca264697066735822122017938c985382e2805fc809e0c276e7545d14a8a0fed5c738802322ea3e61593c64736f6c63430008160033",
2944
+ "linkReferences": {
2945
+ "contracts/libs/v0.8.x/BytecodeStorageV2.sol": {
2946
+ "BytecodeStorageReader": [
2947
+ {
2948
+ "length": 20,
2949
+ "start": 16992
2950
+ }
2951
+ ]
2952
+ },
2953
+ "contracts/libs/v0.8.x/V3EngineLib.sol": {
2954
+ "V3EngineLib": [
2955
+ {
2956
+ "length": 20,
2957
+ "start": 1275
2958
+ },
2959
+ {
2960
+ "length": 20,
2961
+ "start": 8830
2962
+ },
2963
+ {
2964
+ "length": 20,
2965
+ "start": 9375
2966
+ },
2967
+ {
2968
+ "length": 20,
2969
+ "start": 10487
2970
+ },
2971
+ {
2972
+ "length": 20,
2973
+ "start": 10855
2974
+ },
2975
+ {
2976
+ "length": 20,
2977
+ "start": 12711
2978
+ },
2979
+ {
2980
+ "length": 20,
2981
+ "start": 12872
2982
+ },
2983
+ {
2984
+ "length": 20,
2985
+ "start": 19518
2986
+ }
2987
+ ]
2988
+ },
2989
+ "contracts/libs/v0.8.x/V3FlexLib.sol": {
2990
+ "V3FlexLib": [
2991
+ {
2992
+ "length": 20,
2993
+ "start": 10194
2994
+ },
2995
+ {
2996
+ "length": 20,
2997
+ "start": 11391
2998
+ },
2999
+ {
3000
+ "length": 20,
3001
+ "start": 11888
3002
+ },
3003
+ {
3004
+ "length": 20,
3005
+ "start": 12454
3006
+ },
3007
+ {
3008
+ "length": 20,
3009
+ "start": 13877
3010
+ },
3011
+ {
3012
+ "length": 20,
3013
+ "start": 14792
3014
+ },
3015
+ {
3016
+ "length": 20,
3017
+ "start": 14932
3018
+ },
3019
+ {
3020
+ "length": 20,
3021
+ "start": 15322
3022
+ },
3023
+ {
3024
+ "length": 20,
3025
+ "start": 15495
3026
+ },
3027
+ {
3028
+ "length": 20,
3029
+ "start": 15608
3030
+ },
3031
+ {
3032
+ "length": 20,
3033
+ "start": 16721
3034
+ },
3035
+ {
3036
+ "length": 20,
3037
+ "start": 17641
3038
+ },
3039
+ {
3040
+ "length": 20,
3041
+ "start": 18745
3042
+ },
3043
+ {
3044
+ "length": 20,
3045
+ "start": 19765
3046
+ }
3047
+ ]
3048
+ },
3049
+ "contracts/libs/v0.8.x/V3TransferHookLib.sol": {
3050
+ "V3TransferHookLib": [
3051
+ {
3052
+ "length": 20,
3053
+ "start": 12171
3054
+ },
3055
+ {
3056
+ "length": 20,
3057
+ "start": 13808
3058
+ },
3059
+ {
3060
+ "length": 20,
3061
+ "start": 17131
3062
+ },
3063
+ {
3064
+ "length": 20,
3065
+ "start": 18054
3066
+ }
3067
+ ]
3068
+ }
3069
+ },
3070
+ "deployedLinkReferences": {
3071
+ "contracts/libs/v0.8.x/BytecodeStorageV2.sol": {
3072
+ "BytecodeStorageReader": [
3073
+ {
3074
+ "length": 20,
3075
+ "start": 13408
3076
+ }
3077
+ ]
3078
+ },
3079
+ "contracts/libs/v0.8.x/V3EngineLib.sol": {
3080
+ "V3EngineLib": [
3081
+ {
3082
+ "length": 20,
3083
+ "start": 5246
3084
+ },
3085
+ {
3086
+ "length": 20,
3087
+ "start": 5791
3088
+ },
3089
+ {
3090
+ "length": 20,
3091
+ "start": 6903
3092
+ },
3093
+ {
3094
+ "length": 20,
3095
+ "start": 7271
3096
+ },
3097
+ {
3098
+ "length": 20,
3099
+ "start": 9127
3100
+ },
3101
+ {
3102
+ "length": 20,
3103
+ "start": 9288
3104
+ },
3105
+ {
3106
+ "length": 20,
3107
+ "start": 15934
3108
+ }
3109
+ ]
3110
+ },
3111
+ "contracts/libs/v0.8.x/V3FlexLib.sol": {
3112
+ "V3FlexLib": [
3113
+ {
3114
+ "length": 20,
3115
+ "start": 6610
3116
+ },
3117
+ {
3118
+ "length": 20,
3119
+ "start": 7807
3120
+ },
3121
+ {
3122
+ "length": 20,
3123
+ "start": 8304
3124
+ },
3125
+ {
3126
+ "length": 20,
3127
+ "start": 8870
3128
+ },
3129
+ {
3130
+ "length": 20,
3131
+ "start": 10293
3132
+ },
3133
+ {
3134
+ "length": 20,
3135
+ "start": 11208
3136
+ },
3137
+ {
3138
+ "length": 20,
3139
+ "start": 11348
3140
+ },
3141
+ {
3142
+ "length": 20,
3143
+ "start": 11738
3144
+ },
3145
+ {
3146
+ "length": 20,
3147
+ "start": 11911
3148
+ },
3149
+ {
3150
+ "length": 20,
3151
+ "start": 12024
3152
+ },
3153
+ {
3154
+ "length": 20,
3155
+ "start": 13137
3156
+ },
3157
+ {
3158
+ "length": 20,
3159
+ "start": 14057
3160
+ },
3161
+ {
3162
+ "length": 20,
3163
+ "start": 15161
3164
+ },
3165
+ {
3166
+ "length": 20,
3167
+ "start": 16181
3168
+ }
3169
+ ]
3170
+ },
3171
+ "contracts/libs/v0.8.x/V3TransferHookLib.sol": {
3172
+ "V3TransferHookLib": [
3173
+ {
3174
+ "length": 20,
3175
+ "start": 8587
3176
+ },
3177
+ {
3178
+ "length": 20,
3179
+ "start": 10224
3180
+ },
3181
+ {
3182
+ "length": 20,
3183
+ "start": 13547
3184
+ },
3185
+ {
3186
+ "length": 20,
3187
+ "start": 14470
3188
+ }
3189
+ ]
3190
+ }
3191
+ }
3192
+ }