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