@elizaos/autonomous 2.0.0-alpha.21 → 2.0.0-alpha.23

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 (1077) hide show
  1. package/package.json +14 -6
  2. package/test/agent-export.e2e.test.ts +376 -0
  3. package/test/agent-orchestration.e2e.test.ts +1568 -0
  4. package/test/agent-restart-recovery.e2e.test.ts +149 -0
  5. package/test/agent-runtime.e2e.test.ts +1515 -0
  6. package/test/anvil-contracts.e2e.test.ts +533 -0
  7. package/test/anvil-helper.ts +285 -0
  8. package/test/api-auth-live.e2e.test.ts +519 -0
  9. package/test/api-auth.e2e.test.ts +1039 -0
  10. package/test/api-server.e2e.test.ts +4582 -0
  11. package/test/apps-e2e.e2e.test.ts +1108 -0
  12. package/test/auth-modules.e2e.test.ts +71 -0
  13. package/test/cloud-auth-state.e2e.test.ts +145 -0
  14. package/test/cloud-persistence.e2e.test.ts +260 -0
  15. package/test/cloud-providers.e2e.test.ts +781 -0
  16. package/test/config-hot-reload.e2e.test.ts +131 -0
  17. package/test/contract-deployer.ts +151 -0
  18. package/test/contracts/MockMiladyAgentRegistry.sol +216 -0
  19. package/test/contracts/MockMiladyCollection.sol +195 -0
  20. package/test/contracts/cache/solidity-files-cache.json +1 -0
  21. package/test/contracts/foundry.toml +14 -0
  22. package/test/contracts/lib/openzeppelin-contracts/.changeset/config.json +12 -0
  23. package/test/contracts/lib/openzeppelin-contracts/.codecov.yml +12 -0
  24. package/test/contracts/lib/openzeppelin-contracts/.editorconfig +21 -0
  25. package/test/contracts/lib/openzeppelin-contracts/.eslintrc +20 -0
  26. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
  27. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
  28. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
  29. package/test/contracts/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
  30. package/test/contracts/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +49 -0
  31. package/test/contracts/lib/openzeppelin-contracts/.github/actions/setup/action.yml +19 -0
  32. package/test/contracts/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +55 -0
  33. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
  34. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
  35. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/checks.yml +111 -0
  36. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
  37. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +68 -0
  38. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +218 -0
  39. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +30 -0
  40. package/test/contracts/lib/openzeppelin-contracts/.gitmodules +7 -0
  41. package/test/contracts/lib/openzeppelin-contracts/.mocharc.js +4 -0
  42. package/test/contracts/lib/openzeppelin-contracts/.prettierrc +14 -0
  43. package/test/contracts/lib/openzeppelin-contracts/.solcover.js +13 -0
  44. package/test/contracts/lib/openzeppelin-contracts/.solhint.json +14 -0
  45. package/test/contracts/lib/openzeppelin-contracts/CHANGELOG.md +743 -0
  46. package/test/contracts/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
  47. package/test/contracts/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
  48. package/test/contracts/lib/openzeppelin-contracts/GUIDELINES.md +117 -0
  49. package/test/contracts/lib/openzeppelin-contracts/LICENSE +22 -0
  50. package/test/contracts/lib/openzeppelin-contracts/README.md +90 -0
  51. package/test/contracts/lib/openzeppelin-contracts/RELEASING.md +47 -0
  52. package/test/contracts/lib/openzeppelin-contracts/SECURITY.md +42 -0
  53. package/test/contracts/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
  54. package/test/contracts/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
  55. package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
  56. package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
  57. package/test/contracts/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
  58. package/test/contracts/lib/openzeppelin-contracts/audits/README.md +16 -0
  59. package/test/contracts/lib/openzeppelin-contracts/certora/Makefile +54 -0
  60. package/test/contracts/lib/openzeppelin-contracts/certora/README.md +60 -0
  61. package/test/contracts/lib/openzeppelin-contracts/certora/diff/token_ERC721_ERC721.sol.patch +14 -0
  62. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +47 -0
  63. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +7 -0
  64. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +59 -0
  65. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  66. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +17 -0
  67. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +25 -0
  68. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  69. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +37 -0
  70. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  71. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
  72. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
  73. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
  74. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +9 -0
  75. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +9 -0
  76. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +19 -0
  77. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +12 -0
  78. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
  79. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
  80. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
  81. package/test/contracts/lib/openzeppelin-contracts/certora/run.js +146 -0
  82. package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +126 -0
  83. package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +500 -0
  84. package/test/contracts/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +366 -0
  85. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20.spec +414 -0
  86. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +48 -0
  87. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
  88. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC721.spec +589 -0
  89. package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +334 -0
  90. package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +247 -0
  91. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
  92. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable.spec +78 -0
  93. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
  94. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
  95. package/test/contracts/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +275 -0
  96. package/test/contracts/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +1 -0
  97. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +7 -0
  98. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  99. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
  100. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
  101. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC3156.spec +5 -0
  102. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
  103. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +20 -0
  104. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
  105. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
  106. package/test/contracts/lib/openzeppelin-contracts/certora/specs.json +86 -0
  107. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +248 -0
  108. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +45 -0
  109. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlDefaultAdminRules.sol +383 -0
  110. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +64 -0
  111. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +88 -0
  112. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlDefaultAdminRules.sol +172 -0
  113. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +31 -0
  114. package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol +83 -0
  115. package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +57 -0
  116. package/test/contracts/lib/openzeppelin-contracts/contracts/access/README.adoc +27 -0
  117. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +54 -0
  118. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +34 -0
  119. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +49 -0
  120. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +35 -0
  121. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +44 -0
  122. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +40 -0
  123. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +42 -0
  124. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +45 -0
  125. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +7 -0
  126. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +41 -0
  127. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +36 -0
  128. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +72 -0
  129. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +214 -0
  130. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/README.adoc +20 -0
  131. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +145 -0
  132. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/Governor.sol +723 -0
  133. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +313 -0
  134. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/README.adoc +176 -0
  135. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +422 -0
  136. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +333 -0
  137. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +118 -0
  138. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +100 -0
  139. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +105 -0
  140. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +23 -0
  141. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +110 -0
  142. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +190 -0
  143. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +166 -0
  144. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +55 -0
  145. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +55 -0
  146. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +121 -0
  147. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +26 -0
  148. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +56 -0
  149. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +244 -0
  150. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
  151. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
  152. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
  153. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +19 -0
  154. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +80 -0
  155. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +35 -0
  156. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +29 -0
  157. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
  158. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +6 -0
  159. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +6 -0
  160. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +26 -0
  161. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
  162. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
  163. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +21 -0
  164. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
  165. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +25 -0
  166. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
  167. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +29 -0
  168. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +43 -0
  169. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +232 -0
  170. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
  171. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
  172. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +18 -0
  173. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
  174. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
  175. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
  176. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
  177. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
  178. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
  179. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +6 -0
  180. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +6 -0
  181. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +6 -0
  182. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +73 -0
  183. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
  184. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +8 -0
  185. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +54 -0
  186. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +72 -0
  187. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/README.adoc +12 -0
  188. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +8 -0
  189. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +51 -0
  190. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
  191. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +61 -0
  192. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +18 -0
  193. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
  194. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +57 -0
  195. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
  196. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +26 -0
  197. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
  198. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
  199. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
  200. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
  201. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +16 -0
  202. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Reentrant.sol +43 -0
  203. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +27 -0
  204. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
  205. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +16 -0
  206. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
  207. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
  208. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +23 -0
  209. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
  210. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
  211. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +15 -0
  212. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
  213. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +51 -0
  214. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
  215. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SafeMathMemoryCheck.sol +72 -0
  216. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
  217. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +77 -0
  218. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
  219. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +39 -0
  220. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +39 -0
  221. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +45 -0
  222. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
  223. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +94 -0
  224. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +54 -0
  225. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +100 -0
  226. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +88 -0
  227. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +24 -0
  228. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +35 -0
  229. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +31 -0
  230. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompMock.sol +20 -0
  231. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompatibilityBravoMock.sol +100 -0
  232. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +28 -0
  233. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +45 -0
  234. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +60 -0
  235. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +60 -0
  236. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
  237. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +50 -0
  238. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
  239. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +17 -0
  240. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSLegacy.sol +54 -0
  241. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +33 -0
  242. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +47 -0
  243. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
  244. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
  245. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
  246. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
  247. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
  248. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
  249. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20PermitNoRevertMock.sol +36 -0
  250. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
  251. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +262 -0
  252. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
  253. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
  254. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +51 -0
  255. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
  256. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +42 -0
  257. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
  258. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777Mock.sol +13 -0
  259. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777SenderRecipientMock.sol +152 -0
  260. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/VotesTimestamp.sol +40 -0
  261. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +79 -0
  262. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +85 -0
  263. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +94 -0
  264. package/test/contracts/lib/openzeppelin-contracts/contracts/package.json +32 -0
  265. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +88 -0
  266. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +32 -0
  267. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +157 -0
  268. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +86 -0
  269. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
  270. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +61 -0
  271. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
  272. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +65 -0
  273. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +81 -0
  274. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +191 -0
  275. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +166 -0
  276. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +99 -0
  277. package/test/contracts/lib/openzeppelin-contracts/contracts/security/Pausable.sol +105 -0
  278. package/test/contracts/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +74 -0
  279. package/test/contracts/lib/openzeppelin-contracts/contracts/security/README.adoc +20 -0
  280. package/test/contracts/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +77 -0
  281. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +497 -0
  282. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +119 -0
  283. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +58 -0
  284. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +49 -0
  285. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +32 -0
  286. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +44 -0
  287. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +64 -0
  288. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +63 -0
  289. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +22 -0
  290. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +114 -0
  291. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +1 -0
  292. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +36 -0
  293. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +19 -0
  294. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +365 -0
  295. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +78 -0
  296. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +80 -0
  297. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
  298. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +37 -0
  299. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +109 -0
  300. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +35 -0
  301. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +95 -0
  302. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +191 -0
  303. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +290 -0
  304. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +46 -0
  305. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +73 -0
  306. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +256 -0
  307. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +28 -0
  308. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
  309. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +8 -0
  310. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +8 -0
  311. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +30 -0
  312. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +94 -0
  313. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +1 -0
  314. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +143 -0
  315. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +72 -0
  316. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +466 -0
  317. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +132 -0
  318. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +27 -0
  319. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +73 -0
  320. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
  321. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +148 -0
  322. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +159 -0
  323. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +40 -0
  324. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +38 -0
  325. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +74 -0
  326. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +43 -0
  327. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +97 -0
  328. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
  329. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
  330. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +9 -0
  331. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +132 -0
  332. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +1 -0
  333. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +23 -0
  334. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +514 -0
  335. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +200 -0
  336. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +35 -0
  337. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +35 -0
  338. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +32 -0
  339. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +30 -0
  340. package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +107 -0
  341. package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
  342. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol +244 -0
  343. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +105 -0
  344. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Base64.sol +101 -0
  345. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +560 -0
  346. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
  347. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Counters.sol +43 -0
  348. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Create2.sol +75 -0
  349. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +39 -0
  350. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/README.adoc +113 -0
  351. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
  352. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +138 -0
  353. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol +85 -0
  354. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Timers.sol +75 -0
  355. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +217 -0
  356. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +142 -0
  357. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +227 -0
  358. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +50 -0
  359. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +8 -0
  360. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +25 -0
  361. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +67 -0
  362. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +100 -0
  363. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +29 -0
  364. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +126 -0
  365. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +42 -0
  366. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +43 -0
  367. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
  368. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +20 -0
  369. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +112 -0
  370. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +339 -0
  371. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1136 -0
  372. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +215 -0
  373. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +43 -0
  374. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +68 -0
  375. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +51 -0
  376. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +170 -0
  377. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +598 -0
  378. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +378 -0
  379. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +41 -0
  380. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +134 -0
  381. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +102 -0
  382. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +16 -0
  383. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +152 -0
  384. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +117 -0
  385. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
  386. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
  387. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +34 -0
  388. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +22 -0
  389. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +7 -0
  390. package/test/contracts/lib/openzeppelin-contracts/docs/README.md +16 -0
  391. package/test/contracts/lib/openzeppelin-contracts/docs/antora.yml +6 -0
  392. package/test/contracts/lib/openzeppelin-contracts/docs/config.js +21 -0
  393. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  394. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  395. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  396. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  397. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  398. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  399. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  400. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  401. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  402. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
  403. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
  404. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +23 -0
  405. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +219 -0
  406. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +210 -0
  407. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
  408. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +19 -0
  409. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +153 -0
  410. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
  411. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +85 -0
  412. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  413. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +90 -0
  414. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +75 -0
  415. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +131 -0
  416. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +237 -0
  417. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +65 -0
  418. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
  419. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +32 -0
  420. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
  421. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +190 -0
  422. package/test/contracts/lib/openzeppelin-contracts/docs/templates/contract.hbs +85 -0
  423. package/test/contracts/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
  424. package/test/contracts/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
  425. package/test/contracts/lib/openzeppelin-contracts/docs/templates/properties.js +45 -0
  426. package/test/contracts/lib/openzeppelin-contracts/foundry.toml +3 -0
  427. package/test/contracts/lib/openzeppelin-contracts/hardhat/env-artifacts.js +24 -0
  428. package/test/contracts/lib/openzeppelin-contracts/hardhat/env-contract.js +10 -0
  429. package/test/contracts/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
  430. package/test/contracts/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
  431. package/test/contracts/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
  432. package/test/contracts/lib/openzeppelin-contracts/hardhat.config.js +118 -0
  433. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  434. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +349 -0
  435. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
  436. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
  437. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +92 -0
  438. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +3 -0
  439. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
  440. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
  441. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/README.md +250 -0
  442. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +21 -0
  443. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/.github/workflows/build.yml +41 -0
  444. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +674 -0
  445. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +14 -0
  446. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +4 -0
  447. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
  448. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +15 -0
  449. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +469 -0
  450. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.t.sol +313 -0
  451. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
  452. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +33 -0
  453. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +26 -0
  454. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +376 -0
  455. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +233 -0
  456. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +624 -0
  457. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
  458. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +92 -0
  459. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +179 -0
  460. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
  461. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +327 -0
  462. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
  463. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +189 -0
  464. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +32 -0
  465. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +409 -0
  466. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1533 -0
  467. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1546 -0
  468. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
  469. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
  470. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
  471. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
  472. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
  473. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  474. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +954 -0
  475. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +160 -0
  476. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +401 -0
  477. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +118 -0
  478. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +197 -0
  479. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +283 -0
  480. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  481. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +297 -0
  482. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
  483. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
  484. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
  485. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
  486. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
  487. package/test/contracts/lib/openzeppelin-contracts/logo.svg +15 -0
  488. package/test/contracts/lib/openzeppelin-contracts/netlify.toml +3 -0
  489. package/test/contracts/lib/openzeppelin-contracts/package-lock.json +28833 -0
  490. package/test/contracts/lib/openzeppelin-contracts/package.json +96 -0
  491. package/test/contracts/lib/openzeppelin-contracts/remappings.txt +1 -0
  492. package/test/contracts/lib/openzeppelin-contracts/renovate.json +4 -0
  493. package/test/contracts/lib/openzeppelin-contracts/requirements.txt +1 -0
  494. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +19 -0
  495. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +243 -0
  496. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +40 -0
  497. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
  498. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +54 -0
  499. package/test/contracts/lib/openzeppelin-contracts/scripts/gen-nav.js +41 -0
  500. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
  501. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/run.js +49 -0
  502. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +304 -0
  503. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +22 -0
  504. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +256 -0
  505. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +310 -0
  506. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +250 -0
  507. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +163 -0
  508. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +87 -0
  509. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
  510. package/test/contracts/lib/openzeppelin-contracts/scripts/git-user-config.sh +6 -0
  511. package/test/contracts/lib/openzeppelin-contracts/scripts/helpers.js +37 -0
  512. package/test/contracts/lib/openzeppelin-contracts/scripts/migrate-imports.js +180 -0
  513. package/test/contracts/lib/openzeppelin-contracts/scripts/prepack.sh +12 -0
  514. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +15 -0
  515. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
  516. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare.sh +10 -0
  517. package/test/contracts/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
  518. package/test/contracts/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
  519. package/test/contracts/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
  520. package/test/contracts/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
  521. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
  522. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +47 -0
  523. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
  524. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
  525. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
  526. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
  527. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  528. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
  529. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
  530. package/test/contracts/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
  531. package/test/contracts/lib/openzeppelin-contracts/scripts/update-docs-branch.js +63 -0
  532. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
  533. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
  534. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
  535. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +44 -0
  536. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +35 -0
  537. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +481 -0
  538. package/test/contracts/lib/openzeppelin-contracts/slither.config.json +5 -0
  539. package/test/contracts/lib/openzeppelin-contracts/test/TESTING.md +3 -0
  540. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +867 -0
  541. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.test.js +12 -0
  542. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +49 -0
  543. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlDefaultAdminRules.test.js +25 -0
  544. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +17 -0
  545. package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable.test.js +59 -0
  546. package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +67 -0
  547. package/test/contracts/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +78 -0
  548. package/test/contracts/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +217 -0
  549. package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +59 -0
  550. package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +67 -0
  551. package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.t.sol +55 -0
  552. package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.test.js +782 -0
  553. package/test/contracts/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1254 -0
  554. package/test/contracts/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +283 -0
  555. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +88 -0
  556. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +115 -0
  557. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +189 -0
  558. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +352 -0
  559. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +445 -0
  560. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +154 -0
  561. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +173 -0
  562. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/EIP6372.behavior.js +23 -0
  563. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +361 -0
  564. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +71 -0
  565. package/test/contracts/lib/openzeppelin-contracts/test/helpers/chainid.js +10 -0
  566. package/test/contracts/lib/openzeppelin-contracts/test/helpers/create2.js +11 -0
  567. package/test/contracts/lib/openzeppelin-contracts/test/helpers/crosschain.js +61 -0
  568. package/test/contracts/lib/openzeppelin-contracts/test/helpers/customError.js +24 -0
  569. package/test/contracts/lib/openzeppelin-contracts/test/helpers/eip712.js +67 -0
  570. package/test/contracts/lib/openzeppelin-contracts/test/helpers/enums.js +12 -0
  571. package/test/contracts/lib/openzeppelin-contracts/test/helpers/erc1967.js +24 -0
  572. package/test/contracts/lib/openzeppelin-contracts/test/helpers/governance.js +201 -0
  573. package/test/contracts/lib/openzeppelin-contracts/test/helpers/map-values.js +7 -0
  574. package/test/contracts/lib/openzeppelin-contracts/test/helpers/sign.js +63 -0
  575. package/test/contracts/lib/openzeppelin-contracts/test/helpers/time.js +17 -0
  576. package/test/contracts/lib/openzeppelin-contracts/test/helpers/txpool.js +38 -0
  577. package/test/contracts/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +175 -0
  578. package/test/contracts/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +169 -0
  579. package/test/contracts/lib/openzeppelin-contracts/test/migrate-imports.test.js +33 -0
  580. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +136 -0
  581. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.test.js +61 -0
  582. package/test/contracts/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
  583. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +225 -0
  584. package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +139 -0
  585. package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +44 -0
  586. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +127 -0
  587. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +433 -0
  588. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +17 -0
  589. package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +218 -0
  590. package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
  591. package/test/contracts/lib/openzeppelin-contracts/test/security/Pausable.test.js +85 -0
  592. package/test/contracts/lib/openzeppelin-contracts/test/security/PullPayment.test.js +51 -0
  593. package/test/contracts/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +43 -0
  594. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +767 -0
  595. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +235 -0
  596. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
  597. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
  598. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +107 -0
  599. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
  600. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +156 -0
  601. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +64 -0
  602. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +322 -0
  603. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +305 -0
  604. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +106 -0
  605. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +20 -0
  606. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
  607. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +23 -0
  608. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +204 -0
  609. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +133 -0
  610. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +207 -0
  611. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +578 -0
  612. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +543 -0
  613. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
  614. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +42 -0
  615. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +1031 -0
  616. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +103 -0
  617. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
  618. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +110 -0
  619. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +350 -0
  620. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
  621. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +893 -0
  622. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +15 -0
  623. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +20 -0
  624. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +70 -0
  625. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +122 -0
  626. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +206 -0
  627. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +92 -0
  628. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -0
  629. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +100 -0
  630. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +184 -0
  631. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +283 -0
  632. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +122 -0
  633. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +22 -0
  634. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +597 -0
  635. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +556 -0
  636. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
  637. package/test/contracts/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +157 -0
  638. package/test/contracts/lib/openzeppelin-contracts/test/utils/Address.test.js +361 -0
  639. package/test/contracts/lib/openzeppelin-contracts/test/utils/Arrays.test.js +123 -0
  640. package/test/contracts/lib/openzeppelin-contracts/test/utils/Base64.test.js +43 -0
  641. package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.t.sol +347 -0
  642. package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +255 -0
  643. package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.behavior.js +42 -0
  644. package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.test.js +17 -0
  645. package/test/contracts/lib/openzeppelin-contracts/test/utils/Counters.test.js +84 -0
  646. package/test/contracts/lib/openzeppelin-contracts/test/utils/Create2.test.js +89 -0
  647. package/test/contracts/lib/openzeppelin-contracts/test/utils/Multicall.test.js +68 -0
  648. package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +55 -0
  649. package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +55 -0
  650. package/test/contracts/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +210 -0
  651. package/test/contracts/lib/openzeppelin-contracts/test/utils/Strings.test.js +150 -0
  652. package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +55 -0
  653. package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +55 -0
  654. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +260 -0
  655. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +103 -0
  656. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +200 -0
  657. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +87 -0
  658. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +37 -0
  659. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +90 -0
  660. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +14 -0
  661. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +143 -0
  662. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +11 -0
  663. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +302 -0
  664. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +23 -0
  665. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +71 -0
  666. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +146 -0
  667. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +217 -0
  668. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.test.js +289 -0
  669. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +152 -0
  670. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +433 -0
  671. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +95 -0
  672. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +152 -0
  673. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +145 -0
  674. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +99 -0
  675. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +185 -0
  676. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +154 -0
  677. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +129 -0
  678. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +79 -0
  679. package/test/contracts/out/AccessControl.sol/AccessControl.json +1 -0
  680. package/test/contracts/out/AccessControlCrossChain.sol/AccessControlCrossChain.json +1 -0
  681. package/test/contracts/out/AccessControlCrossChainMock.sol/AccessControlCrossChainMock.json +1 -0
  682. package/test/contracts/out/AccessControlDefaultAdminRules.sol/AccessControlDefaultAdminRules.json +1 -0
  683. package/test/contracts/out/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -0
  684. package/test/contracts/out/Address.sol/Address.json +1 -0
  685. package/test/contracts/out/Arrays.sol/Arrays.json +1 -0
  686. package/test/contracts/out/ArraysMock.sol/AddressArraysMock.json +1 -0
  687. package/test/contracts/out/ArraysMock.sol/Bytes32ArraysMock.json +1 -0
  688. package/test/contracts/out/ArraysMock.sol/Uint256ArraysMock.json +1 -0
  689. package/test/contracts/out/BadBeacon.sol/BadBeaconNoImpl.json +1 -0
  690. package/test/contracts/out/BadBeacon.sol/BadBeaconNotContract.json +1 -0
  691. package/test/contracts/out/Base.sol/CommonBase.json +1 -0
  692. package/test/contracts/out/Base.sol/ScriptBase.json +1 -0
  693. package/test/contracts/out/Base.sol/TestBase.json +1 -0
  694. package/test/contracts/out/Base64.sol/Base64.json +1 -0
  695. package/test/contracts/out/Base64Dirty.sol/Base64Dirty.json +1 -0
  696. package/test/contracts/out/BeaconProxy.sol/BeaconProxy.json +1 -0
  697. package/test/contracts/out/BitMaps.sol/BitMaps.json +1 -0
  698. package/test/contracts/out/CallReceiverMock.sol/CallReceiverMock.json +1 -0
  699. package/test/contracts/out/Checkpoints.sol/Checkpoints.json +1 -0
  700. package/test/contracts/out/Checkpoints.t.sol/CheckpointsHistoryTest.json +1 -0
  701. package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace160Test.json +1 -0
  702. package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace224Test.json +1 -0
  703. package/test/contracts/out/ClashingImplementation.sol/ClashingImplementation.json +1 -0
  704. package/test/contracts/out/Clones.sol/Clones.json +1 -0
  705. package/test/contracts/out/CompTimelock.sol/CompTimelock.json +1 -0
  706. package/test/contracts/out/CompilationScript.sol/CompilationScript.json +1 -0
  707. package/test/contracts/out/CompilationScriptBase.sol/CompilationScriptBase.json +1 -0
  708. package/test/contracts/out/CompilationTest.sol/CompilationTest.json +1 -0
  709. package/test/contracts/out/CompilationTestBase.sol/CompilationTestBase.json +1 -0
  710. package/test/contracts/out/ConditionalEscrow.sol/ConditionalEscrow.json +1 -0
  711. package/test/contracts/out/ConditionalEscrowMock.sol/ConditionalEscrowMock.json +1 -0
  712. package/test/contracts/out/Context.sol/Context.json +1 -0
  713. package/test/contracts/out/ContextMock.sol/ContextMock.json +1 -0
  714. package/test/contracts/out/ContextMock.sol/ContextMockCaller.json +1 -0
  715. package/test/contracts/out/Counters.sol/Counters.json +1 -0
  716. package/test/contracts/out/Create2.sol/Create2.json +1 -0
  717. package/test/contracts/out/CrossChainEnabled.sol/CrossChainEnabled.json +1 -0
  718. package/test/contracts/out/CrossChainEnabledAMB.sol/CrossChainEnabledAMB.json +1 -0
  719. package/test/contracts/out/CrossChainEnabledArbitrumL1.sol/CrossChainEnabledArbitrumL1.json +1 -0
  720. package/test/contracts/out/CrossChainEnabledArbitrumL2.sol/CrossChainEnabledArbitrumL2.json +1 -0
  721. package/test/contracts/out/CrossChainEnabledOptimism.sol/CrossChainEnabledOptimism.json +1 -0
  722. package/test/contracts/out/CrossChainEnabledPolygonChild.sol/CrossChainEnabledPolygonChild.json +1 -0
  723. package/test/contracts/out/DoubleEndedQueue.sol/DoubleEndedQueue.json +1 -0
  724. package/test/contracts/out/DummyImplementation.sol/DummyImplementation.json +1 -0
  725. package/test/contracts/out/DummyImplementation.sol/DummyImplementationV2.json +1 -0
  726. package/test/contracts/out/DummyImplementation.sol/Impl.json +1 -0
  727. package/test/contracts/out/ECDSA.sol/ECDSA.json +1 -0
  728. package/test/contracts/out/EIP712.sol/EIP712.json +1 -0
  729. package/test/contracts/out/EIP712Verifier.sol/EIP712Verifier.json +1 -0
  730. package/test/contracts/out/ERC1155.sol/ERC1155.json +1 -0
  731. package/test/contracts/out/ERC1155Burnable.sol/ERC1155Burnable.json +1 -0
  732. package/test/contracts/out/ERC1155Holder.sol/ERC1155Holder.json +1 -0
  733. package/test/contracts/out/ERC1155Pausable.sol/ERC1155Pausable.json +1 -0
  734. package/test/contracts/out/ERC1155PresetMinterPauser.sol/ERC1155PresetMinterPauser.json +1 -0
  735. package/test/contracts/out/ERC1155Receiver.sol/ERC1155Receiver.json +1 -0
  736. package/test/contracts/out/ERC1155ReceiverMock.sol/ERC1155ReceiverMock.json +1 -0
  737. package/test/contracts/out/ERC1155Supply.sol/ERC1155Supply.json +1 -0
  738. package/test/contracts/out/ERC1155URIStorage.sol/ERC1155URIStorage.json +1 -0
  739. package/test/contracts/out/ERC1271WalletMock.sol/ERC1271MaliciousMock.json +1 -0
  740. package/test/contracts/out/ERC1271WalletMock.sol/ERC1271WalletMock.json +1 -0
  741. package/test/contracts/out/ERC165.sol/ERC165.json +1 -0
  742. package/test/contracts/out/ERC165Checker.sol/ERC165Checker.json +1 -0
  743. package/test/contracts/out/ERC165MaliciousData.sol/ERC165MaliciousData.json +1 -0
  744. package/test/contracts/out/ERC165MissingData.sol/ERC165MissingData.json +1 -0
  745. package/test/contracts/out/ERC165NotSupported.sol/ERC165NotSupported.json +1 -0
  746. package/test/contracts/out/ERC165ReturnBomb.sol/ERC165ReturnBombMock.json +1 -0
  747. package/test/contracts/out/ERC165Storage.sol/ERC165Storage.json +1 -0
  748. package/test/contracts/out/ERC1820Implementer.sol/ERC1820Implementer.json +1 -0
  749. package/test/contracts/out/ERC1967Proxy.sol/ERC1967Proxy.json +1 -0
  750. package/test/contracts/out/ERC1967Upgrade.sol/ERC1967Upgrade.json +1 -0
  751. package/test/contracts/out/ERC20.sol/ERC20.json +1 -0
  752. package/test/contracts/out/ERC20Burnable.sol/ERC20Burnable.json +1 -0
  753. package/test/contracts/out/ERC20Capped.sol/ERC20Capped.json +1 -0
  754. package/test/contracts/out/ERC20DecimalsMock.sol/ERC20DecimalsMock.json +1 -0
  755. package/test/contracts/out/ERC20ExcessDecimalsMock.sol/ERC20ExcessDecimalsMock.json +1 -0
  756. package/test/contracts/out/ERC20FlashMint.sol/ERC20FlashMint.json +1 -0
  757. package/test/contracts/out/ERC20FlashMintMock.sol/ERC20FlashMintMock.json +1 -0
  758. package/test/contracts/out/ERC20ForceApproveMock.sol/ERC20ForceApproveMock.json +1 -0
  759. package/test/contracts/out/ERC20Mock.sol/ERC20Mock.json +1 -0
  760. package/test/contracts/out/ERC20MulticallMock.sol/ERC20MulticallMock.json +1 -0
  761. package/test/contracts/out/ERC20NoReturnMock.sol/ERC20NoReturnMock.json +1 -0
  762. package/test/contracts/out/ERC20Pausable.sol/ERC20Pausable.json +1 -0
  763. package/test/contracts/out/ERC20Permit.sol/ERC20Permit.json +1 -0
  764. package/test/contracts/out/ERC20PermitNoRevertMock.sol/ERC20PermitNoRevertMock.json +1 -0
  765. package/test/contracts/out/ERC20PresetFixedSupply.sol/ERC20PresetFixedSupply.json +1 -0
  766. package/test/contracts/out/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +1 -0
  767. package/test/contracts/out/ERC20Reentrant.sol/ERC20Reentrant.json +1 -0
  768. package/test/contracts/out/ERC20ReturnFalseMock.sol/ERC20ReturnFalseMock.json +1 -0
  769. package/test/contracts/out/ERC20Snapshot.sol/ERC20Snapshot.json +1 -0
  770. package/test/contracts/out/ERC20Votes.sol/ERC20Votes.json +1 -0
  771. package/test/contracts/out/ERC20VotesComp.sol/ERC20VotesComp.json +1 -0
  772. package/test/contracts/out/ERC20VotesLegacyMock.sol/ERC20VotesLegacyMock.json +1 -0
  773. package/test/contracts/out/ERC20Wrapper.sol/ERC20Wrapper.json +1 -0
  774. package/test/contracts/out/ERC2771Context.sol/ERC2771Context.json +1 -0
  775. package/test/contracts/out/ERC2771ContextMock.sol/ERC2771ContextMock.json +1 -0
  776. package/test/contracts/out/ERC2981.sol/ERC2981.json +1 -0
  777. package/test/contracts/out/ERC3156FlashBorrowerMock.sol/ERC3156FlashBorrowerMock.json +1 -0
  778. package/test/contracts/out/ERC4626.prop.sol/ERC4626Prop.json +1 -0
  779. package/test/contracts/out/ERC4626.prop.sol/IERC20.json +1 -0
  780. package/test/contracts/out/ERC4626.prop.sol/IERC4626.json +1 -0
  781. package/test/contracts/out/ERC4626.sol/ERC4626.json +1 -0
  782. package/test/contracts/out/ERC4626.t.sol/ERC4626StdTest.json +1 -0
  783. package/test/contracts/out/ERC4626.t.sol/ERC4626VaultOffsetMock.json +1 -0
  784. package/test/contracts/out/ERC4626.test.sol/ERC4626Test.json +1 -0
  785. package/test/contracts/out/ERC4626.test.sol/IMockERC20.json +1 -0
  786. package/test/contracts/out/ERC4626Fees.sol/ERC4626Fees.json +1 -0
  787. package/test/contracts/out/ERC4626Mock.sol/ERC4626Mock.json +1 -0
  788. package/test/contracts/out/ERC4626OffsetMock.sol/ERC4626OffsetMock.json +1 -0
  789. package/test/contracts/out/ERC4646FeesMock.sol/ERC4626FeesMock.json +1 -0
  790. package/test/contracts/out/ERC721.sol/ERC721.json +1 -0
  791. package/test/contracts/out/ERC721Burnable.sol/ERC721Burnable.json +1 -0
  792. package/test/contracts/out/ERC721Consecutive.sol/ERC721Consecutive.json +1 -0
  793. package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTarget.json +1 -0
  794. package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTest.json +1 -0
  795. package/test/contracts/out/ERC721ConsecutiveEnumerableMock.sol/ERC721ConsecutiveEnumerableMock.json +1 -0
  796. package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveMock.json +1 -0
  797. package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveNoConstructorMintMock.json +1 -0
  798. package/test/contracts/out/ERC721Enumerable.sol/ERC721Enumerable.json +1 -0
  799. package/test/contracts/out/ERC721Holder.sol/ERC721Holder.json +1 -0
  800. package/test/contracts/out/ERC721Pausable.sol/ERC721Pausable.json +1 -0
  801. package/test/contracts/out/ERC721PresetMinterPauserAutoId.sol/ERC721PresetMinterPauserAutoId.json +1 -0
  802. package/test/contracts/out/ERC721ReceiverMock.sol/ERC721ReceiverMock.json +1 -0
  803. package/test/contracts/out/ERC721Royalty.sol/ERC721Royalty.json +1 -0
  804. package/test/contracts/out/ERC721URIStorage.sol/ERC721URIStorage.json +1 -0
  805. package/test/contracts/out/ERC721URIStorageMock.sol/ERC721URIStorageMock.json +1 -0
  806. package/test/contracts/out/ERC721Votes.sol/ERC721Votes.json +1 -0
  807. package/test/contracts/out/ERC721Wrapper.sol/ERC721Wrapper.json +1 -0
  808. package/test/contracts/out/ERC777.sol/ERC777.json +1 -0
  809. package/test/contracts/out/ERC777Mock.sol/ERC777Mock.json +1 -0
  810. package/test/contracts/out/ERC777PresetFixedSupply.sol/ERC777PresetFixedSupply.json +1 -0
  811. package/test/contracts/out/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock.json +1 -0
  812. package/test/contracts/out/EnumerableMap.sol/EnumerableMap.json +1 -0
  813. package/test/contracts/out/EnumerableSet.sol/EnumerableSet.json +1 -0
  814. package/test/contracts/out/Escrow.sol/Escrow.json +1 -0
  815. package/test/contracts/out/EtherReceiverMock.sol/EtherReceiverMock.json +1 -0
  816. package/test/contracts/out/Governor.sol/Governor.json +1 -0
  817. package/test/contracts/out/Governor.t.sol/GovernorInternalTest.json +1 -0
  818. package/test/contracts/out/GovernorCompMock.sol/GovernorCompMock.json +1 -0
  819. package/test/contracts/out/GovernorCompatibilityBravo.sol/GovernorCompatibilityBravo.json +1 -0
  820. package/test/contracts/out/GovernorCompatibilityBravoMock.sol/GovernorCompatibilityBravoMock.json +1 -0
  821. package/test/contracts/out/GovernorCountingSimple.sol/GovernorCountingSimple.json +1 -0
  822. package/test/contracts/out/GovernorMock.sol/GovernorMock.json +1 -0
  823. package/test/contracts/out/GovernorPreventLateQuorum.sol/GovernorPreventLateQuorum.json +1 -0
  824. package/test/contracts/out/GovernorPreventLateQuorumMock.sol/GovernorPreventLateQuorumMock.json +1 -0
  825. package/test/contracts/out/GovernorProposalThreshold.sol/GovernorProposalThreshold.json +1 -0
  826. package/test/contracts/out/GovernorSettings.sol/GovernorSettings.json +1 -0
  827. package/test/contracts/out/GovernorTimelockCompound.sol/GovernorTimelockCompound.json +1 -0
  828. package/test/contracts/out/GovernorTimelockCompoundMock.sol/GovernorTimelockCompoundMock.json +1 -0
  829. package/test/contracts/out/GovernorTimelockControl.sol/GovernorTimelockControl.json +1 -0
  830. package/test/contracts/out/GovernorTimelockControlMock.sol/GovernorTimelockControlMock.json +1 -0
  831. package/test/contracts/out/GovernorVoteMock.sol/GovernorVoteMocks.json +1 -0
  832. package/test/contracts/out/GovernorVotes.sol/GovernorVotes.json +1 -0
  833. package/test/contracts/out/GovernorVotesComp.sol/GovernorVotesComp.json +1 -0
  834. package/test/contracts/out/GovernorVotesQuorumFraction.sol/GovernorVotesQuorumFraction.json +1 -0
  835. package/test/contracts/out/GovernorWithParamsMock.sol/GovernorWithParamsMock.json +1 -0
  836. package/test/contracts/out/IAMB.sol/IAMB.json +1 -0
  837. package/test/contracts/out/IAccessControl.sol/IAccessControl.json +1 -0
  838. package/test/contracts/out/IAccessControlDefaultAdminRules.sol/IAccessControlDefaultAdminRules.json +1 -0
  839. package/test/contracts/out/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -0
  840. package/test/contracts/out/IArbSys.sol/IArbSys.json +1 -0
  841. package/test/contracts/out/IBeacon.sol/IBeacon.json +1 -0
  842. package/test/contracts/out/IBridge.sol/IBridge.json +1 -0
  843. package/test/contracts/out/ICompoundTimelock.sol/ICompoundTimelock.json +1 -0
  844. package/test/contracts/out/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +1 -0
  845. package/test/contracts/out/IDelayedMessageProvider.sol/IDelayedMessageProvider.json +1 -0
  846. package/test/contracts/out/IERC1155.sol/IERC1155.json +1 -0
  847. package/test/contracts/out/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +1 -0
  848. package/test/contracts/out/IERC1155Receiver.sol/IERC1155Receiver.json +1 -0
  849. package/test/contracts/out/IERC1271.sol/IERC1271.json +1 -0
  850. package/test/contracts/out/IERC1363.sol/IERC1363.json +1 -0
  851. package/test/contracts/out/IERC1363Receiver.sol/IERC1363Receiver.json +1 -0
  852. package/test/contracts/out/IERC1363Spender.sol/IERC1363Spender.json +1 -0
  853. package/test/contracts/out/IERC165.sol/IERC165.json +1 -0
  854. package/test/contracts/out/IERC1820Implementer.sol/IERC1820Implementer.json +1 -0
  855. package/test/contracts/out/IERC1820Registry.sol/IERC1820Registry.json +1 -0
  856. package/test/contracts/out/IERC1967.sol/IERC1967.json +1 -0
  857. package/test/contracts/out/IERC20.sol/IERC20.json +1 -0
  858. package/test/contracts/out/IERC20Metadata.sol/IERC20Metadata.json +1 -0
  859. package/test/contracts/out/IERC20Permit.sol/IERC20Permit.json +1 -0
  860. package/test/contracts/out/IERC2309.sol/IERC2309.json +1 -0
  861. package/test/contracts/out/IERC2612.sol/IERC2612.json +1 -0
  862. package/test/contracts/out/IERC2981.sol/IERC2981.json +1 -0
  863. package/test/contracts/out/IERC3156FlashBorrower.sol/IERC3156FlashBorrower.json +1 -0
  864. package/test/contracts/out/IERC3156FlashLender.sol/IERC3156FlashLender.json +1 -0
  865. package/test/contracts/out/IERC4626.sol/IERC4626.json +1 -0
  866. package/test/contracts/out/IERC4906.sol/IERC4906.json +1 -0
  867. package/test/contracts/out/IERC5267.sol/IERC5267.json +1 -0
  868. package/test/contracts/out/IERC5313.sol/IERC5313.json +1 -0
  869. package/test/contracts/out/IERC5805.sol/IERC5805.json +1 -0
  870. package/test/contracts/out/IERC6372.sol/IERC6372.json +1 -0
  871. package/test/contracts/out/IERC721.sol/IERC721.json +1 -0
  872. package/test/contracts/out/IERC721.sol/IERC721Enumerable.json +1 -0
  873. package/test/contracts/out/IERC721.sol/IERC721Metadata.json +1 -0
  874. package/test/contracts/out/IERC721.sol/IERC721TokenReceiver.json +1 -0
  875. package/test/contracts/out/IERC721Enumerable.sol/IERC721Enumerable.json +1 -0
  876. package/test/contracts/out/IERC721Metadata.sol/IERC721Metadata.json +1 -0
  877. package/test/contracts/out/IERC721Receiver.sol/IERC721Receiver.json +1 -0
  878. package/test/contracts/out/IERC777.sol/IERC777.json +1 -0
  879. package/test/contracts/out/IERC777Recipient.sol/IERC777Recipient.json +1 -0
  880. package/test/contracts/out/IERC777Sender.sol/IERC777Sender.json +1 -0
  881. package/test/contracts/out/IFxMessageProcessor.sol/IFxMessageProcessor.json +1 -0
  882. package/test/contracts/out/IGovernor.sol/IGovernor.json +1 -0
  883. package/test/contracts/out/IGovernorCompatibilityBravo.sol/IGovernorCompatibilityBravo.json +1 -0
  884. package/test/contracts/out/IGovernorTimelock.sol/IGovernorTimelock.json +1 -0
  885. package/test/contracts/out/IInbox.sol/IInbox.json +1 -0
  886. package/test/contracts/out/IMulticall3.sol/IMulticall3.json +1 -0
  887. package/test/contracts/out/IOutbox.sol/IOutbox.json +1 -0
  888. package/test/contracts/out/IVotes.sol/IVotes.json +1 -0
  889. package/test/contracts/out/Initializable.sol/Initializable.json +1 -0
  890. package/test/contracts/out/InitializableMock.sol/ChildConstructorInitializableMock.json +1 -0
  891. package/test/contracts/out/InitializableMock.sol/ConstructorInitializableMock.json +1 -0
  892. package/test/contracts/out/InitializableMock.sol/DisableBad1.json +1 -0
  893. package/test/contracts/out/InitializableMock.sol/DisableBad2.json +1 -0
  894. package/test/contracts/out/InitializableMock.sol/DisableNew.json +1 -0
  895. package/test/contracts/out/InitializableMock.sol/DisableOk.json +1 -0
  896. package/test/contracts/out/InitializableMock.sol/DisableOld.json +1 -0
  897. package/test/contracts/out/InitializableMock.sol/InitializableMock.json +1 -0
  898. package/test/contracts/out/InitializableMock.sol/ReinitializerMock.json +1 -0
  899. package/test/contracts/out/LibAMB.sol/LibAMB.json +1 -0
  900. package/test/contracts/out/LibArbitrumL1.sol/LibArbitrumL1.json +1 -0
  901. package/test/contracts/out/LibArbitrumL2.sol/LibArbitrumL2.json +1 -0
  902. package/test/contracts/out/LibOptimism.sol/LibOptimism.json +1 -0
  903. package/test/contracts/out/Math.sol/Math.json +1 -0
  904. package/test/contracts/out/Math.t.sol/MathTest.json +1 -0
  905. package/test/contracts/out/MerkleProof.sol/MerkleProof.json +1 -0
  906. package/test/contracts/out/MinimalForwarder.sol/MinimalForwarder.json +1 -0
  907. package/test/contracts/out/MockMiladyAgentRegistry.sol/MockMiladyAgentRegistry.json +1 -0
  908. package/test/contracts/out/MockMiladyCollection.sol/MockMiladyCollection.json +1 -0
  909. package/test/contracts/out/Multicall.sol/Multicall.json +1 -0
  910. package/test/contracts/out/MulticallTest.sol/MulticallTest.json +1 -0
  911. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleChild.json +1 -0
  912. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleFather.json +1 -0
  913. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleGramps.json +1 -0
  914. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleHuman.json +1 -0
  915. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleMother.json +1 -0
  916. package/test/contracts/out/MyGovernor.sol/MyGovernor.json +1 -0
  917. package/test/contracts/out/MyGovernor1.sol/MyGovernor1.json +1 -0
  918. package/test/contracts/out/MyGovernor2.sol/MyGovernor2.json +1 -0
  919. package/test/contracts/out/MyGovernor3.sol/MyGovernor3.json +1 -0
  920. package/test/contracts/out/MyToken.sol/MyToken.json +1 -0
  921. package/test/contracts/out/MyTokenTimestampBased.sol/MyTokenTimestampBased.json +1 -0
  922. package/test/contracts/out/MyTokenWrapped.sol/MyTokenWrapped.json +1 -0
  923. package/test/contracts/out/Ownable.sol/Ownable.json +1 -0
  924. package/test/contracts/out/Ownable2Step.sol/Ownable2Step.json +1 -0
  925. package/test/contracts/out/Pausable.sol/Pausable.json +1 -0
  926. package/test/contracts/out/PausableMock.sol/PausableMock.json +1 -0
  927. package/test/contracts/out/PaymentSplitter.sol/PaymentSplitter.json +1 -0
  928. package/test/contracts/out/Proxy.sol/Proxy.json +1 -0
  929. package/test/contracts/out/ProxyAdmin.sol/ProxyAdmin.json +1 -0
  930. package/test/contracts/out/PullPayment.sol/PullPayment.json +1 -0
  931. package/test/contracts/out/PullPaymentMock.sol/PullPaymentMock.json +1 -0
  932. package/test/contracts/out/ReentrancyAttack.sol/ReentrancyAttack.json +1 -0
  933. package/test/contracts/out/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
  934. package/test/contracts/out/ReentrancyMock.sol/ReentrancyMock.json +1 -0
  935. package/test/contracts/out/RefundEscrow.sol/RefundEscrow.json +1 -0
  936. package/test/contracts/out/RegressionImplementation.sol/Implementation1.json +1 -0
  937. package/test/contracts/out/RegressionImplementation.sol/Implementation2.json +1 -0
  938. package/test/contracts/out/RegressionImplementation.sol/Implementation3.json +1 -0
  939. package/test/contracts/out/RegressionImplementation.sol/Implementation4.json +1 -0
  940. package/test/contracts/out/SafeCast.sol/SafeCast.json +1 -0
  941. package/test/contracts/out/SafeERC20.sol/SafeERC20.json +1 -0
  942. package/test/contracts/out/SafeMath.sol/SafeMath.json +1 -0
  943. package/test/contracts/out/SafeMathMemoryCheck.sol/SafeMathMemoryCheck.json +1 -0
  944. package/test/contracts/out/Script.sol/Script.json +1 -0
  945. package/test/contracts/out/ShortStrings.sol/ShortStrings.json +1 -0
  946. package/test/contracts/out/ShortStrings.t.sol/ShortStringsTest.json +1 -0
  947. package/test/contracts/out/SignatureChecker.sol/SignatureChecker.json +1 -0
  948. package/test/contracts/out/SignedMath.sol/SignedMath.json +1 -0
  949. package/test/contracts/out/SignedSafeMath.sol/SignedSafeMath.json +1 -0
  950. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV1.json +1 -0
  951. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV2.json +1 -0
  952. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV3.json +1 -0
  953. package/test/contracts/out/StdAssertions.sol/StdAssertions.json +1 -0
  954. package/test/contracts/out/StdAssertions.t.sol/StdAssertionsTest.json +1 -0
  955. package/test/contracts/out/StdAssertions.t.sol/TestMockCall.json +1 -0
  956. package/test/contracts/out/StdAssertions.t.sol/TestTest.json +1 -0
  957. package/test/contracts/out/StdChains.sol/StdChains.json +1 -0
  958. package/test/contracts/out/StdChains.t.sol/StdChainsTest.json +1 -0
  959. package/test/contracts/out/StdCheats.sol/StdCheats.json +1 -0
  960. package/test/contracts/out/StdCheats.sol/StdCheatsSafe.json +1 -0
  961. package/test/contracts/out/StdCheats.t.sol/Bar.json +1 -0
  962. package/test/contracts/out/StdCheats.t.sol/BarERC1155.json +1 -0
  963. package/test/contracts/out/StdCheats.t.sol/BarERC721.json +1 -0
  964. package/test/contracts/out/StdCheats.t.sol/RevertingContract.json +1 -0
  965. package/test/contracts/out/StdCheats.t.sol/StdCheatsTest.json +1 -0
  966. package/test/contracts/out/StdError.sol/stdError.json +1 -0
  967. package/test/contracts/out/StdError.t.sol/ErrorsTest.json +1 -0
  968. package/test/contracts/out/StdError.t.sol/StdErrorsTest.json +1 -0
  969. package/test/contracts/out/StdInvariant.sol/StdInvariant.json +1 -0
  970. package/test/contracts/out/StdJson.sol/stdJson.json +1 -0
  971. package/test/contracts/out/StdMath.sol/stdMath.json +1 -0
  972. package/test/contracts/out/StdMath.t.sol/StdMathTest.json +1 -0
  973. package/test/contracts/out/StdStorage.sol/stdStorage.json +1 -0
  974. package/test/contracts/out/StdStorage.sol/stdStorageSafe.json +1 -0
  975. package/test/contracts/out/StdStorage.t.sol/StdStorageTest.json +1 -0
  976. package/test/contracts/out/StdStorage.t.sol/StorageTest.json +1 -0
  977. package/test/contracts/out/StdStyle.sol/StdStyle.json +1 -0
  978. package/test/contracts/out/StdStyle.t.sol/StdStyleTest.json +1 -0
  979. package/test/contracts/out/StdUtils.sol/StdUtils.json +1 -0
  980. package/test/contracts/out/StdUtils.t.sol/StdUtilsForkTest.json +1 -0
  981. package/test/contracts/out/StdUtils.t.sol/StdUtilsMock.json +1 -0
  982. package/test/contracts/out/StdUtils.t.sol/StdUtilsTest.json +1 -0
  983. package/test/contracts/out/StorageSlot.sol/StorageSlot.json +1 -0
  984. package/test/contracts/out/StorageSlotMock.sol/StorageSlotMock.json +1 -0
  985. package/test/contracts/out/Strings.sol/Strings.json +1 -0
  986. package/test/contracts/out/TimelockController.sol/TimelockController.json +1 -0
  987. package/test/contracts/out/TimelockReentrant.sol/TimelockReentrant.json +1 -0
  988. package/test/contracts/out/Timers.sol/Timers.json +1 -0
  989. package/test/contracts/out/TimersBlockNumberImpl.sol/TimersBlockNumberImpl.json +1 -0
  990. package/test/contracts/out/TimersTimestampImpl.sol/TimersTimestampImpl.json +1 -0
  991. package/test/contracts/out/TokenTimelock.sol/TokenTimelock.json +1 -0
  992. package/test/contracts/out/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -0
  993. package/test/contracts/out/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1 -0
  994. package/test/contracts/out/UUPSLegacy.sol/UUPSUpgradeableLegacyMock.json +1 -0
  995. package/test/contracts/out/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -0
  996. package/test/contracts/out/UUPSUpgradeableMock.sol/NonUpgradeableMock.json +1 -0
  997. package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableMock.json +1 -0
  998. package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableUnsafeMock.json +1 -0
  999. package/test/contracts/out/UpgradeableBeacon.sol/UpgradeableBeacon.json +1 -0
  1000. package/test/contracts/out/VestingWallet.sol/VestingWallet.json +1 -0
  1001. package/test/contracts/out/Vm.sol/Vm.json +1 -0
  1002. package/test/contracts/out/Vm.sol/VmSafe.json +1 -0
  1003. package/test/contracts/out/Votes.sol/Votes.json +1 -0
  1004. package/test/contracts/out/VotesMock.sol/VotesMock.json +1 -0
  1005. package/test/contracts/out/VotesMock.sol/VotesTimestampMock.json +1 -0
  1006. package/test/contracts/out/VotesTimestamp.sol/ERC20VotesCompTimestampMock.json +1 -0
  1007. package/test/contracts/out/VotesTimestamp.sol/ERC20VotesTimestampMock.json +1 -0
  1008. package/test/contracts/out/VotesTimestamp.sol/ERC721VotesTimestampMock.json +1 -0
  1009. package/test/contracts/out/bridges.sol/BaseRelayMock.json +1 -0
  1010. package/test/contracts/out/bridges.sol/BridgeAMBMock.json +1 -0
  1011. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Inbox.json +1 -0
  1012. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Mock.json +1 -0
  1013. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Outbox.json +1 -0
  1014. package/test/contracts/out/bridges.sol/BridgeArbitrumL2Mock.json +1 -0
  1015. package/test/contracts/out/bridges.sol/BridgeOptimismMock.json +1 -0
  1016. package/test/contracts/out/bridges.sol/BridgePolygonChildMock.json +1 -0
  1017. package/test/contracts/out/build-info/2be03bb8eb1ccda1.json +1 -0
  1018. package/test/contracts/out/console.sol/console.json +1 -0
  1019. package/test/contracts/out/console2.sol/console2.json +1 -0
  1020. package/test/contracts/out/demo.sol/DemoTest.json +1 -0
  1021. package/test/contracts/out/demo.sol/DemoTestWithSetUp.json +1 -0
  1022. package/test/contracts/out/draft-IERC1822.sol/IERC1822Proxiable.json +1 -0
  1023. package/test/contracts/out/interfaces/IERC1155.sol/IERC1155.json +1 -0
  1024. package/test/contracts/out/interfaces/IERC165.sol/IERC165.json +1 -0
  1025. package/test/contracts/out/interfaces/IERC20.sol/IERC20.json +1 -0
  1026. package/test/contracts/out/interfaces/IERC4626.sol/IERC4626.json +1 -0
  1027. package/test/contracts/out/interfaces/IERC721.sol/IERC721.json +1 -0
  1028. package/test/contracts/out/receivers.sol/CrossChainEnabledAMBMock.json +1 -0
  1029. package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL1Mock.json +1 -0
  1030. package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL2Mock.json +1 -0
  1031. package/test/contracts/out/receivers.sol/CrossChainEnabledOptimismMock.json +1 -0
  1032. package/test/contracts/out/receivers.sol/CrossChainEnabledPolygonChildMock.json +1 -0
  1033. package/test/contracts/out/receivers.sol/Receiver.json +1 -0
  1034. package/test/contracts/out/test.sol/DSTest.json +1 -0
  1035. package/test/contracts/out/test.sol/Test.json +1 -0
  1036. package/test/contracts/out/test.t.sol/DemoTest.json +1 -0
  1037. package/test/database-api.e2e.test.ts +666 -0
  1038. package/test/debug-anvil.ts +44 -0
  1039. package/test/deferred-restart.e2e.test.ts +368 -0
  1040. package/test/discord-connector.e2e.test.ts +463 -0
  1041. package/test/e2e-global-setup.ts +29 -0
  1042. package/test/e2e-validation.e2e.test.ts +1588 -0
  1043. package/test/health-endpoint.e2e.test.ts +95 -0
  1044. package/test/knowledge-e2e-flow.e2e.test.ts +134 -0
  1045. package/test/knowledge-live.e2e.test.ts +405 -0
  1046. package/test/mcp-config.e2e.test.ts +630 -0
  1047. package/test/native-modules.e2e.test.ts +470 -0
  1048. package/test/permissions-api.e2e.test.ts +637 -0
  1049. package/test/plugin-install.e2e.test.ts +645 -0
  1050. package/test/plugin-lifecycle.e2e.test.ts +617 -0
  1051. package/test/plugin-management.e2e.test.ts +308 -0
  1052. package/test/provider-switch.e2e.test.ts +322 -0
  1053. package/test/scripts/test-force.ts +139 -0
  1054. package/test/scripts/test-parallel.mjs +192 -0
  1055. package/test/scripts/validate-all-features.sh +557 -0
  1056. package/test/setup.ts +122 -0
  1057. package/test/signal-connector.e2e.test.ts +229 -0
  1058. package/test/skills-marketplace-api.e2e.test.ts +585 -0
  1059. package/test/skills-marketplace-services.e2e.test.ts +518 -0
  1060. package/test/skills-marketplace.e2e.test.ts +268 -0
  1061. package/test/stubs/coding-agent-module.ts +18 -0
  1062. package/test/stubs/electron-module.ts +17 -0
  1063. package/test/stubs/empty-module.mjs +4 -0
  1064. package/test/stubs/pi-ai-module.ts +12 -0
  1065. package/test/subscription-auth.e2e.test.ts +747 -0
  1066. package/test/terminal-execution.e2e.test.ts +134 -0
  1067. package/test/terminal-run-limits.e2e.test.ts +132 -0
  1068. package/test/test-env.ts +156 -0
  1069. package/test/trajectory-collection.e2e.test.ts +800 -0
  1070. package/test/trajectory-database.e2e.test.ts +209 -0
  1071. package/test/trajectory-embedding-filter.e2e.test.ts +317 -0
  1072. package/test/trajectory-restart-carryover.e2e.test.ts +306 -0
  1073. package/test/trigger-execution-flow.e2e.test.ts +132 -0
  1074. package/test/trigger-runtime.e2e.test.ts +247 -0
  1075. package/test/wallet-api.e2e.test.ts +1295 -0
  1076. package/test/wallet-live.e2e.test.ts +428 -0
  1077. package/vitest.e2e.config.ts +71 -0
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"MAX_SUPPLY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SHINY_PRICE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getAgentMintNumber","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCollectionDetails","inputs":[],"outputs":[{"name":"maxSupply","type":"uint256","internalType":"uint256"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"publicOpen","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasMinted","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isShiny","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"merkleRoot","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"endpoint","type":"string","internalType":"string"},{"name":"capabilitiesHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"mintFor","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"name","type":"string","internalType":"string"},{"name":"endpoint","type":"string","internalType":"string"},{"name":"capabilitiesHash","type":"bytes32","internalType":"bytes32"},{"name":"shiny","type":"bool","internalType":"bool"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"mintShiny","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"endpoint","type":"string","internalType":"string"},{"name":"capabilitiesHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"mintWhitelist","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"endpoint","type":"string","internalType":"string"},{"name":"capabilitiesHash","type":"bytes32","internalType":"bytes32"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"publicMintOpen","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMerkleRoot","inputs":[{"name":"root","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPublicMintOpen","inputs":[{"name":"open","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setWhitelistMintOpen","inputs":[{"name":"open","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"whitelistMintOpen","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"withdraw","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AgentMinted","inputs":[{"name":"agentId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"mintNumber","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"shiny","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"BatchMetadataUpdate","inputs":[{"name":"_fromTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_toTokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollectionUpdated","inputs":[{"name":"maxSupply","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currentSupply","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"publicOpen","type":"bool","indexed":false,"internalType":"bool"},{"name":"whitelistOpen","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"MetadataUpdate","inputs":[{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801562000010575f80fd5b506040518060400160405280600c81526020016b26b4b630b23c9026b0b5b2b960a11b8152506040518060400160405280600c81526020016b26a4a620a4a22ca6a0a5a2a960a11b815250815f90816200006b9190620001a0565b5060016200007a8282620001a0565b5050506200009762000091620000ab60201b60201c565b620000af565b6009805461ffff1916600117905562000268565b3390565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200012957607f821691505b6020821081036200014857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200019b575f81815260208120601f850160051c81016020861015620001765750805b601f850160051c820191505b81811015620001975782815560010162000182565b5050505b505050565b81516001600160401b03811115620001bc57620001bc62000100565b620001d481620001cd845462000114565b846200014e565b602080601f8311600181146200020a575f8415620001f25750858301515b5f19600386901b1c1916600185901b17855562000197565b5f85815260208120601f198616915b828110156200023a5788860151825594840194600190910190840162000219565b50858210156200025857878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b6124a380620002765f395ff3fe6080604052600436106101f1575f3560e01c80636387f80411610108578063a22cb4651161009d578063c87b56dd1161006d578063c87b56dd1461059c578063e985e9c5146105bb578063f2fde38b14610602578063fade63c914610621578063fff975bb14610640575f80fd5b8063a22cb4651461050f578063b3ff78c11461052e578063b88d4fde14610564578063bcc9ca5b14610583575f80fd5b8063771282f6116100d8578063771282f6146104ab5780637cb64759146104bf5780638da5cb5b146104de57806395d89b41146104fb575f80fd5b80636387f8041461043a57806368a397c01461045957806370a0823114610478578063715018a614610497575f80fd5b80632eb4a7ab116101895780633e4771a3116101595780633e4771a3146103a057806342842e0e146103bf5780634ccb6c11146103de57806352436f20146103fd5780636352211e1461041b575f80fd5b80632eb4a7ab1461032b57806332cb6b0c1461034057806338e21cce146103555780633ccfd60b1461038c575f80fd5b8063095ea7b3116101c4578063095ea7b3146102aa57806322fa1d85146102cb578063234d2f0f146102f957806323b872dd1461030c575f80fd5b80630179246e146101f557806301ffc9a71461022357806306fdde0314610252578063081812fc14610273575b5f80fd5b348015610200575f80fd5b5061021067016345785d8a000081565b6040519081526020015b60405180910390f35b34801561022e575f80fd5b5061024261023d366004611cad565b61066b565b604051901515815260200161021a565b34801561025d575f80fd5b50610266610695565b60405161021a9190611d15565b34801561027e575f80fd5b5061029261028d366004611d27565b610724565b6040516001600160a01b03909116815260200161021a565b3480156102b5575f80fd5b506102c96102c4366004611d59565b610749565b005b3480156102d6575f80fd5b506102426102e5366004611d27565b5f908152600d602052604090205460ff1690565b610210610307366004611e26565b610862565b348015610317575f80fd5b506102c9610326366004611e8e565b61093d565b348015610336575f80fd5b50610210600a5481565b34801561034b575f80fd5b5061021061085a81565b348015610360575f80fd5b5061024261036f366004611ec7565b6001600160a01b03165f908152600b602052604090205460ff1690565b348015610397575f80fd5b506102c961096e565b3480156103ab575f80fd5b506102106103ba366004611eef565b6109ec565b3480156103ca575f80fd5b506102c96103d9366004611e8e565b610a82565b3480156103e9575f80fd5b506102106103f8366004611f78565b610a9c565b348015610408575f80fd5b5060095461024290610100900460ff1681565b348015610426575f80fd5b50610292610435366004611d27565b610c13565b348015610445575f80fd5b506102c9610454366004612034565b610c72565b348015610464575f80fd5b50610210610473366004611e26565b610cea565b348015610483575f80fd5b50610210610492366004611ec7565b610d6d565b3480156104a2575f80fd5b506102c9610df1565b3480156104b6575f80fd5b50600854610210565b3480156104ca575f80fd5b506102c96104d9366004611d27565b610e04565b3480156104e9575f80fd5b506007546001600160a01b0316610292565b348015610506575f80fd5b50610266610e11565b34801561051a575f80fd5b506102c961052936600461204d565b610e20565b348015610539575f80fd5b506008546009546040805161085a8152602081019390935260ff90911615159082015260600161021a565b34801561056f575f80fd5b506102c961057e36600461207e565b610e2b565b34801561058e575f80fd5b506009546102429060ff1681565b3480156105a7575f80fd5b506102666105b6366004611d27565b610e63565b3480156105c6575f80fd5b506102426105d53660046120f5565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b34801561060d575f80fd5b506102c961061c366004611ec7565b610f65565b34801561062c575f80fd5b506102c961063b366004612034565b610fde565b34801561064b575f80fd5b5061021061065a366004611d27565b5f908152600c602052604090205490565b5f6001600160e01b03198216632483248360e11b148061068f575061068f8261105d565b92915050565b60605f80546106a39061211d565b80601f01602080910402602001604051908101604052809291908181526020018280546106cf9061211d565b801561071a5780601f106106f15761010080835404028352916020019161071a565b820191905f5260205f20905b8154815290600101906020018083116106fd57829003601f168201915b5050505050905090565b5f61072e826110ac565b505f908152600460205260409020546001600160a01b031690565b5f61075382610c13565b9050806001600160a01b0316836001600160a01b0316036107c55760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806107e157506107e181336105d5565b6108535760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016107bc565b61085d838361110a565b505050565b6009545f9060ff166108865760405162461bcd60e51b81526004016107bc90612155565b335f908152600b602052604090205460ff16156108b55760405162461bcd60e51b81526004016107bc90612183565b61085a600854106108d85760405162461bcd60e51b81526004016107bc906121ab565b67016345785d8a00003410156109275760405162461bcd60e51b8152602060048201526014602482015273125b9cdd59999a58da595b9d081c185e5b595b9d60621b60448201526064016107bc565b610935338585856001611177565b949350505050565b6109473382611315565b6109635760405162461bcd60e51b81526004016107bc906121cd565b61085d838383611391565b6109766114f3565b47806109b15760405162461bcd60e51b815260206004820152600a6024820152694e6f2062616c616e636560b01b60448201526064016107bc565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156109e8573d5f803e3d5ffd5b5050565b6009545f9060ff16610a105760405162461bcd60e51b81526004016107bc90612155565b6001600160a01b0386165f908152600b602052604090205460ff1615610a485760405162461bcd60e51b81526004016107bc90612183565b61085a60085410610a6b5760405162461bcd60e51b81526004016107bc906121ab565b610a788686868686611177565b9695505050505050565b61085d83838360405180602001604052805f815250610e2b565b6009545f90610100900460ff16610af55760405162461bcd60e51b815260206004820152601760248201527f57686974656c697374206d696e74206e6f74206f70656e00000000000000000060448201526064016107bc565b335f908152600b602052604090205460ff1615610b245760405162461bcd60e51b81526004016107bc90612183565b61085a60085410610b475760405162461bcd60e51b81526004016107bc906121ab565b6040516bffffffffffffffffffffffff193360601b1660208201525f90603401604051602081830303815290604052805190602001209050610bbf8484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050600a54915084905061154d565b610bfb5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b210383937b7b360991b60448201526064016107bc565b610c08338888885f611177565b979650505050505050565b5f818152600260205260408120546001600160a01b03168061068f5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016107bc565b610c7a6114f3565b6009805460ff1916821515908117918290556008546040805161085a8152602081019290925260ff92831615159082015261010090920416151560608201527fb1a217a78dbba2aba8d99bf4b9acf11ff26b58980083aa3e7a66fc77e0676237906080015b60405180910390a150565b6009545f9060ff16610d0e5760405162461bcd60e51b81526004016107bc90612155565b335f908152600b602052604090205460ff1615610d3d5760405162461bcd60e51b81526004016107bc90612183565b61085a60085410610d605760405162461bcd60e51b81526004016107bc906121ab565b610935338585855f611177565b5f6001600160a01b038216610dd65760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016107bc565b506001600160a01b03165f9081526003602052604090205490565b610df96114f3565b610e025f611562565b565b610e0c6114f3565b600a55565b6060600180546106a39061211d565b6109e83383836115b3565b610e353383611315565b610e515760405162461bcd60e51b81526004016107bc906121cd565b610e5d84848484611680565b50505050565b6060610e6e826110ac565b5f8281526006602052604081208054610e869061211d565b80601f0160208091040260200160405190810160405280929190818152602001828054610eb29061211d565b8015610efd5780601f10610ed457610100808354040283529160200191610efd565b820191905f5260205f20905b815481529060010190602001808311610ee057829003601f168201915b505050505090505f610f1960408051602081019091525f815290565b905080515f03610f2a575092915050565b815115610f5c578082604051602001610f4492919061221a565b60405160208183030381529060405292505050919050565b610935846116b3565b610f6d6114f3565b6001600160a01b038116610fd25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107bc565b610fdb81611562565b50565b610fe66114f3565b6009805461ff001981166101008415158102918217938490556008546040805161085a8152602081019290925260ff9485169385169390931715159281019290925290920416151560608201527fb1a217a78dbba2aba8d99bf4b9acf11ff26b58980083aa3e7a66fc77e067623790608001610cdf565b5f6001600160e01b031982166380ac58cd60e01b148061108d57506001600160e01b03198216635b5e139f60e01b145b8061068f57506301ffc9a760e01b6001600160e01b031983161461068f565b5f818152600260205260409020546001600160a01b0316610fdb5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016107bc565b5f81815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061113e82610c13565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600880545f918261118783612248565b90915550506008548061119a8882611723565b6001600160a01b0388165f908152600b602090815260408083208054600160ff1991821617909155858452600c8352818420859055600d9092528220805490911686151517905584611221576040518060400160405280601781526020017f697066733a2f2f516d4d696c6164794d65746164617461000000000000000000815250611258565b6040518060400160405280601c81526020017f697066733a2f2f516d5368696e794d696c6164794d65746164617461000000008152505b9050611264838261173c565b886001600160a01b031682847f25cad38dffd55f73acb863c7e93a7edc4759d455ec55e8d22490de319505446c886040516112a3911515815260200190565b60405180910390a46008546009546040805161085a8152602081019390935260ff80831615158483015261010090920490911615156060830152517fb1a217a78dbba2aba8d99bf4b9acf11ff26b58980083aa3e7a66fc77e06762379181900360800190a15090979650505050505050565b5f8061132083610c13565b9050806001600160a01b0316846001600160a01b0316148061136657506001600160a01b038082165f9081526005602090815260408083209388168352929052205460ff165b806109355750836001600160a01b031661137f84610724565b6001600160a01b031614949350505050565b826001600160a01b03166113a482610c13565b6001600160a01b0316146113ca5760405162461bcd60e51b81526004016107bc9061226c565b6001600160a01b03821661142c5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107bc565b826001600160a01b031661143f82610c13565b6001600160a01b0316146114655760405162461bcd60e51b81526004016107bc9061226c565b5f81815260046020908152604080832080546001600160a01b03199081169091556001600160a01b038781168086526003855283862080545f1901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6007546001600160a01b03163314610e025760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107bc565b5f826115598584611805565b14949350505050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b816001600160a01b0316836001600160a01b0316036116145760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107bc565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61168b848484611391565b61169784848484611851565b610e5d5760405162461bcd60e51b81526004016107bc906122b1565b60606116be826110ac565b5f6116d360408051602081019091525f815290565b90505f8151116116f15760405180602001604052805f81525061171c565b806116fb8461194e565b60405160200161170c92919061221a565b6040516020818303038152906040525b9392505050565b6109e8828260405180602001604052805f8152506119de565b5f828152600260205260409020546001600160a01b03166117b65760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016107bc565b5f8281526006602052604090206117cd8282612350565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b5f81815b845181101561184957611835828683815181106118285761182861240c565b6020026020010151611a10565b91508061184181612248565b915050611809565b509392505050565b5f6001600160a01b0384163b1561194357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611894903390899088908890600401612420565b6020604051808303815f875af19250505080156118ce575060408051601f3d908101601f191682019092526118cb91810190612452565b60015b611929573d8080156118fb576040519150601f19603f3d011682016040523d82523d5f602084013e611900565b606091505b5080515f036119215760405162461bcd60e51b81526004016107bc906122b1565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610935565b506001949350505050565b60605f61195a83611a39565b60010190505f8167ffffffffffffffff81111561197957611979611d81565b6040519080825280601f01601f1916602001820160405280156119a3576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846119ad57509392505050565b6119e88383611b10565b6119f45f848484611851565b61085d5760405162461bcd60e51b81526004016107bc906122b1565b5f818310611a2a575f82815260208490526040902061171c565b505f9182526020526040902090565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a775772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611aa3576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611ac157662386f26fc10000830492506010015b6305f5e1008310611ad9576305f5e100830492506008015b6127108310611aed57612710830492506004015b60648310611aff576064830492506002015b600a831061068f5760010192915050565b6001600160a01b038216611b665760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107bc565b5f818152600260205260409020546001600160a01b031615611bca5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107bc565b5f818152600260205260409020546001600160a01b031615611c2e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107bc565b6001600160a01b0382165f81815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b031981168114610fdb575f80fd5b5f60208284031215611cbd575f80fd5b813561171c81611c98565b5f5b83811015611ce2578181015183820152602001611cca565b50505f910152565b5f8151808452611d01816020860160208601611cc8565b601f01601f19169290920160200192915050565b602081525f61171c6020830184611cea565b5f60208284031215611d37575f80fd5b5035919050565b80356001600160a01b0381168114611d54575f80fd5b919050565b5f8060408385031215611d6a575f80fd5b611d7383611d3e565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff80841115611daf57611daf611d81565b604051601f8501601f19908116603f01168101908282118183101715611dd757611dd7611d81565b81604052809350858152868686011115611def575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611e17575f80fd5b61171c83833560208501611d95565b5f805f60608486031215611e38575f80fd5b833567ffffffffffffffff80821115611e4f575f80fd5b611e5b87838801611e08565b94506020860135915080821115611e70575f80fd5b50611e7d86828701611e08565b925050604084013590509250925092565b5f805f60608486031215611ea0575f80fd5b611ea984611d3e565b9250611eb760208501611d3e565b9150604084013590509250925092565b5f60208284031215611ed7575f80fd5b61171c82611d3e565b80358015158114611d54575f80fd5b5f805f805f60a08688031215611f03575f80fd5b611f0c86611d3e565b9450602086013567ffffffffffffffff80821115611f28575f80fd5b611f3489838a01611e08565b95506040880135915080821115611f49575f80fd5b50611f5688828901611e08565b93505060608601359150611f6c60808701611ee0565b90509295509295909350565b5f805f805f60808688031215611f8c575f80fd5b853567ffffffffffffffff80821115611fa3575f80fd5b611faf89838a01611e08565b96506020880135915080821115611fc4575f80fd5b611fd089838a01611e08565b9550604088013594506060880135915080821115611fec575f80fd5b818801915088601f830112611fff575f80fd5b81358181111561200d575f80fd5b8960208260051b8501011115612021575f80fd5b9699959850939650602001949392505050565b5f60208284031215612044575f80fd5b61171c82611ee0565b5f806040838503121561205e575f80fd5b61206783611d3e565b915061207560208401611ee0565b90509250929050565b5f805f8060808587031215612091575f80fd5b61209a85611d3e565b93506120a860208601611d3e565b925060408501359150606085013567ffffffffffffffff8111156120ca575f80fd5b8501601f810187136120da575f80fd5b6120e987823560208401611d95565b91505092959194509250565b5f8060408385031215612106575f80fd5b61210f83611d3e565b915061207560208401611d3e565b600181811c9082168061213157607f821691505b60208210810361214f57634e487b7160e01b5f52602260045260245ffd5b50919050565b602080825260149082015273283ab13634b19036b4b73a103737ba1037b832b760611b604082015260600190565b6020808252600e908201526d105b1c9958591e481b5a5b9d195960921b604082015260600190565b60208082526008908201526714dbdb19081bdd5d60c21b604082015260600190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b5f835161222b818460208801611cc8565b83519083019061223f818360208801611cc8565b01949350505050565b5f6001820161226557634e487b7160e01b5f52601160045260245ffd5b5060010190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b601f82111561085d575f81815260208120601f850160051c810160208610156123295750805b601f850160051c820191505b8181101561234857828155600101612335565b505050505050565b815167ffffffffffffffff81111561236a5761236a611d81565b61237e81612378845461211d565b84612303565b602080601f8311600181146123b1575f841561239a5750858301515b5f19600386901b1c1916600185901b178555612348565b5f85815260208120601f198616915b828110156123df578886015182559484019460019091019084016123c0565b50858210156123fc57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610a7890830184611cea565b5f60208284031215612462575f80fd5b815161171c81611c9856fea2646970667358221220de5c4e250c252b690c4fc909f9257d5738915604b64911b920ec611b6dba607f64736f6c63430008140033","sourceMap":"545:6120:1:-:0;;;1297:126;;;;;;;;;;1390:113:198;;;;;;;;;;;;;-1:-1:-1;;;1390:113:198;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:198;;;1464:5;1456;:13;;;;;;:::i;:::-;-1:-1:-1;1479:7:198;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;936:32:9;955:12;:10;;;:12;;:::i;:::-;936:18;:32::i;:::-;1360:14:1::1;:21:::0;;-1:-1:-1;;1391:25:1;1377:4:::1;1391:25:::0;;;545:6120;;655:96:224;734:10;;655:96::o;2426:187:9:-;2518:6;;;-1:-1:-1;;;;;2534:17:9;;;-1:-1:-1;;;;;;2534:17:9;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;14:127:310:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:310;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:310;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:310;;;2580:26;2531:89;-1:-1:-1;;1335:1:310;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:310;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:310;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:310;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:310:o;:::-;545:6120:1;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101f1575f3560e01c80636387f80411610108578063a22cb4651161009d578063c87b56dd1161006d578063c87b56dd1461059c578063e985e9c5146105bb578063f2fde38b14610602578063fade63c914610621578063fff975bb14610640575f80fd5b8063a22cb4651461050f578063b3ff78c11461052e578063b88d4fde14610564578063bcc9ca5b14610583575f80fd5b8063771282f6116100d8578063771282f6146104ab5780637cb64759146104bf5780638da5cb5b146104de57806395d89b41146104fb575f80fd5b80636387f8041461043a57806368a397c01461045957806370a0823114610478578063715018a614610497575f80fd5b80632eb4a7ab116101895780633e4771a3116101595780633e4771a3146103a057806342842e0e146103bf5780634ccb6c11146103de57806352436f20146103fd5780636352211e1461041b575f80fd5b80632eb4a7ab1461032b57806332cb6b0c1461034057806338e21cce146103555780633ccfd60b1461038c575f80fd5b8063095ea7b3116101c4578063095ea7b3146102aa57806322fa1d85146102cb578063234d2f0f146102f957806323b872dd1461030c575f80fd5b80630179246e146101f557806301ffc9a71461022357806306fdde0314610252578063081812fc14610273575b5f80fd5b348015610200575f80fd5b5061021067016345785d8a000081565b6040519081526020015b60405180910390f35b34801561022e575f80fd5b5061024261023d366004611cad565b61066b565b604051901515815260200161021a565b34801561025d575f80fd5b50610266610695565b60405161021a9190611d15565b34801561027e575f80fd5b5061029261028d366004611d27565b610724565b6040516001600160a01b03909116815260200161021a565b3480156102b5575f80fd5b506102c96102c4366004611d59565b610749565b005b3480156102d6575f80fd5b506102426102e5366004611d27565b5f908152600d602052604090205460ff1690565b610210610307366004611e26565b610862565b348015610317575f80fd5b506102c9610326366004611e8e565b61093d565b348015610336575f80fd5b50610210600a5481565b34801561034b575f80fd5b5061021061085a81565b348015610360575f80fd5b5061024261036f366004611ec7565b6001600160a01b03165f908152600b602052604090205460ff1690565b348015610397575f80fd5b506102c961096e565b3480156103ab575f80fd5b506102106103ba366004611eef565b6109ec565b3480156103ca575f80fd5b506102c96103d9366004611e8e565b610a82565b3480156103e9575f80fd5b506102106103f8366004611f78565b610a9c565b348015610408575f80fd5b5060095461024290610100900460ff1681565b348015610426575f80fd5b50610292610435366004611d27565b610c13565b348015610445575f80fd5b506102c9610454366004612034565b610c72565b348015610464575f80fd5b50610210610473366004611e26565b610cea565b348015610483575f80fd5b50610210610492366004611ec7565b610d6d565b3480156104a2575f80fd5b506102c9610df1565b3480156104b6575f80fd5b50600854610210565b3480156104ca575f80fd5b506102c96104d9366004611d27565b610e04565b3480156104e9575f80fd5b506007546001600160a01b0316610292565b348015610506575f80fd5b50610266610e11565b34801561051a575f80fd5b506102c961052936600461204d565b610e20565b348015610539575f80fd5b506008546009546040805161085a8152602081019390935260ff90911615159082015260600161021a565b34801561056f575f80fd5b506102c961057e36600461207e565b610e2b565b34801561058e575f80fd5b506009546102429060ff1681565b3480156105a7575f80fd5b506102666105b6366004611d27565b610e63565b3480156105c6575f80fd5b506102426105d53660046120f5565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b34801561060d575f80fd5b506102c961061c366004611ec7565b610f65565b34801561062c575f80fd5b506102c961063b366004612034565b610fde565b34801561064b575f80fd5b5061021061065a366004611d27565b5f908152600c602052604090205490565b5f6001600160e01b03198216632483248360e11b148061068f575061068f8261105d565b92915050565b60605f80546106a39061211d565b80601f01602080910402602001604051908101604052809291908181526020018280546106cf9061211d565b801561071a5780601f106106f15761010080835404028352916020019161071a565b820191905f5260205f20905b8154815290600101906020018083116106fd57829003601f168201915b5050505050905090565b5f61072e826110ac565b505f908152600460205260409020546001600160a01b031690565b5f61075382610c13565b9050806001600160a01b0316836001600160a01b0316036107c55760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806107e157506107e181336105d5565b6108535760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016107bc565b61085d838361110a565b505050565b6009545f9060ff166108865760405162461bcd60e51b81526004016107bc90612155565b335f908152600b602052604090205460ff16156108b55760405162461bcd60e51b81526004016107bc90612183565b61085a600854106108d85760405162461bcd60e51b81526004016107bc906121ab565b67016345785d8a00003410156109275760405162461bcd60e51b8152602060048201526014602482015273125b9cdd59999a58da595b9d081c185e5b595b9d60621b60448201526064016107bc565b610935338585856001611177565b949350505050565b6109473382611315565b6109635760405162461bcd60e51b81526004016107bc906121cd565b61085d838383611391565b6109766114f3565b47806109b15760405162461bcd60e51b815260206004820152600a6024820152694e6f2062616c616e636560b01b60448201526064016107bc565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156109e8573d5f803e3d5ffd5b5050565b6009545f9060ff16610a105760405162461bcd60e51b81526004016107bc90612155565b6001600160a01b0386165f908152600b602052604090205460ff1615610a485760405162461bcd60e51b81526004016107bc90612183565b61085a60085410610a6b5760405162461bcd60e51b81526004016107bc906121ab565b610a788686868686611177565b9695505050505050565b61085d83838360405180602001604052805f815250610e2b565b6009545f90610100900460ff16610af55760405162461bcd60e51b815260206004820152601760248201527f57686974656c697374206d696e74206e6f74206f70656e00000000000000000060448201526064016107bc565b335f908152600b602052604090205460ff1615610b245760405162461bcd60e51b81526004016107bc90612183565b61085a60085410610b475760405162461bcd60e51b81526004016107bc906121ab565b6040516bffffffffffffffffffffffff193360601b1660208201525f90603401604051602081830303815290604052805190602001209050610bbf8484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050600a54915084905061154d565b610bfb5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b210383937b7b360991b60448201526064016107bc565b610c08338888885f611177565b979650505050505050565b5f818152600260205260408120546001600160a01b03168061068f5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016107bc565b610c7a6114f3565b6009805460ff1916821515908117918290556008546040805161085a8152602081019290925260ff92831615159082015261010090920416151560608201527fb1a217a78dbba2aba8d99bf4b9acf11ff26b58980083aa3e7a66fc77e0676237906080015b60405180910390a150565b6009545f9060ff16610d0e5760405162461bcd60e51b81526004016107bc90612155565b335f908152600b602052604090205460ff1615610d3d5760405162461bcd60e51b81526004016107bc90612183565b61085a60085410610d605760405162461bcd60e51b81526004016107bc906121ab565b610935338585855f611177565b5f6001600160a01b038216610dd65760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016107bc565b506001600160a01b03165f9081526003602052604090205490565b610df96114f3565b610e025f611562565b565b610e0c6114f3565b600a55565b6060600180546106a39061211d565b6109e83383836115b3565b610e353383611315565b610e515760405162461bcd60e51b81526004016107bc906121cd565b610e5d84848484611680565b50505050565b6060610e6e826110ac565b5f8281526006602052604081208054610e869061211d565b80601f0160208091040260200160405190810160405280929190818152602001828054610eb29061211d565b8015610efd5780601f10610ed457610100808354040283529160200191610efd565b820191905f5260205f20905b815481529060010190602001808311610ee057829003601f168201915b505050505090505f610f1960408051602081019091525f815290565b905080515f03610f2a575092915050565b815115610f5c578082604051602001610f4492919061221a565b60405160208183030381529060405292505050919050565b610935846116b3565b610f6d6114f3565b6001600160a01b038116610fd25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107bc565b610fdb81611562565b50565b610fe66114f3565b6009805461ff001981166101008415158102918217938490556008546040805161085a8152602081019290925260ff9485169385169390931715159281019290925290920416151560608201527fb1a217a78dbba2aba8d99bf4b9acf11ff26b58980083aa3e7a66fc77e067623790608001610cdf565b5f6001600160e01b031982166380ac58cd60e01b148061108d57506001600160e01b03198216635b5e139f60e01b145b8061068f57506301ffc9a760e01b6001600160e01b031983161461068f565b5f818152600260205260409020546001600160a01b0316610fdb5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016107bc565b5f81815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061113e82610c13565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600880545f918261118783612248565b90915550506008548061119a8882611723565b6001600160a01b0388165f908152600b602090815260408083208054600160ff1991821617909155858452600c8352818420859055600d9092528220805490911686151517905584611221576040518060400160405280601781526020017f697066733a2f2f516d4d696c6164794d65746164617461000000000000000000815250611258565b6040518060400160405280601c81526020017f697066733a2f2f516d5368696e794d696c6164794d65746164617461000000008152505b9050611264838261173c565b886001600160a01b031682847f25cad38dffd55f73acb863c7e93a7edc4759d455ec55e8d22490de319505446c886040516112a3911515815260200190565b60405180910390a46008546009546040805161085a8152602081019390935260ff80831615158483015261010090920490911615156060830152517fb1a217a78dbba2aba8d99bf4b9acf11ff26b58980083aa3e7a66fc77e06762379181900360800190a15090979650505050505050565b5f8061132083610c13565b9050806001600160a01b0316846001600160a01b0316148061136657506001600160a01b038082165f9081526005602090815260408083209388168352929052205460ff165b806109355750836001600160a01b031661137f84610724565b6001600160a01b031614949350505050565b826001600160a01b03166113a482610c13565b6001600160a01b0316146113ca5760405162461bcd60e51b81526004016107bc9061226c565b6001600160a01b03821661142c5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107bc565b826001600160a01b031661143f82610c13565b6001600160a01b0316146114655760405162461bcd60e51b81526004016107bc9061226c565b5f81815260046020908152604080832080546001600160a01b03199081169091556001600160a01b038781168086526003855283862080545f1901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6007546001600160a01b03163314610e025760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107bc565b5f826115598584611805565b14949350505050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b816001600160a01b0316836001600160a01b0316036116145760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107bc565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61168b848484611391565b61169784848484611851565b610e5d5760405162461bcd60e51b81526004016107bc906122b1565b60606116be826110ac565b5f6116d360408051602081019091525f815290565b90505f8151116116f15760405180602001604052805f81525061171c565b806116fb8461194e565b60405160200161170c92919061221a565b6040516020818303038152906040525b9392505050565b6109e8828260405180602001604052805f8152506119de565b5f828152600260205260409020546001600160a01b03166117b65760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016107bc565b5f8281526006602052604090206117cd8282612350565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b5f81815b845181101561184957611835828683815181106118285761182861240c565b6020026020010151611a10565b91508061184181612248565b915050611809565b509392505050565b5f6001600160a01b0384163b1561194357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611894903390899088908890600401612420565b6020604051808303815f875af19250505080156118ce575060408051601f3d908101601f191682019092526118cb91810190612452565b60015b611929573d8080156118fb576040519150601f19603f3d011682016040523d82523d5f602084013e611900565b606091505b5080515f036119215760405162461bcd60e51b81526004016107bc906122b1565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610935565b506001949350505050565b60605f61195a83611a39565b60010190505f8167ffffffffffffffff81111561197957611979611d81565b6040519080825280601f01601f1916602001820160405280156119a3576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846119ad57509392505050565b6119e88383611b10565b6119f45f848484611851565b61085d5760405162461bcd60e51b81526004016107bc906122b1565b5f818310611a2a575f82815260208490526040902061171c565b505f9182526020526040902090565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a775772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611aa3576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611ac157662386f26fc10000830492506010015b6305f5e1008310611ad9576305f5e100830492506008015b6127108310611aed57612710830492506004015b60648310611aff576064830492506002015b600a831061068f5760010192915050565b6001600160a01b038216611b665760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107bc565b5f818152600260205260409020546001600160a01b031615611bca5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107bc565b5f818152600260205260409020546001600160a01b031615611c2e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107bc565b6001600160a01b0382165f81815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b031981168114610fdb575f80fd5b5f60208284031215611cbd575f80fd5b813561171c81611c98565b5f5b83811015611ce2578181015183820152602001611cca565b50505f910152565b5f8151808452611d01816020860160208601611cc8565b601f01601f19169290920160200192915050565b602081525f61171c6020830184611cea565b5f60208284031215611d37575f80fd5b5035919050565b80356001600160a01b0381168114611d54575f80fd5b919050565b5f8060408385031215611d6a575f80fd5b611d7383611d3e565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff80841115611daf57611daf611d81565b604051601f8501601f19908116603f01168101908282118183101715611dd757611dd7611d81565b81604052809350858152868686011115611def575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611e17575f80fd5b61171c83833560208501611d95565b5f805f60608486031215611e38575f80fd5b833567ffffffffffffffff80821115611e4f575f80fd5b611e5b87838801611e08565b94506020860135915080821115611e70575f80fd5b50611e7d86828701611e08565b925050604084013590509250925092565b5f805f60608486031215611ea0575f80fd5b611ea984611d3e565b9250611eb760208501611d3e565b9150604084013590509250925092565b5f60208284031215611ed7575f80fd5b61171c82611d3e565b80358015158114611d54575f80fd5b5f805f805f60a08688031215611f03575f80fd5b611f0c86611d3e565b9450602086013567ffffffffffffffff80821115611f28575f80fd5b611f3489838a01611e08565b95506040880135915080821115611f49575f80fd5b50611f5688828901611e08565b93505060608601359150611f6c60808701611ee0565b90509295509295909350565b5f805f805f60808688031215611f8c575f80fd5b853567ffffffffffffffff80821115611fa3575f80fd5b611faf89838a01611e08565b96506020880135915080821115611fc4575f80fd5b611fd089838a01611e08565b9550604088013594506060880135915080821115611fec575f80fd5b818801915088601f830112611fff575f80fd5b81358181111561200d575f80fd5b8960208260051b8501011115612021575f80fd5b9699959850939650602001949392505050565b5f60208284031215612044575f80fd5b61171c82611ee0565b5f806040838503121561205e575f80fd5b61206783611d3e565b915061207560208401611ee0565b90509250929050565b5f805f8060808587031215612091575f80fd5b61209a85611d3e565b93506120a860208601611d3e565b925060408501359150606085013567ffffffffffffffff8111156120ca575f80fd5b8501601f810187136120da575f80fd5b6120e987823560208401611d95565b91505092959194509250565b5f8060408385031215612106575f80fd5b61210f83611d3e565b915061207560208401611d3e565b600181811c9082168061213157607f821691505b60208210810361214f57634e487b7160e01b5f52602260045260245ffd5b50919050565b602080825260149082015273283ab13634b19036b4b73a103737ba1037b832b760611b604082015260600190565b6020808252600e908201526d105b1c9958591e481b5a5b9d195960921b604082015260600190565b60208082526008908201526714dbdb19081bdd5d60c21b604082015260600190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b5f835161222b818460208801611cc8565b83519083019061223f818360208801611cc8565b01949350505050565b5f6001820161226557634e487b7160e01b5f52601160045260245ffd5b5060010190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b601f82111561085d575f81815260208120601f850160051c810160208610156123295750805b601f850160051c820191505b8181101561234857828155600101612335565b505050505050565b815167ffffffffffffffff81111561236a5761236a611d81565b61237e81612378845461211d565b84612303565b602080601f8311600181146123b1575f841561239a5750858301515b5f19600386901b1c1916600185901b178555612348565b5f85815260208120601f198616915b828110156123df578886015182559484019460019091019084016123c0565b50858210156123fc57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610a7890830184611cea565b5f60208284031215612462575f80fd5b815161171c81611c9856fea2646970667358221220de5c4e250c252b690c4fc909f9257d5738915604b64911b920ec611b6dba607f64736f6c63430008140033","sourceMap":"545:6120:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;657:47;;;;;;;;;;;;695:9;657:47;;;;;160:25:310;;;148:2;133:18;657:47:1;;;;;;;;535:205:206;;;;;;;;;;-1:-1:-1;535:205:206;;;;;:::i;:::-;;:::i;:::-;;;747:14:310;;740:22;722:41;;710:2;695:18;535:205:206;582:187:310;2471:98:198;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;;;;;-1:-1:-1;3935:167:198;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1879:32:310;;;1861:51;;1849:2;1834:18;3935:167:198;1715:203:310;3468:406:198;;;;;;;;;;-1:-1:-1;3468:406:198;;;;;:::i;:::-;;:::i;:::-;;5959:104:1;;;;;;;;;;-1:-1:-1;5959:104:1;;;;;:::i;:::-;6016:4;6039:17;;;:8;:17;;;;;;;;;5959:104;2839:480;;;;;;:::i;:::-;;:::i;4612:296:198:-;;;;;;;;;;-1:-1:-1;4612:296:198;;;;;:::i;:::-;;:::i;814:25:1:-;;;;;;;;;;;;;;;;610:41;;;;;;;;;;;;647:4;610:41;;5719:102;;;;;;;;;;-1:-1:-1;5719:102:1;;;;;:::i;:::-;-1:-1:-1;;;;;5798:16:1;5775:4;5798:16;;;:10;:16;;;;;;;;;5719:102;6480:183;;;;;;;;;;;;;:::i;4058:428::-;;;;;;;;;;-1:-1:-1;4058:428:1;;;;;:::i;:::-;;:::i;4974:149:198:-;;;;;;;;;;-1:-1:-1;4974:149:198;;;;;:::i;:::-;;:::i;3387:594:1:-;;;;;;;;;;-1:-1:-1;3387:594:1;;;;;:::i;:::-;;:::i;779:29::-;;;;;;;;;;-1:-1:-1;779:29:1;;;;;;;;;;;2190:219:198;;;;;;;;;;-1:-1:-1;2190:219:198;;;;;:::i;:::-;;:::i;1617:190:1:-;;;;;;;;;;-1:-1:-1;1617:190:1;;;;;:::i;:::-;;:::i;2365:401::-;;;;;;;;;;-1:-1:-1;2365:401:1;;;;;:::i;:::-;;:::i;1929:204:198:-;;;;;;;;;;-1:-1:-1;1929:204:198;;;;;:::i;:::-;;:::i;1824:101:9:-;;;;;;;;;;;;;:::i;5618:95:1:-;;;;;;;;;;-1:-1:-1;5692:14:1;;5618:95;;2015:90;;;;;;;;;;-1:-1:-1;2015:90:1;;;;;:::i;:::-;;:::i;1201:85:9:-;;;;;;;;;;-1:-1:-1;1273:6:9;;-1:-1:-1;;;;;1273:6:9;1201:85;;2633:102:198;;;;;;;;;;;;;:::i;4169:153::-;;;;;;;;;;-1:-1:-1;4169:153:198;;;;;:::i;:::-;;:::i;6069:203:1:-;;;;;;;;;;-1:-1:-1;6234:14:1;;6250;;6069:203;;;647:4;7517:25:310;;7573:2;7558:18;;7551:34;;;;6250:14:1;;;;7628::310;7621:22;7601:18;;;7594:50;7505:2;7490:18;6069:203:1;7321:329:310;5189:276:198;;;;;;;;;;-1:-1:-1;5189:276:198;;;;;:::i;:::-;;:::i;747:26:1:-;;;;;;;;;;-1:-1:-1;747:26:1;;;;;;;;806:608:206;;;;;;;;;;-1:-1:-1;806:608:206;;;;;:::i;:::-;;:::i;4388:162:198:-;;;;;;;;;;-1:-1:-1;4388:162:198;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:198;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;2074:198:9;;;;;;;;;;-1:-1:-1;2074:198:9;;;;;:::i;:::-;;:::i;1813:196:1:-;;;;;;;;;;-1:-1:-1;1813:196:1;;;;;:::i;:::-;;:::i;5827:126::-;;;;;;;;;;-1:-1:-1;5827:126:1;;;;;:::i;:::-;5895:7;5921:25;;;:16;:25;;;;;;;5827:126;535:205:206;637:4;-1:-1:-1;;;;;;660:33:206;;-1:-1:-1;;;660:33:206;;:73;;;697:36;721:11;697:23;:36::i;:::-;653:80;535:205;-1:-1:-1;;535:205:206:o;2471:98:198:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:198;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:198;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:198;:2;-1:-1:-1;;;;;3605:11:198;;3597:57;;;;-1:-1:-1;;;3597:57:198;;9179:2:310;3597:57:198;;;9161:21:310;9218:2;9198:18;;;9191:30;9257:34;9237:18;;;9230:62;-1:-1:-1;;;9308:18:310;;;9301:31;9349:19;;3597:57:198;;;;;;;;;734:10:224;-1:-1:-1;;;;;3686:21:198;;;;:62;;-1:-1:-1;3711:37:198;3728:5;734:10:224;4388:162:198;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:198;;9581:2:310;3665:170:198;;;9563:21:310;9620:2;9600:18;;;9593:30;9659:34;9639:18;;;9632:62;9730:31;9710:18;;;9703:59;9779:19;;3665:170:198;9379:425:310;3665:170:198;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;2839:480:1:-;3011:14;;2984:7;;3011:14;;3003:47;;;;-1:-1:-1;;;3003:47:1;;;;;;;:::i;:::-;3080:10;3069:22;;;;:10;:22;;;;;;;;3068:23;3060:50;;;;-1:-1:-1;;;3060:50:1;;;;;;;:::i;:::-;647:4;3128:14;;:27;3120:48;;;;-1:-1:-1;;;3120:48:1;;;;;;;:::i;:::-;695:9;3186;:24;;3178:57;;;;-1:-1:-1;;;3178:57:1;;11039:2:310;3178:57:1;;;11021:21:310;11078:2;11058:18;;;11051:30;-1:-1:-1;;;11097:18:310;;;11090:50;11157:18;;3178:57:1;10837:344:310;3178:57:1;3253:59;3261:10;3273:4;3279:8;3289:16;3307:4;3253:7;:59::i;:::-;3246:66;2839:480;-1:-1:-1;;;;2839:480:1:o;4612:296:198:-;4771:41;734:10:224;4804:7:198;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:198;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;6480:183:1:-;1094:13:9;:11;:13::i;:::-;6547:21:1::1;6586:11:::0;6578:34:::1;;;::::0;-1:-1:-1;;;6578:34:1;;11802:2:310;6578:34:1::1;::::0;::::1;11784:21:310::0;11841:2;11821:18;;;11814:30;-1:-1:-1;;;11860:18:310;;;11853:40;11910:18;;6578:34:1::1;11600:334:310::0;6578:34:1::1;1273:6:9::0;;6622:34:1::1;::::0;-1:-1:-1;;;;;1273:6:9;;;;6622:34:1;::::1;;;::::0;6648:7;;6622:34:::1;::::0;;;6648:7;1273:6:9;6622:34:1;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;6519:144;6480:183::o:0;4058:428::-;4260:14;;4233:7;;4260:14;;4252:47;;;;-1:-1:-1;;;4252:47:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;4318:14:1;;;;;;:10;:14;;;;;;;;4317:15;4309:42;;;;-1:-1:-1;;;4309:42:1;;;;;;;:::i;:::-;647:4;4369:14;;:27;4361:48;;;;-1:-1:-1;;;4361:48:1;;;;;;;:::i;:::-;4427:52;4435:2;4439:4;4445:8;4455:16;4473:5;4427:7;:52::i;:::-;4420:59;4058:428;-1:-1:-1;;;;;;4058:428:1:o;4974:149:198:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;3387:594:1:-;3589:17;;3562:7;;3589:17;;;;;3581:53;;;;-1:-1:-1;;;3581:53:1;;12141:2:310;3581:53:1;;;12123:21:310;12180:2;12160:18;;;12153:30;12219:25;12199:18;;;12192:53;12262:18;;3581:53:1;11939:347:310;3581:53:1;3664:10;3653:22;;;;:10;:22;;;;;;;;3652:23;3644:50;;;;-1:-1:-1;;;3644:50:1;;;;;;;:::i;:::-;647:4;3712:14;;:27;3704:48;;;;-1:-1:-1;;;3704:48:1;;;;;;;:::i;:::-;3788:28;;-1:-1:-1;;3805:10:1;12440:2:310;12436:15;12432:53;3788:28:1;;;12420:66:310;3763:12:1;;12502::310;;3788:28:1;;;;;;;;;;;;3778:39;;;;;;3763:54;;3835:43;3854:5;;3835:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3861:10:1;;;-1:-1:-1;3873:4:1;;-1:-1:-1;3835:18:1;:43::i;:::-;3827:69;;;;-1:-1:-1;;;3827:69:1;;12727:2:310;3827:69:1;;;12709:21:310;12766:2;12746:18;;;12739:30;-1:-1:-1;;;12785:18:310;;;12778:43;12838:18;;3827:69:1;12525:337:310;3827:69:1;3914:60;3922:10;3934:4;3940:8;3950:16;3968:5;3914:7;:60::i;:::-;3907:67;3387:594;-1:-1:-1;;;;;;;3387:594:1:o;2190:219:198:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:198;;2324:56;;;;-1:-1:-1;;;2324:56:198;;13069:2:310;2324:56:198;;;13051:21:310;13108:2;13088:18;;;13081:30;-1:-1:-1;;;13127:18:310;;;13120:54;13191:18;;2324:56:198;12867:348:310;1617:190:1;1094:13:9;:11;:13::i;:::-;1684:14:1::1;:21:::0;;-1:-1:-1;;1684:21:1::1;::::0;::::1;;::::0;;::::1;::::0;;;;1750:14:::1;::::0;1720:80:::1;::::0;;647:4:::1;13439:25:310::0;;13495:2;13480:18;;13473:34;;;;1684:21:1::1;1766:14:::0;;;13550::310;13543:22;13523:18;;;13516:50;1684:21:1::1;1782:17:::0;;::::1;;13609:14:310::0;13602:22;13597:2;13582:18;;13575:50;1720:80:1::1;::::0;13426:3:310;13411:19;1720:80:1::1;;;;;;;;1617:190:::0;:::o;2365:401::-;2524:14;;2497:7;;2524:14;;2516:47;;;;-1:-1:-1;;;2516:47:1;;;;;;;:::i;:::-;2593:10;2582:22;;;;:10;:22;;;;;;;;2581:23;2573:50;;;;-1:-1:-1;;;2573:50:1;;;;;;;:::i;:::-;647:4;2641:14;;:27;2633:48;;;;-1:-1:-1;;;2633:48:1;;;;;;;:::i;:::-;2699:60;2707:10;2719:4;2725:8;2735:16;2753:5;2699:7;:60::i;1929:204:198:-;2001:7;-1:-1:-1;;;;;2028:19:198;;2020:73;;;;-1:-1:-1;;;2020:73:198;;13838:2:310;2020:73:198;;;13820:21:310;13877:2;13857:18;;;13850:30;13916:34;13896:18;;;13889:62;-1:-1:-1;;;13967:18:310;;;13960:39;14016:19;;2020:73:198;13636:405:310;2020:73:198;-1:-1:-1;;;;;;2110:16:198;;;;;:9;:16;;;;;;;1929:204::o;1824:101:9:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;2015:90:1:-;1094:13:9;:11;:13::i;:::-;2081:10:1::1;:17:::0;2015:90::o;2633:102:198:-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;734:10:224;4296:8:198;4306;4263:18;:52::i;5189:276::-;5319:41;734:10:224;5352:7:198;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:198;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;806:608:206:-;879:13;904:23;919:7;904:14;:23::i;:::-;938;964:19;;;:10;:19;;;;;938:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;993:18;1014:10;3395:9:198;;;;;;;;;-1:-1:-1;3395:9:198;;;3319:92;1014:10:206;993:31;;1103:4;1097:18;1119:1;1097:23;1093:70;;-1:-1:-1;1143:9:206;806:608;-1:-1:-1;;806:608:206:o;1093:70::-;1265:23;;:27;1261:106;;1339:4;1345:9;1322:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1308:48;;;;806:608;;;:::o;1261:106::-;1384:23;1399:7;1384:14;:23::i;2074:198:9:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:9;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:9;;14749:2:310;2154:73:9::1;::::0;::::1;14731:21:310::0;14788:2;14768:18;;;14761:30;14827:34;14807:18;;;14800:62;-1:-1:-1;;;14878:18:310;;;14871:36;14924:19;;2154:73:9::1;14547:402:310::0;2154:73:9::1;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1813:196:1:-;1094:13:9;:11;:13::i;:::-;1883:17:1::1;:24:::0;;-1:-1:-1;;1883:24:1;::::1;;::::0;::::1;;::::0;::::1;::::0;;::::1;::::0;;;;1952:14:::1;::::0;1922:80:::1;::::0;;647:4:::1;13439:25:310::0;;13495:2;13480:18;;13473:34;;;;1883:24:1::1;1968:14:::0;;;;;;;;;;13550::310;13543:22;13523:18;;;13516:50;;;;1984:17:1;;::::1;;13609:14:310::0;13602:22;13597:2;13582:18;;13575:50;1922:80:1::1;::::0;13426:3:310;13411:19;1922:80:1::1;13220:411:310::0;1570:300:198;1672:4;-1:-1:-1;;;;;;1707:40:198;;-1:-1:-1;;;1707:40:198;;:104;;-1:-1:-1;;;;;;;1763:48:198;;-1:-1:-1;;;1763:48:198;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:240;;;1827:36:198;829:155:240;13240:133:198;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:198;13313:53;;;;-1:-1:-1;;;13313:53:198;;13069:2:310;13313:53:198;;;13051:21:310;13108:2;13088:18;;;13081:30;-1:-1:-1;;;13127:18:310;;;13120:54;13191:18;;13313:53:198;12867:348:310;12572:171:198;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:198;-1:-1:-1;;;;;12646:29:198;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:198;;;;;;;;;;;12572:171;;:::o;4492:930:1:-;4794:14;:16;;4775:7;;;4794:16;;;:::i;:::-;;;;-1:-1:-1;;4838:14:1;;;4908:22;4918:2;4838:14;4908:9;:22::i;:::-;-1:-1:-1;;;;;4940:14:1;;;;;;:10;:14;;;;;;;;:21;;4957:4;-1:-1:-1;;4940:21:1;;;;;;;4971:25;;;:16;:25;;;;;:38;;;5019:8;:17;;;;;:25;;;;;;;;;;;;5110:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5090:110;;5210:26;5223:7;5232:3;5210:12;:26::i;:::-;5285:2;-1:-1:-1;;;;;5252:43:1;5273:10;5264:7;5252:43;5289:5;5252:43;;;;747:14:310;740:22;722:41;;710:2;695:18;;582:187;5252:43:1;;;;;;;;5340:14;;5356;;5310:80;;;647:4;13439:25:310;;13495:2;13480:18;;13473:34;;;;5356:14:1;;;;13550::310;13543:22;13523:18;;;13516:50;5356:14:1;5372:17;;;;;;13609:14:310;13602:22;13597:2;13582:18;;13575:50;5310:80:1;;;;;;13426:3:310;5310:80:1;;;-1:-1:-1;5408:7:1;;4492:930;-1:-1:-1;;;;;;;4492:930:1:o;7404:261:198:-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:198;:7;-1:-1:-1;;;;;7570:16:198;;:52;;;-1:-1:-1;;;;;;4508:25:198;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:198;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:198;;7562:96;7404:261;-1:-1:-1;;;;7404:261:198:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:198;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:198;;11346:81;;;;-1:-1:-1;;;11346:81:198;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:198;;11437:65;;;;-1:-1:-1;;;11437:65:198;;15799:2:310;11437:65:198;;;15781:21:310;15838:2;15818:18;;;15811:30;15877:34;15857:18;;;15850:62;-1:-1:-1;;;15928:18:310;;;15921:34;15972:19;;11437:65:198;15597:400:310;11437:65:198;11682:4;-1:-1:-1;;;;;11655:31:198;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:198;;11647:81;;;;-1:-1:-1;;;11647:81:198;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:198;;;;;;-1:-1:-1;;;;;12265:15:198;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:198;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;1359:130:9:-;1273:6;;-1:-1:-1;;;;;1273:6:9;734:10:224;1422:23:9;1414:68;;;;-1:-1:-1;;;1414:68:9;;16204:2:310;1414:68:9;;;16186:21:310;;;16223:18;;;16216:30;16282:34;16262:18;;;16255:62;16334:18;;1414:68:9;16002:356:310;1156:154:234;1247:4;1299;1270:25;1283:5;1290:4;1270:12;:25::i;:::-;:33;;1156:154;-1:-1:-1;;;;1156:154:234:o;2426:187:9:-;2518:6;;;-1:-1:-1;;;;;2534:17:9;;;-1:-1:-1;;;;;;2534:17:9;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;12879:277:198:-;12999:8;-1:-1:-1;;;;;12990:17:198;:5;-1:-1:-1;;;;;12990:17:198;;12982:55;;;;-1:-1:-1;;;12982:55:198;;16565:2:310;12982:55:198;;;16547:21:310;16604:2;16584:18;;;16577:30;16643:27;16623:18;;;16616:55;16688:18;;12982:55:198;16363:349:310;12982:55:198;-1:-1:-1;;;;;13047:25:198;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:198;;;;;;;;;;13108:41;;722::310;;;13108::198;;695:18:310;13108:41:198;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:198;;;;;;;:::i;2801:276::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:198;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:198:o;7995:108::-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;1599:253:206:-;7185:4:198;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:198;1690:75:206;;;;-1:-1:-1;;;1690:75:206;;17338:2:310;1690:75:206;;;17320:21:310;17377:2;17357:18;;;17350:30;17416:34;17396:18;;;17389:62;-1:-1:-1;;;17467:18:310;;;17460:44;17521:19;;1690:75:206;17136:410:310;1690:75:206;1775:19;;;;:10;:19;;;;;:31;1797:9;1775:19;:31;:::i;:::-;-1:-1:-1;1822:23:206;;160:25:310;;;1822:23:206;;148:2:310;133:18;1822:23:206;;;;;;;1599:253;;:::o;1934:290:234:-;2017:7;2059:4;2017:7;2073:116;2097:5;:12;2093:1;:16;2073:116;;;2145:33;2155:12;2169:5;2175:1;2169:8;;;;;;;;:::i;:::-;;;;;;;2145:9;:33::i;:::-;2130:48;-1:-1:-1;2111:3:234;;;;:::i;:::-;;;;2073:116;;;-1:-1:-1;2205:12:234;1934:290;-1:-1:-1;;;1934:290:234:o;13925:831:198:-;14074:4;-1:-1:-1;;;;;14094:13:198;;1702:19:220;:23;14090:660:198;;14129:71;;-1:-1:-1;;;14129:71:198;;-1:-1:-1;;;;;14129:36:198;;;;;:71;;734:10:224;;14180:4:198;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:198;;;;;;;;-1:-1:-1;;14129:71:198;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:198;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:198;-1:-1:-1;;;14250:51:198;;-1:-1:-1;14243:58:198;;14090:660;-1:-1:-1;14735:4:198;13925:831;;;;;;:::o;447:696:230:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:230;-1:-1:-1;604:41:230;-1:-1:-1;765:28:230;;;781:2;765:28;820:280;-1:-1:-1;;851:5:230;-1:-1:-1;;;985:2:230;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:230;820:280;1064:21;-1:-1:-1;1120:6:230;447:696;-1:-1:-1;;;447:696:230:o;8324:279:198:-;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;-1:-1:-1;;;8446:150:198;;;;;;;:::i;9205:147:234:-;9268:7;9298:1;9294;:5;:51;;9426:13;9517:15;;;9552:4;9545:15;;;9598:4;9582:21;;9294:51;;;-1:-1:-1;9426:13:234;9517:15;;;9552:4;9545:15;9598:4;9582:21;;;9205:147::o;10139:916:247:-;10192:7;;-1:-1:-1;;;10267:17:247;;10263:103;;-1:-1:-1;;;10304:17:247;;;-1:-1:-1;10349:2:247;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:247;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:247;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:247;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:247;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:247;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:247:o;8925:920:198:-;-1:-1:-1;;;;;9004:16:198;;8996:61;;;;-1:-1:-1;;;8996:61:198;;20969:2:310;8996:61:198;;;20951:21:310;;;20988:18;;;20981:30;21047:34;21027:18;;;21020:62;21099:18;;8996:61:198;20767:356:310;8996:61:198;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:198;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:198;;21330:2:310;9067:58:198;;;21312:21:310;21369:2;21349:18;;;21342:30;21408;21388:18;;;21381:58;21456:18;;9067:58:198;21128:352:310;9067:58:198;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:198;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:198;;21330:2:310;9271:58:198;;;21312:21:310;21369:2;21349:18;;;21342:30;21408;21388:18;;;21381:58;21456:18;;9271:58:198;21128:352:310;9271:58:198;-1:-1:-1;;;;;9671:13:198;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9710:21:198;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;6622:34:1::1;6519:144;6480:183::o:0;196:131:310:-;-1:-1:-1;;;;;;270:32:310;;260:43;;250:71;;317:1;314;307:12;332:245;390:6;443:2;431:9;422:7;418:23;414:32;411:52;;;459:1;456;449:12;411:52;498:9;485:23;517:30;541:5;517:30;:::i;774:250::-;859:1;869:113;883:6;880:1;877:13;869:113;;;959:11;;;953:18;940:11;;;933:39;905:2;898:10;869:113;;;-1:-1:-1;;1016:1:310;998:16;;991:27;774:250::o;1029:271::-;1071:3;1109:5;1103:12;1136:6;1131:3;1124:19;1152:76;1221:6;1214:4;1209:3;1205:14;1198:4;1191:5;1187:16;1152:76;:::i;:::-;1282:2;1261:15;-1:-1:-1;;1257:29:310;1248:39;;;;1289:4;1244:50;;1029:271;-1:-1:-1;;1029:271:310:o;1305:220::-;1454:2;1443:9;1436:21;1417:4;1474:45;1515:2;1504:9;1500:18;1492:6;1474:45;:::i;1530:180::-;1589:6;1642:2;1630:9;1621:7;1617:23;1613:32;1610:52;;;1658:1;1655;1648:12;1610:52;-1:-1:-1;1681:23:310;;1530:180;-1:-1:-1;1530:180:310:o;1923:173::-;1991:20;;-1:-1:-1;;;;;2040:31:310;;2030:42;;2020:70;;2086:1;2083;2076:12;2020:70;1923:173;;;:::o;2101:254::-;2169:6;2177;2230:2;2218:9;2209:7;2205:23;2201:32;2198:52;;;2246:1;2243;2236:12;2198:52;2269:29;2288:9;2269:29;:::i;:::-;2259:39;2345:2;2330:18;;;;2317:32;;-1:-1:-1;;;2101:254:310:o;2360:127::-;2421:10;2416:3;2412:20;2409:1;2402:31;2452:4;2449:1;2442:15;2476:4;2473:1;2466:15;2492:632;2557:5;2587:18;2628:2;2620:6;2617:14;2614:40;;;2634:18;;:::i;:::-;2709:2;2703:9;2677:2;2763:15;;-1:-1:-1;;2759:24:310;;;2785:2;2755:33;2751:42;2739:55;;;2809:18;;;2829:22;;;2806:46;2803:72;;;2855:18;;:::i;:::-;2895:10;2891:2;2884:22;2924:6;2915:15;;2954:6;2946;2939:22;2994:3;2985:6;2980:3;2976:16;2973:25;2970:45;;;3011:1;3008;3001:12;2970:45;3061:6;3056:3;3049:4;3041:6;3037:17;3024:44;3116:1;3109:4;3100:6;3092;3088:19;3084:30;3077:41;;;;2492:632;;;;;:::o;3129:222::-;3172:5;3225:3;3218:4;3210:6;3206:17;3202:27;3192:55;;3243:1;3240;3233:12;3192:55;3265:80;3341:3;3332:6;3319:20;3312:4;3304:6;3300:17;3265:80;:::i;3356:611::-;3453:6;3461;3469;3522:2;3510:9;3501:7;3497:23;3493:32;3490:52;;;3538:1;3535;3528:12;3490:52;3578:9;3565:23;3607:18;3648:2;3640:6;3637:14;3634:34;;;3664:1;3661;3654:12;3634:34;3687:50;3729:7;3720:6;3709:9;3705:22;3687:50;:::i;:::-;3677:60;;3790:2;3779:9;3775:18;3762:32;3746:48;;3819:2;3809:8;3806:16;3803:36;;;3835:1;3832;3825:12;3803:36;;3858:52;3902:7;3891:8;3880:9;3876:24;3858:52;:::i;:::-;3848:62;;;3957:2;3946:9;3942:18;3929:32;3919:42;;3356:611;;;;;:::o;3972:328::-;4049:6;4057;4065;4118:2;4106:9;4097:7;4093:23;4089:32;4086:52;;;4134:1;4131;4124:12;4086:52;4157:29;4176:9;4157:29;:::i;:::-;4147:39;;4205:38;4239:2;4228:9;4224:18;4205:38;:::i;:::-;4195:48;;4290:2;4279:9;4275:18;4262:32;4252:42;;3972:328;;;;;:::o;4487:186::-;4546:6;4599:2;4587:9;4578:7;4574:23;4570:32;4567:52;;;4615:1;4612;4605:12;4567:52;4638:29;4657:9;4638:29;:::i;4678:160::-;4743:20;;4799:13;;4792:21;4782:32;;4772:60;;4828:1;4825;4818:12;4843:755;4955:6;4963;4971;4979;4987;5040:3;5028:9;5019:7;5015:23;5011:33;5008:53;;;5057:1;5054;5047:12;5008:53;5080:29;5099:9;5080:29;:::i;:::-;5070:39;;5160:2;5149:9;5145:18;5132:32;5183:18;5224:2;5216:6;5213:14;5210:34;;;5240:1;5237;5230:12;5210:34;5263:50;5305:7;5296:6;5285:9;5281:22;5263:50;:::i;:::-;5253:60;;5366:2;5355:9;5351:18;5338:32;5322:48;;5395:2;5385:8;5382:16;5379:36;;;5411:1;5408;5401:12;5379:36;;5434:52;5478:7;5467:8;5456:9;5452:24;5434:52;:::i;:::-;5424:62;;;5533:2;5522:9;5518:18;5505:32;5495:42;;5556:36;5587:3;5576:9;5572:19;5556:36;:::i;:::-;5546:46;;4843:755;;;;;;;;:::o;5603:1084::-;5736:6;5744;5752;5760;5768;5821:3;5809:9;5800:7;5796:23;5792:33;5789:53;;;5838:1;5835;5828:12;5789:53;5878:9;5865:23;5907:18;5948:2;5940:6;5937:14;5934:34;;;5964:1;5961;5954:12;5934:34;5987:50;6029:7;6020:6;6009:9;6005:22;5987:50;:::i;:::-;5977:60;;6090:2;6079:9;6075:18;6062:32;6046:48;;6119:2;6109:8;6106:16;6103:36;;;6135:1;6132;6125:12;6103:36;6158:52;6202:7;6191:8;6180:9;6176:24;6158:52;:::i;:::-;6148:62;;6257:2;6246:9;6242:18;6229:32;6219:42;;6314:2;6303:9;6299:18;6286:32;6270:48;;6343:2;6333:8;6330:16;6327:36;;;6359:1;6356;6349:12;6327:36;6397:8;6386:9;6382:24;6372:34;;6444:7;6437:4;6433:2;6429:13;6425:27;6415:55;;6466:1;6463;6456:12;6415:55;6506:2;6493:16;6532:2;6524:6;6521:14;6518:34;;;6548:1;6545;6538:12;6518:34;6601:7;6596:2;6586:6;6583:1;6579:14;6575:2;6571:23;6567:32;6564:45;6561:65;;;6622:1;6619;6612:12;6561:65;5603:1084;;;;-1:-1:-1;5603:1084:310;;-1:-1:-1;6653:2:310;6645:11;;6675:6;5603:1084;-1:-1:-1;;;5603:1084:310:o;6692:180::-;6748:6;6801:2;6789:9;6780:7;6776:23;6772:32;6769:52;;;6817:1;6814;6807:12;6769:52;6840:26;6856:9;6840:26;:::i;7062:254::-;7127:6;7135;7188:2;7176:9;7167:7;7163:23;7159:32;7156:52;;;7204:1;7201;7194:12;7156:52;7227:29;7246:9;7227:29;:::i;:::-;7217:39;;7275:35;7306:2;7295:9;7291:18;7275:35;:::i;:::-;7265:45;;7062:254;;;;;:::o;7655:667::-;7750:6;7758;7766;7774;7827:3;7815:9;7806:7;7802:23;7798:33;7795:53;;;7844:1;7841;7834:12;7795:53;7867:29;7886:9;7867:29;:::i;:::-;7857:39;;7915:38;7949:2;7938:9;7934:18;7915:38;:::i;:::-;7905:48;;8000:2;7989:9;7985:18;7972:32;7962:42;;8055:2;8044:9;8040:18;8027:32;8082:18;8074:6;8071:30;8068:50;;;8114:1;8111;8104:12;8068:50;8137:22;;8190:4;8182:13;;8178:27;-1:-1:-1;8168:55:310;;8219:1;8216;8209:12;8168:55;8242:74;8308:7;8303:2;8290:16;8285:2;8281;8277:11;8242:74;:::i;:::-;8232:84;;;7655:667;;;;;;;:::o;8327:260::-;8395:6;8403;8456:2;8444:9;8435:7;8431:23;8427:32;8424:52;;;8472:1;8469;8462:12;8424:52;8495:29;8514:9;8495:29;:::i;:::-;8485:39;;8543:38;8577:2;8566:9;8562:18;8543:38;:::i;8592:380::-;8671:1;8667:12;;;;8714;;;8735:61;;8789:4;8781:6;8777:17;8767:27;;8735:61;8842:2;8834:6;8831:14;8811:18;8808:38;8805:161;;8888:10;8883:3;8879:20;8876:1;8869:31;8923:4;8920:1;8913:15;8951:4;8948:1;8941:15;8805:161;;8592:380;;;:::o;9809:344::-;10011:2;9993:21;;;10050:2;10030:18;;;10023:30;-1:-1:-1;;;10084:2:310;10069:18;;10062:50;10144:2;10129:18;;9809:344::o;10158:338::-;10360:2;10342:21;;;10399:2;10379:18;;;10372:30;-1:-1:-1;;;10433:2:310;10418:18;;10411:44;10487:2;10472:18;;10158:338::o;10501:331::-;10703:2;10685:21;;;10742:1;10722:18;;;10715:29;-1:-1:-1;;;10775:2:310;10760:18;;10753:38;10823:2;10808:18;;10501:331::o;11186:409::-;11388:2;11370:21;;;11427:2;11407:18;;;11400:30;11466:34;11461:2;11446:18;;11439:62;-1:-1:-1;;;11532:2:310;11517:18;;11510:43;11585:3;11570:19;;11186:409::o;14046:496::-;14225:3;14263:6;14257:13;14279:66;14338:6;14333:3;14326:4;14318:6;14314:17;14279:66;:::i;:::-;14408:13;;14367:16;;;;14430:70;14408:13;14367:16;14477:4;14465:17;;14430:70;:::i;:::-;14516:20;;14046:496;-1:-1:-1;;;;14046:496:310:o;14954:232::-;14993:3;15014:17;;;15011:140;;15073:10;15068:3;15064:20;15061:1;15054:31;15108:4;15105:1;15098:15;15136:4;15133:1;15126:15;15011:140;-1:-1:-1;15178:1:310;15167:13;;14954:232::o;15191:401::-;15393:2;15375:21;;;15432:2;15412:18;;;15405:30;15471:34;15466:2;15451:18;;15444:62;-1:-1:-1;;;15537:2:310;15522:18;;15515:35;15582:3;15567:19;;15191:401::o;16717:414::-;16919:2;16901:21;;;16958:2;16938:18;;;16931:30;16997:34;16992:2;16977:18;;16970:62;-1:-1:-1;;;17063:2:310;17048:18;;17041:48;17121:3;17106:19;;16717:414::o;17677:545::-;17779:2;17774:3;17771:11;17768:448;;;17815:1;17840:5;17836:2;17829:17;17885:4;17881:2;17871:19;17955:2;17943:10;17939:19;17936:1;17932:27;17926:4;17922:38;17991:4;17979:10;17976:20;17973:47;;;-1:-1:-1;18014:4:310;17973:47;18069:2;18064:3;18060:12;18057:1;18053:20;18047:4;18043:31;18033:41;;18124:82;18142:2;18135:5;18132:13;18124:82;;;18187:17;;;18168:1;18157:13;18124:82;;;18128:3;;;17677:545;;;:::o;18398:1352::-;18524:3;18518:10;18551:18;18543:6;18540:30;18537:56;;;18573:18;;:::i;:::-;18602:97;18692:6;18652:38;18684:4;18678:11;18652:38;:::i;:::-;18646:4;18602:97;:::i;:::-;18754:4;;18818:2;18807:14;;18835:1;18830:663;;;;19537:1;19554:6;19551:89;;;-1:-1:-1;19606:19:310;;;19600:26;19551:89;-1:-1:-1;;18355:1:310;18351:11;;;18347:24;18343:29;18333:40;18379:1;18375:11;;;18330:57;19653:81;;18800:944;;18830:663;17624:1;17617:14;;;17661:4;17648:18;;-1:-1:-1;;18866:20:310;;;18984:236;18998:7;18995:1;18992:14;18984:236;;;19087:19;;;19081:26;19066:42;;19179:27;;;;19147:1;19135:14;;;;19014:19;;18984:236;;;18988:3;19248:6;19239:7;19236:19;19233:201;;;19309:19;;;19303:26;-1:-1:-1;;19392:1:310;19388:14;;;19404:3;19384:24;19380:37;19376:42;19361:58;19346:74;;19233:201;-1:-1:-1;;;;;19480:1:310;19464:14;;;19460:22;19447:36;;-1:-1:-1;18398:1352:310:o;19755:127::-;19816:10;19811:3;19807:20;19804:1;19797:31;19847:4;19844:1;19837:15;19871:4;19868:1;19861:15;19887:489;-1:-1:-1;;;;;20156:15:310;;;20138:34;;20208:15;;20203:2;20188:18;;20181:43;20255:2;20240:18;;20233:34;;;20303:3;20298:2;20283:18;;20276:31;;;20081:4;;20324:46;;20350:19;;20342:6;20324:46;:::i;20381:249::-;20450:6;20503:2;20491:9;20482:7;20478:23;20474:32;20471:52;;;20519:1;20516;20509:12;20471:52;20551:9;20545:16;20570:30;20594:5;20570:30;:::i","linkReferences":{}},"methodIdentifiers":{"MAX_SUPPLY()":"32cb6b0c","SHINY_PRICE()":"0179246e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","currentSupply()":"771282f6","getAgentMintNumber(uint256)":"fff975bb","getApproved(uint256)":"081812fc","getCollectionDetails()":"b3ff78c1","hasMinted(address)":"38e21cce","isApprovedForAll(address,address)":"e985e9c5","isShiny(uint256)":"22fa1d85","merkleRoot()":"2eb4a7ab","mint(string,string,bytes32)":"68a397c0","mintFor(address,string,string,bytes32,bool)":"3e4771a3","mintShiny(string,string,bytes32)":"234d2f0f","mintWhitelist(string,string,bytes32,bytes32[])":"4ccb6c11","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","publicMintOpen()":"bcc9ca5b","renounceOwnership()":"715018a6","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setMerkleRoot(bytes32)":"7cb64759","setPublicMintOpen(bool)":"6387f804","setWhitelistMintOpen(bool)":"fade63c9","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","whitelistMintOpen()":"52436f20","withdraw()":"3ccfd60b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"agentId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"mintNumber\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"shiny\",\"type\":\"bool\"}],\"name\":\"AgentMinted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxSupply\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"currentSupply\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"publicOpen\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"whitelistOpen\",\"type\":\"bool\"}],\"name\":\"CollectionUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_SUPPLY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SHINY_PRICE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getAgentMintNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCollectionDetails\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"publicOpen\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"hasMinted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"isShiny\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"merkleRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"endpoint\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"capabilitiesHash\",\"type\":\"bytes32\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"endpoint\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"capabilitiesHash\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"shiny\",\"type\":\"bool\"}],\"name\":\"mintFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"endpoint\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"capabilitiesHash\",\"type\":\"bytes32\"}],\"name\":\"mintShiny\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"endpoint\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"capabilitiesHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"mintWhitelist\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"publicMintOpen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}],\"name\":\"setMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"open\",\"type\":\"bool\"}],\"name\":\"setPublicMintOpen\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"open\",\"type\":\"bool\"}],\"name\":\"setWhitelistMintOpen\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whitelistMintOpen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Mock ERC-8041 fixed-supply collection for testing. Implements the core interface expected by DropService: - Public free mint (user pays gas) - Shiny mint (0.1 ETH + gas) - Whitelist mint (Merkle proof) - Supply tracking\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"mint(string,string,bytes32)\":{\"details\":\"Public free mint (one per address).\"},\"mintFor(address,string,string,bytes32,bool)\":{\"details\":\"Mint for another address (delegated mint).\"},\"mintShiny(string,string,bytes32)\":{\"details\":\"Shiny mint (0.1 ETH, one per address).\"},\"mintWhitelist(string,string,bytes32,bytes32[])\":{\"details\":\"Whitelist mint with Merkle proof.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"MockMiladyCollection\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"MockMiladyCollection.sol\":\"MockMiladyCollection\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"MockMiladyCollection.sol\":{\"keccak256\":\"0xf98ba6ebc5dc459bbe94d64c02bda27a298b21c1c5f4ff57431bcfd3926cc883\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53c8ce986f499bfdeb1ed1b5e1a41be1eb7e090de2def40945f221335d3ed177\",\"dweb:/ipfs/QmRdn9nGKfKJPn2okD2QWeDorJLzxJ63EJrg5A6DE6FE3U\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0xcf688741f79f4838d5301dcf72d0af9eff11bbab6ab0bb112ad144c7fb672dac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d9c87a481fe99fd28a146c205da0867ef7e1b7edbe0036abc86d2e64eb1f04\",\"dweb:/ipfs/QmR7m1zWQNfZHUKTtqnjoCjCBbNFcjCxV27rxf6iMfhVtG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"agentId","type":"uint256","indexed":true},{"internalType":"uint256","name":"mintNumber","type":"uint256","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"bool","name":"shiny","type":"bool","indexed":false}],"type":"event","name":"AgentMinted","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_fromTokenId","type":"uint256","indexed":false},{"internalType":"uint256","name":"_toTokenId","type":"uint256","indexed":false}],"type":"event","name":"BatchMetadataUpdate","anonymous":false},{"inputs":[{"internalType":"uint256","name":"maxSupply","type":"uint256","indexed":false},{"internalType":"uint256","name":"currentSupply","type":"uint256","indexed":false},{"internalType":"bool","name":"publicOpen","type":"bool","indexed":false},{"internalType":"bool","name":"whitelistOpen","type":"bool","indexed":false}],"type":"event","name":"CollectionUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"MetadataUpdate","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SHINY_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAgentMintNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCollectionDetails","outputs":[{"internalType":"uint256","name":"maxSupply","type":"uint256"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bool","name":"publicOpen","type":"bool"}]},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"stateMutability":"view","type":"function","name":"hasMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isShiny","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"endpoint","type":"string"},{"internalType":"bytes32","name":"capabilitiesHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"endpoint","type":"string"},{"internalType":"bytes32","name":"capabilitiesHash","type":"bytes32"},{"internalType":"bool","name":"shiny","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"mintFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"endpoint","type":"string"},{"internalType":"bytes32","name":"capabilitiesHash","type":"bytes32"}],"stateMutability":"payable","type":"function","name":"mintShiny","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"endpoint","type":"string"},{"internalType":"bytes32","name":"capabilitiesHash","type":"bytes32"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"mintWhitelist","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"publicMintOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setMerkleRoot"},{"inputs":[{"internalType":"bool","name":"open","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPublicMintOpen"},{"inputs":[{"internalType":"bool","name":"open","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setWhitelistMintOpen"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"whitelistMintOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"withdraw"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"mint(string,string,bytes32)":{"details":"Public free mint (one per address)."},"mintFor(address,string,string,bytes32,bool)":{"details":"Mint for another address (delegated mint)."},"mintShiny(string,string,bytes32)":{"details":"Shiny mint (0.1 ETH, one per address)."},"mintWhitelist(string,string,bytes32,bytes32[])":{"details":"Whitelist mint with Merkle proof."},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}"},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"MockMiladyCollection.sol":"MockMiladyCollection"},"evmVersion":"shanghai","libraries":{}},"sources":{"MockMiladyCollection.sol":{"keccak256":"0xf98ba6ebc5dc459bbe94d64c02bda27a298b21c1c5f4ff57431bcfd3926cc883","urls":["bzz-raw://53c8ce986f499bfdeb1ed1b5e1a41be1eb7e090de2def40945f221335d3ed177","dweb:/ipfs/QmRdn9nGKfKJPn2okD2QWeDorJLzxJ63EJrg5A6DE6FE3U"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a","urls":["bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb","dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol":{"keccak256":"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4","urls":["bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6","dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol":{"keccak256":"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c","urls":["bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8","dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol":{"keccak256":"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff","urls":["bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005","dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol":{"keccak256":"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37","urls":["bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f","dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol":{"keccak256":"0xcf688741f79f4838d5301dcf72d0af9eff11bbab6ab0bb112ad144c7fb672dac","urls":["bzz-raw://85d9c87a481fe99fd28a146c205da0867ef7e1b7edbe0036abc86d2e64eb1f04","dweb:/ipfs/QmR7m1zWQNfZHUKTtqnjoCjCBbNFcjCxV27rxf6iMfhVtG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"id":1}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"multicall","inputs":[{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"results","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"multicall(bytes[])":"ac9650d8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Provides a function to batch together multiple calls in a single external call. Consider any assumption about calldata validation performed by the sender may be violated if it's not especially careful about sending transactions invoking {multicall}. For example, a relay address that filters function selectors won't filter calls nested within a {multicall} operation. NOTE: Since 5.0.1 and 4.9.4, this contract identifies non-canonical contexts (i.e. `msg.sender` is not {_msgSender}). If a non-canonical context is identified, the following self `delegatecall` appends the last bytes of `msg.data` to the subcall. This makes it safe to use with {ERC2771Context}. Contexts that don't affect the resolution of {_msgSender} are not propagated to subcalls. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"multicall(bytes[])\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Receives and executes a batch of function calls on this contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Multicall.sol\":\"Multicall\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/Multicall.sol\":{\"keccak256\":\"0xebb546d772e9adda99ec85b6224bcbfb2a1238f26bd2e0f9610e7eff580e4aa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acbb946122013b140ec5157ac80346956d74774c7ea721e0058f305de03a7151\",\"dweb:/ipfs/QmaYmWD5pGLhD4SbL4we44rLCGym2tLgdUf3E9vjgZHg9b\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"multicall","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}]}],"devdoc":{"kind":"dev","methods":{"multicall(bytes[])":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Receives and executes a batch of function calls on this contract."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/utils/Multicall.sol":"Multicall"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Multicall.sol":{"keccak256":"0xebb546d772e9adda99ec85b6224bcbfb2a1238f26bd2e0f9610e7eff580e4aa0","urls":["bzz-raw://acbb946122013b140ec5157ac80346956d74774c7ea721e0058f305de03a7151","dweb:/ipfs/QmaYmWD5pGLhD4SbL4we44rLCGym2tLgdUf3E9vjgZHg9b"],"license":"MIT"}},"version":1},"id":227}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"checkReturnValues","inputs":[{"name":"multicallToken","type":"address","internalType":"contract ERC20MulticallMock"},{"name":"recipients","type":"address[]","internalType":"address[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5061059c8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063b568d0161461002d575b5f80fd5b61004061003b366004610283565b610042565b005b5f8367ffffffffffffffff81111561005c5761005c610300565b60405190808252806020026020018201604052801561008f57816020015b606081526020019060019003908161007a5790505b5090505f5b84811015610155578585828181106100ae576100ae610314565b90506020020160208101906100c39190610328565b8484838181106100d5576100d5610314565b6040516001600160a01b039094166024850152602002919091013560448301525060640160408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052825183908390811061013757610137610314565b6020026020010181905250808061014d9061034a565b915050610094565b50604051631592ca1b60e31b81525f906001600160a01b0388169063ac9650d890610184908590600401610390565b5f604051808303815f875af115801561019f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526101c69190810190610439565b90505f5b815181101561021a578181815181106101e5576101e5610314565b60200260200101518060200190518101906102009190610547565b610208575f80fd5b806102128161034a565b9150506101ca565b5050505050505050565b6001600160a01b0381168114610238575f80fd5b50565b5f8083601f84011261024b575f80fd5b50813567ffffffffffffffff811115610262575f80fd5b6020830191508360208260051b850101111561027c575f80fd5b9250929050565b5f805f805f60608688031215610297575f80fd5b85356102a281610224565b9450602086013567ffffffffffffffff808211156102be575f80fd5b6102ca89838a0161023b565b909650945060408801359150808211156102e2575f80fd5b506102ef8882890161023b565b969995985093965092949392505050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610338575f80fd5b813561034381610224565b9392505050565b5f6001820161036757634e487b7160e01b5f52601160045260245ffd5b5060010190565b5f5b83811015610388578181015183820152602001610370565b50505f910152565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b828110156103fb57878503603f19018452815180518087526103dc818989018a850161036e565b601f01601f1916959095018601945092850192908501906001016103b5565b5092979650505050505050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561043157610431610300565b604052919050565b5f602080838503121561044a575f80fd5b825167ffffffffffffffff80821115610461575f80fd5b8185019150601f8681840112610475575f80fd5b82518281111561048757610487610300565b8060051b610496868201610408565b918252848101860191868101908a8411156104af575f80fd5b87870192505b83831015610539578251868111156104cc575f8081fd5b8701603f81018c136104dd575f8081fd5b888101516040888211156104f3576104f3610300565b610504828901601f19168c01610408565b8281528e82848601011115610518575f8081fd5b610527838d830184870161036e565b855250505091870191908701906104b5565b9a9950505050505050505050565b5f60208284031215610557575f80fd5b81518015158114610343575f80fdfea2646970667358221220941cd754267b905221c89483ffe9affae36326143cb06fc87e7ae1528c2185e464736f6c63430008140033","sourceMap":"100:618:97:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063b568d0161461002d575b5f80fd5b61004061003b366004610283565b610042565b005b5f8367ffffffffffffffff81111561005c5761005c610300565b60405190808252806020026020018201604052801561008f57816020015b606081526020019060019003908161007a5790505b5090505f5b84811015610155578585828181106100ae576100ae610314565b90506020020160208101906100c39190610328565b8484838181106100d5576100d5610314565b6040516001600160a01b039094166024850152602002919091013560448301525060640160408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052825183908390811061013757610137610314565b6020026020010181905250808061014d9061034a565b915050610094565b50604051631592ca1b60e31b81525f906001600160a01b0388169063ac9650d890610184908590600401610390565b5f604051808303815f875af115801561019f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526101c69190810190610439565b90505f5b815181101561021a578181815181106101e5576101e5610314565b60200260200101518060200190518101906102009190610547565b610208575f80fd5b806102128161034a565b9150506101ca565b5050505050505050565b6001600160a01b0381168114610238575f80fd5b50565b5f8083601f84011261024b575f80fd5b50813567ffffffffffffffff811115610262575f80fd5b6020830191508360208260051b850101111561027c575f80fd5b9250929050565b5f805f805f60608688031215610297575f80fd5b85356102a281610224565b9450602086013567ffffffffffffffff808211156102be575f80fd5b6102ca89838a0161023b565b909650945060408801359150808211156102e2575f80fd5b506102ef8882890161023b565b969995985093965092949392505050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610338575f80fd5b813561034381610224565b9392505050565b5f6001820161036757634e487b7160e01b5f52601160045260245ffd5b5060010190565b5f5b83811015610388578181015183820152602001610370565b50505f910152565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b828110156103fb57878503603f19018452815180518087526103dc818989018a850161036e565b601f01601f1916959095018601945092850192908501906001016103b5565b5092979650505050505050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561043157610431610300565b604052919050565b5f602080838503121561044a575f80fd5b825167ffffffffffffffff80821115610461575f80fd5b8185019150601f8681840112610475575f80fd5b82518281111561048757610487610300565b8060051b610496868201610408565b918252848101860191868101908a8411156104af575f80fd5b87870192505b83831015610539578251868111156104cc575f8081fd5b8701603f81018c136104dd575f8081fd5b888101516040888211156104f3576104f3610300565b610504828901601f19168c01610408565b8281528e82848601011115610518575f8081fd5b610527838d830184870161036e565b855250505091870191908701906104b5565b9a9950505050505050505050565b5f60208284031215610557575f80fd5b81518015158114610343575f80fdfea2646970667358221220941cd754267b905221c89483ffe9affae36326143cb06fc87e7ae1528c2185e464736f6c63430008140033","sourceMap":"100:618:97:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;129:587;;;;;;:::i;:::-;;:::i;:::-;;;299:20;334:10;322:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;299:53;;367:9;362:163;382:21;;;362:163;;;488:10;;499:1;488:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;503:7;;511:1;503:10;;;;;;;:::i;:::-;435:79;;-1:-1:-1;;;;;2231:32:310;;;435:79:97;;;2213:51:310;503:10:97;;;;;;;2280:18:310;;;2273:34;-1:-1:-1;2186:18:310;;435:79:97;;;-1:-1:-1;;435:79:97;;;;;;;;;;;;;;-1:-1:-1;;;;;435:79:97;-1:-1:-1;;;435:79:97;;;424:8;;:5;;430:1;;424:8;;;;;;:::i;:::-;;;;;;:90;;;;405:3;;;;;:::i;:::-;;;;362:163;;;-1:-1:-1;560:31:97;;-1:-1:-1;;;560:31:97;;535:22;;-1:-1:-1;;;;;560:24:97;;;;;:31;;585:5;;560:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;560:31:97;;;;;;;;;;;;:::i;:::-;535:56;;606:9;601:109;625:7;:14;621:1;:18;601:109;;;679:7;687:1;679:10;;;;;;;;:::i;:::-;;;;;;;668:30;;;;;;;;;;;;:::i;:::-;660:39;;;;;;641:3;;;;:::i;:::-;;;;601:109;;;;289:427;;129:587;;;;;:::o;14:151:310:-;-1:-1:-1;;;;;109:31:310;;99:42;;89:70;;155:1;152;145:12;89:70;14:151;:::o;170:367::-;233:8;243:6;297:3;290:4;282:6;278:17;274:27;264:55;;315:1;312;305:12;264:55;-1:-1:-1;338:20:310;;381:18;370:30;;367:50;;;413:1;410;403:12;367:50;450:4;442:6;438:17;426:29;;510:3;503:4;493:6;490:1;486:14;478:6;474:27;470:38;467:47;464:67;;;527:1;524;517:12;464:67;170:367;;;;;:::o;542:956::-;701:6;709;717;725;733;786:2;774:9;765:7;761:23;757:32;754:52;;;802:1;799;792:12;754:52;841:9;828:23;860:51;905:5;860:51;:::i;:::-;930:5;-1:-1:-1;986:2:310;971:18;;958:32;1009:18;1039:14;;;1036:34;;;1066:1;1063;1056:12;1036:34;1105:70;1167:7;1158:6;1147:9;1143:22;1105:70;:::i;:::-;1194:8;;-1:-1:-1;1079:96:310;-1:-1:-1;1282:2:310;1267:18;;1254:32;;-1:-1:-1;1298:16:310;;;1295:36;;;1327:1;1324;1317:12;1295:36;;1366:72;1430:7;1419:8;1408:9;1404:24;1366:72;:::i;:::-;542:956;;;;-1:-1:-1;542:956:310;;-1:-1:-1;1457:8:310;;1340:98;542:956;-1:-1:-1;;;542:956:310:o;1503:127::-;1564:10;1559:3;1555:20;1552:1;1545:31;1595:4;1592:1;1585:15;1619:4;1616:1;1609:15;1635:127;1696:10;1691:3;1687:20;1684:1;1677:31;1727:4;1724:1;1717:15;1751:4;1748:1;1741:15;1767:267;1826:6;1879:2;1867:9;1858:7;1854:23;1850:32;1847:52;;;1895:1;1892;1885:12;1847:52;1934:9;1921:23;1953:51;1998:5;1953:51;:::i;:::-;2023:5;1767:267;-1:-1:-1;;;1767:267:310:o;2318:232::-;2357:3;2378:17;;;2375:140;;2437:10;2432:3;2428:20;2425:1;2418:31;2472:4;2469:1;2462:15;2500:4;2497:1;2490:15;2375:140;-1:-1:-1;2542:1:310;2531:13;;2318:232::o;2555:250::-;2640:1;2650:113;2664:6;2661:1;2658:13;2650:113;;;2740:11;;;2734:18;2721:11;;;2714:39;2686:2;2679:10;2650:113;;;-1:-1:-1;;2797:1:310;2779:16;;2772:27;2555:250::o;2810:1012::-;2970:4;2999:2;3039;3028:9;3024:18;3069:2;3058:9;3051:21;3092:6;3127;3121:13;3158:6;3150;3143:22;3196:2;3185:9;3181:18;3174:25;;3258:2;3248:6;3245:1;3241:14;3230:9;3226:30;3222:39;3208:53;;3296:2;3288:6;3284:15;3317:1;3327:466;3341:6;3338:1;3335:13;3327:466;;;3406:22;;;-1:-1:-1;;3402:36:310;3390:49;;3462:13;;3504:9;;3526:24;;;3563:74;3504:9;3611:15;;;3598:11;;;3563:74;:::i;:::-;3703:2;3680:17;-1:-1:-1;;3676:31:310;3664:44;;;;3660:53;;;-1:-1:-1;3771:12:310;;;;3736:15;;;;3363:1;3356:9;3327:466;;;-1:-1:-1;3810:6:310;;2810:1012;-1:-1:-1;;;;;;;2810:1012:310:o;3827:275::-;3898:2;3892:9;3963:2;3944:13;;-1:-1:-1;;3940:27:310;3928:40;;3998:18;3983:34;;4019:22;;;3980:62;3977:88;;;4045:18;;:::i;:::-;4081:2;4074:22;3827:275;;-1:-1:-1;3827:275:310:o;4107:1754::-;4211:6;4242:2;4285;4273:9;4264:7;4260:23;4256:32;4253:52;;;4301:1;4298;4291:12;4253:52;4334:9;4328:16;4363:18;4404:2;4396:6;4393:14;4390:34;;;4420:1;4417;4410:12;4390:34;4458:6;4447:9;4443:22;4433:32;;4484:4;4524:7;4519:2;4515;4511:11;4507:25;4497:53;;4546:1;4543;4536:12;4497:53;4575:2;4569:9;4597:2;4593;4590:10;4587:36;;;4603:18;;:::i;:::-;4649:2;4646:1;4642:10;4672:28;4696:2;4692;4688:11;4672:28;:::i;:::-;4734:15;;;4804:11;;;4800:20;;;4765:12;;;;4832:19;;;4829:39;;;4864:1;4861;4854:12;4829:39;4896:2;4892;4888:11;4877:22;;4908:923;4924:6;4919:3;4916:15;4908:923;;;5003:3;4997:10;5039:2;5026:11;5023:19;5020:109;;;5083:1;5112:2;5108;5101:14;5020:109;5152:20;;5207:2;5199:11;;5195:25;-1:-1:-1;5185:123:310;;5262:1;5291:2;5287;5280:14;5185:123;5346:2;5342;5338:11;5332:18;5374:2;5400;5395:3;5392:11;5389:37;;;5406:18;;:::i;:::-;5452:52;5476:12;;;-1:-1:-1;;5472:26:310;5468:35;;5452:52;:::i;:::-;5531:3;5524:5;5517:18;5578:7;5572:3;5566;5562:2;5558:12;5554:22;5551:35;5548:128;;;5628:1;5658:3;5653;5646:16;5548:128;5689:69;5754:3;5749:2;5742:5;5738:14;5732:3;5728:2;5724:12;5689:69;:::i;:::-;5771:18;;-1:-1:-1;;;4941:12:310;;;;5809;;;;4908:923;;;5850:5;4107:1754;-1:-1:-1;;;;;;;;;;4107:1754:310:o;5866:277::-;5933:6;5986:2;5974:9;5965:7;5961:23;5957:32;5954:52;;;6002:1;5999;5992:12;5954:52;6034:9;6028:16;6087:5;6080:13;6073:21;6066:5;6063:32;6053:60;;6109:1;6106;6099:12","linkReferences":{}},"methodIdentifiers":{"checkReturnValues(address,address[],uint256[])":"b568d016"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ERC20MulticallMock\",\"name\":\"multicallToken\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"recipients\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"checkReturnValues\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol\":\"MulticallTest\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol\":{\"keccak256\":\"0x1c6a51c22d196938f1873d6fe17f8bcc64aa5c62b79cb0246aa49a29eca6a54b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1ff13428b522d90ea334f7fee075fc970fe2d9493c0ba7b68e298d4176f5149\",\"dweb:/ipfs/QmTB8jZCjVKP8Q5WLRSLbjPtXGB4gm3ooC4iN9LC9WbuH5\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol\":{\"keccak256\":\"0xbeecd13787e31fb81da5f6758aa42a44860ff1aef263fcf3e14b6e2409ef114e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa5a3a47c27cdaa0f5a74485045b8b5b0521cdc80c39e7236fe2fe115b4dd714\",\"dweb:/ipfs/QmRNG7k7D43np5fod9kSaPF2WmnqUxfjx7myV8CpxkeBmM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/Multicall.sol\":{\"keccak256\":\"0xebb546d772e9adda99ec85b6224bcbfb2a1238f26bd2e0f9610e7eff580e4aa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acbb946122013b140ec5157ac80346956d74774c7ea721e0058f305de03a7151\",\"dweb:/ipfs/QmaYmWD5pGLhD4SbL4we44rLCGym2tLgdUf3E9vjgZHg9b\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract ERC20MulticallMock","name":"multicallToken","type":"address"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"checkReturnValues"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol":"MulticallTest"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol":{"keccak256":"0x1c6a51c22d196938f1873d6fe17f8bcc64aa5c62b79cb0246aa49a29eca6a54b","urls":["bzz-raw://b1ff13428b522d90ea334f7fee075fc970fe2d9493c0ba7b68e298d4176f5149","dweb:/ipfs/QmTB8jZCjVKP8Q5WLRSLbjPtXGB4gm3ooC4iN9LC9WbuH5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol":{"keccak256":"0xbeecd13787e31fb81da5f6758aa42a44860ff1aef263fcf3e14b6e2409ef114e","urls":["bzz-raw://aa5a3a47c27cdaa0f5a74485045b8b5b0521cdc80c39e7236fe2fe115b4dd714","dweb:/ipfs/QmRNG7k7D43np5fod9kSaPF2WmnqUxfjx7myV8CpxkeBmM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Multicall.sol":{"keccak256":"0xebb546d772e9adda99ec85b6224bcbfb2a1238f26bd2e0f9610e7eff580e4aa0","urls":["bzz-raw://acbb946122013b140ec5157ac80346956d74774c7ea721e0058f305de03a7151","dweb:/ipfs/QmaYmWD5pGLhD4SbL4we44rLCGym2tLgdUf3E9vjgZHg9b"],"license":"MIT"}},"version":1},"id":97}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"child","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"father","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"gramps","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_mother","type":"uint256","internalType":"uint256"},{"name":"_gramps","type":"string","internalType":"string"},{"name":"_father","type":"uint256","internalType":"uint256"},{"name":"_child","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_gramps","type":"string","internalType":"string"},{"name":"_father","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isHuman","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mother","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b50610b458061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c80638beaf7d7116100635780638beaf7d714610103578063ed7dfee314610116578063f62d18881461011f578063fa39851f14610132578063fe4b84df14610147575f80fd5b80631c8aca3b1461009f578063237b5e96146100bb5780634a6c9db6146100c45780636f2edbd2146100e65780638129fc1c146100fb575b5f80fd5b6100a860035481565b6040519081526020015b60405180910390f35b6100a860045481565b5f546100d69062010000900460ff1681565b60405190151581526020016100b2565b6100f96100f43660046107e4565b61015a565b005b6100f961021c565b6100f9610111366004610837565b6102cd565b6100a860015481565b6100f961012d366004610879565b610382565b61013a610435565b6040516100b291906108b3565b6100f96101553660046108fe565b6104c1565b5f54610100900460ff161580801561017857505f54600160ff909116105b806101915750303b15801561019157505f5460ff166001145b6101b65760405162461bcd60e51b81526004016101ad90610915565b60405180910390fd5b5f805460ff1916600117905580156101d7575f805461ff0019166101001790555b6101e38585858561053e565b8015610215575f805461ff0019169055604051600181525f80516020610af08339815191529060200160405180910390a15b5050505050565b5f54610100900460ff161580801561023a57505f54600160ff909116105b806102535750303b15801561025357505f5460ff166001145b61026f5760405162461bcd60e51b81526004016101ad90610915565b5f805460ff191660011790558015610290575f805461ff0019166101001790555b610298610586565b80156102ca575f805461ff0019169055604051600181525f80516020610af08339815191529060200160405180910390a15b50565b5f54610100900460ff16158080156102eb57505f54600160ff909116105b806103045750303b15801561030457505f5460ff166001145b6103205760405162461bcd60e51b81526004016101ad90610915565b5f805460ff191660011790558015610341575f805461ff0019166101001790555b61034b83836105b6565b801561037d575f805461ff0019169055604051600181525f80516020610af08339815191529060200160405180910390a15b505050565b5f54610100900460ff16158080156103a057505f54600160ff909116105b806103b95750303b1580156103b957505f5460ff166001145b6103d55760405162461bcd60e51b81526004016101ad90610915565b5f805460ff1916600117905580156103f6575f805461ff0019166101001790555b6103ff826105ee565b8015610431575f805461ff0019169055604051600181525f80516020610af08339815191529060200160405180910390a15b5050565b6002805461044290610963565b80601f016020809104026020016040519081016040528092919081815260200182805461046e90610963565b80156104b95780601f10610490576101008083540402835291602001916104b9565b820191905f5260205f20905b81548152906001019060200180831161049c57829003601f168201915b505050505081565b5f54610100900460ff16158080156104df57505f54600160ff909116105b806104f85750303b1580156104f857505f5460ff166001145b6105145760405162461bcd60e51b81526004016101ad90610915565b5f805460ff191660011790558015610535575f805461ff0019166101001790555b6103ff82610625565b5f54610100900460ff166105645760405162461bcd60e51b81526004016101ad9061099b565b61056d84610625565b61057783836105b6565b6105808161065c565b50505050565b5f54610100900460ff166105ac5760405162461bcd60e51b81526004016101ad9061099b565b6105b4610687565b565b5f54610100900460ff166105dc5760405162461bcd60e51b81526004016101ad9061099b565b6105e5826105ee565b610431816106bf565b5f54610100900460ff166106145760405162461bcd60e51b81526004016101ad9061099b565b61061c610586565b6102ca816106ea565b5f54610100900460ff1661064b5760405162461bcd60e51b81526004016101ad9061099b565b610653610586565b6102ca8161071c565b5f54610100900460ff166106825760405162461bcd60e51b81526004016101ad9061099b565b600455565b5f54610100900460ff166106ad5760405162461bcd60e51b81526004016101ad9061099b565b5f805462ff0000191662010000179055565b5f54610100900460ff166106e55760405162461bcd60e51b81526004016101ad9061099b565b600355565b5f54610100900460ff166107105760405162461bcd60e51b81526004016101ad9061099b565b60026104318282610a33565b5f54610100900460ff166107425760405162461bcd60e51b81526004016101ad9061099b565b600155565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261076a575f80fd5b813567ffffffffffffffff8082111561078557610785610747565b604051601f8301601f19908116603f011681019082821181831017156107ad576107ad610747565b816040528381528660208588010111156107c5575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f80608085870312156107f7575f80fd5b84359350602085013567ffffffffffffffff811115610814575f80fd5b6108208782880161075b565b949794965050505060408301359260600135919050565b5f8060408385031215610848575f80fd5b823567ffffffffffffffff81111561085e575f80fd5b61086a8582860161075b565b95602094909401359450505050565b5f60208284031215610889575f80fd5b813567ffffffffffffffff81111561089f575f80fd5b6108ab8482850161075b565b949350505050565b5f6020808352835180828501525f5b818110156108de578581018301518582016040015282016108c2565b505f604082860101526040601f19601f8301168501019250505092915050565b5f6020828403121561090e575f80fd5b5035919050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600181811c9082168061097757607f821691505b60208210810361099557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b601f82111561037d575f81815260208120601f850160051c81016020861015610a0c5750805b601f850160051c820191505b81811015610a2b57828155600101610a18565b505050505050565b815167ffffffffffffffff811115610a4d57610a4d610747565b610a6181610a5b8454610963565b846109e6565b602080601f831160018114610a94575f8415610a7d5750858301515b5f19600386901b1c1916600185901b178555610a2b565b5f85815260208120601f198616915b82811015610ac257888601518255948401946001909101908401610aa3565b5085821015610adf57878501515f19600388901b60f8161c191681555b5050505050600190811b0190555056fe7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498a2646970667358221220821e17ce710e27d19618faca763808d70dbaa6b6a7350b513411ab28e87653c664736f6c63430008140033","sourceMap":"3043:815:98:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061009b575f3560e01c80638beaf7d7116100635780638beaf7d714610103578063ed7dfee314610116578063f62d18881461011f578063fa39851f14610132578063fe4b84df14610147575f80fd5b80631c8aca3b1461009f578063237b5e96146100bb5780634a6c9db6146100c45780636f2edbd2146100e65780638129fc1c146100fb575b5f80fd5b6100a860035481565b6040519081526020015b60405180910390f35b6100a860045481565b5f546100d69062010000900460ff1681565b60405190151581526020016100b2565b6100f96100f43660046107e4565b61015a565b005b6100f961021c565b6100f9610111366004610837565b6102cd565b6100a860015481565b6100f961012d366004610879565b610382565b61013a610435565b6040516100b291906108b3565b6100f96101553660046108fe565b6104c1565b5f54610100900460ff161580801561017857505f54600160ff909116105b806101915750303b15801561019157505f5460ff166001145b6101b65760405162461bcd60e51b81526004016101ad90610915565b60405180910390fd5b5f805460ff1916600117905580156101d7575f805461ff0019166101001790555b6101e38585858561053e565b8015610215575f805461ff0019169055604051600181525f80516020610af08339815191529060200160405180910390a15b5050505050565b5f54610100900460ff161580801561023a57505f54600160ff909116105b806102535750303b15801561025357505f5460ff166001145b61026f5760405162461bcd60e51b81526004016101ad90610915565b5f805460ff191660011790558015610290575f805461ff0019166101001790555b610298610586565b80156102ca575f805461ff0019169055604051600181525f80516020610af08339815191529060200160405180910390a15b50565b5f54610100900460ff16158080156102eb57505f54600160ff909116105b806103045750303b15801561030457505f5460ff166001145b6103205760405162461bcd60e51b81526004016101ad90610915565b5f805460ff191660011790558015610341575f805461ff0019166101001790555b61034b83836105b6565b801561037d575f805461ff0019169055604051600181525f80516020610af08339815191529060200160405180910390a15b505050565b5f54610100900460ff16158080156103a057505f54600160ff909116105b806103b95750303b1580156103b957505f5460ff166001145b6103d55760405162461bcd60e51b81526004016101ad90610915565b5f805460ff1916600117905580156103f6575f805461ff0019166101001790555b6103ff826105ee565b8015610431575f805461ff0019169055604051600181525f80516020610af08339815191529060200160405180910390a15b5050565b6002805461044290610963565b80601f016020809104026020016040519081016040528092919081815260200182805461046e90610963565b80156104b95780601f10610490576101008083540402835291602001916104b9565b820191905f5260205f20905b81548152906001019060200180831161049c57829003601f168201915b505050505081565b5f54610100900460ff16158080156104df57505f54600160ff909116105b806104f85750303b1580156104f857505f5460ff166001145b6105145760405162461bcd60e51b81526004016101ad90610915565b5f805460ff191660011790558015610535575f805461ff0019166101001790555b6103ff82610625565b5f54610100900460ff166105645760405162461bcd60e51b81526004016101ad9061099b565b61056d84610625565b61057783836105b6565b6105808161065c565b50505050565b5f54610100900460ff166105ac5760405162461bcd60e51b81526004016101ad9061099b565b6105b4610687565b565b5f54610100900460ff166105dc5760405162461bcd60e51b81526004016101ad9061099b565b6105e5826105ee565b610431816106bf565b5f54610100900460ff166106145760405162461bcd60e51b81526004016101ad9061099b565b61061c610586565b6102ca816106ea565b5f54610100900460ff1661064b5760405162461bcd60e51b81526004016101ad9061099b565b610653610586565b6102ca8161071c565b5f54610100900460ff166106825760405162461bcd60e51b81526004016101ad9061099b565b600455565b5f54610100900460ff166106ad5760405162461bcd60e51b81526004016101ad9061099b565b5f805462ff0000191662010000179055565b5f54610100900460ff166106e55760405162461bcd60e51b81526004016101ad9061099b565b600355565b5f54610100900460ff166107105760405162461bcd60e51b81526004016101ad9061099b565b60026104318282610a33565b5f54610100900460ff166107425760405162461bcd60e51b81526004016101ad9061099b565b600155565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261076a575f80fd5b813567ffffffffffffffff8082111561078557610785610747565b604051601f8301601f19908116603f011681019082821181831017156107ad576107ad610747565b816040528381528660208588010111156107c5575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f80608085870312156107f7575f80fd5b84359350602085013567ffffffffffffffff811115610814575f80fd5b6108208782880161075b565b949794965050505060408301359260600135919050565b5f8060408385031215610848575f80fd5b823567ffffffffffffffff81111561085e575f80fd5b61086a8582860161075b565b95602094909401359450505050565b5f60208284031215610889575f80fd5b813567ffffffffffffffff81111561089f575f80fd5b6108ab8482850161075b565b949350505050565b5f6020808352835180828501525f5b818110156108de578581018301518582016040015282016108c2565b505f604082860101526040601f19601f8301168501019250505092915050565b5f6020828403121561090e575f80fd5b5035919050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600181811c9082168061097757607f821691505b60208210810361099557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b601f82111561037d575f81815260208120601f850160051c81016020861015610a0c5750805b601f850160051c820191505b81811015610a2b57828155600101610a18565b505050505050565b815167ffffffffffffffff811115610a4d57610a4d610747565b610a6181610a5b8454610963565b846109e6565b602080601f831160018114610a94575f8415610a7d5750858301515b5f19600386901b1c1916600185901b178555610a2b565b5f85815260208120601f198616915b82811015610ac257888601518255948401946001909101908401610aa3565b5085821015610adf57878501515f19600388901b60f8161c191681555b5050505050600190811b0190555056fe7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498a2646970667358221220821e17ce710e27d19618faca763808d70dbaa6b6a7350b513411ab28e87653c664736f6c63430008140033","sourceMap":"3043:815:98:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2403:21;;;;;;;;;160:25:310;;;148:2;133:18;2403:21:98;;;;;;;;3115:20;;;;;;517:19;;;;;;;;;;;;;;;361:14:310;;354:22;336:41;;324:2;309:18;517:19:98;196:187:310;3142:182:98;;;;;;:::i;:::-;;:::i;:::-;;543:78;;;:::i;2431:133::-;;;;;;:::i;:::-;;:::i;1075:21::-;;;;;;1745:103;;;;;;:::i;:::-;;:::i;1718:20::-;;;:::i;:::-;;;;;;;:::i;1103:97::-;;;;;;:::i;:::-;;:::i;3142:182::-;3268:19:162;3291:13;;;;;;3290:14;;3336:34;;;;-1:-1:-1;3354:12:162;;3369:1;3354:12;;;;:16;3336:34;3335:97;;;-1:-1:-1;3404:4:162;1702:19:220;:23;;;3376:55:162;;-1:-1:-1;3414:12:162;;;;;:17;3376:55;3314:190;;;;-1:-1:-1;;;3314:190:162;;;;;;;:::i;:::-;;;;;;;;;3514:12;:16;;-1:-1:-1;;3514:16:162;3529:1;3514:16;;;3540:65;;;;3574:13;:20;;-1:-1:-1;;3574:20:162;;;;;3540:65;3264:53:98::1;3283:7;3292;3301;3310:6;3264:18;:53::i;:::-;3629:14:162::0;3625:99;;;3675:5;3659:21;;-1:-1:-1;;3659:21:162;;;3699:14;;-1:-1:-1;3803:36:310;;-1:-1:-1;;;;;;;;;;;3699:14:162;3791:2:310;3776:18;3699:14:162;;;;;;;3625:99;3258:472;3142:182:98;;;;:::o;543:78::-;3268:19:162;3291:13;;;;;;3290:14;;3336:34;;;;-1:-1:-1;3354:12:162;;3369:1;3354:12;;;;:16;3336:34;3335:97;;;-1:-1:-1;3404:4:162;1702:19:220;:23;;;3376:55:162;;-1:-1:-1;3414:12:162;;;;;:17;3376:55;3314:190;;;;-1:-1:-1;;;3314:190:162;;;;;;;:::i;:::-;3514:12;:16;;-1:-1:-1;;3514:16:162;3529:1;3514:16;;;3540:65;;;;3574:13;:20;;-1:-1:-1;;3574:20:162;;;;;3540:65;594:20:98::1;:18;:20::i;:::-;3629:14:162::0;3625:99;;;3675:5;3659:21;;-1:-1:-1;;3659:21:162;;;3699:14;;-1:-1:-1;3803:36:310;;-1:-1:-1;;;;;;;;;;;3699:14:162;3791:2:310;3776:18;3699:14:162;;;;;;;3625:99;3258:472;543:78:98:o;2431:133::-;3268:19:162;3291:13;;;;;;3290:14;;3336:34;;;;-1:-1:-1;3354:12:162;;3369:1;3354:12;;;;:16;3336:34;3335:97;;;-1:-1:-1;3404:4:162;1702:19:220;:23;;;3376:55:162;;-1:-1:-1;3414:12:162;;;;;:17;3376:55;3314:190;;;;-1:-1:-1;;;3314:190:162;;;;;;;:::i;:::-;3514:12;:16;;-1:-1:-1;;3514:16:162;3529:1;3514:16;;;3540:65;;;;3574:13;:20;;-1:-1:-1;;3574:20:162;;;;;3540:65;2520:37:98::1;2540:7;2549;2520:19;:37::i;:::-;3629:14:162::0;3625:99;;;3675:5;3659:21;;-1:-1:-1;;3659:21:162;;;3699:14;;-1:-1:-1;3803:36:310;;-1:-1:-1;;;;;;;;;;;3699:14:162;3791:2:310;3776:18;3699:14:162;;;;;;;3625:99;3258:472;2431:133:98;;:::o;1745:103::-;3268:19:162;3291:13;;;;;;3290:14;;3336:34;;;;-1:-1:-1;3354:12:162;;3369:1;3354:12;;;;:16;3336:34;3335:97;;;-1:-1:-1;3404:4:162;1702:19:220;:23;;;3376:55:162;;-1:-1:-1;3414:12:162;;;;;:17;3376:55;3314:190;;;;-1:-1:-1;;;3314:190:162;;;;;;;:::i;:::-;3514:12;:16;;-1:-1:-1;;3514:16:162;3529:1;3514:16;;;3540:65;;;;3574:13;:20;;-1:-1:-1;;3574:20:162;;;;;3540:65;1815:26:98::1;1835:5;1815:19;:26::i;:::-;3629:14:162::0;3625:99;;;3675:5;3659:21;;-1:-1:-1;;3659:21:162;;;3699:14;;-1:-1:-1;3803:36:310;;-1:-1:-1;;;;;;;;;;;3699:14:162;3791:2:310;3776:18;3699:14:162;;;;;;;3625:99;3258:472;1745:103:98;:::o;1718:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1103:97::-;3268:19:162;3291:13;;;;;;3290:14;;3336:34;;;;-1:-1:-1;3354:12:162;;3369:1;3354:12;;;;:16;3336:34;3335:97;;;-1:-1:-1;3404:4:162;1702:19:220;:23;;;3376:55:162;;-1:-1:-1;3414:12:162;;;;;:17;3376:55;3314:190;;;;-1:-1:-1;;;3314:190:162;;;;;;;:::i;:::-;3514:12;:16;;-1:-1:-1;;3514:16:162;3529:1;3514:16;;;3540:65;;;;3574:13;:20;;-1:-1:-1;;3574:20:162;;;;;3540:65;1167:26:98::1;1187:5;1167:19;:26::i;3383:303::-:0;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;3558:28:98::1;3578:7;3558:19;:28::i;:::-;3596:37;3616:7;3625;3596:19;:37::i;:::-;3643:36;3672:6;3643:28;:36::i;:::-;3383:303:::0;;;;:::o;680:103::-;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;746:30:98::1;:28;:30::i;:::-;680:103::o:0;2623:188::-;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;2728:28:98::1;2748:7;2728:19;:28::i;:::-;2766:38;2796:7;2766:29;:38::i;1907:159::-:0;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;1993:20:98::1;:18;:20::i;:::-;2023:36;2053:5;2023:29;:36::i;1259:153::-:0;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;1339:20:98::1;:18;:20::i;:::-;1369:36;1399:5;1369:29;:36::i;3745:111::-:0;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;3835:5:98::1;:14:::0;3745:111::o;842:97::-;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;918:7:98::1;:14:::0;;-1:-1:-1;;918:14:98::1;::::0;::::1;::::0;;842:97::o;2870:115::-;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;2962:6:98::1;:16:::0;2870:115::o;2125:117::-;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;2221:6:98::1;:14;2230:5:::0;2221:6;:14:::1;:::i;1471:111::-:0;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;1561:6:98::1;:14:::0;1471:111::o;388:127:310:-;449:10;444:3;440:20;437:1;430:31;480:4;477:1;470:15;504:4;501:1;494:15;520:719;563:5;616:3;609:4;601:6;597:17;593:27;583:55;;634:1;631;624:12;583:55;670:6;657:20;696:18;733:2;729;726:10;723:36;;;739:18;;:::i;:::-;814:2;808:9;782:2;868:13;;-1:-1:-1;;864:22:310;;;888:2;860:31;856:40;844:53;;;912:18;;;932:22;;;909:46;906:72;;;958:18;;:::i;:::-;998:10;994:2;987:22;1033:2;1025:6;1018:18;1079:3;1072:4;1067:2;1059:6;1055:15;1051:26;1048:35;1045:55;;;1096:1;1093;1086:12;1045:55;1160:2;1153:4;1145:6;1141:17;1134:4;1126:6;1122:17;1109:54;1207:1;1200:4;1195:2;1187:6;1183:15;1179:26;1172:37;1227:6;1218:15;;;;;;520:719;;;;:::o;1244:527::-;1340:6;1348;1356;1364;1417:3;1405:9;1396:7;1392:23;1388:33;1385:53;;;1434:1;1431;1424:12;1385:53;1470:9;1457:23;1447:33;;1531:2;1520:9;1516:18;1503:32;1558:18;1550:6;1547:30;1544:50;;;1590:1;1587;1580:12;1544:50;1613;1655:7;1646:6;1635:9;1631:22;1613:50;:::i;:::-;1244:527;;1603:60;;-1:-1:-1;;;;1710:2:310;1695:18;;1682:32;;1761:2;1746:18;1733:32;;1244:527;-1:-1:-1;1244:527:310:o;1776:390::-;1854:6;1862;1915:2;1903:9;1894:7;1890:23;1886:32;1883:52;;;1931:1;1928;1921:12;1883:52;1971:9;1958:23;2004:18;1996:6;1993:30;1990:50;;;2036:1;2033;2026:12;1990:50;2059;2101:7;2092:6;2081:9;2077:22;2059:50;:::i;:::-;2049:60;2156:2;2141:18;;;;2128:32;;-1:-1:-1;;;;1776:390:310:o;2171:322::-;2240:6;2293:2;2281:9;2272:7;2268:23;2264:32;2261:52;;;2309:1;2306;2299:12;2261:52;2349:9;2336:23;2382:18;2374:6;2371:30;2368:50;;;2414:1;2411;2404:12;2368:50;2437;2479:7;2470:6;2459:9;2455:22;2437:50;:::i;:::-;2427:60;2171:322;-1:-1:-1;;;;2171:322:310:o;2498:548::-;2610:4;2639:2;2668;2657:9;2650:21;2700:6;2694:13;2743:6;2738:2;2727:9;2723:18;2716:34;2768:1;2778:140;2792:6;2789:1;2786:13;2778:140;;;2887:14;;;2883:23;;2877:30;2853:17;;;2872:2;2849:26;2842:66;2807:10;;2778:140;;;2782:3;2967:1;2962:2;2953:6;2942:9;2938:22;2934:31;2927:42;3037:2;3030;3026:7;3021:2;3013:6;3009:15;3005:29;2994:9;2990:45;2986:54;2978:62;;;;2498:548;;;;:::o;3051:180::-;3110:6;3163:2;3151:9;3142:7;3138:23;3134:32;3131:52;;;3179:1;3176;3169:12;3131:52;-1:-1:-1;3202:23:310;;3051:180;-1:-1:-1;3051:180:310:o;3236:410::-;3438:2;3420:21;;;3477:2;3457:18;;;3450:30;3516:34;3511:2;3496:18;;3489:62;-1:-1:-1;;;3582:2:310;3567:18;;3560:44;3636:3;3621:19;;3236:410::o;3850:380::-;3929:1;3925:12;;;;3972;;;3993:61;;4047:4;4039:6;4035:17;4025:27;;3993:61;4100:2;4092:6;4089:14;4069:18;4066:38;4063:161;;4146:10;4141:3;4137:20;4134:1;4127:31;4181:4;4178:1;4171:15;4209:4;4206:1;4199:15;4063:161;;3850:380;;;:::o;4235:407::-;4437:2;4419:21;;;4476:2;4456:18;;;4449:30;4515:34;4510:2;4495:18;;4488:62;-1:-1:-1;;;4581:2:310;4566:18;;4559:41;4632:3;4617:19;;4235:407::o;4773:545::-;4875:2;4870:3;4867:11;4864:448;;;4911:1;4936:5;4932:2;4925:17;4981:4;4977:2;4967:19;5051:2;5039:10;5035:19;5032:1;5028:27;5022:4;5018:38;5087:4;5075:10;5072:20;5069:47;;;-1:-1:-1;5110:4:310;5069:47;5165:2;5160:3;5156:12;5153:1;5149:20;5143:4;5139:31;5129:41;;5220:82;5238:2;5231:5;5228:13;5220:82;;;5283:17;;;5264:1;5253:13;5220:82;;;5224:3;;;4773:545;;;:::o;5494:1352::-;5620:3;5614:10;5647:18;5639:6;5636:30;5633:56;;;5669:18;;:::i;:::-;5698:97;5788:6;5748:38;5780:4;5774:11;5748:38;:::i;:::-;5742:4;5698:97;:::i;:::-;5850:4;;5914:2;5903:14;;5931:1;5926:663;;;;6633:1;6650:6;6647:89;;;-1:-1:-1;6702:19:310;;;6696:26;6647:89;-1:-1:-1;;5451:1:310;5447:11;;;5443:24;5439:29;5429:40;5475:1;5471:11;;;5426:57;6749:81;;5896:944;;5926:663;4720:1;4713:14;;;4757:4;4744:18;;-1:-1:-1;;5962:20:310;;;6080:236;6094:7;6091:1;6088:14;6080:236;;;6183:19;;;6177:26;6162:42;;6275:27;;;;6243:1;6231:14;;;;6110:19;;6080:236;;;6084:3;6344:6;6335:7;6332:19;6329:201;;;6405:19;;;6399:26;-1:-1:-1;;6488:1:310;6484:14;;;6500:3;6480:24;6476:37;6472:42;6457:58;6442:74;;6329:201;-1:-1:-1;;;;;6576:1:310;6560:14;;;6556:22;6543:36;;-1:-1:-1;5494:1352:310:o","linkReferences":{}},"methodIdentifiers":{"child()":"237b5e96","father()":"1c8aca3b","gramps()":"fa39851f","initialize()":"8129fc1c","initialize(string)":"f62d1888","initialize(string,uint256)":"8beaf7d7","initialize(uint256)":"fe4b84df","initialize(uint256,string,uint256,uint256)":"6f2edbd2","isHuman()":"4a6c9db6","mother()":"ed7dfee3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"child\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"father\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gramps\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_mother\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_gramps\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_father\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_child\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_gramps\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_father\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isHuman\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mother\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Child extends from mother, father (gramps)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol\":\"SampleChild\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol\":{\"keccak256\":\"0xfe9da4e00eebee28800dd7ff4a61bf98b92fe75e4a9f722b40f3363089d3d6eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://188cefda58754e76e9262f8d491cbf77aadc8be49e55364281e7be1becaea2a2\",\"dweb:/ipfs/QmdsGPtrRGgG4p9NtJRJboaN9X1tzHwQCXS4rVcRJZaX3w\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"child","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"father","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gramps","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_mother","type":"uint256"},{"internalType":"string","name":"_gramps","type":"string"},{"internalType":"uint256","name":"_father","type":"uint256"},{"internalType":"uint256","name":"_child","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"string","name":"_gramps","type":"string"},{"internalType":"uint256","name":"_father","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isHuman","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"mother","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol":"SampleChild"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol":{"keccak256":"0xfe9da4e00eebee28800dd7ff4a61bf98b92fe75e4a9f722b40f3363089d3d6eb","urls":["bzz-raw://188cefda58754e76e9262f8d491cbf77aadc8be49e55364281e7be1becaea2a2","dweb:/ipfs/QmdsGPtrRGgG4p9NtJRJboaN9X1tzHwQCXS4rVcRJZaX3w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"id":98}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"father","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"gramps","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_gramps","type":"string","internalType":"string"},{"name":"_father","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isHuman","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506108768061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c80631c8aca3b146100645780634a6c9db6146100805780638129fc1c146100a25780638beaf7d7146100ac578063f62d1888146100bf578063fa39851f146100d2575b5f80fd5b61006d60025481565b6040519081526020015b60405180910390f35b5f546100929062010000900460ff1681565b6040519015158152602001610077565b6100aa6100e7565b005b6100aa6100ba36600461059f565b6101b4565b6100aa6100cd3660046105e1565b61027c565b6100da610342565b604051610077919061061b565b5f54610100900460ff161580801561010557505f54600160ff909116105b8061011e5750303b15801561011e57505f5460ff166001145b6101435760405162461bcd60e51b815260040161013a90610666565b60405180910390fd5b5f805460ff191660011790558015610164575f805461ff0019166101001790555b61016c6103ce565b80156101b1575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b5f54610100900460ff16158080156101d257505f54600160ff909116105b806101eb5750303b1580156101eb57505f5460ff166001145b6102075760405162461bcd60e51b815260040161013a90610666565b5f805460ff191660011790558015610228575f805461ff0019166101001790555b61023283836103fe565b8015610277575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b5f54610100900460ff161580801561029a57505f54600160ff909116105b806102b35750303b1580156102b357505f5460ff166001145b6102cf5760405162461bcd60e51b815260040161013a90610666565b5f805460ff1916600117905580156102f0575f805461ff0019166101001790555b6102f982610436565b801561033e575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001805461034f906106b4565b80601f016020809104026020016040519081016040528092919081815260200182805461037b906106b4565b80156103c65780601f1061039d576101008083540402835291602001916103c6565b820191905f5260205f20905b8154815290600101906020018083116103a957829003601f168201915b505050505081565b5f54610100900460ff166103f45760405162461bcd60e51b815260040161013a906106ec565b6103fc61046d565b565b5f54610100900460ff166104245760405162461bcd60e51b815260040161013a906106ec565b61042d82610436565b61033e816104a5565b5f54610100900460ff1661045c5760405162461bcd60e51b815260040161013a906106ec565b6104646103ce565b6101b1816104d0565b5f54610100900460ff166104935760405162461bcd60e51b815260040161013a906106ec565b5f805462ff0000191662010000179055565b5f54610100900460ff166104cb5760405162461bcd60e51b815260040161013a906106ec565b600255565b5f54610100900460ff166104f65760405162461bcd60e51b815260040161013a906106ec565b600161033e8282610784565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610525575f80fd5b813567ffffffffffffffff8082111561054057610540610502565b604051601f8301601f19908116603f0116810190828211818310171561056857610568610502565b81604052838152866020858801011115610580575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f80604083850312156105b0575f80fd5b823567ffffffffffffffff8111156105c6575f80fd5b6105d285828601610516565b95602094909401359450505050565b5f602082840312156105f1575f80fd5b813567ffffffffffffffff811115610607575f80fd5b61061384828501610516565b949350505050565b5f6020808352835180828501525f5b818110156106465785810183015185820160400152820161062a565b505f604082860101526040601f19601f8301168501019250505092915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600181811c908216806106c857607f821691505b6020821081036106e657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b601f821115610277575f81815260208120601f850160051c8101602086101561075d5750805b601f850160051c820191505b8181101561077c57828155600101610769565b505050505050565b815167ffffffffffffffff81111561079e5761079e610502565b6107b2816107ac84546106b4565b84610737565b602080601f8311600181146107e5575f84156107ce5750858301515b5f19600386901b1c1916600185901b17855561077c565b5f85815260208120601f198616915b82811015610813578886015182559484019460019091019084016107f4565b508582101561083057878501515f19600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220e45f9493c0f6863239ba4670cbc7985f3b289a161cb986bfdb574b1efea6ba3264736f6c63430008140033","sourceMap":"2344:643:98:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610060575f3560e01c80631c8aca3b146100645780634a6c9db6146100805780638129fc1c146100a25780638beaf7d7146100ac578063f62d1888146100bf578063fa39851f146100d2575b5f80fd5b61006d60025481565b6040519081526020015b60405180910390f35b5f546100929062010000900460ff1681565b6040519015158152602001610077565b6100aa6100e7565b005b6100aa6100ba36600461059f565b6101b4565b6100aa6100cd3660046105e1565b61027c565b6100da610342565b604051610077919061061b565b5f54610100900460ff161580801561010557505f54600160ff909116105b8061011e5750303b15801561011e57505f5460ff166001145b6101435760405162461bcd60e51b815260040161013a90610666565b60405180910390fd5b5f805460ff191660011790558015610164575f805461ff0019166101001790555b61016c6103ce565b80156101b1575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b5f54610100900460ff16158080156101d257505f54600160ff909116105b806101eb5750303b1580156101eb57505f5460ff166001145b6102075760405162461bcd60e51b815260040161013a90610666565b5f805460ff191660011790558015610228575f805461ff0019166101001790555b61023283836103fe565b8015610277575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b5f54610100900460ff161580801561029a57505f54600160ff909116105b806102b35750303b1580156102b357505f5460ff166001145b6102cf5760405162461bcd60e51b815260040161013a90610666565b5f805460ff1916600117905580156102f0575f805461ff0019166101001790555b6102f982610436565b801561033e575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001805461034f906106b4565b80601f016020809104026020016040519081016040528092919081815260200182805461037b906106b4565b80156103c65780601f1061039d576101008083540402835291602001916103c6565b820191905f5260205f20905b8154815290600101906020018083116103a957829003601f168201915b505050505081565b5f54610100900460ff166103f45760405162461bcd60e51b815260040161013a906106ec565b6103fc61046d565b565b5f54610100900460ff166104245760405162461bcd60e51b815260040161013a906106ec565b61042d82610436565b61033e816104a5565b5f54610100900460ff1661045c5760405162461bcd60e51b815260040161013a906106ec565b6104646103ce565b6101b1816104d0565b5f54610100900460ff166104935760405162461bcd60e51b815260040161013a906106ec565b5f805462ff0000191662010000179055565b5f54610100900460ff166104cb5760405162461bcd60e51b815260040161013a906106ec565b600255565b5f54610100900460ff166104f65760405162461bcd60e51b815260040161013a906106ec565b600161033e8282610784565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610525575f80fd5b813567ffffffffffffffff8082111561054057610540610502565b604051601f8301601f19908116603f0116810190828211818310171561056857610568610502565b81604052838152866020858801011115610580575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f80604083850312156105b0575f80fd5b823567ffffffffffffffff8111156105c6575f80fd5b6105d285828601610516565b95602094909401359450505050565b5f602082840312156105f1575f80fd5b813567ffffffffffffffff811115610607575f80fd5b61061384828501610516565b949350505050565b5f6020808352835180828501525f5b818110156106465785810183015185820160400152820161062a565b505f604082860101526040601f19601f8301168501019250505092915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600181811c908216806106c857607f821691505b6020821081036106e657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b601f821115610277575f81815260208120601f850160051c8101602086101561075d5750805b601f850160051c820191505b8181101561077c57828155600101610769565b505050505050565b815167ffffffffffffffff81111561079e5761079e610502565b6107b2816107ac84546106b4565b84610737565b602080601f8311600181146107e5575f84156107ce5750858301515b5f19600386901b1c1916600185901b17855561077c565b5f85815260208120601f198616915b82811015610813578886015182559484019460019091019084016107f4565b508582101561083057878501515f19600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220e45f9493c0f6863239ba4670cbc7985f3b289a161cb986bfdb574b1efea6ba3264736f6c63430008140033","sourceMap":"2344:643:98:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2403:21;;;;;;;;;160:25:310;;;148:2;133:18;2403:21:98;;;;;;;;517:19;;;;;;;;;;;;;;;361:14:310;;354:22;336:41;;324:2;309:18;517:19:98;196:187:310;543:78:98;;;:::i;:::-;;2431:133;;;;;;:::i;:::-;;:::i;1745:103::-;;;;;;:::i;:::-;;:::i;1718:20::-;;;:::i;:::-;;;;;;;:::i;543:78::-;3268:19:162;3291:13;;;;;;3290:14;;3336:34;;;;-1:-1:-1;3354:12:162;;3369:1;3354:12;;;;:16;3336:34;3335:97;;;-1:-1:-1;3404:4:162;1702:19:220;:23;;;3376:55:162;;-1:-1:-1;3414:12:162;;;;;:17;3376:55;3314:190;;;;-1:-1:-1;;;3314:190:162;;;;;;;:::i;:::-;;;;;;;;;3514:12;:16;;-1:-1:-1;;3514:16:162;3529:1;3514:16;;;3540:65;;;;3574:13;:20;;-1:-1:-1;;3574:20:162;;;;;3540:65;594:20:98::1;:18;:20::i;:::-;3629:14:162::0;3625:99;;;3675:5;3659:21;;-1:-1:-1;;3659:21:162;;;3699:14;;-1:-1:-1;3086:36:310;;3699:14:162;;3074:2:310;3059:18;3699:14:162;;;;;;;3625:99;3258:472;543:78:98:o;2431:133::-;3268:19:162;3291:13;;;;;;3290:14;;3336:34;;;;-1:-1:-1;3354:12:162;;3369:1;3354:12;;;;:16;3336:34;3335:97;;;-1:-1:-1;3404:4:162;1702:19:220;:23;;;3376:55:162;;-1:-1:-1;3414:12:162;;;;;:17;3376:55;3314:190;;;;-1:-1:-1;;;3314:190:162;;;;;;;:::i;:::-;3514:12;:16;;-1:-1:-1;;3514:16:162;3529:1;3514:16;;;3540:65;;;;3574:13;:20;;-1:-1:-1;;3574:20:162;;;;;3540:65;2520:37:98::1;2540:7;2549;2520:19;:37::i;:::-;3629:14:162::0;3625:99;;;3675:5;3659:21;;-1:-1:-1;;3659:21:162;;;3699:14;;-1:-1:-1;3086:36:310;;3699:14:162;;3074:2:310;3059:18;3699:14:162;;;;;;;3625:99;3258:472;2431:133:98;;:::o;1745:103::-;3268:19:162;3291:13;;;;;;3290:14;;3336:34;;;;-1:-1:-1;3354:12:162;;3369:1;3354:12;;;;:16;3336:34;3335:97;;;-1:-1:-1;3404:4:162;1702:19:220;:23;;;3376:55:162;;-1:-1:-1;3414:12:162;;;;;:17;3376:55;3314:190;;;;-1:-1:-1;;;3314:190:162;;;;;;;:::i;:::-;3514:12;:16;;-1:-1:-1;;3514:16:162;3529:1;3514:16;;;3540:65;;;;3574:13;:20;;-1:-1:-1;;3574:20:162;;;;;3540:65;1815:26:98::1;1835:5;1815:19;:26::i;:::-;3629:14:162::0;3625:99;;;3675:5;3659:21;;-1:-1:-1;;3659:21:162;;;3699:14;;-1:-1:-1;3086:36:310;;3699:14:162;;3074:2:310;3059:18;3699:14:162;;;;;;;3625:99;3258:472;1745:103:98;:::o;1718:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;680:103::-;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;746:30:98::1;:28;:30::i;:::-;680:103::o:0;2623:188::-;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;2728:28:98::1;2748:7;2728:19;:28::i;:::-;2766:38;2796:7;2766:29;:38::i;1907:159::-:0;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;1993:20:98::1;:18;:20::i;:::-;2023:36;2053:5;2023:29;:36::i;842:97::-:0;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;918:7:98::1;:14:::0;;-1:-1:-1;;918:14:98::1;::::0;::::1;::::0;;842:97::o;2870:115::-;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;2962:6:98::1;:16:::0;2870:115::o;2125:117::-;5352:13:162;;;;;;;5344:69;;;;-1:-1:-1;;;5344:69:162;;;;;;;:::i;:::-;2221:6:98::1;:14;2230:5:::0;2221:6;:14:::1;:::i;388:127:310:-:0;449:10;444:3;440:20;437:1;430:31;480:4;477:1;470:15;504:4;501:1;494:15;520:719;563:5;616:3;609:4;601:6;597:17;593:27;583:55;;634:1;631;624:12;583:55;670:6;657:20;696:18;733:2;729;726:10;723:36;;;739:18;;:::i;:::-;814:2;808:9;782:2;868:13;;-1:-1:-1;;864:22:310;;;888:2;860:31;856:40;844:53;;;912:18;;;932:22;;;909:46;906:72;;;958:18;;:::i;:::-;998:10;994:2;987:22;1033:2;1025:6;1018:18;1079:3;1072:4;1067:2;1059:6;1055:15;1051:26;1048:35;1045:55;;;1096:1;1093;1086:12;1045:55;1160:2;1153:4;1145:6;1141:17;1134:4;1126:6;1122:17;1109:54;1207:1;1200:4;1195:2;1187:6;1183:15;1179:26;1172:37;1227:6;1218:15;;;;;;520:719;;;;:::o;1244:390::-;1322:6;1330;1383:2;1371:9;1362:7;1358:23;1354:32;1351:52;;;1399:1;1396;1389:12;1351:52;1439:9;1426:23;1472:18;1464:6;1461:30;1458:50;;;1504:1;1501;1494:12;1458:50;1527;1569:7;1560:6;1549:9;1545:22;1527:50;:::i;:::-;1517:60;1624:2;1609:18;;;;1596:32;;-1:-1:-1;;;;1244:390:310:o;1639:322::-;1708:6;1761:2;1749:9;1740:7;1736:23;1732:32;1729:52;;;1777:1;1774;1767:12;1729:52;1817:9;1804:23;1850:18;1842:6;1839:30;1836:50;;;1882:1;1879;1872:12;1836:50;1905;1947:7;1938:6;1927:9;1923:22;1905:50;:::i;:::-;1895:60;1639:322;-1:-1:-1;;;;1639:322:310:o;1966:548::-;2078:4;2107:2;2136;2125:9;2118:21;2168:6;2162:13;2211:6;2206:2;2195:9;2191:18;2184:34;2236:1;2246:140;2260:6;2257:1;2254:13;2246:140;;;2355:14;;;2351:23;;2345:30;2321:17;;;2340:2;2317:26;2310:66;2275:10;;2246:140;;;2250:3;2435:1;2430:2;2421:6;2410:9;2406:22;2402:31;2395:42;2505:2;2498;2494:7;2489:2;2481:6;2477:15;2473:29;2462:9;2458:45;2454:54;2446:62;;;;1966:548;;;;:::o;2519:410::-;2721:2;2703:21;;;2760:2;2740:18;;;2733:30;2799:34;2794:2;2779:18;;2772:62;-1:-1:-1;;;2865:2:310;2850:18;;2843:44;2919:3;2904:19;;2519:410::o;3133:380::-;3212:1;3208:12;;;;3255;;;3276:61;;3330:4;3322:6;3318:17;3308:27;;3276:61;3383:2;3375:6;3372:14;3352:18;3349:38;3346:161;;3429:10;3424:3;3420:20;3417:1;3410:31;3464:4;3461:1;3454:15;3492:4;3489:1;3482:15;3346:161;;3133:380;;;:::o;3518:407::-;3720:2;3702:21;;;3759:2;3739:18;;;3732:30;3798:34;3793:2;3778:18;;3771:62;-1:-1:-1;;;3864:2:310;3849:18;;3842:41;3915:3;3900:19;;3518:407::o;4056:545::-;4158:2;4153:3;4150:11;4147:448;;;4194:1;4219:5;4215:2;4208:17;4264:4;4260:2;4250:19;4334:2;4322:10;4318:19;4315:1;4311:27;4305:4;4301:38;4370:4;4358:10;4355:20;4352:47;;;-1:-1:-1;4393:4:310;4352:47;4448:2;4443:3;4439:12;4436:1;4432:20;4426:4;4422:31;4412:41;;4503:82;4521:2;4514:5;4511:13;4503:82;;;4566:17;;;4547:1;4536:13;4503:82;;;4507:3;;;4056:545;;;:::o;4777:1352::-;4903:3;4897:10;4930:18;4922:6;4919:30;4916:56;;;4952:18;;:::i;:::-;4981:97;5071:6;5031:38;5063:4;5057:11;5031:38;:::i;:::-;5025:4;4981:97;:::i;:::-;5133:4;;5197:2;5186:14;;5214:1;5209:663;;;;5916:1;5933:6;5930:89;;;-1:-1:-1;5985:19:310;;;5979:26;5930:89;-1:-1:-1;;4734:1:310;4730:11;;;4726:24;4722:29;4712:40;4758:1;4754:11;;;4709:57;6032:81;;5179:944;;5209:663;4003:1;3996:14;;;4040:4;4027:18;;-1:-1:-1;;5245:20:310;;;5363:236;5377:7;5374:1;5371:14;5363:236;;;5466:19;;;5460:26;5445:42;;5558:27;;;;5526:1;5514:14;;;;5393:19;;5363:236;;;5367:3;5627:6;5618:7;5615:19;5612:201;;;5688:19;;;5682:26;-1:-1:-1;;5771:1:310;5767:14;;;5783:3;5763:24;5759:37;5755:42;5740:58;5725:74;;5612:201;-1:-1:-1;;;;;5859:1:310;5843:14;;;5839:22;5826:36;;-1:-1:-1;4777:1352:310:o","linkReferences":{}},"methodIdentifiers":{"father()":"1c8aca3b","gramps()":"fa39851f","initialize()":"8129fc1c","initialize(string)":"f62d1888","initialize(string,uint256)":"8beaf7d7","isHuman()":"4a6c9db6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"father\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gramps\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_gramps\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_father\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isHuman\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Sample base initializable contract that defines a field father and extends from gramps\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol\":\"SampleFather\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol\":{\"keccak256\":\"0xfe9da4e00eebee28800dd7ff4a61bf98b92fe75e4a9f722b40f3363089d3d6eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://188cefda58754e76e9262f8d491cbf77aadc8be49e55364281e7be1becaea2a2\",\"dweb:/ipfs/QmdsGPtrRGgG4p9NtJRJboaN9X1tzHwQCXS4rVcRJZaX3w\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"father","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gramps","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"string","name":"_gramps","type":"string"},{"internalType":"uint256","name":"_father","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isHuman","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol":"SampleFather"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol":{"keccak256":"0xfe9da4e00eebee28800dd7ff4a61bf98b92fe75e4a9f722b40f3363089d3d6eb","urls":["bzz-raw://188cefda58754e76e9262f8d491cbf77aadc8be49e55364281e7be1becaea2a2","dweb:/ipfs/QmdsGPtrRGgG4p9NtJRJboaN9X1tzHwQCXS4rVcRJZaX3w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"id":98}