@artblocks/contracts 1.0.3 → 1.1.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 (383) hide show
  1. package/README.md +32 -25
  2. package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
  3. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  4. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +212 -17
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +6 -6
  6. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +2 -2
  7. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +2 -2
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  10. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol/MinterSetPriceV1.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +2 -2
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  33. package/artifacts/contracts/engine/V2/GenArt721CoreV2_ENGINE_FLEX.sol/GenArt721CoreV2_ENGINE_FLEX.json +2 -2
  34. package/artifacts/contracts/engine/V2/GenArt721CoreV2_PBAB.sol/GenArt721CoreV2_PBAB.json +2 -2
  35. package/artifacts/contracts/engine/V2/GenArt721CoreV2_PRTNR.sol/GenArt721CoreV2_PRTNR.json +2 -2
  36. package/artifacts/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +2 -2
  37. package/artifacts/contracts/engine/V2/GenArt721MinterDAExp_PBAB.sol/GenArt721MinterDAExp_PBAB.json +2 -2
  38. package/artifacts/contracts/engine/V2/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +2 -2
  39. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +6 -11
  40. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +6 -11
  41. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +6 -11
  42. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
  43. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +6 -11
  44. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
  45. package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
  46. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +6 -6
  47. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol/IBonusContract.json +1 -1
  48. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
  49. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
  50. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol/IRandomizer.json +1 -1
  51. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol/IAdminACLV0.json +1 -1
  52. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol/IArtblocksRoyaltyOverride.json +1 -1
  53. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol/IBonusContract.json +1 -1
  54. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +1 -1
  55. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/ICoreRegistryV1.sol/ICoreRegistryV1.json +7 -7
  56. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol/IDelegationRegistry.json +1 -1
  57. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol/IDependencyRegistryCompatibleV0.json +1 -1
  58. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +22 -3
  59. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol/IEngineRegistryV0.json +1 -1
  60. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +1 -1
  61. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +1 -1
  62. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol/IFilteredMinterDAExpSettlement_Mixin.json +1 -1
  63. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol/IFilteredMinterDAExpV0.json +1 -1
  64. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol/IFilteredMinterDAExpV1.json +1 -1
  65. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol/IFilteredMinterDALinV0.json +1 -1
  66. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol/IFilteredMinterDALinV1.json +1 -1
  67. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol/IFilteredMinterHolderV0.json +1 -1
  68. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol/IFilteredMinterHolderV1.json +1 -1
  69. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol/IFilteredMinterHolderV2.json +1 -1
  70. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol/IFilteredMinterMerkleV0.json +1 -1
  71. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol/IFilteredMinterMerkleV1.json +1 -1
  72. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol/IFilteredMinterMerkleV2.json +1 -1
  73. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +1 -1
  74. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol/IFilteredMinterV0.json +1 -1
  75. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol/IFilteredMinterV1.json +1 -1
  76. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol/IFilteredMinterV2.json +1 -1
  77. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +1 -1
  78. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
  79. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +1 -1
  80. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol/IGenArt721CoreContractV3WithSharedRandomizer.json +24 -0
  81. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +1 -1
  82. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +1 -1
  83. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +1 -1
  84. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
  85. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol/IManifold.json +1 -1
  86. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol/IMinterBaseV0.json +1 -1
  87. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol/IMinterFilterV0.json +1 -1
  88. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV1.sol/IMinterFilterV1.json +104 -19
  89. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol/IMintingAPICoreV0.json +1 -1
  90. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol/IMintingAPIMinterV0.json +1 -1
  91. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
  92. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol/IRandomizer.json +1 -1
  93. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol/IRandomizerPolyptychV0.json +1 -1
  94. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol/IRandomizerV2.json +1 -1
  95. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +1 -1
  96. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +114 -0
  97. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +37 -0
  98. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +37 -0
  99. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +50 -0
  100. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
  101. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +128 -0
  102. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +97 -0
  103. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +29 -0
  104. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +64 -0
  105. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +117 -0
  106. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +52 -36
  107. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol/IWETH.json +1 -1
  108. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Address.json +2 -2
  109. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Counters.json +2 -2
  110. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/CustomERC721Metadata.json +2 -2
  111. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721.json +2 -2
  112. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721Enumerable.json +2 -2
  113. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/GenArt721CoreV1.json +2 -2
  114. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/SafeMath.json +2 -2
  115. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Strings.json +2 -2
  116. package/artifacts/contracts/legacy/GenArt721LegacyMinter.sol/GenArt721LegacyMinter.json +2 -2
  117. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  118. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol/CustomERC721Metadata.json +3 -3
  119. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol/IERC20.json +1 -1
  120. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol/SafeMath.json +3 -3
  121. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/Strings.sol/Strings.json +3 -3
  122. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +10 -0
  123. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +10 -0
  124. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV0.sol/BytecodeStorage.json +3 -3
  125. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol/BytecodeStorageReader.json +3 -3
  126. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol/BytecodeStorageWriter.json +3 -3
  127. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol/Bytes32Strings.json +3 -3
  128. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +3 -3
  129. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/SSTORE2.sol/SSTORE2.json +3 -3
  130. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +67 -0
  131. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +30 -0
  132. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +67 -0
  133. package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +346 -0
  134. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +36 -0
  135. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +37 -0
  136. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +10 -0
  137. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +261 -0
  138. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +55 -0
  139. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +48 -0
  140. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +42 -0
  141. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +86 -0
  142. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.json +2 -2
  143. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  144. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +96 -40
  145. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +662 -0
  146. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -20
  147. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +619 -0
  148. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  149. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +418 -0
  150. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +662 -0
  151. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  152. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +418 -0
  153. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  154. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  155. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  156. package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +2 -2
  157. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +659 -0
  158. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  159. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +452 -0
  160. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +600 -0
  161. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +633 -0
  162. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +782 -0
  163. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +676 -0
  164. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  165. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +356 -0
  166. package/artifacts/contracts/mock/BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json +2 -2
  167. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +2 -2
  168. package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +4 -4
  169. package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +25 -2
  170. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  171. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +28 -2
  172. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +6 -11
  173. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
  174. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -2
  175. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
  176. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  177. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  178. package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +136 -0
  179. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  180. package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +105 -0
  181. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  182. package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +100 -0
  183. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
  184. package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +69 -0
  185. package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +2 -2
  186. package/artifacts/contracts/randomizer/deprecated/BasicRandomizer.sol/BasicRandomizer.json +2 -2
  187. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  188. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  189. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +2 -2
  190. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +58 -42
  191. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
  192. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +2 -2
  193. package/contracts/AdminACLV0.sol +1 -1
  194. package/contracts/AdminACLV1.sol +1 -1
  195. package/contracts/DependencyRegistryV0.sol +300 -123
  196. package/contracts/GenArt721CoreV3.sol +27 -12
  197. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol +3 -3
  198. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol +3 -3
  199. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +3 -3
  200. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +3 -3
  201. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +3 -3
  202. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +3 -3
  203. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol +3 -3
  204. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol +3 -3
  205. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +3 -3
  206. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +3 -3
  207. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol +3 -3
  208. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +3 -3
  209. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +4 -4
  210. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +4 -4
  211. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol +3 -3
  212. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +3 -3
  213. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +4 -4
  214. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +4 -4
  215. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +4 -4
  216. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol +3 -3
  217. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol +3 -3
  218. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +3 -3
  219. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +3 -3
  220. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +3 -3
  221. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +3 -3
  222. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +3 -3
  223. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +3 -3
  224. package/contracts/archive/readme.md +16 -0
  225. package/contracts/engine/README.md +21 -0
  226. package/contracts/engine/V2/GenArt721CoreV2_ENGINE_FLEX.sol +2 -2
  227. package/contracts/engine/V2/GenArt721CoreV2_PBAB.sol +2 -2
  228. package/contracts/engine/V2/GenArt721CoreV2_PRTNR.sol +3 -3
  229. package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +2 -2
  230. package/contracts/engine/V2/GenArt721MinterDAExp_PBAB.sol +1 -1
  231. package/contracts/engine/V2/GenArt721Minter_PBAB.sol +2 -2
  232. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +31 -22
  233. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +31 -22
  234. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +12 -18
  235. package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +1 -1
  236. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +23 -24
  237. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +1 -1
  238. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +1 -1
  239. package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
  240. package/contracts/engine-registry/EngineRegistryV0.sol +1 -1
  241. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +27 -12
  242. package/contracts/interfaces/{0.8.x → v0.8.x}/ICoreRegistryV1.sol +6 -8
  243. package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol +5 -2
  244. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol +23 -0
  245. package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV1.sol +45 -19
  246. package/contracts/interfaces/v0.8.x/IRandomizer_V3CoreBase.sol +23 -0
  247. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +28 -0
  248. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +12 -0
  249. package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +12 -0
  250. package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +13 -0
  251. package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
  252. package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +41 -0
  253. package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +34 -0
  254. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +15 -0
  255. package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +28 -0
  256. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +43 -0
  257. package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +123 -0
  258. package/contracts/legacy/GenArt721CoreV1.sol +2 -2
  259. package/contracts/legacy/GenArt721LegacyMinter.sol +5 -5
  260. package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +1 -1
  261. package/contracts/libs/v0.8.x/ABHelpers.sol +55 -0
  262. package/contracts/libs/v0.8.x/AuthLib.sol +196 -0
  263. package/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol +5 -5
  264. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +250 -0
  265. package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
  266. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +216 -0
  267. package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
  268. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +488 -0
  269. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +384 -0
  270. package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +240 -0
  271. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +995 -0
  272. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +166 -0
  273. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +770 -0
  274. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +741 -0
  275. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +291 -0
  276. package/contracts/minter-suite/MinterFilter/MinterFilterV0.sol +3 -3
  277. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +5 -5
  278. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +414 -297
  279. package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +4 -4
  280. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +866 -0
  281. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +4 -57
  282. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +886 -0
  283. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +3 -3
  284. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +545 -0
  285. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +857 -0
  286. package/contracts/minter-suite/Minters/MinterDALinV4.sol +3 -3
  287. package/contracts/minter-suite/Minters/MinterDALinV5.sol +534 -0
  288. package/contracts/minter-suite/Minters/MinterHolderV4.sol +4 -4
  289. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +4 -4
  290. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +6 -6
  291. package/contracts/minter-suite/Minters/MinterSEAV0.sol +3 -3
  292. package/contracts/minter-suite/Minters/MinterSEAV1.sol +853 -0
  293. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +5 -5
  294. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +545 -0
  295. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +730 -0
  296. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +714 -0
  297. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +1012 -0
  298. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +868 -0
  299. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +3 -3
  300. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +414 -0
  301. package/contracts/mock/BytecodeV0TextCR_DMock.sol +1 -1
  302. package/contracts/mock/BytecodeV1LibCallsMock.sol +1 -1
  303. package/contracts/mock/BytecodeV1TextCR_DMock.sol +1 -1
  304. package/contracts/mock/DeadReceiverBidderMock.sol +15 -0
  305. package/contracts/mock/DummySharedMinter.sol +2 -2
  306. package/contracts/mock/ERC20Mock.sol +16 -0
  307. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +11 -18
  308. package/contracts/mock/MockAdminACLV0.sol +1 -1
  309. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +1 -1
  310. package/contracts/mock/OriginRegisterMock.sol +1 -1
  311. package/contracts/mock/ReentrancyHolderMock.sol +1 -1
  312. package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
  313. package/contracts/mock/ReentrancyMerkleMock.sol +1 -1
  314. package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
  315. package/contracts/mock/ReentrancyMock.sol +1 -1
  316. package/contracts/mock/ReentrancyMockShared.sol +48 -0
  317. package/contracts/mock/ReentrancySEAMock.sol +1 -1
  318. package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
  319. package/contracts/mock/SSTORE2Mock.sol +1 -1
  320. package/contracts/randomizer/deprecated/BasicRandomizer.sol +1 -1
  321. package/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol +2 -2
  322. package/contracts/randomizer/deprecated/RandomizerV2.sol +2 -2
  323. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
  324. package/contracts/randomizer/shared/SharedRandomizerV0.sol +134 -111
  325. package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +2 -2
  326. package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +2 -2
  327. package/package.json +57 -36
  328. package/LICENSE +0 -165
  329. package/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol +0 -10
  330. package/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol +0 -105
  331. /package/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol +0 -0
  332. /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol +0 -0
  333. /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol +0 -0
  334. /package/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol +0 -0
  335. /package/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol +0 -0
  336. /package/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol +0 -0
  337. /package/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol +0 -0
  338. /package/contracts/interfaces/{0.8.x → v0.8.x}/IBytecodeStorageReader.sol +0 -0
  339. /package/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol +0 -0
  340. /package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol +0 -0
  341. /package/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol +0 -0
  342. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol +0 -0
  343. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol +0 -0
  344. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol +0 -0
  345. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol +0 -0
  346. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol +0 -0
  347. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol +0 -0
  348. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol +0 -0
  349. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol +0 -0
  350. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol +0 -0
  351. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol +0 -0
  352. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol +0 -0
  353. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol +0 -0
  354. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol +0 -0
  355. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol +0 -0
  356. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol +0 -0
  357. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol +0 -0
  358. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol +0 -0
  359. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractExposesHashSeed.sol +0 -0
  360. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol +0 -0
  361. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol +0 -0
  362. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol +0 -0
  363. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol +0 -0
  364. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol +0 -0
  365. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol +0 -0
  366. /package/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol +0 -0
  367. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol +0 -0
  368. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol +0 -0
  369. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol +0 -0
  370. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol +0 -0
  371. /package/contracts/interfaces/{0.8.x → v0.8.x}/IPseudorandomAtomic.sol +0 -0
  372. /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol +0 -0
  373. /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol +0 -0
  374. /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol +0 -0
  375. /package/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol +0 -0
  376. /package/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol +0 -0
  377. /package/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol +0 -0
  378. /package/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol +0 -0
  379. /package/contracts/libs/{0.5.x → v0.5.x}/Strings.sol +0 -0
  380. /package/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV0.sol +0 -0
  381. /package/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol +0 -0
  382. /package/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol +0 -0
  383. /package/contracts/libs/{0.8.x → v0.8.x}/SSTORE2.sol +0 -0
@@ -0,0 +1,782 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MinterSetPricePolyptychERC20V5",
4
+ "sourceName": "contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "minterFilter",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "delegationRegistryAddress_",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [
24
+ {
25
+ "internalType": "uint256",
26
+ "name": "projectId",
27
+ "type": "uint256"
28
+ },
29
+ {
30
+ "internalType": "address",
31
+ "name": "coreContract",
32
+ "type": "address"
33
+ },
34
+ {
35
+ "internalType": "address[]",
36
+ "name": "ownedNFTAddressesAdd",
37
+ "type": "address[]"
38
+ },
39
+ {
40
+ "internalType": "uint256[]",
41
+ "name": "ownedNFTProjectIdsAdd",
42
+ "type": "uint256[]"
43
+ },
44
+ {
45
+ "internalType": "address[]",
46
+ "name": "ownedNFTAddressesRemove",
47
+ "type": "address[]"
48
+ },
49
+ {
50
+ "internalType": "uint256[]",
51
+ "name": "ownedNFTProjectIdsRemove",
52
+ "type": "uint256[]"
53
+ }
54
+ ],
55
+ "name": "allowAndRemoveHoldersOfProjects",
56
+ "outputs": [],
57
+ "stateMutability": "nonpayable",
58
+ "type": "function"
59
+ },
60
+ {
61
+ "inputs": [
62
+ {
63
+ "internalType": "uint256",
64
+ "name": "projectId",
65
+ "type": "uint256"
66
+ },
67
+ {
68
+ "internalType": "address",
69
+ "name": "coreContract",
70
+ "type": "address"
71
+ },
72
+ {
73
+ "internalType": "address[]",
74
+ "name": "ownedNFTAddresses",
75
+ "type": "address[]"
76
+ },
77
+ {
78
+ "internalType": "uint256[]",
79
+ "name": "ownedNFTProjectIds",
80
+ "type": "uint256[]"
81
+ }
82
+ ],
83
+ "name": "allowHoldersOfProjects",
84
+ "outputs": [],
85
+ "stateMutability": "nonpayable",
86
+ "type": "function"
87
+ },
88
+ {
89
+ "inputs": [
90
+ {
91
+ "internalType": "uint256",
92
+ "name": "projectId",
93
+ "type": "uint256"
94
+ },
95
+ {
96
+ "internalType": "address",
97
+ "name": "coreContract",
98
+ "type": "address"
99
+ },
100
+ {
101
+ "internalType": "address",
102
+ "name": "ownedNFTAddress",
103
+ "type": "address"
104
+ },
105
+ {
106
+ "internalType": "uint256",
107
+ "name": "ownedNFTProjectId",
108
+ "type": "uint256"
109
+ }
110
+ ],
111
+ "name": "allowedProjectHolders",
112
+ "outputs": [
113
+ {
114
+ "internalType": "bool",
115
+ "name": "",
116
+ "type": "bool"
117
+ }
118
+ ],
119
+ "stateMutability": "view",
120
+ "type": "function"
121
+ },
122
+ {
123
+ "inputs": [
124
+ {
125
+ "internalType": "uint256",
126
+ "name": "projectId",
127
+ "type": "uint256"
128
+ },
129
+ {
130
+ "internalType": "address",
131
+ "name": "coreContract",
132
+ "type": "address"
133
+ }
134
+ ],
135
+ "name": "checkYourAllowanceOfProjectERC20",
136
+ "outputs": [
137
+ {
138
+ "internalType": "uint256",
139
+ "name": "remaining",
140
+ "type": "uint256"
141
+ }
142
+ ],
143
+ "stateMutability": "view",
144
+ "type": "function"
145
+ },
146
+ {
147
+ "inputs": [],
148
+ "name": "delegationRegistryAddress",
149
+ "outputs": [
150
+ {
151
+ "internalType": "address",
152
+ "name": "",
153
+ "type": "address"
154
+ }
155
+ ],
156
+ "stateMutability": "view",
157
+ "type": "function"
158
+ },
159
+ {
160
+ "inputs": [
161
+ {
162
+ "internalType": "uint256",
163
+ "name": "projectId",
164
+ "type": "uint256"
165
+ },
166
+ {
167
+ "internalType": "address",
168
+ "name": "coreContract",
169
+ "type": "address"
170
+ }
171
+ ],
172
+ "name": "getCurrentPolyptychPanelId",
173
+ "outputs": [
174
+ {
175
+ "internalType": "uint256",
176
+ "name": "",
177
+ "type": "uint256"
178
+ }
179
+ ],
180
+ "stateMutability": "view",
181
+ "type": "function"
182
+ },
183
+ {
184
+ "inputs": [
185
+ {
186
+ "internalType": "uint256",
187
+ "name": "projectId",
188
+ "type": "uint256"
189
+ },
190
+ {
191
+ "internalType": "address",
192
+ "name": "coreContract",
193
+ "type": "address"
194
+ },
195
+ {
196
+ "internalType": "uint256",
197
+ "name": "panelId",
198
+ "type": "uint256"
199
+ },
200
+ {
201
+ "internalType": "bytes12",
202
+ "name": "hashSeed",
203
+ "type": "bytes12"
204
+ }
205
+ ],
206
+ "name": "getPolyptychPanelHashSeedIsMinted",
207
+ "outputs": [
208
+ {
209
+ "internalType": "bool",
210
+ "name": "",
211
+ "type": "bool"
212
+ }
213
+ ],
214
+ "stateMutability": "view",
215
+ "type": "function"
216
+ },
217
+ {
218
+ "inputs": [
219
+ {
220
+ "internalType": "uint256",
221
+ "name": "projectId",
222
+ "type": "uint256"
223
+ },
224
+ {
225
+ "internalType": "address",
226
+ "name": "coreContract",
227
+ "type": "address"
228
+ }
229
+ ],
230
+ "name": "getPriceInfo",
231
+ "outputs": [
232
+ {
233
+ "internalType": "bool",
234
+ "name": "isConfigured",
235
+ "type": "bool"
236
+ },
237
+ {
238
+ "internalType": "uint256",
239
+ "name": "tokenPriceInWei",
240
+ "type": "uint256"
241
+ },
242
+ {
243
+ "internalType": "string",
244
+ "name": "currencySymbol",
245
+ "type": "string"
246
+ },
247
+ {
248
+ "internalType": "address",
249
+ "name": "currencyAddress",
250
+ "type": "address"
251
+ }
252
+ ],
253
+ "stateMutability": "view",
254
+ "type": "function"
255
+ },
256
+ {
257
+ "inputs": [
258
+ {
259
+ "internalType": "uint256",
260
+ "name": "projectId",
261
+ "type": "uint256"
262
+ },
263
+ {
264
+ "internalType": "address",
265
+ "name": "coreContract",
266
+ "type": "address"
267
+ }
268
+ ],
269
+ "name": "getYourBalanceOfProjectERC20",
270
+ "outputs": [
271
+ {
272
+ "internalType": "uint256",
273
+ "name": "balance",
274
+ "type": "uint256"
275
+ }
276
+ ],
277
+ "stateMutability": "view",
278
+ "type": "function"
279
+ },
280
+ {
281
+ "inputs": [
282
+ {
283
+ "internalType": "uint256",
284
+ "name": "projectId",
285
+ "type": "uint256"
286
+ },
287
+ {
288
+ "internalType": "address",
289
+ "name": "coreContract",
290
+ "type": "address"
291
+ }
292
+ ],
293
+ "name": "incrementPolyptychProjectPanelId",
294
+ "outputs": [],
295
+ "stateMutability": "nonpayable",
296
+ "type": "function"
297
+ },
298
+ {
299
+ "inputs": [
300
+ {
301
+ "internalType": "uint256",
302
+ "name": "projectId",
303
+ "type": "uint256"
304
+ },
305
+ {
306
+ "internalType": "address",
307
+ "name": "coreContract",
308
+ "type": "address"
309
+ },
310
+ {
311
+ "internalType": "address",
312
+ "name": "ownedNFTAddress",
313
+ "type": "address"
314
+ },
315
+ {
316
+ "internalType": "uint256",
317
+ "name": "ownedNFTTokenId",
318
+ "type": "uint256"
319
+ }
320
+ ],
321
+ "name": "isAllowlistedNFT",
322
+ "outputs": [
323
+ {
324
+ "internalType": "bool",
325
+ "name": "",
326
+ "type": "bool"
327
+ }
328
+ ],
329
+ "stateMutability": "view",
330
+ "type": "function"
331
+ },
332
+ {
333
+ "inputs": [
334
+ {
335
+ "internalType": "address",
336
+ "name": "coreContract",
337
+ "type": "address"
338
+ }
339
+ ],
340
+ "name": "isEngineView",
341
+ "outputs": [
342
+ {
343
+ "internalType": "bool",
344
+ "name": "",
345
+ "type": "bool"
346
+ }
347
+ ],
348
+ "stateMutability": "view",
349
+ "type": "function"
350
+ },
351
+ {
352
+ "inputs": [
353
+ {
354
+ "internalType": "uint256",
355
+ "name": "projectId",
356
+ "type": "uint256"
357
+ },
358
+ {
359
+ "internalType": "address",
360
+ "name": "coreContract",
361
+ "type": "address"
362
+ },
363
+ {
364
+ "internalType": "uint24",
365
+ "name": "maxInvocations",
366
+ "type": "uint24"
367
+ }
368
+ ],
369
+ "name": "manuallyLimitProjectMaxInvocations",
370
+ "outputs": [],
371
+ "stateMutability": "nonpayable",
372
+ "type": "function"
373
+ },
374
+ {
375
+ "inputs": [
376
+ {
377
+ "internalType": "uint256",
378
+ "name": "projectId",
379
+ "type": "uint256"
380
+ },
381
+ {
382
+ "internalType": "address",
383
+ "name": "coreContract",
384
+ "type": "address"
385
+ }
386
+ ],
387
+ "name": "maxInvocationsProjectConfig",
388
+ "outputs": [
389
+ {
390
+ "components": [
391
+ {
392
+ "internalType": "bool",
393
+ "name": "maxHasBeenInvoked",
394
+ "type": "bool"
395
+ },
396
+ {
397
+ "internalType": "uint24",
398
+ "name": "maxInvocations",
399
+ "type": "uint24"
400
+ }
401
+ ],
402
+ "internalType": "struct MaxInvocationsLib.MaxInvocationsProjectConfig",
403
+ "name": "",
404
+ "type": "tuple"
405
+ }
406
+ ],
407
+ "stateMutability": "view",
408
+ "type": "function"
409
+ },
410
+ {
411
+ "inputs": [],
412
+ "name": "minterFilterAddress",
413
+ "outputs": [
414
+ {
415
+ "internalType": "address",
416
+ "name": "",
417
+ "type": "address"
418
+ }
419
+ ],
420
+ "stateMutability": "view",
421
+ "type": "function"
422
+ },
423
+ {
424
+ "inputs": [],
425
+ "name": "minterType",
426
+ "outputs": [
427
+ {
428
+ "internalType": "string",
429
+ "name": "",
430
+ "type": "string"
431
+ }
432
+ ],
433
+ "stateMutability": "view",
434
+ "type": "function"
435
+ },
436
+ {
437
+ "inputs": [],
438
+ "name": "minterVersion",
439
+ "outputs": [
440
+ {
441
+ "internalType": "string",
442
+ "name": "",
443
+ "type": "string"
444
+ }
445
+ ],
446
+ "stateMutability": "view",
447
+ "type": "function"
448
+ },
449
+ {
450
+ "inputs": [
451
+ {
452
+ "internalType": "uint256",
453
+ "name": "projectId",
454
+ "type": "uint256"
455
+ },
456
+ {
457
+ "internalType": "address",
458
+ "name": "coreContract",
459
+ "type": "address"
460
+ }
461
+ ],
462
+ "name": "projectMaxHasBeenInvoked",
463
+ "outputs": [
464
+ {
465
+ "internalType": "bool",
466
+ "name": "",
467
+ "type": "bool"
468
+ }
469
+ ],
470
+ "stateMutability": "view",
471
+ "type": "function"
472
+ },
473
+ {
474
+ "inputs": [
475
+ {
476
+ "internalType": "uint256",
477
+ "name": "projectId",
478
+ "type": "uint256"
479
+ },
480
+ {
481
+ "internalType": "address",
482
+ "name": "coreContract",
483
+ "type": "address"
484
+ }
485
+ ],
486
+ "name": "projectMaxInvocations",
487
+ "outputs": [
488
+ {
489
+ "internalType": "uint256",
490
+ "name": "",
491
+ "type": "uint256"
492
+ }
493
+ ],
494
+ "stateMutability": "view",
495
+ "type": "function"
496
+ },
497
+ {
498
+ "inputs": [
499
+ {
500
+ "internalType": "uint256",
501
+ "name": "projectId",
502
+ "type": "uint256"
503
+ },
504
+ {
505
+ "internalType": "address",
506
+ "name": "coreContract",
507
+ "type": "address"
508
+ },
509
+ {
510
+ "internalType": "uint256",
511
+ "name": "maxPricePerToken",
512
+ "type": "uint256"
513
+ },
514
+ {
515
+ "internalType": "address",
516
+ "name": "currencyAddress",
517
+ "type": "address"
518
+ },
519
+ {
520
+ "internalType": "address",
521
+ "name": "ownedNFTAddress",
522
+ "type": "address"
523
+ },
524
+ {
525
+ "internalType": "uint256",
526
+ "name": "ownedNFTTokenId",
527
+ "type": "uint256"
528
+ }
529
+ ],
530
+ "name": "purchase",
531
+ "outputs": [
532
+ {
533
+ "internalType": "uint256",
534
+ "name": "tokenId",
535
+ "type": "uint256"
536
+ }
537
+ ],
538
+ "stateMutability": "nonpayable",
539
+ "type": "function"
540
+ },
541
+ {
542
+ "inputs": [
543
+ {
544
+ "internalType": "address",
545
+ "name": "to",
546
+ "type": "address"
547
+ },
548
+ {
549
+ "internalType": "uint256",
550
+ "name": "projectId",
551
+ "type": "uint256"
552
+ },
553
+ {
554
+ "internalType": "address",
555
+ "name": "coreContract",
556
+ "type": "address"
557
+ },
558
+ {
559
+ "internalType": "uint256",
560
+ "name": "maxPricePerToken",
561
+ "type": "uint256"
562
+ },
563
+ {
564
+ "internalType": "address",
565
+ "name": "currencyAddress",
566
+ "type": "address"
567
+ },
568
+ {
569
+ "internalType": "address",
570
+ "name": "ownedNFTAddress",
571
+ "type": "address"
572
+ },
573
+ {
574
+ "internalType": "uint256",
575
+ "name": "ownedNFTTokenId",
576
+ "type": "uint256"
577
+ },
578
+ {
579
+ "internalType": "address",
580
+ "name": "vault",
581
+ "type": "address"
582
+ }
583
+ ],
584
+ "name": "purchaseTo",
585
+ "outputs": [
586
+ {
587
+ "internalType": "uint256",
588
+ "name": "tokenId",
589
+ "type": "uint256"
590
+ }
591
+ ],
592
+ "stateMutability": "nonpayable",
593
+ "type": "function"
594
+ },
595
+ {
596
+ "inputs": [
597
+ {
598
+ "internalType": "address",
599
+ "name": "to",
600
+ "type": "address"
601
+ },
602
+ {
603
+ "internalType": "uint256",
604
+ "name": "projectId",
605
+ "type": "uint256"
606
+ },
607
+ {
608
+ "internalType": "address",
609
+ "name": "coreContract",
610
+ "type": "address"
611
+ },
612
+ {
613
+ "internalType": "uint256",
614
+ "name": "maxPricePerToken",
615
+ "type": "uint256"
616
+ },
617
+ {
618
+ "internalType": "address",
619
+ "name": "currencyAddress",
620
+ "type": "address"
621
+ },
622
+ {
623
+ "internalType": "address",
624
+ "name": "ownedNFTAddress",
625
+ "type": "address"
626
+ },
627
+ {
628
+ "internalType": "uint256",
629
+ "name": "ownedNFTTokenId",
630
+ "type": "uint256"
631
+ }
632
+ ],
633
+ "name": "purchaseTo",
634
+ "outputs": [
635
+ {
636
+ "internalType": "uint256",
637
+ "name": "tokenId",
638
+ "type": "uint256"
639
+ }
640
+ ],
641
+ "stateMutability": "nonpayable",
642
+ "type": "function"
643
+ },
644
+ {
645
+ "inputs": [
646
+ {
647
+ "internalType": "uint256",
648
+ "name": "projectId",
649
+ "type": "uint256"
650
+ },
651
+ {
652
+ "internalType": "address",
653
+ "name": "coreContract",
654
+ "type": "address"
655
+ },
656
+ {
657
+ "internalType": "address[]",
658
+ "name": "ownedNFTAddresses",
659
+ "type": "address[]"
660
+ },
661
+ {
662
+ "internalType": "uint256[]",
663
+ "name": "ownedNFTProjectIds",
664
+ "type": "uint256[]"
665
+ }
666
+ ],
667
+ "name": "removeHoldersOfProjects",
668
+ "outputs": [],
669
+ "stateMutability": "nonpayable",
670
+ "type": "function"
671
+ },
672
+ {
673
+ "inputs": [
674
+ {
675
+ "internalType": "uint256",
676
+ "name": "projectId",
677
+ "type": "uint256"
678
+ },
679
+ {
680
+ "internalType": "address",
681
+ "name": "coreContract",
682
+ "type": "address"
683
+ }
684
+ ],
685
+ "name": "setPriceProjectConfig",
686
+ "outputs": [
687
+ {
688
+ "components": [
689
+ {
690
+ "internalType": "uint248",
691
+ "name": "pricePerToken",
692
+ "type": "uint248"
693
+ },
694
+ {
695
+ "internalType": "bool",
696
+ "name": "priceIsConfigured",
697
+ "type": "bool"
698
+ }
699
+ ],
700
+ "internalType": "struct SetPriceLib.SetPriceProjectConfig",
701
+ "name": "",
702
+ "type": "tuple"
703
+ }
704
+ ],
705
+ "stateMutability": "view",
706
+ "type": "function"
707
+ },
708
+ {
709
+ "inputs": [
710
+ {
711
+ "internalType": "uint256",
712
+ "name": "projectId",
713
+ "type": "uint256"
714
+ },
715
+ {
716
+ "internalType": "address",
717
+ "name": "coreContract",
718
+ "type": "address"
719
+ }
720
+ ],
721
+ "name": "syncProjectMaxInvocationsToCore",
722
+ "outputs": [],
723
+ "stateMutability": "nonpayable",
724
+ "type": "function"
725
+ },
726
+ {
727
+ "inputs": [
728
+ {
729
+ "internalType": "uint256",
730
+ "name": "projectId",
731
+ "type": "uint256"
732
+ },
733
+ {
734
+ "internalType": "address",
735
+ "name": "coreContract",
736
+ "type": "address"
737
+ },
738
+ {
739
+ "internalType": "uint248",
740
+ "name": "pricePerTokenInWei",
741
+ "type": "uint248"
742
+ }
743
+ ],
744
+ "name": "updatePricePerTokenInWei",
745
+ "outputs": [],
746
+ "stateMutability": "nonpayable",
747
+ "type": "function"
748
+ },
749
+ {
750
+ "inputs": [
751
+ {
752
+ "internalType": "uint256",
753
+ "name": "projectId",
754
+ "type": "uint256"
755
+ },
756
+ {
757
+ "internalType": "address",
758
+ "name": "coreContract",
759
+ "type": "address"
760
+ },
761
+ {
762
+ "internalType": "string",
763
+ "name": "currencySymbol",
764
+ "type": "string"
765
+ },
766
+ {
767
+ "internalType": "address",
768
+ "name": "currencyAddress",
769
+ "type": "address"
770
+ }
771
+ ],
772
+ "name": "updateProjectCurrencyInfo",
773
+ "outputs": [],
774
+ "stateMutability": "nonpayable",
775
+ "type": "function"
776
+ }
777
+ ],
778
+ "bytecode": "0x6101006040523480156200001257600080fd5b506040516200322b3803806200322b8339810160408190526200003591620000b1565b60016000556001600160a01b03828116608081905260a052811660c081905260e08190526040519081527f836360d1b094a7de3c3eab3d1185f3a5939467c23d4a12709dbdbf8c8d7e2f3b9060200160405180910390a15050620000e9565b80516001600160a01b0381168114620000ac57600080fd5b919050565b60008060408385031215620000c557600080fd5b620000d08362000094565b9150620000e06020840162000094565b90509250929050565b60805160a05160c05160e05161310862000123600039600061063901526000610313015260006107e6015260006103c201526131086000f3fe608060405234801561001057600080fd5b50600436106101595760003560e01c80639b24c3c0116100c95780639b24c3c01461029c578063a03f5997146102d5578063ae4bec82146102e8578063b000e334146102fb578063bf5bf5f81461030e578063cce7c90914610342578063d3ddabe614610355578063d9bffbce14610387578063d9eb16db1461039a578063dd85582f146103bd578063e9d1e8ac146103e4578063ed6677a914610420578063f7f5e9d014610433578063fca23f4e1461044657600080fd5b806301000da71461015e5780630b8249f4146101865780630c49ef31146101a75780630da18b57146101bc5780631df64cb7146101cf57806333c91bdb146101e257806339b87cf8146101f55780634869f3df146102085780635e62aa781461021b5780637e947f241461022e5780637ffb2eb8146102415780638a605b51146102545780639a94488a14610267575b600080fd5b61017161016c366004612544565b610459565b60405190151581526020015b60405180910390f35b610199610194366004612561565b610497565b60405190815260200161017d565b6101ba6101b536600461263a565b610920565b005b6101996101ca36600461271a565b610949565b6101996101dd366004612781565b610967565b6101716101f0366004612812565b610986565b61017161020336600461285c565b61099d565b6101996102163660046128a4565b6109ab565b6101996102293660046128a4565b6109c0565b6101ba61023c3660046128d4565b6109e2565b61019961024f3660046128a4565b610a1f565b6101ba610262366004612922565b610a2b565b61027a6102753660046128a4565b610a4c565b6040805182511515815260209283015162ffffff16928101929092520161017d565b6102af6102aa3660046128a4565b610a94565b6040805182516001600160f81b031681526020928301511515928101929092520161017d565b6101ba6102e33660046128a4565b610ae2565b6101996102f63660046128a4565b610afb565b6101ba6103093660046129ad565b610b16565b6103357f000000000000000000000000000000000000000000000000000000000000000081565b60405161017d91906129ec565b6101716103503660046128a4565b610b2c565b61037a60405180604001604052806006815260200165076352e302e360d41b81525081565b60405161017d9190612a50565b6101ba6103953660046128a4565b610b38565b6103ad6103a83660046128a4565b610b4d565b60405161017d9493929190612a63565b6103357f000000000000000000000000000000000000000000000000000000000000000081565b61037a6040518060400160405280601e81526020017f4d696e7465725365745072696365506f6c79707479636845524332305635000081525081565b6101ba61042e366004612ab3565b610baa565b6101ba610441366004612922565b610c08565b61017161045436600461285c565b610c21565b60008061046583610c5b565b8054909150610100900460ff1615610481575460ff1692915050565b61048a83610c86565b9392505050565b50919050565b60006002600054036104c45760405162461bcd60e51b81526004016104bb90612b90565b60405180910390fd5b60026000556104d38888610dfc565b60006104df8989610e2d565b905060006104ed8a8a610e9d565b509050806001600160a01b0316876001600160a01b0316146105515760405162461bcd60e51b815260206004820152601d60248201527f43757272656e637920616464726573736573206d757374206d6174636800000060448201526064016104bb565b50808710156105a25760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206d61782070726963652067746520746f6b656e207072696365000060448201526064016104bb565b6105ae89898787610f80565b6105f25760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920616c6c6f776c6973746564204e46547360581b60448201526064016104bb565b336001600160a01b038416156106fa57604051631574d39f60e31b81523360048201526001600160a01b0385811660248301528a81166044830152606482018790526000917f00000000000000000000000000000000000000000000000000000000000000009091169063aba69cf890608401602060405180830381865afa158015610682573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a69190612bd7565b9050806106f55760405162461bcd60e51b815260206004820152601e60248201527f496e76616c69642064656c65676174652d7661756c742070616972696e67000060448201526064016104bb565b849150505b604051630ea5613f60e01b8152600481018b905289906000906001600160a01b03831690630ea5613f9060240160c060405180830381865afa158015610744573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107689190612bf2565b50505050509050600061077b8989610fd0565b90506107888d8d8361103c565b600082620f42408f61079a9190612c67565b6107a49190612c7e565b90506107b18d8284611148565b506040516117cd60e21b81526001600160a01b038f81166004830152602482018f90528d8116604483015285811660648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af115801561082d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108519190612c91565b955061085e8c8783611225565b50610869858c611292565b60405163a47d29cb60e01b8152600481018d90526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa1580156108b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d59190612caa565b90506000336001600160a01b038316146108ef57846108f1565b8e5b90506108fe8a8a836112f7565b505061090b8c858d6113ba565b50505050600160005598975050505050505050565b61092b8a8a33611642565b61093d8a8a8a8a8a8a8a8a8a8a611687565b50505050505050505050565b600061095c338888888888886000610497565b979650505050505050565b600061097a888888888888886000610497565b98975050505050505050565b6000610994858585856116a3565b95945050505050565b600061099485858585610f80565b60006109b783836116e2565b90505b92915050565b6000806109cd8484610e9d565b5090506109da8133611702565b949350505050565b6109ed838333611642565b610a018383836001600160f81b0316611772565b610a0b83836117d1565b15610a1a57610a1a8383610b38565b505050565b60006109b78383611801565b610a36868633611642565b610a4486868686868661181c565b505050505050565b6040805180820190915260008082526020820152610a6a8383611938565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b6040805180820190915260008082526020820152610ab28383611983565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b610aed828233611642565b610af782826119aa565b5050565b600080610b088484610e9d565b5090506109da813330611a4c565b610b21838333611642565b610a1a838383611abe565b60006109b78383611b94565b610b43828233611642565b610af78282611bad565b6000806060600080610b5f8787611983565b80546001600160f81b031694509050610b788787610e9d565b8254909450909250600160f81b900460ff168015610b9e57506001600160a01b03821615155b94505092959194509250565b600260005403610bcc5760405162461bcd60e51b81526004016104bb90612b90565b6002600055610bdc848433611642565b6000610bea85858585611c34565b90508015610bfc57610bfc8585611d65565b50506001600055505050565b610c13868633611642565b610a44868686868686611db1565b6000610c2d8585611eba565b6001600160a01b038416600090815260209182526040808220858352909252205460ff169050949350505050565b6000610c65611ee2565b6001600160a01b039092166000908152600192909201602052506040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690610ce8908590612cc7565b600060405180830381855afa9150503d8060008114610d23576040519150601f19603f3d011682016040523d82523d6000602084013e610d28565b606091505b509150915081610d885760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b60648201526084016104bb565b805160c0819003610d9f5750600095945050505050565b8061010003610db45750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c6974206279746573000060448201526064016104bb565b6000610e088383611938565b805490915060ff1615610a1a5760405162461bcd60e51b81526004016104bb90612ce3565b600080610e3a8484611983565b8054909150600160f81b900460ff16610e8c5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b60448201526064016104bb565b546001600160f81b03169392505050565b600060606000610ead8585611f06565b80546001600160a01b0316935090508215610f5457806001018054610ed190612d14565b80601f0160208091040260200160405190810160405280929190818152602001828054610efd90612d14565b8015610f4a5780601f10610f1f57610100808354040283529160200191610f4a565b820191906000526020600020905b815481529060010190602001808311610f2d57829003601f168201915b5050505050610f76565b60405180604001604052806008815260200167554e434f4e46494760c01b8152505b9150509250929050565b600080610f8d8686611eba565b90506000610f9e620f424085612d48565b6001600160a01b038616600090815260209384526040808220928252919093529091205460ff16915050949350505050565b604051634d01727d60e11b8152600481018290526000906001600160a01b03841690639a02e4fa90602401602060405180830381865afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190612d6a565b60006110488484611f10565b90506001600160a01b0319821661109c5760405162461bcd60e51b81526020600482015260186024820152774f6e6c79206e6f6e2d7a65726f206861736820736565647360401b60448201526064016104bb565b805462ffffff16600081815260018301602090815260408083206001600160a01b03198716845290915290205460ff16156111105760405162461bcd60e51b815260206004820152601460248201527314185b995b08185b1c9958591e481b5a5b9d195960621b60448201526064016104bb565b60009081526001918201602090815260408083206001600160a01b0319909516835293905291909120805460ff191690911790555050565b826001600160a01b03166336c7c12c6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ac9190612caa565b60405163dddceed160e01b81526001600160a01b038581166004830152602482018590526001600160a01b031984166044830152919091169063dddceed190606401600060405180830381600087803b15801561120857600080fd5b505af115801561121c573d6000803e3d6000fd5b50505050505050565b60006112318484610fd0565b90506001600160a01b03198082169083161461128c5760405162461bcd60e51b815260206004820152601a602482015279155b995e1c1958dd1959081d1bdad95b881a185cda081cd9595960321b60448201526064016104bb565b50505050565b620f4240820460006112a48284611938565b8054909150620f4240850660010190610100900462ffffff16808211156112dd5760405162461bcd60e51b81526004016104bb90612ce3565b808203610a4457825460ff19166001178355505050505050565b6040516331a9108f60e11b8152600481018390526000906001600160a01b03851690636352211e90602401602060405180830381865afa15801561133f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113639190612caa565b9050816001600160a01b0316816001600160a01b03161461128c5760405162461bcd60e51b815260206004820152601160248201527013db9b1e481bdddb995c881bd988139195607a1b60448201526064016104bb565b816000036113c757505050565b6000806113d48584611f06565b80549091506001600160a01b03168061142f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a207061796d656e74206e6f7420636f6e6669677572656400000060448201526064016104bb565b341561147d5760405162461bcd60e51b815260206004820152601e60248201527f45524332303a204e6f20455448207768656e207573696e67204552433230000060448201526064016104bb565b611488338287611f38565b915060009050611497836120b0565b9050600080600080600080600080881561153557604051638639415b60e01b8152600481018e9052602481018d90526001600160a01b038c1690638639415b9060440161010060405180830381865afa1580156114f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151c9190612d87565b969e50949c50929a5090985096509450925090506115b5565b604051638639415b60e01b8152600481018e9052602481018d90526001600160a01b038c1690638639415b9060440160c060405180830381865afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a59190612dfe565b949c50929a509096509450925090505b8b82856115c2898c612c7e565b6115cc9190612c7e565b6115d69190612c7e565b146116225760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b60448201526064016104bb565b6116338a87878b8b898989896120fe565b50505050505050505050505050565b61164d838383612415565b610a1a5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b60448201526064016104bb565b6116958a8a8a8a8a8a61181c565b61093d8a8a86868686611db1565b6000806116b08686611f10565b6000948552600101602090815260408086206001600160a01b0319959095168652939052505090205460ff1692915050565b6000806116ef8484611938565b54610100900462ffffff16949350505050565b6040516370a0823160e01b81526000906001600160a01b038416906370a08231906117319085906004016129ec565b602060405180830381865afa15801561174e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190612c91565b600061177e8484611983565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b6000806117de8484611938565b8054909150610100900462ffffff161580156109da57505460ff16159392505050565b60008061180e8484611f10565b5462ffffff16949350505050565b82811461183b5760405162461bcd60e51b81526004016104bb90612e67565b60006118478787611eba565b90508360005b818110156118e557600183600089898581811061186c5761186c612ea8565b90506020020160208101906118819190612544565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008787858181106118b5576118b5612ea8565b60209081029290920135835250810191909152604001600020805460ff191691151591909117905560010161184d565b50866001600160a01b0316887fe4e108abe1d65a55b2c49a1586fb2afa6c3d79732947e37f71a6c23a5b08ff82888888886040516119269493929190612ebe565b60405180910390a35050505050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60007efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d761195c565b60006119b68383611f10565b805490915081906000906119ce9062ffffff16612f3c565b82546101009290920a62ffffff8181021990931691831602179091558154604080516f1c1bdb1e5c1d1e58da14185b995b125960821b81529190921660208201526001600160a01b0384169185917f1809fd1f08e6b0df08fd848757688435a0ab8520a51dcca23eba5a3c7f7280d6910160405180910390a3505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90611a7d9086908690600401612f5e565b602060405180830381865afa158015611a9a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109da9190612c91565b600080611acb858561249e565b91509150808362ffffff161115611af45760405162461bcd60e51b81526004016104bb90612f78565b818362ffffff161015611b195760405162461bcd60e51b81526004016104bb90612f78565b6000611b258686611938565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b600080611ba18484611938565b5460ff16949350505050565b600080611bba848461249e565b915091506000611bca8585611938565b805484841463ffffffff1990911661010062ffffff86160260ff1916171781556040518381529091506001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a35050505050565b60006001600160a01b038216611c875760405162461bcd60e51b815260206004820152601860248201527706e756c6c20616464726573732c206f6e6c792045524332360441b60448201526064016104bb565b6000835111611ccf5760405162461bcd60e51b81526020600482015260146024820152731bdb9b1e481b9bdb8b5b9d5b1b081cde5b589bdb60621b60448201526064016104bb565b6000611cdb8686611f06565b80549091506001600160a01b031615611cf357600191505b60018101611d018582612fef565b5080546001600160a01b0319166001600160a01b0384811691821783556040519087169088907f9009be442961d697adbe398af85c4743d0539b16e89324b6448ebac47eced55e90611d54908990612a50565b60405180910390a450949350505050565b6000611d718383611983565b60008082556040519192506001600160a01b0384169185917f6e7520832121cb96e12b3c7502c0e4330c9ef76df21f25c6f807471daf0e516c91a3505050565b828114611dd05760405162461bcd60e51b81526004016104bb90612e67565b6000611ddc8787611eba565b90508360005b81811015611e795760008381898985818110611e0057611e00612ea8565b9050602002016020810190611e159190612544565b6001600160a01b03166001600160a01b031681526020019081526020016000206000878785818110611e4957611e49612ea8565b60209081029290920135835250810191909152604001600020805460ff1916911515919091179055600101611de2565b50866001600160a01b0316887f5728c49515724a90b87298ccfb6a8868ff0bfddf7e4fe298cea807dd815ced09888888886040516119269493929190612ebe565b60007f7805f013cae363c49df6acca2dcd8a8f0bd9005c2f87b85d8dbbce9098e4afd761195c565b7f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b3890565b600061195c611ee2565b60007f56e45510048a51061054136e0136e5e31c79dc3b9d86e34df4ba37ce2773996d61195c565b604051636eb1769f60e11b815281906001600160a01b0384169063dd62ed3e90611f689087903090600401612f5e565b602060405180830381865afa158015611f85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa99190612c91565b1015611ff65760405162461bcd60e51b815260206004820152601c60248201527b496e73756666696369656e7420455243323020616c6c6f77616e636560201b60448201526064016104bb565b6040516370a0823160e01b815281906001600160a01b038416906370a08231906120249087906004016129ec565b602060405180830381865afa158015612041573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120659190612c91565b1015610a1a5760405162461bcd60e51b815260206004820152601a602482015279496e73756666696369656e742045524332302062616c616e636560301b60448201526064016104bb565b6000806120bc83610c5b565b8054909150610100900460ff16156120d8575460ff1692915050565b60006120e384610c86565b825481151561ffff1990911617610100179092555092915050565b87156121c3576040516323b872dd60e01b81526001600160a01b038a16906323b872dd906121349033908b908d906004016130ae565b6020604051808303816000875af1158015612153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121779190612bd7565b6121c35760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016104bb565b8515612288576040516323b872dd60e01b81526001600160a01b038a16906323b872dd906121f990339089908b906004016130ae565b6020604051808303816000875af1158015612218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223c9190612bd7565b6122885760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016104bb565b8315612345576040516323b872dd60e01b81526001600160a01b038a16906323b872dd906122be903390879089906004016130ae565b6020604051808303816000875af11580156122dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123019190612bd7565b6123455760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016104bb565b811561240a576040516323b872dd60e01b81526001600160a01b038a16906323b872dd9061237b903390859087906004016130ae565b6020604051808303816000875af115801561239a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123be9190612bd7565b61240a5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016104bb565b505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa15801561245d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124819190612caa565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa1580156124e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250c9190612bf2565b5093989297509195505050505050565b6001600160a01b038116811461253157600080fd5b50565b803561253f8161251c565b919050565b60006020828403121561255657600080fd5b813561048a8161251c565b600080600080600080600080610100898b03121561257e57600080fd5b88356125898161251c565b97506020890135965060408901356125a08161251c565b95506060890135945060808901356125b78161251c565b935060a08901356125c78161251c565b925060c0890135915060e08901356125de8161251c565b809150509295985092959890939650565b60008083601f84011261260157600080fd5b5081356001600160401b0381111561261857600080fd5b6020830191508360208260051b850101111561263357600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561265957600080fd5b8a35995061266960208c01612534565b985060408b01356001600160401b038082111561268557600080fd5b6126918e838f016125ef565b909a50985060608d01359150808211156126aa57600080fd5b6126b68e838f016125ef565b909850965060808d01359150808211156126cf57600080fd5b6126db8e838f016125ef565b909650945060a08d01359150808211156126f457600080fd5b506127018d828e016125ef565b915080935050809150509295989b9194979a5092959850565b60008060008060008060c0878903121561273357600080fd5b8635955060208701356127458161251c565b945060408701359350606087013561275c8161251c565b9250608087013561276c8161251c565b8092505060a087013590509295509295509295565b600080600080600080600060e0888a03121561279c57600080fd5b87356127a78161251c565b96506020880135955060408801356127be8161251c565b94506060880135935060808801356127d58161251c565b925060a08801356127e58161251c565b8092505060c0880135905092959891949750929550565b6001600160a01b03198116811461253157600080fd5b6000806000806080858703121561282857600080fd5b84359350602085013561283a8161251c565b9250604085013591506060850135612851816127fc565b939692955090935050565b6000806000806080858703121561287257600080fd5b8435935060208501356128848161251c565b925060408501356128948161251c565b9396929550929360600135925050565b600080604083850312156128b757600080fd5b8235915060208301356128c98161251c565b809150509250929050565b6000806000606084860312156128e957600080fd5b8335925060208401356128fb8161251c565b915060408401356001600160f81b038116811461291757600080fd5b809150509250925092565b6000806000806000806080878903121561293b57600080fd5b86359550602087013561294d8161251c565b945060408701356001600160401b038082111561296957600080fd5b6129758a838b016125ef565b9096509450606089013591508082111561298e57600080fd5b5061299b89828a016125ef565b979a9699509497509295939492505050565b6000806000606084860312156129c257600080fd5b8335925060208401356129d48161251c565b9150604084013562ffffff8116811461291757600080fd5b6001600160a01b0391909116815260200190565b60005b83811015612a1b578181015183820152602001612a03565b50506000910152565b60008151808452612a3c816020860160208601612a00565b601f01601f19169290920160200192915050565b6020815260006109b76020830184612a24565b8415158152836020820152608060408201526000612a846080830185612a24565b905060018060a01b038316606083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215612ac957600080fd5b843593506020850135612adb8161251c565b925060408501356001600160401b0380821115612af757600080fd5b818701915087601f830112612b0b57600080fd5b813581811115612b1d57612b1d612a9d565b604051601f8201601f19908116603f01168101908382118183101715612b4557612b45612a9d565b816040528281528a6020848701011115612b5e57600080fd5b826020860160208301376000602084830101528096505050505050612b8560608601612534565b905092959194509250565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b8051801515811461253f57600080fd5b600060208284031215612be957600080fd5b6109b782612bc7565b60008060008060008060c08789031215612c0b57600080fd5b8651955060208701519450612c2260408801612bc7565b9350612c3060608801612bc7565b925060808701519150612c4560a08801612bc7565b90509295509295509295565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176109ba576109ba612c51565b808201808211156109ba576109ba612c51565b600060208284031215612ca357600080fd5b5051919050565b600060208284031215612cbc57600080fd5b815161048a8161251c565b60008251612cd9818460208701612a00565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b600181811c90821680612d2857607f821691505b60208210810361049157634e487b7160e01b600052602260045260246000fd5b600082612d6557634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612d7c57600080fd5b815161048a816127fc565b600080600080600080600080610100898b031215612da457600080fd5b885197506020890151612db68161251c565b60408a015160608b01519198509650612dce8161251c565b60808a015160a08b01519196509450612de68161251c565b60c08a015160e08b015191945092506125de8161251c565b60008060008060008060c08789031215612e1757600080fd5b865195506020870151612e298161251c565b604088015160608901519196509450612e418161251c565b608088015160a08901519194509250612e598161251c565b809150509295509295509295565b60208082526021908201527f546f6b656e486f6c6465724c69623a20617272617973206e6571206c656e67746040820152600d60fb1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6040808252810184905260008560608301825b87811015612f01578235612ee48161251c565b6001600160a01b0316825260209283019290910190600101612ed1565b5083810360208501528481526001600160fb1b03851115612f2157600080fd5b8460051b915081866020830137016020019695505050505050565b600062ffffff808316818103612f5457612f54612c51565b6001019392505050565b6001600160a01b0392831681529116602082015260400190565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b601f821115610a1a57600081815260208120601f850160051c81016020861015612fd05750805b601f850160051c820191505b81811015610a4457828155600101612fdc565b81516001600160401b0381111561300857613008612a9d565b61301c816130168454612d14565b84612fa9565b602080601f83116001811461305157600084156130395750858301515b600019600386901b1c1916600185901b178555610a44565b600085815260208120601f198616915b8281101561308057888601518255948401946001909101908401613061565b508582101561309e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b03938416815291909216602082015260408101919091526060019056fea264697066735822122072b7f5e0f723480535b71a972fd48a55cebcc3c62fbde644ef19c170c7c4893864736f6c63430008130033",
779
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101595760003560e01c80639b24c3c0116100c95780639b24c3c01461029c578063a03f5997146102d5578063ae4bec82146102e8578063b000e334146102fb578063bf5bf5f81461030e578063cce7c90914610342578063d3ddabe614610355578063d9bffbce14610387578063d9eb16db1461039a578063dd85582f146103bd578063e9d1e8ac146103e4578063ed6677a914610420578063f7f5e9d014610433578063fca23f4e1461044657600080fd5b806301000da71461015e5780630b8249f4146101865780630c49ef31146101a75780630da18b57146101bc5780631df64cb7146101cf57806333c91bdb146101e257806339b87cf8146101f55780634869f3df146102085780635e62aa781461021b5780637e947f241461022e5780637ffb2eb8146102415780638a605b51146102545780639a94488a14610267575b600080fd5b61017161016c366004612544565b610459565b60405190151581526020015b60405180910390f35b610199610194366004612561565b610497565b60405190815260200161017d565b6101ba6101b536600461263a565b610920565b005b6101996101ca36600461271a565b610949565b6101996101dd366004612781565b610967565b6101716101f0366004612812565b610986565b61017161020336600461285c565b61099d565b6101996102163660046128a4565b6109ab565b6101996102293660046128a4565b6109c0565b6101ba61023c3660046128d4565b6109e2565b61019961024f3660046128a4565b610a1f565b6101ba610262366004612922565b610a2b565b61027a6102753660046128a4565b610a4c565b6040805182511515815260209283015162ffffff16928101929092520161017d565b6102af6102aa3660046128a4565b610a94565b6040805182516001600160f81b031681526020928301511515928101929092520161017d565b6101ba6102e33660046128a4565b610ae2565b6101996102f63660046128a4565b610afb565b6101ba6103093660046129ad565b610b16565b6103357f000000000000000000000000000000000000000000000000000000000000000081565b60405161017d91906129ec565b6101716103503660046128a4565b610b2c565b61037a60405180604001604052806006815260200165076352e302e360d41b81525081565b60405161017d9190612a50565b6101ba6103953660046128a4565b610b38565b6103ad6103a83660046128a4565b610b4d565b60405161017d9493929190612a63565b6103357f000000000000000000000000000000000000000000000000000000000000000081565b61037a6040518060400160405280601e81526020017f4d696e7465725365745072696365506f6c79707479636845524332305635000081525081565b6101ba61042e366004612ab3565b610baa565b6101ba610441366004612922565b610c08565b61017161045436600461285c565b610c21565b60008061046583610c5b565b8054909150610100900460ff1615610481575460ff1692915050565b61048a83610c86565b9392505050565b50919050565b60006002600054036104c45760405162461bcd60e51b81526004016104bb90612b90565b60405180910390fd5b60026000556104d38888610dfc565b60006104df8989610e2d565b905060006104ed8a8a610e9d565b509050806001600160a01b0316876001600160a01b0316146105515760405162461bcd60e51b815260206004820152601d60248201527f43757272656e637920616464726573736573206d757374206d6174636800000060448201526064016104bb565b50808710156105a25760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206d61782070726963652067746520746f6b656e207072696365000060448201526064016104bb565b6105ae89898787610f80565b6105f25760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920616c6c6f776c6973746564204e46547360581b60448201526064016104bb565b336001600160a01b038416156106fa57604051631574d39f60e31b81523360048201526001600160a01b0385811660248301528a81166044830152606482018790526000917f00000000000000000000000000000000000000000000000000000000000000009091169063aba69cf890608401602060405180830381865afa158015610682573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a69190612bd7565b9050806106f55760405162461bcd60e51b815260206004820152601e60248201527f496e76616c69642064656c65676174652d7661756c742070616972696e67000060448201526064016104bb565b849150505b604051630ea5613f60e01b8152600481018b905289906000906001600160a01b03831690630ea5613f9060240160c060405180830381865afa158015610744573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107689190612bf2565b50505050509050600061077b8989610fd0565b90506107888d8d8361103c565b600082620f42408f61079a9190612c67565b6107a49190612c7e565b90506107b18d8284611148565b506040516117cd60e21b81526001600160a01b038f81166004830152602482018f90528d8116604483015285811660648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af115801561082d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108519190612c91565b955061085e8c8783611225565b50610869858c611292565b60405163a47d29cb60e01b8152600481018d90526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa1580156108b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d59190612caa565b90506000336001600160a01b038316146108ef57846108f1565b8e5b90506108fe8a8a836112f7565b505061090b8c858d6113ba565b50505050600160005598975050505050505050565b61092b8a8a33611642565b61093d8a8a8a8a8a8a8a8a8a8a611687565b50505050505050505050565b600061095c338888888888886000610497565b979650505050505050565b600061097a888888888888886000610497565b98975050505050505050565b6000610994858585856116a3565b95945050505050565b600061099485858585610f80565b60006109b783836116e2565b90505b92915050565b6000806109cd8484610e9d565b5090506109da8133611702565b949350505050565b6109ed838333611642565b610a018383836001600160f81b0316611772565b610a0b83836117d1565b15610a1a57610a1a8383610b38565b505050565b60006109b78383611801565b610a36868633611642565b610a4486868686868661181c565b505050505050565b6040805180820190915260008082526020820152610a6a8383611938565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b6040805180820190915260008082526020820152610ab28383611983565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b610aed828233611642565b610af782826119aa565b5050565b600080610b088484610e9d565b5090506109da813330611a4c565b610b21838333611642565b610a1a838383611abe565b60006109b78383611b94565b610b43828233611642565b610af78282611bad565b6000806060600080610b5f8787611983565b80546001600160f81b031694509050610b788787610e9d565b8254909450909250600160f81b900460ff168015610b9e57506001600160a01b03821615155b94505092959194509250565b600260005403610bcc5760405162461bcd60e51b81526004016104bb90612b90565b6002600055610bdc848433611642565b6000610bea85858585611c34565b90508015610bfc57610bfc8585611d65565b50506001600055505050565b610c13868633611642565b610a44868686868686611db1565b6000610c2d8585611eba565b6001600160a01b038416600090815260209182526040808220858352909252205460ff169050949350505050565b6000610c65611ee2565b6001600160a01b039092166000908152600192909201602052506040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690610ce8908590612cc7565b600060405180830381855afa9150503d8060008114610d23576040519150601f19603f3d011682016040523d82523d6000602084013e610d28565b606091505b509150915081610d885760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b60648201526084016104bb565b805160c0819003610d9f5750600095945050505050565b8061010003610db45750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c6974206279746573000060448201526064016104bb565b6000610e088383611938565b805490915060ff1615610a1a5760405162461bcd60e51b81526004016104bb90612ce3565b600080610e3a8484611983565b8054909150600160f81b900460ff16610e8c5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b60448201526064016104bb565b546001600160f81b03169392505050565b600060606000610ead8585611f06565b80546001600160a01b0316935090508215610f5457806001018054610ed190612d14565b80601f0160208091040260200160405190810160405280929190818152602001828054610efd90612d14565b8015610f4a5780601f10610f1f57610100808354040283529160200191610f4a565b820191906000526020600020905b815481529060010190602001808311610f2d57829003601f168201915b5050505050610f76565b60405180604001604052806008815260200167554e434f4e46494760c01b8152505b9150509250929050565b600080610f8d8686611eba565b90506000610f9e620f424085612d48565b6001600160a01b038616600090815260209384526040808220928252919093529091205460ff16915050949350505050565b604051634d01727d60e11b8152600481018290526000906001600160a01b03841690639a02e4fa90602401602060405180830381865afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190612d6a565b60006110488484611f10565b90506001600160a01b0319821661109c5760405162461bcd60e51b81526020600482015260186024820152774f6e6c79206e6f6e2d7a65726f206861736820736565647360401b60448201526064016104bb565b805462ffffff16600081815260018301602090815260408083206001600160a01b03198716845290915290205460ff16156111105760405162461bcd60e51b815260206004820152601460248201527314185b995b08185b1c9958591e481b5a5b9d195960621b60448201526064016104bb565b60009081526001918201602090815260408083206001600160a01b0319909516835293905291909120805460ff191690911790555050565b826001600160a01b03166336c7c12c6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ac9190612caa565b60405163dddceed160e01b81526001600160a01b038581166004830152602482018590526001600160a01b031984166044830152919091169063dddceed190606401600060405180830381600087803b15801561120857600080fd5b505af115801561121c573d6000803e3d6000fd5b50505050505050565b60006112318484610fd0565b90506001600160a01b03198082169083161461128c5760405162461bcd60e51b815260206004820152601a602482015279155b995e1c1958dd1959081d1bdad95b881a185cda081cd9595960321b60448201526064016104bb565b50505050565b620f4240820460006112a48284611938565b8054909150620f4240850660010190610100900462ffffff16808211156112dd5760405162461bcd60e51b81526004016104bb90612ce3565b808203610a4457825460ff19166001178355505050505050565b6040516331a9108f60e11b8152600481018390526000906001600160a01b03851690636352211e90602401602060405180830381865afa15801561133f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113639190612caa565b9050816001600160a01b0316816001600160a01b03161461128c5760405162461bcd60e51b815260206004820152601160248201527013db9b1e481bdddb995c881bd988139195607a1b60448201526064016104bb565b816000036113c757505050565b6000806113d48584611f06565b80549091506001600160a01b03168061142f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a207061796d656e74206e6f7420636f6e6669677572656400000060448201526064016104bb565b341561147d5760405162461bcd60e51b815260206004820152601e60248201527f45524332303a204e6f20455448207768656e207573696e67204552433230000060448201526064016104bb565b611488338287611f38565b915060009050611497836120b0565b9050600080600080600080600080881561153557604051638639415b60e01b8152600481018e9052602481018d90526001600160a01b038c1690638639415b9060440161010060405180830381865afa1580156114f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151c9190612d87565b969e50949c50929a5090985096509450925090506115b5565b604051638639415b60e01b8152600481018e9052602481018d90526001600160a01b038c1690638639415b9060440160c060405180830381865afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a59190612dfe565b949c50929a509096509450925090505b8b82856115c2898c612c7e565b6115cc9190612c7e565b6115d69190612c7e565b146116225760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b60448201526064016104bb565b6116338a87878b8b898989896120fe565b50505050505050505050505050565b61164d838383612415565b610a1a5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b60448201526064016104bb565b6116958a8a8a8a8a8a61181c565b61093d8a8a86868686611db1565b6000806116b08686611f10565b6000948552600101602090815260408086206001600160a01b0319959095168652939052505090205460ff1692915050565b6000806116ef8484611938565b54610100900462ffffff16949350505050565b6040516370a0823160e01b81526000906001600160a01b038416906370a08231906117319085906004016129ec565b602060405180830381865afa15801561174e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190612c91565b600061177e8484611983565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b6000806117de8484611938565b8054909150610100900462ffffff161580156109da57505460ff16159392505050565b60008061180e8484611f10565b5462ffffff16949350505050565b82811461183b5760405162461bcd60e51b81526004016104bb90612e67565b60006118478787611eba565b90508360005b818110156118e557600183600089898581811061186c5761186c612ea8565b90506020020160208101906118819190612544565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008787858181106118b5576118b5612ea8565b60209081029290920135835250810191909152604001600020805460ff191691151591909117905560010161184d565b50866001600160a01b0316887fe4e108abe1d65a55b2c49a1586fb2afa6c3d79732947e37f71a6c23a5b08ff82888888886040516119269493929190612ebe565b60405180910390a35050505050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60007efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d761195c565b60006119b68383611f10565b805490915081906000906119ce9062ffffff16612f3c565b82546101009290920a62ffffff8181021990931691831602179091558154604080516f1c1bdb1e5c1d1e58da14185b995b125960821b81529190921660208201526001600160a01b0384169185917f1809fd1f08e6b0df08fd848757688435a0ab8520a51dcca23eba5a3c7f7280d6910160405180910390a3505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90611a7d9086908690600401612f5e565b602060405180830381865afa158015611a9a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109da9190612c91565b600080611acb858561249e565b91509150808362ffffff161115611af45760405162461bcd60e51b81526004016104bb90612f78565b818362ffffff161015611b195760405162461bcd60e51b81526004016104bb90612f78565b6000611b258686611938565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b600080611ba18484611938565b5460ff16949350505050565b600080611bba848461249e565b915091506000611bca8585611938565b805484841463ffffffff1990911661010062ffffff86160260ff1916171781556040518381529091506001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a35050505050565b60006001600160a01b038216611c875760405162461bcd60e51b815260206004820152601860248201527706e756c6c20616464726573732c206f6e6c792045524332360441b60448201526064016104bb565b6000835111611ccf5760405162461bcd60e51b81526020600482015260146024820152731bdb9b1e481b9bdb8b5b9d5b1b081cde5b589bdb60621b60448201526064016104bb565b6000611cdb8686611f06565b80549091506001600160a01b031615611cf357600191505b60018101611d018582612fef565b5080546001600160a01b0319166001600160a01b0384811691821783556040519087169088907f9009be442961d697adbe398af85c4743d0539b16e89324b6448ebac47eced55e90611d54908990612a50565b60405180910390a450949350505050565b6000611d718383611983565b60008082556040519192506001600160a01b0384169185917f6e7520832121cb96e12b3c7502c0e4330c9ef76df21f25c6f807471daf0e516c91a3505050565b828114611dd05760405162461bcd60e51b81526004016104bb90612e67565b6000611ddc8787611eba565b90508360005b81811015611e795760008381898985818110611e0057611e00612ea8565b9050602002016020810190611e159190612544565b6001600160a01b03166001600160a01b031681526020019081526020016000206000878785818110611e4957611e49612ea8565b60209081029290920135835250810191909152604001600020805460ff1916911515919091179055600101611de2565b50866001600160a01b0316887f5728c49515724a90b87298ccfb6a8868ff0bfddf7e4fe298cea807dd815ced09888888886040516119269493929190612ebe565b60007f7805f013cae363c49df6acca2dcd8a8f0bd9005c2f87b85d8dbbce9098e4afd761195c565b7f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b3890565b600061195c611ee2565b60007f56e45510048a51061054136e0136e5e31c79dc3b9d86e34df4ba37ce2773996d61195c565b604051636eb1769f60e11b815281906001600160a01b0384169063dd62ed3e90611f689087903090600401612f5e565b602060405180830381865afa158015611f85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa99190612c91565b1015611ff65760405162461bcd60e51b815260206004820152601c60248201527b496e73756666696369656e7420455243323020616c6c6f77616e636560201b60448201526064016104bb565b6040516370a0823160e01b815281906001600160a01b038416906370a08231906120249087906004016129ec565b602060405180830381865afa158015612041573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120659190612c91565b1015610a1a5760405162461bcd60e51b815260206004820152601a602482015279496e73756666696369656e742045524332302062616c616e636560301b60448201526064016104bb565b6000806120bc83610c5b565b8054909150610100900460ff16156120d8575460ff1692915050565b60006120e384610c86565b825481151561ffff1990911617610100179092555092915050565b87156121c3576040516323b872dd60e01b81526001600160a01b038a16906323b872dd906121349033908b908d906004016130ae565b6020604051808303816000875af1158015612153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121779190612bd7565b6121c35760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016104bb565b8515612288576040516323b872dd60e01b81526001600160a01b038a16906323b872dd906121f990339089908b906004016130ae565b6020604051808303816000875af1158015612218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223c9190612bd7565b6122885760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016104bb565b8315612345576040516323b872dd60e01b81526001600160a01b038a16906323b872dd906122be903390879089906004016130ae565b6020604051808303816000875af11580156122dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123019190612bd7565b6123455760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016104bb565b811561240a576040516323b872dd60e01b81526001600160a01b038a16906323b872dd9061237b903390859087906004016130ae565b6020604051808303816000875af115801561239a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123be9190612bd7565b61240a5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016104bb565b505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa15801561245d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124819190612caa565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa1580156124e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250c9190612bf2565b5093989297509195505050505050565b6001600160a01b038116811461253157600080fd5b50565b803561253f8161251c565b919050565b60006020828403121561255657600080fd5b813561048a8161251c565b600080600080600080600080610100898b03121561257e57600080fd5b88356125898161251c565b97506020890135965060408901356125a08161251c565b95506060890135945060808901356125b78161251c565b935060a08901356125c78161251c565b925060c0890135915060e08901356125de8161251c565b809150509295985092959890939650565b60008083601f84011261260157600080fd5b5081356001600160401b0381111561261857600080fd5b6020830191508360208260051b850101111561263357600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561265957600080fd5b8a35995061266960208c01612534565b985060408b01356001600160401b038082111561268557600080fd5b6126918e838f016125ef565b909a50985060608d01359150808211156126aa57600080fd5b6126b68e838f016125ef565b909850965060808d01359150808211156126cf57600080fd5b6126db8e838f016125ef565b909650945060a08d01359150808211156126f457600080fd5b506127018d828e016125ef565b915080935050809150509295989b9194979a5092959850565b60008060008060008060c0878903121561273357600080fd5b8635955060208701356127458161251c565b945060408701359350606087013561275c8161251c565b9250608087013561276c8161251c565b8092505060a087013590509295509295509295565b600080600080600080600060e0888a03121561279c57600080fd5b87356127a78161251c565b96506020880135955060408801356127be8161251c565b94506060880135935060808801356127d58161251c565b925060a08801356127e58161251c565b8092505060c0880135905092959891949750929550565b6001600160a01b03198116811461253157600080fd5b6000806000806080858703121561282857600080fd5b84359350602085013561283a8161251c565b9250604085013591506060850135612851816127fc565b939692955090935050565b6000806000806080858703121561287257600080fd5b8435935060208501356128848161251c565b925060408501356128948161251c565b9396929550929360600135925050565b600080604083850312156128b757600080fd5b8235915060208301356128c98161251c565b809150509250929050565b6000806000606084860312156128e957600080fd5b8335925060208401356128fb8161251c565b915060408401356001600160f81b038116811461291757600080fd5b809150509250925092565b6000806000806000806080878903121561293b57600080fd5b86359550602087013561294d8161251c565b945060408701356001600160401b038082111561296957600080fd5b6129758a838b016125ef565b9096509450606089013591508082111561298e57600080fd5b5061299b89828a016125ef565b979a9699509497509295939492505050565b6000806000606084860312156129c257600080fd5b8335925060208401356129d48161251c565b9150604084013562ffffff8116811461291757600080fd5b6001600160a01b0391909116815260200190565b60005b83811015612a1b578181015183820152602001612a03565b50506000910152565b60008151808452612a3c816020860160208601612a00565b601f01601f19169290920160200192915050565b6020815260006109b76020830184612a24565b8415158152836020820152608060408201526000612a846080830185612a24565b905060018060a01b038316606083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215612ac957600080fd5b843593506020850135612adb8161251c565b925060408501356001600160401b0380821115612af757600080fd5b818701915087601f830112612b0b57600080fd5b813581811115612b1d57612b1d612a9d565b604051601f8201601f19908116603f01168101908382118183101715612b4557612b45612a9d565b816040528281528a6020848701011115612b5e57600080fd5b826020860160208301376000602084830101528096505050505050612b8560608601612534565b905092959194509250565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b8051801515811461253f57600080fd5b600060208284031215612be957600080fd5b6109b782612bc7565b60008060008060008060c08789031215612c0b57600080fd5b8651955060208701519450612c2260408801612bc7565b9350612c3060608801612bc7565b925060808701519150612c4560a08801612bc7565b90509295509295509295565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176109ba576109ba612c51565b808201808211156109ba576109ba612c51565b600060208284031215612ca357600080fd5b5051919050565b600060208284031215612cbc57600080fd5b815161048a8161251c565b60008251612cd9818460208701612a00565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b600181811c90821680612d2857607f821691505b60208210810361049157634e487b7160e01b600052602260045260246000fd5b600082612d6557634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612d7c57600080fd5b815161048a816127fc565b600080600080600080600080610100898b031215612da457600080fd5b885197506020890151612db68161251c565b60408a015160608b01519198509650612dce8161251c565b60808a015160a08b01519196509450612de68161251c565b60c08a015160e08b015191945092506125de8161251c565b60008060008060008060c08789031215612e1757600080fd5b865195506020870151612e298161251c565b604088015160608901519196509450612e418161251c565b608088015160a08901519194509250612e598161251c565b809150509295509295509295565b60208082526021908201527f546f6b656e486f6c6465724c69623a20617272617973206e6571206c656e67746040820152600d60fb1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6040808252810184905260008560608301825b87811015612f01578235612ee48161251c565b6001600160a01b0316825260209283019290910190600101612ed1565b5083810360208501528481526001600160fb1b03851115612f2157600080fd5b8460051b915081866020830137016020019695505050505050565b600062ffffff808316818103612f5457612f54612c51565b6001019392505050565b6001600160a01b0392831681529116602082015260400190565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b601f821115610a1a57600081815260208120601f850160051c81016020861015612fd05750805b601f850160051c820191505b81811015610a4457828155600101612fdc565b81516001600160401b0381111561300857613008612a9d565b61301c816130168454612d14565b84612fa9565b602080601f83116001811461305157600084156130395750858301515b600019600386901b1c1916600185901b178555610a44565b600085815260208120601f198616915b8281101561308057888601518255948401946001909101908401613061565b508582101561309e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b03938416815291909216602082015260408101919091526060019056fea264697066735822122072b7f5e0f723480535b71a972fd48a55cebcc3c62fbde644ef19c170c7c4893864736f6c63430008130033",
780
+ "linkReferences": {},
781
+ "deployedLinkReferences": {}
782
+ }