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

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 (1087) hide show
  1. package/.turbo/turbo-build.log +0 -140
  2. package/.turbo/turbo-lint$colon$check.log +89 -0
  3. package/.turbo/turbo-typecheck.log +1 -0
  4. package/dist/package.json +986 -0
  5. package/dist/packages/autonomous/src/config/zod-schema.core.d.ts +1 -1
  6. package/dist/packages/autonomous/src/config/zod-schema.d.ts +41 -41
  7. package/dist/packages/autonomous/src/config/zod-schema.providers-core.d.ts +37 -37
  8. package/dist/packages/autonomous/src/config/zod-schema.session.d.ts +1 -1
  9. package/dist/packages/autonomous/src/services/coding-agent-context.d.ts +4 -4
  10. package/package.json +14 -6
  11. package/test/agent-export.e2e.test.ts +376 -0
  12. package/test/agent-orchestration.e2e.test.ts +1568 -0
  13. package/test/agent-restart-recovery.e2e.test.ts +149 -0
  14. package/test/agent-runtime.e2e.test.ts +1515 -0
  15. package/test/anvil-contracts.e2e.test.ts +533 -0
  16. package/test/anvil-helper.ts +285 -0
  17. package/test/api-auth-live.e2e.test.ts +519 -0
  18. package/test/api-auth.e2e.test.ts +1039 -0
  19. package/test/api-server.e2e.test.ts +4582 -0
  20. package/test/apps-e2e.e2e.test.ts +1108 -0
  21. package/test/auth-modules.e2e.test.ts +71 -0
  22. package/test/cloud-auth-state.e2e.test.ts +145 -0
  23. package/test/cloud-persistence.e2e.test.ts +260 -0
  24. package/test/cloud-providers.e2e.test.ts +781 -0
  25. package/test/config-hot-reload.e2e.test.ts +131 -0
  26. package/test/contract-deployer.ts +151 -0
  27. package/test/contracts/MockMiladyAgentRegistry.sol +216 -0
  28. package/test/contracts/MockMiladyCollection.sol +195 -0
  29. package/test/contracts/cache/solidity-files-cache.json +1 -0
  30. package/test/contracts/foundry.toml +14 -0
  31. package/test/contracts/lib/openzeppelin-contracts/.changeset/config.json +12 -0
  32. package/test/contracts/lib/openzeppelin-contracts/.codecov.yml +12 -0
  33. package/test/contracts/lib/openzeppelin-contracts/.editorconfig +21 -0
  34. package/test/contracts/lib/openzeppelin-contracts/.eslintrc +20 -0
  35. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
  36. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
  37. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
  38. package/test/contracts/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
  39. package/test/contracts/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +49 -0
  40. package/test/contracts/lib/openzeppelin-contracts/.github/actions/setup/action.yml +19 -0
  41. package/test/contracts/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +55 -0
  42. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
  43. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
  44. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/checks.yml +111 -0
  45. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
  46. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +68 -0
  47. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +218 -0
  48. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +30 -0
  49. package/test/contracts/lib/openzeppelin-contracts/.gitmodules +7 -0
  50. package/test/contracts/lib/openzeppelin-contracts/.mocharc.js +4 -0
  51. package/test/contracts/lib/openzeppelin-contracts/.prettierrc +14 -0
  52. package/test/contracts/lib/openzeppelin-contracts/.solcover.js +13 -0
  53. package/test/contracts/lib/openzeppelin-contracts/.solhint.json +14 -0
  54. package/test/contracts/lib/openzeppelin-contracts/CHANGELOG.md +743 -0
  55. package/test/contracts/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
  56. package/test/contracts/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
  57. package/test/contracts/lib/openzeppelin-contracts/GUIDELINES.md +117 -0
  58. package/test/contracts/lib/openzeppelin-contracts/LICENSE +22 -0
  59. package/test/contracts/lib/openzeppelin-contracts/README.md +90 -0
  60. package/test/contracts/lib/openzeppelin-contracts/RELEASING.md +47 -0
  61. package/test/contracts/lib/openzeppelin-contracts/SECURITY.md +42 -0
  62. package/test/contracts/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
  63. package/test/contracts/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
  64. package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
  65. package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
  66. package/test/contracts/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
  67. package/test/contracts/lib/openzeppelin-contracts/audits/README.md +16 -0
  68. package/test/contracts/lib/openzeppelin-contracts/certora/Makefile +54 -0
  69. package/test/contracts/lib/openzeppelin-contracts/certora/README.md +60 -0
  70. package/test/contracts/lib/openzeppelin-contracts/certora/diff/token_ERC721_ERC721.sol.patch +14 -0
  71. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +47 -0
  72. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +7 -0
  73. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +59 -0
  74. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  75. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +17 -0
  76. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +25 -0
  77. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  78. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +37 -0
  79. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  80. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
  81. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
  82. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
  83. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +9 -0
  84. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +9 -0
  85. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +19 -0
  86. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +12 -0
  87. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
  88. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
  89. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
  90. package/test/contracts/lib/openzeppelin-contracts/certora/run.js +146 -0
  91. package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +126 -0
  92. package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +500 -0
  93. package/test/contracts/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +366 -0
  94. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20.spec +414 -0
  95. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +48 -0
  96. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
  97. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC721.spec +589 -0
  98. package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +334 -0
  99. package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +247 -0
  100. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
  101. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable.spec +78 -0
  102. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
  103. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
  104. package/test/contracts/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +275 -0
  105. package/test/contracts/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +1 -0
  106. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +7 -0
  107. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  108. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
  109. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
  110. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC3156.spec +5 -0
  111. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
  112. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +20 -0
  113. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
  114. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
  115. package/test/contracts/lib/openzeppelin-contracts/certora/specs.json +86 -0
  116. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +248 -0
  117. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +45 -0
  118. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlDefaultAdminRules.sol +383 -0
  119. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +64 -0
  120. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +88 -0
  121. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlDefaultAdminRules.sol +172 -0
  122. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +31 -0
  123. package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol +83 -0
  124. package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +57 -0
  125. package/test/contracts/lib/openzeppelin-contracts/contracts/access/README.adoc +27 -0
  126. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +54 -0
  127. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +34 -0
  128. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +49 -0
  129. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +35 -0
  130. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +44 -0
  131. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +40 -0
  132. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +42 -0
  133. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +45 -0
  134. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +7 -0
  135. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +41 -0
  136. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +36 -0
  137. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +72 -0
  138. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +214 -0
  139. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/README.adoc +20 -0
  140. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +145 -0
  141. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/Governor.sol +723 -0
  142. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +313 -0
  143. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/README.adoc +176 -0
  144. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +422 -0
  145. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +333 -0
  146. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +118 -0
  147. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +100 -0
  148. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +105 -0
  149. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +23 -0
  150. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +110 -0
  151. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +190 -0
  152. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +166 -0
  153. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +55 -0
  154. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +55 -0
  155. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +121 -0
  156. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +26 -0
  157. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +56 -0
  158. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +244 -0
  159. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
  160. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
  161. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
  162. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +19 -0
  163. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +80 -0
  164. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +35 -0
  165. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +29 -0
  166. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
  167. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +6 -0
  168. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +6 -0
  169. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +26 -0
  170. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
  171. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
  172. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +21 -0
  173. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
  174. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +25 -0
  175. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
  176. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +29 -0
  177. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +43 -0
  178. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +232 -0
  179. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
  180. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
  181. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +18 -0
  182. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
  183. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
  184. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
  185. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
  186. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
  187. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
  188. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +6 -0
  189. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +6 -0
  190. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +6 -0
  191. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +73 -0
  192. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
  193. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +8 -0
  194. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +54 -0
  195. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +72 -0
  196. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/README.adoc +12 -0
  197. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +8 -0
  198. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +51 -0
  199. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
  200. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +61 -0
  201. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +18 -0
  202. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
  203. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +57 -0
  204. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
  205. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +26 -0
  206. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
  207. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
  208. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
  209. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
  210. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +16 -0
  211. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Reentrant.sol +43 -0
  212. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +27 -0
  213. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
  214. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +16 -0
  215. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
  216. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
  217. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +23 -0
  218. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
  219. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
  220. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +15 -0
  221. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
  222. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +51 -0
  223. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
  224. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SafeMathMemoryCheck.sol +72 -0
  225. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
  226. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +77 -0
  227. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
  228. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +39 -0
  229. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +39 -0
  230. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +45 -0
  231. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
  232. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +94 -0
  233. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +54 -0
  234. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +100 -0
  235. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +88 -0
  236. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +24 -0
  237. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +35 -0
  238. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +31 -0
  239. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompMock.sol +20 -0
  240. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompatibilityBravoMock.sol +100 -0
  241. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +28 -0
  242. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +45 -0
  243. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +60 -0
  244. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +60 -0
  245. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
  246. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +50 -0
  247. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
  248. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +17 -0
  249. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSLegacy.sol +54 -0
  250. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +33 -0
  251. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +47 -0
  252. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
  253. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
  254. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
  255. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
  256. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
  257. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
  258. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20PermitNoRevertMock.sol +36 -0
  259. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
  260. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +262 -0
  261. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
  262. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
  263. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +51 -0
  264. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
  265. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +42 -0
  266. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
  267. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777Mock.sol +13 -0
  268. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777SenderRecipientMock.sol +152 -0
  269. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/VotesTimestamp.sol +40 -0
  270. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +79 -0
  271. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +85 -0
  272. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +94 -0
  273. package/test/contracts/lib/openzeppelin-contracts/contracts/package.json +32 -0
  274. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +88 -0
  275. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +32 -0
  276. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +157 -0
  277. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +86 -0
  278. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
  279. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +61 -0
  280. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
  281. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +65 -0
  282. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +81 -0
  283. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +191 -0
  284. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +166 -0
  285. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +99 -0
  286. package/test/contracts/lib/openzeppelin-contracts/contracts/security/Pausable.sol +105 -0
  287. package/test/contracts/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +74 -0
  288. package/test/contracts/lib/openzeppelin-contracts/contracts/security/README.adoc +20 -0
  289. package/test/contracts/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +77 -0
  290. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +497 -0
  291. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +119 -0
  292. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +58 -0
  293. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +49 -0
  294. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +32 -0
  295. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +44 -0
  296. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +64 -0
  297. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +63 -0
  298. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +22 -0
  299. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +114 -0
  300. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +1 -0
  301. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +36 -0
  302. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +19 -0
  303. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +365 -0
  304. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +78 -0
  305. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +80 -0
  306. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
  307. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +37 -0
  308. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +109 -0
  309. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +35 -0
  310. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +95 -0
  311. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +191 -0
  312. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +290 -0
  313. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +46 -0
  314. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +73 -0
  315. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +256 -0
  316. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +28 -0
  317. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
  318. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +8 -0
  319. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +8 -0
  320. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +30 -0
  321. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +94 -0
  322. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +1 -0
  323. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +143 -0
  324. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +72 -0
  325. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +466 -0
  326. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +132 -0
  327. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +27 -0
  328. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +73 -0
  329. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
  330. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +148 -0
  331. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +159 -0
  332. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +40 -0
  333. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +38 -0
  334. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +74 -0
  335. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +43 -0
  336. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +97 -0
  337. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
  338. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
  339. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +9 -0
  340. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +132 -0
  341. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +1 -0
  342. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +23 -0
  343. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +514 -0
  344. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +200 -0
  345. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +35 -0
  346. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +35 -0
  347. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +32 -0
  348. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +30 -0
  349. package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +107 -0
  350. package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
  351. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol +244 -0
  352. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +105 -0
  353. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Base64.sol +101 -0
  354. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +560 -0
  355. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
  356. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Counters.sol +43 -0
  357. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Create2.sol +75 -0
  358. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +39 -0
  359. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/README.adoc +113 -0
  360. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
  361. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +138 -0
  362. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol +85 -0
  363. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Timers.sol +75 -0
  364. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +217 -0
  365. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +142 -0
  366. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +227 -0
  367. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +50 -0
  368. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +8 -0
  369. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +25 -0
  370. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +67 -0
  371. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +100 -0
  372. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +29 -0
  373. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +126 -0
  374. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +42 -0
  375. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +43 -0
  376. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
  377. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +20 -0
  378. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +112 -0
  379. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +339 -0
  380. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1136 -0
  381. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +215 -0
  382. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +43 -0
  383. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +68 -0
  384. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +51 -0
  385. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +170 -0
  386. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +598 -0
  387. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +378 -0
  388. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +41 -0
  389. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +134 -0
  390. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +102 -0
  391. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +16 -0
  392. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +152 -0
  393. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +117 -0
  394. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
  395. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
  396. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +34 -0
  397. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +22 -0
  398. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +7 -0
  399. package/test/contracts/lib/openzeppelin-contracts/docs/README.md +16 -0
  400. package/test/contracts/lib/openzeppelin-contracts/docs/antora.yml +6 -0
  401. package/test/contracts/lib/openzeppelin-contracts/docs/config.js +21 -0
  402. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  403. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  404. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  405. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  406. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  407. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  408. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  409. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  410. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  411. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
  412. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
  413. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +23 -0
  414. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +219 -0
  415. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +210 -0
  416. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
  417. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +19 -0
  418. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +153 -0
  419. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
  420. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +85 -0
  421. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  422. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +90 -0
  423. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +75 -0
  424. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +131 -0
  425. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +237 -0
  426. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +65 -0
  427. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
  428. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +32 -0
  429. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
  430. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +190 -0
  431. package/test/contracts/lib/openzeppelin-contracts/docs/templates/contract.hbs +85 -0
  432. package/test/contracts/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
  433. package/test/contracts/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
  434. package/test/contracts/lib/openzeppelin-contracts/docs/templates/properties.js +45 -0
  435. package/test/contracts/lib/openzeppelin-contracts/foundry.toml +3 -0
  436. package/test/contracts/lib/openzeppelin-contracts/hardhat/env-artifacts.js +24 -0
  437. package/test/contracts/lib/openzeppelin-contracts/hardhat/env-contract.js +10 -0
  438. package/test/contracts/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
  439. package/test/contracts/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
  440. package/test/contracts/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
  441. package/test/contracts/lib/openzeppelin-contracts/hardhat.config.js +118 -0
  442. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  443. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +349 -0
  444. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
  445. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
  446. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +92 -0
  447. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +3 -0
  448. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
  449. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
  450. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/README.md +250 -0
  451. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +21 -0
  452. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/.github/workflows/build.yml +41 -0
  453. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +674 -0
  454. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +14 -0
  455. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +4 -0
  456. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
  457. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +15 -0
  458. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +469 -0
  459. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.t.sol +313 -0
  460. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
  461. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +33 -0
  462. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +26 -0
  463. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +376 -0
  464. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +233 -0
  465. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +624 -0
  466. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
  467. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +92 -0
  468. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +179 -0
  469. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
  470. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +327 -0
  471. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
  472. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +189 -0
  473. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +32 -0
  474. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +409 -0
  475. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1533 -0
  476. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1546 -0
  477. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
  478. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
  479. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
  480. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
  481. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
  482. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  483. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +954 -0
  484. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +160 -0
  485. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +401 -0
  486. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +118 -0
  487. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +197 -0
  488. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +283 -0
  489. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  490. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +297 -0
  491. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
  492. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
  493. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
  494. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
  495. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
  496. package/test/contracts/lib/openzeppelin-contracts/logo.svg +15 -0
  497. package/test/contracts/lib/openzeppelin-contracts/netlify.toml +3 -0
  498. package/test/contracts/lib/openzeppelin-contracts/package-lock.json +28833 -0
  499. package/test/contracts/lib/openzeppelin-contracts/package.json +96 -0
  500. package/test/contracts/lib/openzeppelin-contracts/remappings.txt +1 -0
  501. package/test/contracts/lib/openzeppelin-contracts/renovate.json +4 -0
  502. package/test/contracts/lib/openzeppelin-contracts/requirements.txt +1 -0
  503. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +19 -0
  504. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +243 -0
  505. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +40 -0
  506. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
  507. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +54 -0
  508. package/test/contracts/lib/openzeppelin-contracts/scripts/gen-nav.js +41 -0
  509. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
  510. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/run.js +49 -0
  511. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +304 -0
  512. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +22 -0
  513. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +256 -0
  514. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +310 -0
  515. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +250 -0
  516. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +163 -0
  517. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +87 -0
  518. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
  519. package/test/contracts/lib/openzeppelin-contracts/scripts/git-user-config.sh +6 -0
  520. package/test/contracts/lib/openzeppelin-contracts/scripts/helpers.js +37 -0
  521. package/test/contracts/lib/openzeppelin-contracts/scripts/migrate-imports.js +180 -0
  522. package/test/contracts/lib/openzeppelin-contracts/scripts/prepack.sh +12 -0
  523. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +15 -0
  524. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
  525. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare.sh +10 -0
  526. package/test/contracts/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
  527. package/test/contracts/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
  528. package/test/contracts/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
  529. package/test/contracts/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
  530. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
  531. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +47 -0
  532. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
  533. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
  534. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
  535. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
  536. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  537. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
  538. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
  539. package/test/contracts/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
  540. package/test/contracts/lib/openzeppelin-contracts/scripts/update-docs-branch.js +63 -0
  541. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
  542. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
  543. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
  544. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +44 -0
  545. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +35 -0
  546. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +481 -0
  547. package/test/contracts/lib/openzeppelin-contracts/slither.config.json +5 -0
  548. package/test/contracts/lib/openzeppelin-contracts/test/TESTING.md +3 -0
  549. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +867 -0
  550. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.test.js +12 -0
  551. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +49 -0
  552. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlDefaultAdminRules.test.js +25 -0
  553. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +17 -0
  554. package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable.test.js +59 -0
  555. package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +67 -0
  556. package/test/contracts/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +78 -0
  557. package/test/contracts/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +217 -0
  558. package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +59 -0
  559. package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +67 -0
  560. package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.t.sol +55 -0
  561. package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.test.js +782 -0
  562. package/test/contracts/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1254 -0
  563. package/test/contracts/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +283 -0
  564. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +88 -0
  565. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +115 -0
  566. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +189 -0
  567. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +352 -0
  568. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +445 -0
  569. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +154 -0
  570. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +173 -0
  571. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/EIP6372.behavior.js +23 -0
  572. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +361 -0
  573. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +71 -0
  574. package/test/contracts/lib/openzeppelin-contracts/test/helpers/chainid.js +10 -0
  575. package/test/contracts/lib/openzeppelin-contracts/test/helpers/create2.js +11 -0
  576. package/test/contracts/lib/openzeppelin-contracts/test/helpers/crosschain.js +61 -0
  577. package/test/contracts/lib/openzeppelin-contracts/test/helpers/customError.js +24 -0
  578. package/test/contracts/lib/openzeppelin-contracts/test/helpers/eip712.js +67 -0
  579. package/test/contracts/lib/openzeppelin-contracts/test/helpers/enums.js +12 -0
  580. package/test/contracts/lib/openzeppelin-contracts/test/helpers/erc1967.js +24 -0
  581. package/test/contracts/lib/openzeppelin-contracts/test/helpers/governance.js +201 -0
  582. package/test/contracts/lib/openzeppelin-contracts/test/helpers/map-values.js +7 -0
  583. package/test/contracts/lib/openzeppelin-contracts/test/helpers/sign.js +63 -0
  584. package/test/contracts/lib/openzeppelin-contracts/test/helpers/time.js +17 -0
  585. package/test/contracts/lib/openzeppelin-contracts/test/helpers/txpool.js +38 -0
  586. package/test/contracts/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +175 -0
  587. package/test/contracts/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +169 -0
  588. package/test/contracts/lib/openzeppelin-contracts/test/migrate-imports.test.js +33 -0
  589. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +136 -0
  590. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.test.js +61 -0
  591. package/test/contracts/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
  592. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +225 -0
  593. package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +139 -0
  594. package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +44 -0
  595. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +127 -0
  596. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +433 -0
  597. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +17 -0
  598. package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +218 -0
  599. package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
  600. package/test/contracts/lib/openzeppelin-contracts/test/security/Pausable.test.js +85 -0
  601. package/test/contracts/lib/openzeppelin-contracts/test/security/PullPayment.test.js +51 -0
  602. package/test/contracts/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +43 -0
  603. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +767 -0
  604. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +235 -0
  605. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
  606. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
  607. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +107 -0
  608. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
  609. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +156 -0
  610. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +64 -0
  611. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +322 -0
  612. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +305 -0
  613. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +106 -0
  614. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +20 -0
  615. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
  616. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +23 -0
  617. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +204 -0
  618. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +133 -0
  619. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +207 -0
  620. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +578 -0
  621. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +543 -0
  622. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
  623. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +42 -0
  624. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +1031 -0
  625. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +103 -0
  626. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
  627. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +110 -0
  628. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +350 -0
  629. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
  630. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +893 -0
  631. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +15 -0
  632. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +20 -0
  633. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +70 -0
  634. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +122 -0
  635. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +206 -0
  636. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +92 -0
  637. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -0
  638. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +100 -0
  639. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +184 -0
  640. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +283 -0
  641. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +122 -0
  642. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +22 -0
  643. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +597 -0
  644. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +556 -0
  645. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
  646. package/test/contracts/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +157 -0
  647. package/test/contracts/lib/openzeppelin-contracts/test/utils/Address.test.js +361 -0
  648. package/test/contracts/lib/openzeppelin-contracts/test/utils/Arrays.test.js +123 -0
  649. package/test/contracts/lib/openzeppelin-contracts/test/utils/Base64.test.js +43 -0
  650. package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.t.sol +347 -0
  651. package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +255 -0
  652. package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.behavior.js +42 -0
  653. package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.test.js +17 -0
  654. package/test/contracts/lib/openzeppelin-contracts/test/utils/Counters.test.js +84 -0
  655. package/test/contracts/lib/openzeppelin-contracts/test/utils/Create2.test.js +89 -0
  656. package/test/contracts/lib/openzeppelin-contracts/test/utils/Multicall.test.js +68 -0
  657. package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +55 -0
  658. package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +55 -0
  659. package/test/contracts/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +210 -0
  660. package/test/contracts/lib/openzeppelin-contracts/test/utils/Strings.test.js +150 -0
  661. package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +55 -0
  662. package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +55 -0
  663. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +260 -0
  664. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +103 -0
  665. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +200 -0
  666. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +87 -0
  667. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +37 -0
  668. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +90 -0
  669. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +14 -0
  670. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +143 -0
  671. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +11 -0
  672. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +302 -0
  673. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +23 -0
  674. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +71 -0
  675. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +146 -0
  676. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +217 -0
  677. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.test.js +289 -0
  678. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +152 -0
  679. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +433 -0
  680. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +95 -0
  681. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +152 -0
  682. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +145 -0
  683. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +99 -0
  684. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +185 -0
  685. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +154 -0
  686. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +129 -0
  687. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +79 -0
  688. package/test/contracts/out/AccessControl.sol/AccessControl.json +1 -0
  689. package/test/contracts/out/AccessControlCrossChain.sol/AccessControlCrossChain.json +1 -0
  690. package/test/contracts/out/AccessControlCrossChainMock.sol/AccessControlCrossChainMock.json +1 -0
  691. package/test/contracts/out/AccessControlDefaultAdminRules.sol/AccessControlDefaultAdminRules.json +1 -0
  692. package/test/contracts/out/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -0
  693. package/test/contracts/out/Address.sol/Address.json +1 -0
  694. package/test/contracts/out/Arrays.sol/Arrays.json +1 -0
  695. package/test/contracts/out/ArraysMock.sol/AddressArraysMock.json +1 -0
  696. package/test/contracts/out/ArraysMock.sol/Bytes32ArraysMock.json +1 -0
  697. package/test/contracts/out/ArraysMock.sol/Uint256ArraysMock.json +1 -0
  698. package/test/contracts/out/BadBeacon.sol/BadBeaconNoImpl.json +1 -0
  699. package/test/contracts/out/BadBeacon.sol/BadBeaconNotContract.json +1 -0
  700. package/test/contracts/out/Base.sol/CommonBase.json +1 -0
  701. package/test/contracts/out/Base.sol/ScriptBase.json +1 -0
  702. package/test/contracts/out/Base.sol/TestBase.json +1 -0
  703. package/test/contracts/out/Base64.sol/Base64.json +1 -0
  704. package/test/contracts/out/Base64Dirty.sol/Base64Dirty.json +1 -0
  705. package/test/contracts/out/BeaconProxy.sol/BeaconProxy.json +1 -0
  706. package/test/contracts/out/BitMaps.sol/BitMaps.json +1 -0
  707. package/test/contracts/out/CallReceiverMock.sol/CallReceiverMock.json +1 -0
  708. package/test/contracts/out/Checkpoints.sol/Checkpoints.json +1 -0
  709. package/test/contracts/out/Checkpoints.t.sol/CheckpointsHistoryTest.json +1 -0
  710. package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace160Test.json +1 -0
  711. package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace224Test.json +1 -0
  712. package/test/contracts/out/ClashingImplementation.sol/ClashingImplementation.json +1 -0
  713. package/test/contracts/out/Clones.sol/Clones.json +1 -0
  714. package/test/contracts/out/CompTimelock.sol/CompTimelock.json +1 -0
  715. package/test/contracts/out/CompilationScript.sol/CompilationScript.json +1 -0
  716. package/test/contracts/out/CompilationScriptBase.sol/CompilationScriptBase.json +1 -0
  717. package/test/contracts/out/CompilationTest.sol/CompilationTest.json +1 -0
  718. package/test/contracts/out/CompilationTestBase.sol/CompilationTestBase.json +1 -0
  719. package/test/contracts/out/ConditionalEscrow.sol/ConditionalEscrow.json +1 -0
  720. package/test/contracts/out/ConditionalEscrowMock.sol/ConditionalEscrowMock.json +1 -0
  721. package/test/contracts/out/Context.sol/Context.json +1 -0
  722. package/test/contracts/out/ContextMock.sol/ContextMock.json +1 -0
  723. package/test/contracts/out/ContextMock.sol/ContextMockCaller.json +1 -0
  724. package/test/contracts/out/Counters.sol/Counters.json +1 -0
  725. package/test/contracts/out/Create2.sol/Create2.json +1 -0
  726. package/test/contracts/out/CrossChainEnabled.sol/CrossChainEnabled.json +1 -0
  727. package/test/contracts/out/CrossChainEnabledAMB.sol/CrossChainEnabledAMB.json +1 -0
  728. package/test/contracts/out/CrossChainEnabledArbitrumL1.sol/CrossChainEnabledArbitrumL1.json +1 -0
  729. package/test/contracts/out/CrossChainEnabledArbitrumL2.sol/CrossChainEnabledArbitrumL2.json +1 -0
  730. package/test/contracts/out/CrossChainEnabledOptimism.sol/CrossChainEnabledOptimism.json +1 -0
  731. package/test/contracts/out/CrossChainEnabledPolygonChild.sol/CrossChainEnabledPolygonChild.json +1 -0
  732. package/test/contracts/out/DoubleEndedQueue.sol/DoubleEndedQueue.json +1 -0
  733. package/test/contracts/out/DummyImplementation.sol/DummyImplementation.json +1 -0
  734. package/test/contracts/out/DummyImplementation.sol/DummyImplementationV2.json +1 -0
  735. package/test/contracts/out/DummyImplementation.sol/Impl.json +1 -0
  736. package/test/contracts/out/ECDSA.sol/ECDSA.json +1 -0
  737. package/test/contracts/out/EIP712.sol/EIP712.json +1 -0
  738. package/test/contracts/out/EIP712Verifier.sol/EIP712Verifier.json +1 -0
  739. package/test/contracts/out/ERC1155.sol/ERC1155.json +1 -0
  740. package/test/contracts/out/ERC1155Burnable.sol/ERC1155Burnable.json +1 -0
  741. package/test/contracts/out/ERC1155Holder.sol/ERC1155Holder.json +1 -0
  742. package/test/contracts/out/ERC1155Pausable.sol/ERC1155Pausable.json +1 -0
  743. package/test/contracts/out/ERC1155PresetMinterPauser.sol/ERC1155PresetMinterPauser.json +1 -0
  744. package/test/contracts/out/ERC1155Receiver.sol/ERC1155Receiver.json +1 -0
  745. package/test/contracts/out/ERC1155ReceiverMock.sol/ERC1155ReceiverMock.json +1 -0
  746. package/test/contracts/out/ERC1155Supply.sol/ERC1155Supply.json +1 -0
  747. package/test/contracts/out/ERC1155URIStorage.sol/ERC1155URIStorage.json +1 -0
  748. package/test/contracts/out/ERC1271WalletMock.sol/ERC1271MaliciousMock.json +1 -0
  749. package/test/contracts/out/ERC1271WalletMock.sol/ERC1271WalletMock.json +1 -0
  750. package/test/contracts/out/ERC165.sol/ERC165.json +1 -0
  751. package/test/contracts/out/ERC165Checker.sol/ERC165Checker.json +1 -0
  752. package/test/contracts/out/ERC165MaliciousData.sol/ERC165MaliciousData.json +1 -0
  753. package/test/contracts/out/ERC165MissingData.sol/ERC165MissingData.json +1 -0
  754. package/test/contracts/out/ERC165NotSupported.sol/ERC165NotSupported.json +1 -0
  755. package/test/contracts/out/ERC165ReturnBomb.sol/ERC165ReturnBombMock.json +1 -0
  756. package/test/contracts/out/ERC165Storage.sol/ERC165Storage.json +1 -0
  757. package/test/contracts/out/ERC1820Implementer.sol/ERC1820Implementer.json +1 -0
  758. package/test/contracts/out/ERC1967Proxy.sol/ERC1967Proxy.json +1 -0
  759. package/test/contracts/out/ERC1967Upgrade.sol/ERC1967Upgrade.json +1 -0
  760. package/test/contracts/out/ERC20.sol/ERC20.json +1 -0
  761. package/test/contracts/out/ERC20Burnable.sol/ERC20Burnable.json +1 -0
  762. package/test/contracts/out/ERC20Capped.sol/ERC20Capped.json +1 -0
  763. package/test/contracts/out/ERC20DecimalsMock.sol/ERC20DecimalsMock.json +1 -0
  764. package/test/contracts/out/ERC20ExcessDecimalsMock.sol/ERC20ExcessDecimalsMock.json +1 -0
  765. package/test/contracts/out/ERC20FlashMint.sol/ERC20FlashMint.json +1 -0
  766. package/test/contracts/out/ERC20FlashMintMock.sol/ERC20FlashMintMock.json +1 -0
  767. package/test/contracts/out/ERC20ForceApproveMock.sol/ERC20ForceApproveMock.json +1 -0
  768. package/test/contracts/out/ERC20Mock.sol/ERC20Mock.json +1 -0
  769. package/test/contracts/out/ERC20MulticallMock.sol/ERC20MulticallMock.json +1 -0
  770. package/test/contracts/out/ERC20NoReturnMock.sol/ERC20NoReturnMock.json +1 -0
  771. package/test/contracts/out/ERC20Pausable.sol/ERC20Pausable.json +1 -0
  772. package/test/contracts/out/ERC20Permit.sol/ERC20Permit.json +1 -0
  773. package/test/contracts/out/ERC20PermitNoRevertMock.sol/ERC20PermitNoRevertMock.json +1 -0
  774. package/test/contracts/out/ERC20PresetFixedSupply.sol/ERC20PresetFixedSupply.json +1 -0
  775. package/test/contracts/out/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +1 -0
  776. package/test/contracts/out/ERC20Reentrant.sol/ERC20Reentrant.json +1 -0
  777. package/test/contracts/out/ERC20ReturnFalseMock.sol/ERC20ReturnFalseMock.json +1 -0
  778. package/test/contracts/out/ERC20Snapshot.sol/ERC20Snapshot.json +1 -0
  779. package/test/contracts/out/ERC20Votes.sol/ERC20Votes.json +1 -0
  780. package/test/contracts/out/ERC20VotesComp.sol/ERC20VotesComp.json +1 -0
  781. package/test/contracts/out/ERC20VotesLegacyMock.sol/ERC20VotesLegacyMock.json +1 -0
  782. package/test/contracts/out/ERC20Wrapper.sol/ERC20Wrapper.json +1 -0
  783. package/test/contracts/out/ERC2771Context.sol/ERC2771Context.json +1 -0
  784. package/test/contracts/out/ERC2771ContextMock.sol/ERC2771ContextMock.json +1 -0
  785. package/test/contracts/out/ERC2981.sol/ERC2981.json +1 -0
  786. package/test/contracts/out/ERC3156FlashBorrowerMock.sol/ERC3156FlashBorrowerMock.json +1 -0
  787. package/test/contracts/out/ERC4626.prop.sol/ERC4626Prop.json +1 -0
  788. package/test/contracts/out/ERC4626.prop.sol/IERC20.json +1 -0
  789. package/test/contracts/out/ERC4626.prop.sol/IERC4626.json +1 -0
  790. package/test/contracts/out/ERC4626.sol/ERC4626.json +1 -0
  791. package/test/contracts/out/ERC4626.t.sol/ERC4626StdTest.json +1 -0
  792. package/test/contracts/out/ERC4626.t.sol/ERC4626VaultOffsetMock.json +1 -0
  793. package/test/contracts/out/ERC4626.test.sol/ERC4626Test.json +1 -0
  794. package/test/contracts/out/ERC4626.test.sol/IMockERC20.json +1 -0
  795. package/test/contracts/out/ERC4626Fees.sol/ERC4626Fees.json +1 -0
  796. package/test/contracts/out/ERC4626Mock.sol/ERC4626Mock.json +1 -0
  797. package/test/contracts/out/ERC4626OffsetMock.sol/ERC4626OffsetMock.json +1 -0
  798. package/test/contracts/out/ERC4646FeesMock.sol/ERC4626FeesMock.json +1 -0
  799. package/test/contracts/out/ERC721.sol/ERC721.json +1 -0
  800. package/test/contracts/out/ERC721Burnable.sol/ERC721Burnable.json +1 -0
  801. package/test/contracts/out/ERC721Consecutive.sol/ERC721Consecutive.json +1 -0
  802. package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTarget.json +1 -0
  803. package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTest.json +1 -0
  804. package/test/contracts/out/ERC721ConsecutiveEnumerableMock.sol/ERC721ConsecutiveEnumerableMock.json +1 -0
  805. package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveMock.json +1 -0
  806. package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveNoConstructorMintMock.json +1 -0
  807. package/test/contracts/out/ERC721Enumerable.sol/ERC721Enumerable.json +1 -0
  808. package/test/contracts/out/ERC721Holder.sol/ERC721Holder.json +1 -0
  809. package/test/contracts/out/ERC721Pausable.sol/ERC721Pausable.json +1 -0
  810. package/test/contracts/out/ERC721PresetMinterPauserAutoId.sol/ERC721PresetMinterPauserAutoId.json +1 -0
  811. package/test/contracts/out/ERC721ReceiverMock.sol/ERC721ReceiverMock.json +1 -0
  812. package/test/contracts/out/ERC721Royalty.sol/ERC721Royalty.json +1 -0
  813. package/test/contracts/out/ERC721URIStorage.sol/ERC721URIStorage.json +1 -0
  814. package/test/contracts/out/ERC721URIStorageMock.sol/ERC721URIStorageMock.json +1 -0
  815. package/test/contracts/out/ERC721Votes.sol/ERC721Votes.json +1 -0
  816. package/test/contracts/out/ERC721Wrapper.sol/ERC721Wrapper.json +1 -0
  817. package/test/contracts/out/ERC777.sol/ERC777.json +1 -0
  818. package/test/contracts/out/ERC777Mock.sol/ERC777Mock.json +1 -0
  819. package/test/contracts/out/ERC777PresetFixedSupply.sol/ERC777PresetFixedSupply.json +1 -0
  820. package/test/contracts/out/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock.json +1 -0
  821. package/test/contracts/out/EnumerableMap.sol/EnumerableMap.json +1 -0
  822. package/test/contracts/out/EnumerableSet.sol/EnumerableSet.json +1 -0
  823. package/test/contracts/out/Escrow.sol/Escrow.json +1 -0
  824. package/test/contracts/out/EtherReceiverMock.sol/EtherReceiverMock.json +1 -0
  825. package/test/contracts/out/Governor.sol/Governor.json +1 -0
  826. package/test/contracts/out/Governor.t.sol/GovernorInternalTest.json +1 -0
  827. package/test/contracts/out/GovernorCompMock.sol/GovernorCompMock.json +1 -0
  828. package/test/contracts/out/GovernorCompatibilityBravo.sol/GovernorCompatibilityBravo.json +1 -0
  829. package/test/contracts/out/GovernorCompatibilityBravoMock.sol/GovernorCompatibilityBravoMock.json +1 -0
  830. package/test/contracts/out/GovernorCountingSimple.sol/GovernorCountingSimple.json +1 -0
  831. package/test/contracts/out/GovernorMock.sol/GovernorMock.json +1 -0
  832. package/test/contracts/out/GovernorPreventLateQuorum.sol/GovernorPreventLateQuorum.json +1 -0
  833. package/test/contracts/out/GovernorPreventLateQuorumMock.sol/GovernorPreventLateQuorumMock.json +1 -0
  834. package/test/contracts/out/GovernorProposalThreshold.sol/GovernorProposalThreshold.json +1 -0
  835. package/test/contracts/out/GovernorSettings.sol/GovernorSettings.json +1 -0
  836. package/test/contracts/out/GovernorTimelockCompound.sol/GovernorTimelockCompound.json +1 -0
  837. package/test/contracts/out/GovernorTimelockCompoundMock.sol/GovernorTimelockCompoundMock.json +1 -0
  838. package/test/contracts/out/GovernorTimelockControl.sol/GovernorTimelockControl.json +1 -0
  839. package/test/contracts/out/GovernorTimelockControlMock.sol/GovernorTimelockControlMock.json +1 -0
  840. package/test/contracts/out/GovernorVoteMock.sol/GovernorVoteMocks.json +1 -0
  841. package/test/contracts/out/GovernorVotes.sol/GovernorVotes.json +1 -0
  842. package/test/contracts/out/GovernorVotesComp.sol/GovernorVotesComp.json +1 -0
  843. package/test/contracts/out/GovernorVotesQuorumFraction.sol/GovernorVotesQuorumFraction.json +1 -0
  844. package/test/contracts/out/GovernorWithParamsMock.sol/GovernorWithParamsMock.json +1 -0
  845. package/test/contracts/out/IAMB.sol/IAMB.json +1 -0
  846. package/test/contracts/out/IAccessControl.sol/IAccessControl.json +1 -0
  847. package/test/contracts/out/IAccessControlDefaultAdminRules.sol/IAccessControlDefaultAdminRules.json +1 -0
  848. package/test/contracts/out/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -0
  849. package/test/contracts/out/IArbSys.sol/IArbSys.json +1 -0
  850. package/test/contracts/out/IBeacon.sol/IBeacon.json +1 -0
  851. package/test/contracts/out/IBridge.sol/IBridge.json +1 -0
  852. package/test/contracts/out/ICompoundTimelock.sol/ICompoundTimelock.json +1 -0
  853. package/test/contracts/out/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +1 -0
  854. package/test/contracts/out/IDelayedMessageProvider.sol/IDelayedMessageProvider.json +1 -0
  855. package/test/contracts/out/IERC1155.sol/IERC1155.json +1 -0
  856. package/test/contracts/out/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +1 -0
  857. package/test/contracts/out/IERC1155Receiver.sol/IERC1155Receiver.json +1 -0
  858. package/test/contracts/out/IERC1271.sol/IERC1271.json +1 -0
  859. package/test/contracts/out/IERC1363.sol/IERC1363.json +1 -0
  860. package/test/contracts/out/IERC1363Receiver.sol/IERC1363Receiver.json +1 -0
  861. package/test/contracts/out/IERC1363Spender.sol/IERC1363Spender.json +1 -0
  862. package/test/contracts/out/IERC165.sol/IERC165.json +1 -0
  863. package/test/contracts/out/IERC1820Implementer.sol/IERC1820Implementer.json +1 -0
  864. package/test/contracts/out/IERC1820Registry.sol/IERC1820Registry.json +1 -0
  865. package/test/contracts/out/IERC1967.sol/IERC1967.json +1 -0
  866. package/test/contracts/out/IERC20.sol/IERC20.json +1 -0
  867. package/test/contracts/out/IERC20Metadata.sol/IERC20Metadata.json +1 -0
  868. package/test/contracts/out/IERC20Permit.sol/IERC20Permit.json +1 -0
  869. package/test/contracts/out/IERC2309.sol/IERC2309.json +1 -0
  870. package/test/contracts/out/IERC2612.sol/IERC2612.json +1 -0
  871. package/test/contracts/out/IERC2981.sol/IERC2981.json +1 -0
  872. package/test/contracts/out/IERC3156FlashBorrower.sol/IERC3156FlashBorrower.json +1 -0
  873. package/test/contracts/out/IERC3156FlashLender.sol/IERC3156FlashLender.json +1 -0
  874. package/test/contracts/out/IERC4626.sol/IERC4626.json +1 -0
  875. package/test/contracts/out/IERC4906.sol/IERC4906.json +1 -0
  876. package/test/contracts/out/IERC5267.sol/IERC5267.json +1 -0
  877. package/test/contracts/out/IERC5313.sol/IERC5313.json +1 -0
  878. package/test/contracts/out/IERC5805.sol/IERC5805.json +1 -0
  879. package/test/contracts/out/IERC6372.sol/IERC6372.json +1 -0
  880. package/test/contracts/out/IERC721.sol/IERC721.json +1 -0
  881. package/test/contracts/out/IERC721.sol/IERC721Enumerable.json +1 -0
  882. package/test/contracts/out/IERC721.sol/IERC721Metadata.json +1 -0
  883. package/test/contracts/out/IERC721.sol/IERC721TokenReceiver.json +1 -0
  884. package/test/contracts/out/IERC721Enumerable.sol/IERC721Enumerable.json +1 -0
  885. package/test/contracts/out/IERC721Metadata.sol/IERC721Metadata.json +1 -0
  886. package/test/contracts/out/IERC721Receiver.sol/IERC721Receiver.json +1 -0
  887. package/test/contracts/out/IERC777.sol/IERC777.json +1 -0
  888. package/test/contracts/out/IERC777Recipient.sol/IERC777Recipient.json +1 -0
  889. package/test/contracts/out/IERC777Sender.sol/IERC777Sender.json +1 -0
  890. package/test/contracts/out/IFxMessageProcessor.sol/IFxMessageProcessor.json +1 -0
  891. package/test/contracts/out/IGovernor.sol/IGovernor.json +1 -0
  892. package/test/contracts/out/IGovernorCompatibilityBravo.sol/IGovernorCompatibilityBravo.json +1 -0
  893. package/test/contracts/out/IGovernorTimelock.sol/IGovernorTimelock.json +1 -0
  894. package/test/contracts/out/IInbox.sol/IInbox.json +1 -0
  895. package/test/contracts/out/IMulticall3.sol/IMulticall3.json +1 -0
  896. package/test/contracts/out/IOutbox.sol/IOutbox.json +1 -0
  897. package/test/contracts/out/IVotes.sol/IVotes.json +1 -0
  898. package/test/contracts/out/Initializable.sol/Initializable.json +1 -0
  899. package/test/contracts/out/InitializableMock.sol/ChildConstructorInitializableMock.json +1 -0
  900. package/test/contracts/out/InitializableMock.sol/ConstructorInitializableMock.json +1 -0
  901. package/test/contracts/out/InitializableMock.sol/DisableBad1.json +1 -0
  902. package/test/contracts/out/InitializableMock.sol/DisableBad2.json +1 -0
  903. package/test/contracts/out/InitializableMock.sol/DisableNew.json +1 -0
  904. package/test/contracts/out/InitializableMock.sol/DisableOk.json +1 -0
  905. package/test/contracts/out/InitializableMock.sol/DisableOld.json +1 -0
  906. package/test/contracts/out/InitializableMock.sol/InitializableMock.json +1 -0
  907. package/test/contracts/out/InitializableMock.sol/ReinitializerMock.json +1 -0
  908. package/test/contracts/out/LibAMB.sol/LibAMB.json +1 -0
  909. package/test/contracts/out/LibArbitrumL1.sol/LibArbitrumL1.json +1 -0
  910. package/test/contracts/out/LibArbitrumL2.sol/LibArbitrumL2.json +1 -0
  911. package/test/contracts/out/LibOptimism.sol/LibOptimism.json +1 -0
  912. package/test/contracts/out/Math.sol/Math.json +1 -0
  913. package/test/contracts/out/Math.t.sol/MathTest.json +1 -0
  914. package/test/contracts/out/MerkleProof.sol/MerkleProof.json +1 -0
  915. package/test/contracts/out/MinimalForwarder.sol/MinimalForwarder.json +1 -0
  916. package/test/contracts/out/MockMiladyAgentRegistry.sol/MockMiladyAgentRegistry.json +1 -0
  917. package/test/contracts/out/MockMiladyCollection.sol/MockMiladyCollection.json +1 -0
  918. package/test/contracts/out/Multicall.sol/Multicall.json +1 -0
  919. package/test/contracts/out/MulticallTest.sol/MulticallTest.json +1 -0
  920. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleChild.json +1 -0
  921. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleFather.json +1 -0
  922. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleGramps.json +1 -0
  923. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleHuman.json +1 -0
  924. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleMother.json +1 -0
  925. package/test/contracts/out/MyGovernor.sol/MyGovernor.json +1 -0
  926. package/test/contracts/out/MyGovernor1.sol/MyGovernor1.json +1 -0
  927. package/test/contracts/out/MyGovernor2.sol/MyGovernor2.json +1 -0
  928. package/test/contracts/out/MyGovernor3.sol/MyGovernor3.json +1 -0
  929. package/test/contracts/out/MyToken.sol/MyToken.json +1 -0
  930. package/test/contracts/out/MyTokenTimestampBased.sol/MyTokenTimestampBased.json +1 -0
  931. package/test/contracts/out/MyTokenWrapped.sol/MyTokenWrapped.json +1 -0
  932. package/test/contracts/out/Ownable.sol/Ownable.json +1 -0
  933. package/test/contracts/out/Ownable2Step.sol/Ownable2Step.json +1 -0
  934. package/test/contracts/out/Pausable.sol/Pausable.json +1 -0
  935. package/test/contracts/out/PausableMock.sol/PausableMock.json +1 -0
  936. package/test/contracts/out/PaymentSplitter.sol/PaymentSplitter.json +1 -0
  937. package/test/contracts/out/Proxy.sol/Proxy.json +1 -0
  938. package/test/contracts/out/ProxyAdmin.sol/ProxyAdmin.json +1 -0
  939. package/test/contracts/out/PullPayment.sol/PullPayment.json +1 -0
  940. package/test/contracts/out/PullPaymentMock.sol/PullPaymentMock.json +1 -0
  941. package/test/contracts/out/ReentrancyAttack.sol/ReentrancyAttack.json +1 -0
  942. package/test/contracts/out/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
  943. package/test/contracts/out/ReentrancyMock.sol/ReentrancyMock.json +1 -0
  944. package/test/contracts/out/RefundEscrow.sol/RefundEscrow.json +1 -0
  945. package/test/contracts/out/RegressionImplementation.sol/Implementation1.json +1 -0
  946. package/test/contracts/out/RegressionImplementation.sol/Implementation2.json +1 -0
  947. package/test/contracts/out/RegressionImplementation.sol/Implementation3.json +1 -0
  948. package/test/contracts/out/RegressionImplementation.sol/Implementation4.json +1 -0
  949. package/test/contracts/out/SafeCast.sol/SafeCast.json +1 -0
  950. package/test/contracts/out/SafeERC20.sol/SafeERC20.json +1 -0
  951. package/test/contracts/out/SafeMath.sol/SafeMath.json +1 -0
  952. package/test/contracts/out/SafeMathMemoryCheck.sol/SafeMathMemoryCheck.json +1 -0
  953. package/test/contracts/out/Script.sol/Script.json +1 -0
  954. package/test/contracts/out/ShortStrings.sol/ShortStrings.json +1 -0
  955. package/test/contracts/out/ShortStrings.t.sol/ShortStringsTest.json +1 -0
  956. package/test/contracts/out/SignatureChecker.sol/SignatureChecker.json +1 -0
  957. package/test/contracts/out/SignedMath.sol/SignedMath.json +1 -0
  958. package/test/contracts/out/SignedSafeMath.sol/SignedSafeMath.json +1 -0
  959. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV1.json +1 -0
  960. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV2.json +1 -0
  961. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV3.json +1 -0
  962. package/test/contracts/out/StdAssertions.sol/StdAssertions.json +1 -0
  963. package/test/contracts/out/StdAssertions.t.sol/StdAssertionsTest.json +1 -0
  964. package/test/contracts/out/StdAssertions.t.sol/TestMockCall.json +1 -0
  965. package/test/contracts/out/StdAssertions.t.sol/TestTest.json +1 -0
  966. package/test/contracts/out/StdChains.sol/StdChains.json +1 -0
  967. package/test/contracts/out/StdChains.t.sol/StdChainsTest.json +1 -0
  968. package/test/contracts/out/StdCheats.sol/StdCheats.json +1 -0
  969. package/test/contracts/out/StdCheats.sol/StdCheatsSafe.json +1 -0
  970. package/test/contracts/out/StdCheats.t.sol/Bar.json +1 -0
  971. package/test/contracts/out/StdCheats.t.sol/BarERC1155.json +1 -0
  972. package/test/contracts/out/StdCheats.t.sol/BarERC721.json +1 -0
  973. package/test/contracts/out/StdCheats.t.sol/RevertingContract.json +1 -0
  974. package/test/contracts/out/StdCheats.t.sol/StdCheatsTest.json +1 -0
  975. package/test/contracts/out/StdError.sol/stdError.json +1 -0
  976. package/test/contracts/out/StdError.t.sol/ErrorsTest.json +1 -0
  977. package/test/contracts/out/StdError.t.sol/StdErrorsTest.json +1 -0
  978. package/test/contracts/out/StdInvariant.sol/StdInvariant.json +1 -0
  979. package/test/contracts/out/StdJson.sol/stdJson.json +1 -0
  980. package/test/contracts/out/StdMath.sol/stdMath.json +1 -0
  981. package/test/contracts/out/StdMath.t.sol/StdMathTest.json +1 -0
  982. package/test/contracts/out/StdStorage.sol/stdStorage.json +1 -0
  983. package/test/contracts/out/StdStorage.sol/stdStorageSafe.json +1 -0
  984. package/test/contracts/out/StdStorage.t.sol/StdStorageTest.json +1 -0
  985. package/test/contracts/out/StdStorage.t.sol/StorageTest.json +1 -0
  986. package/test/contracts/out/StdStyle.sol/StdStyle.json +1 -0
  987. package/test/contracts/out/StdStyle.t.sol/StdStyleTest.json +1 -0
  988. package/test/contracts/out/StdUtils.sol/StdUtils.json +1 -0
  989. package/test/contracts/out/StdUtils.t.sol/StdUtilsForkTest.json +1 -0
  990. package/test/contracts/out/StdUtils.t.sol/StdUtilsMock.json +1 -0
  991. package/test/contracts/out/StdUtils.t.sol/StdUtilsTest.json +1 -0
  992. package/test/contracts/out/StorageSlot.sol/StorageSlot.json +1 -0
  993. package/test/contracts/out/StorageSlotMock.sol/StorageSlotMock.json +1 -0
  994. package/test/contracts/out/Strings.sol/Strings.json +1 -0
  995. package/test/contracts/out/TimelockController.sol/TimelockController.json +1 -0
  996. package/test/contracts/out/TimelockReentrant.sol/TimelockReentrant.json +1 -0
  997. package/test/contracts/out/Timers.sol/Timers.json +1 -0
  998. package/test/contracts/out/TimersBlockNumberImpl.sol/TimersBlockNumberImpl.json +1 -0
  999. package/test/contracts/out/TimersTimestampImpl.sol/TimersTimestampImpl.json +1 -0
  1000. package/test/contracts/out/TokenTimelock.sol/TokenTimelock.json +1 -0
  1001. package/test/contracts/out/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -0
  1002. package/test/contracts/out/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1 -0
  1003. package/test/contracts/out/UUPSLegacy.sol/UUPSUpgradeableLegacyMock.json +1 -0
  1004. package/test/contracts/out/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -0
  1005. package/test/contracts/out/UUPSUpgradeableMock.sol/NonUpgradeableMock.json +1 -0
  1006. package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableMock.json +1 -0
  1007. package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableUnsafeMock.json +1 -0
  1008. package/test/contracts/out/UpgradeableBeacon.sol/UpgradeableBeacon.json +1 -0
  1009. package/test/contracts/out/VestingWallet.sol/VestingWallet.json +1 -0
  1010. package/test/contracts/out/Vm.sol/Vm.json +1 -0
  1011. package/test/contracts/out/Vm.sol/VmSafe.json +1 -0
  1012. package/test/contracts/out/Votes.sol/Votes.json +1 -0
  1013. package/test/contracts/out/VotesMock.sol/VotesMock.json +1 -0
  1014. package/test/contracts/out/VotesMock.sol/VotesTimestampMock.json +1 -0
  1015. package/test/contracts/out/VotesTimestamp.sol/ERC20VotesCompTimestampMock.json +1 -0
  1016. package/test/contracts/out/VotesTimestamp.sol/ERC20VotesTimestampMock.json +1 -0
  1017. package/test/contracts/out/VotesTimestamp.sol/ERC721VotesTimestampMock.json +1 -0
  1018. package/test/contracts/out/bridges.sol/BaseRelayMock.json +1 -0
  1019. package/test/contracts/out/bridges.sol/BridgeAMBMock.json +1 -0
  1020. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Inbox.json +1 -0
  1021. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Mock.json +1 -0
  1022. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Outbox.json +1 -0
  1023. package/test/contracts/out/bridges.sol/BridgeArbitrumL2Mock.json +1 -0
  1024. package/test/contracts/out/bridges.sol/BridgeOptimismMock.json +1 -0
  1025. package/test/contracts/out/bridges.sol/BridgePolygonChildMock.json +1 -0
  1026. package/test/contracts/out/build-info/2be03bb8eb1ccda1.json +1 -0
  1027. package/test/contracts/out/console.sol/console.json +1 -0
  1028. package/test/contracts/out/console2.sol/console2.json +1 -0
  1029. package/test/contracts/out/demo.sol/DemoTest.json +1 -0
  1030. package/test/contracts/out/demo.sol/DemoTestWithSetUp.json +1 -0
  1031. package/test/contracts/out/draft-IERC1822.sol/IERC1822Proxiable.json +1 -0
  1032. package/test/contracts/out/interfaces/IERC1155.sol/IERC1155.json +1 -0
  1033. package/test/contracts/out/interfaces/IERC165.sol/IERC165.json +1 -0
  1034. package/test/contracts/out/interfaces/IERC20.sol/IERC20.json +1 -0
  1035. package/test/contracts/out/interfaces/IERC4626.sol/IERC4626.json +1 -0
  1036. package/test/contracts/out/interfaces/IERC721.sol/IERC721.json +1 -0
  1037. package/test/contracts/out/receivers.sol/CrossChainEnabledAMBMock.json +1 -0
  1038. package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL1Mock.json +1 -0
  1039. package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL2Mock.json +1 -0
  1040. package/test/contracts/out/receivers.sol/CrossChainEnabledOptimismMock.json +1 -0
  1041. package/test/contracts/out/receivers.sol/CrossChainEnabledPolygonChildMock.json +1 -0
  1042. package/test/contracts/out/receivers.sol/Receiver.json +1 -0
  1043. package/test/contracts/out/test.sol/DSTest.json +1 -0
  1044. package/test/contracts/out/test.sol/Test.json +1 -0
  1045. package/test/contracts/out/test.t.sol/DemoTest.json +1 -0
  1046. package/test/database-api.e2e.test.ts +666 -0
  1047. package/test/debug-anvil.ts +44 -0
  1048. package/test/deferred-restart.e2e.test.ts +368 -0
  1049. package/test/discord-connector.e2e.test.ts +463 -0
  1050. package/test/e2e-global-setup.ts +29 -0
  1051. package/test/e2e-validation.e2e.test.ts +1588 -0
  1052. package/test/health-endpoint.e2e.test.ts +95 -0
  1053. package/test/knowledge-e2e-flow.e2e.test.ts +134 -0
  1054. package/test/knowledge-live.e2e.test.ts +405 -0
  1055. package/test/mcp-config.e2e.test.ts +630 -0
  1056. package/test/native-modules.e2e.test.ts +470 -0
  1057. package/test/permissions-api.e2e.test.ts +637 -0
  1058. package/test/plugin-install.e2e.test.ts +645 -0
  1059. package/test/plugin-lifecycle.e2e.test.ts +617 -0
  1060. package/test/plugin-management.e2e.test.ts +308 -0
  1061. package/test/provider-switch.e2e.test.ts +322 -0
  1062. package/test/scripts/test-force.ts +139 -0
  1063. package/test/scripts/test-parallel.mjs +192 -0
  1064. package/test/scripts/validate-all-features.sh +557 -0
  1065. package/test/setup.ts +122 -0
  1066. package/test/signal-connector.e2e.test.ts +229 -0
  1067. package/test/skills-marketplace-api.e2e.test.ts +585 -0
  1068. package/test/skills-marketplace-services.e2e.test.ts +518 -0
  1069. package/test/skills-marketplace.e2e.test.ts +268 -0
  1070. package/test/stubs/coding-agent-module.ts +18 -0
  1071. package/test/stubs/electron-module.ts +17 -0
  1072. package/test/stubs/empty-module.mjs +4 -0
  1073. package/test/stubs/pi-ai-module.ts +12 -0
  1074. package/test/subscription-auth.e2e.test.ts +747 -0
  1075. package/test/terminal-execution.e2e.test.ts +134 -0
  1076. package/test/terminal-run-limits.e2e.test.ts +132 -0
  1077. package/test/test-env.ts +156 -0
  1078. package/test/trajectory-collection.e2e.test.ts +800 -0
  1079. package/test/trajectory-database.e2e.test.ts +209 -0
  1080. package/test/trajectory-embedding-filter.e2e.test.ts +317 -0
  1081. package/test/trajectory-restart-carryover.e2e.test.ts +306 -0
  1082. package/test/trigger-execution-flow.e2e.test.ts +132 -0
  1083. package/test/trigger-runtime.e2e.test.ts +247 -0
  1084. package/test/wallet-api.e2e.test.ts +1295 -0
  1085. package/test/wallet-live.e2e.test.ts +428 -0
  1086. package/vitest.config.ts +23 -0
  1087. package/vitest.e2e.config.ts +71 -0
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"readNonBoolValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testFailStorageCheckedWriteMapPacked","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testFailStorageConst","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testFailStorageNativePack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteDeepMap","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteDeepMapStructA","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteDeepMapStructB","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteHidden","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteMapAddr","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteMapBool","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteMapPackedSuccess","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteMapStructA","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteMapStructB","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteMapUint","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteObvious","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteStructA","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageCheckedWriteStructB","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageDeepMap","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageDeepMapStructA","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageDeepMapStructB","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageHidden","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageMapAddrFound","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageMapStructA","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageMapStructB","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageMapUintFound","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageObvious","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageReadAddress","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageReadBool_False","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageReadBool_Revert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageReadBool_True","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageReadBytes32","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageReadInt","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageReadUint","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageStructA","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testStorageStructB","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"SlotFound","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"fsig","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"keysHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WARNING_UninitedSlot","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040525f8054600160ff19918216811790925560048054909116909117905534801561002b575f80fd5b506145c7806100395f395ff3fe608060405234801562000010575f80fd5b5060043610620002b8575f3560e01c80636e085a481162000173578063bf0a5be111620000db578063eb28d726116200008f578063eb28d7261462000495578063ee15a85d146200049f578063ef2c01d214620004a9578063fa17c06614620004b3578063fa7626d414620004bd578063fdc07e8f14620004ca575f80fd5b8063bf0a5be11462000459578063d090c0f31462000463578063da2b1ed0146200046d578063e1cab9ff1462000477578063e20c9f711462000481578063e97bbfae146200048b575f80fd5b8063a5e7981f1162000133578063a5e7981f146200040c578063a63741541462000416578063a7f916b51462000420578063aa55fe59146200042a578063b5508aa91462000434578063ba414fa6146200043e575f80fd5b80636e085a4814620003cb57806373f4109f14620003d557806385226c8114620003df578063916a17c614620003f85780639fc9b7b51462000402575f80fd5b80633e5e3c2311620002235780635128ff2e11620001d75780635128ff2e146200038057806352e52ac6146200038a5780635b06687214620003945780635d2c47d9146200039e5780636087c71d14620003a857806366d9a9a014620003b2575f80fd5b80633e5e3c2314620003445780633f29b83e146200034e5780633f7286f4146200035857806340a84f50146200036257806341aa6c02146200036c5780634899443b1462000376575f80fd5b80631c3d58aa116200027b5780631c3d58aa14620002f05780631ed7831c14620002fa5780631f543925146200031c578063279258a6146200032657806339b3fc2614620003305780633cdf9edc146200033a575f80fd5b806307a8f2e414620002bc57806309cd567c14620002c85780630a9254e414620002d25780630e957ea214620002dc578063125ff29614620002e6575b5f80fd5b620002c6620004d4565b005b620002c662000561565b620002c66200062a565b620002c662000675565b620002c6620006ce565b620002c662000785565b620003046200086f565b604051620003139190620038b0565b60405180910390f35b620002c6620008d1565b620002c662000a0a565b620002c662000a5c565b620002c662000b12565b6200030462000b55565b620002c662000bb5565b6200030462000c7a565b620002c662000cda565b620002c662000d55565b620002c662000e20565b620002c662000e8a565b620002c662000ec8565b620002c662000ef5565b620002c662000f65565b620002c662001043565b620003bc620010c3565b604051620003139190620038fe565b620002c6620011b1565b620002c6620011f3565b620003e962001238565b60405162000313919062003a04565b620003bc6200130d565b620002c6620013f2565b620002c662001453565b620002c6620014a5565b620002c6620014ea565b620002c662001593565b620003e962001647565b620004486200171c565b604051901515815260200162000313565b620002c66200184f565b620002c662001893565b620002c6620018cc565b620002c66200193e565b62000304620019b9565b620002c662001a19565b620002c662001a9a565b620002c662001b59565b620002c662001b9a565b620002c662001c52565b5f54620004489060ff1681565b620002c662001d16565b601b545f906200051f9062000519906064906200051290631a95b0f560e21b906200050b906014906001600160a01b031662001d58565b9062001d81565b9062001d9e565b62001dbd565b60408051606460208201526002918101919091529091506200055e906060015b604051602081830303815290604052805190602001205f1c8262001dc9565b50565b5f620005b9620005195f620005b230620005ab30620005ab630310c06060e01b6200050b601b5f9054906101000a90046001600160a01b0316601462001d5890919063ffffffff16565b9062001eae565b9062001ed6565b90506200055e30306006604051602001620005d692919062003a68565b60405160208183030381529060405280519060200120604051602001620005ff92919062003a68565b60408051601f19818403018152919052805160209091012062000623905f62003a95565b8262001ee5565b604051620006389062003871565b604051809103905ff08015801562000652573d5f803e3d5ffd5b50601b80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518082019091526008815267657869737473282960c01b6020820152601b54620006cc915f91620006c6916200051991620006bf906014906001600160a01b031662001d58565b9062001fbb565b62001dc9565b565b601b54620006fb9062000519906379da7e4d60e01b906200050b906014906001600160a01b031662001d58565b50601b54620007299062000519906357351c4560e01b906200050b906014906001600160a01b031662001d58565b50601b5462000757906200051990630eb53f9960e41b906200050b906014906001600160a01b031662001d58565b50601b546200055e90620005199063e4c62a1160e01b906200050b906014906001600160a01b031662001d58565b620007d86064620007d16001620005b230620005ab30620005ab630310c06060e01b6200050b601b5f9054906101000a90046001600160a01b0316601462001d5890919063ffffffff16565b9062001fe3565b601b546040516218860360e51b8152306004820181905260248201525f9182916001600160a01b0390911690630310c060906044016040805180830381865afa15801562000828573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200084e919062003aab565b915091506200085e5f8362001dc9565b6200086b60648262001dc9565b5050565b6060600d805480602002602001604051908101604052809291908181526020018280548015620008c757602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311620008a8575b5050505050905090565b601b54604051632e11ff4f60e11b815261053960048201525f916001600160a01b031690635c23fe9e90602401602060405180830381865afa1580156200091a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000940919062003ace565b601b546105396fffffffffffffffffffffffffffffffff199092168217925062000991918391620007d19190620005ab90632e11ff4f60e11b906200050b906014906001600160a01b031662001d58565b601b546040516320db76d960e11b8152610539600482018190526200055e9290916001600160a01b03909116906341b6edb2906024015b602060405180830381865afa158015620009e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006c6919062003ace565b601b545f9062000a41906200051990600190620005b2906315e8b34560e01b906200050b906014906001600160a01b031662001d58565b90506200055e62000a556007600162003a95565b8262001dc9565b5f62000aa7620005196001620005b230620005ab30620005ab630310c06060e01b6200050b601b5f9054906101000a90046001600160a01b0316601462001d5890919063ffffffff16565b90506200055e3030600660405160200162000ac492919062003a68565b6040516020818303038152906040528051906020012060405160200162000aed92919062003a68565b60408051601f1981840301815291905280516020909101206200062390600162003a95565b601b545f9062000b479062000b41906357351c4560e01b906200050b906014906001600160a01b031662001d58565b62001fef565b90506200055e815f62001ffb565b6060600f805480602002602001604051908101604052809291908181526020018280548015620008c757602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311620008a8575050505050905090565b601b5462000bed90606490620007d190600190620005b2906315e8b34560e01b906200050b906014906001600160a01b031662001d58565b601b54604080516315e8b34560e01b815281515f9384936001600160a01b03909116926315e8b34592600480830193928290030181865afa15801562000c35573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000c5b919062003aab565b9150915062000c6d8261053962001dc9565b6200086b81606462001dc9565b6060600e805480602002602001604051908101604052809291908181526020018280548015620008c757602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311620008a8575050505050905090565b601b5462000d1590606490620007d1903090620005ab9082908290638cd8156d60e01b906200050b906014906001600160a01b031662001d58565b601b54604051638cd8156d60e01b815230600482018190526024820152620006cc916064916001600160a01b0390911690638cd8156d90604401620009c8565b601b5462000d9390606490620007d1905f90620005b2903090620005ab9063504429bf60e01b906200050b906014906001600160a01b031662001d58565b601b5460405163504429bf60e01b81523060048201525f9182916001600160a01b039091169063504429bf906024016040805180830381865afa15801562000ddd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000e03919062003aab565b9150915062000e1482606462001dc9565b6200086b815f62001dc9565b60408051808201909152600881526768696464656e282960c01b6020820152601b54620006cc917fb27fb258786eae8f9ffde06a5bfd55f5193cb73bd64e533d5d75fd7cb46652ff91620006c6916200051991620006bf906014906001600160a01b031662001d58565b601b545f9062000eb99062000b4190634f87aeb760e01b906200050b906014906001600160a01b031662001d58565b90506200055e81600162001ffb565b601b546200055e9062000b419063b7e19e2960e01b906200050b906014906001600160a01b031662001d58565b601b5462000f2c90606490620007d1903090620005ab906329cf903360e21b906200050b906014906001600160a01b031662001d58565b601b546040516329cf903360e21b8152306004820152620006cc916064916001600160a01b039091169063a73e40cc90602401620009c8565b62000fb06064620007d15f620005b230620005ab30620005ab630310c06060e01b6200050b601b5f9054906101000a90046001600160a01b0316601462001d5890919063ffffffff16565b601b546040516218860360e51b8152306004820181905260248201525f9182916001600160a01b0390911690630310c060906044016040805180830381865afa15801562001000573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001026919062003aab565b915091506200103760648362001dc9565b6200086b5f8262001dc9565b601b545f906200107d9062000519903090620005ab9082908290638cd8156d60e01b906200050b906014906001600160a01b031662001d58565b90506200055e303060056040516020016200109a92919062003a68565b604051602081830303815290604052805190602001206040516020016200053f92919062003a68565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015620011a8575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200118f57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620011505790505b50505050508152505081526020019060010190620010e6565b50505050905090565b604080518082019091526007815266636f6e7374282960c81b6020820152601b546200055e916200051991620006bf906014906001600160a01b031662001d58565b601b545f90620012299062000519908390620005b2906315e8b34560e01b906200050b906014906001600160a01b031662001d58565b90506200055e60078262001dc9565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015620011a8578382905f5260205f200180546200127b9062003ae6565b80601f0160208091040260200160405190810160405280929190818152602001828054620012a99062003ae6565b8015620012f85780601f10620012ce57610100808354040283529160200191620012f8565b820191905f5260205f20905b815481529060010190602001808311620012da57829003601f168201915b5050505050815260200190600101906200125b565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015620011a8575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620013d957602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200139a5790505b5050505050815250508152602001906001019062001330565b601b545f906200142f9062000519908390620005b2903090620005ab9063504429bf60e01b906200050b906014906001600160a01b031662001d58565b604080513060208201526004918101919091529091506200055e906060016200053f565b601b545f90620014899062000519903090620005ab906329cf903360e21b906200050b906014906001600160a01b031662001d58565b90506200055e3060016040516020016200053f92919062003a68565b601b545f90620014da90620014d4906308f23aad60e01b906200050b906014906001600160a01b031662001d58565b62002160565b90506200055e816105396200216c565b601b546200151a90606490620007d19063aef6d4b160e01b906200050b906014906001600160a01b031662001d58565b601b546040805163aef6d4b160e01b81529051620006cc926001600160a01b03169163aef6d4b19160048083019260209291908290030181865afa15801562001565573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200158b919062003ace565b606462001dc9565b601b54620015d190600190620015ca903090620005ab90638c6b455160e01b906200050b906014906001600160a01b031662001d58565b9062002254565b601b54604051638c6b455160e01b8152306004820152620006cc916001600160a01b031690638c6b455190602401602060405180830381865afa1580156200161b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001641919062003b20565b62002266565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015620011a8578382905f5260205f200180546200168a9062003ae6565b80601f0160208091040260200160405190810160405280929190818152602001828054620016b89062003ae6565b8015620017075780601f10620016dd5761010080835404028352916020019162001707565b820191905f5260205f20905b815481529060010190602001808311620016e957829003601f168201915b5050505050815260200190600101906200166a565b5f8054610100900460ff16156200173b57505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200184a576040515f90737109709ecfa91a80626ff3989d68f67f5b1dd12d907f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc490620017b09083906519985a5b195960d21b9060200162003a68565b60408051601f1981840301815290829052620017d0929160200162003b48565b60408051601f1981840301815290829052620017ec9162003b7a565b5f604051808303815f865af19150503d805f811462001827576040519150601f19603f3d011682016040523d82523d5f602084013e6200182c565b606091505b509150508080602001905181019062001846919062003b20565b9150505b919050565b601b545f9062001884906200187e9063099f12b960e21b906200050b906014906001600160a01b031662001d58565b620022cc565b90506200055e81600162001dc9565b601b54620006cc90606490620007d19061053990620005ab906320db76d960e11b906200050b906014906001600160a01b031662001d58565b601b546200190390606490620007d19082906200051290631a95b0f560e21b906200050b906014906001600160a01b031662001d58565b601b54604051631a95b0f560e21b8152606460048201819052620006cc9290916001600160a01b0390911690636a56c3d490602401620009c8565b601b546200196e90606490620007d19063099f12b960e21b906200050b906014906001600160a01b031662001d58565b601b546040805163099f12b960e21b81529051620006cc926001600160a01b03169163267c4ae49160048083019260209291908290030181865afa15801562001565573d5f803e3d5ffd5b6060600c805480602002602001604051908101604052809291908181526020018280548015620008c757602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311620008a8575050505050905090565b601b545f9062001a57906200051990600190620005b2903090620005ab9063504429bf60e01b906200050b906014906001600160a01b031662001d58565b604080513060208201526004918101919091529091506200055e9060600160408051601f19818403018152919052805160209091012062000a5590600162003a95565b601b5462001ad990606490620007d190600190620005b2903090620005ab9063504429bf60e01b906200050b906014906001600160a01b031662001d58565b601b5460405163504429bf60e01b81523060048201525f9182916001600160a01b039091169063504429bf906024016040805180830381865afa15801562001b23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001b49919062003aab565b9150915062000c6d825f62001dc9565b601b545f9062001b88906200187e906372f68f7f60e11b906200050b906014906001600160a01b031662001d58565b90506200055e81600160ff1b620022d8565b60405163f28dceb360e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f28dceb39062001bd19060040162003b97565b5f604051808303815f87803b15801562001be9575f80fd5b505af115801562001bfc573d5f803e3d5ffd5b50505050306001600160a01b03166352e52ac66040518163ffffffff1660e01b81526004015f604051808303815f87803b15801562001c39575f80fd5b505af115801562001c4c573d5f803e3d5ffd5b50505050565b601b5462001c8990606490620007d1905f90620005b2906315e8b34560e01b906200050b906014906001600160a01b031662001d58565b601b54604080516315e8b34560e01b815281515f9384936001600160a01b03909116926315e8b34592600480830193928290030181865afa15801562001cd1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001cf7919062003aab565b9150915062001d0882606462001dc9565b6200086b8161053962001dc9565b601b545f9062001d45906200187e9063b7e19e2960e01b906200050b906014906001600160a01b031662001d58565b90506200055e8161133760f01b62001ee5565b6005820180546001600160a01b0319166001600160a01b0383161790555f825b90505b92915050565b60038201805463ffffffff191660e083901c1790555f8262001d78565b6002820180546001810182555f91825260208220018290558262001d78565b5f62001d7b82620023aa565b8082146200086b575f805160206200455283398151915260405162001e2a9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a88260405162001e63919062003c15565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a88160405162001e9c919062003c4d565b60405180910390a16200086b6200305b565b6002820180546001810182555f918252602082206001600160a01b0384169101558262001d78565b5f62001d788383600482015590565b8082146200086b575f805160206200455283398151915260405162001f499060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974604082015264657333325d60d81b606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162001f82919062003c15565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998160405162001e9c919062003c4d565b8051602082012060038301805463ffffffff191660e09290921c9190911790555f8262001d78565b6200086b828262003163565b5f62001d7b82620034bd565b801515821515146200086b575f8051602062004552833981519152604051620020609060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f6040820152616c5d60f01b606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358382620020b3576040518060400160405280600581526020016466616c736560d81b815250620020d1565b604051806040016040528060048152602001637472756560e01b8152505b604051620020e0919062003c77565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838162002133576040518060400160405280600581526020016466616c736560d81b81525062002151565b604051806040016040528060048152602001637472756560e01b8152505b60405162001e9c919062003cbd565b5f62001d7b8262003508565b806001600160a01b0316826001600160a01b0316146200086b575f8051602062004552833981519152604051620021e29060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464604082015264726573735d60d81b606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f826040516200221b919062003ce7565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8160405162001e9c919062003d2b565b8062002261838262003163565b505050565b806200055e575f8051602062004552833981519152604051620022ba9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a16200055e6200305b565b5f62001d7b8262003529565b8082146200086b575f8051602062004552833981519152604051620023389060208082526021908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e746040820152605d60f81b606082015260800190565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f1688260405162002371919062003c15565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f1688160405162001e9c919062003c4d565b600581015460038201546004830154600284018054604080516020808402820181019092528281525f966001600160a01b03169560e01b9493879391929091908301828280156200241957602002820191905f5260205f20905b81548152602001906001019080831162002404575b5050506001600160a01b0387165f90815260018a01602090815260408083206001600160e01b03198a1684528252808320905195965094919350620024649250859187910162003d55565b60408051601f198184030181529181528151602092830120835290820192909252015f205460ff161562002500576001600160a01b0384165f908152602087815260408083206001600160e01b03198716845282528083209051909291620024d191859187910162003d55565b6040516020818303038152906040528051906020012081526020019081526020015f2054945050505050919050565b5f836200250d836200354a565b6040516020016200252092919062003b48565b60405160208183030381529060405290505f80516020620045728339815191525f1c6001600160a01b031663266cf1096040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156200257a575f80fd5b505af11580156200258d573d5f803e3d5ffd5b505050505f80866001600160a01b031683604051620025ad919062003b7a565b5f60405180830381855afa9150503d805f8114620025e7576040519150601f19603f3d011682016040523d82523d5f602084013e620025ec565b606091505b509150620026099050816200260387602062003d90565b620035fb565b6040516365bc948160e01b81526001600160a01b03891660048201529092505f9150737109709ecfa91a80626ff3989d68f67f5b1dd12d906365bc9481906024015f604051808303815f875af115801562002666573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526200268f919081019062003e60565b509050805160010362002951575f5f80516020620045728339815191525f1c6001600160a01b031663667f9d7089845f81518110620026d257620026d262003ec7565b60200260200101516040518363ffffffff1660e01b8152600401620026f992919062003a68565b602060405180830381865afa15801562002715573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200273b919062003ace565b9050806200279d577f080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a588835f815181106200277a576200277a62003ec7565b60200260200101515f1c6040516200279492919062003a68565b60405180910390a15b808314620027c85760405162461bcd60e51b8152600401620027bf9062003edb565b60405180910390fd5b7f9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed888887896040516020016200280092919062003d55565b60405160208183030381529060405280519060200120855f815181106200282b576200282b62003ec7565b60200260200101515f1c60405162002847949392919062003f76565b60405180910390a1815f8151811062002864576200286462003ec7565b6020908102919091018101516001600160a01b038a165f9081528c835260408082206001600160e01b03198c1683528452808220905192939092620028ae918a918c910162003d55565b60408051601f1981840301815291815281516020928301208352828201939093529082015f908120939093556001600160a01b038b16835260018d810182528284206001600160e01b03198c1685528252828420925190939162002917918a918c910162003d55565b60408051808303601f190181529181528151602092830120835290820192909252015f20805460ff19169115159190911790555062002ee3565b60018151111562002e72575f5b815181101562002e6b575f5f80516020620045728339815191525f1c6001600160a01b031663667f9d708a8585815181106200299e576200299e62003ec7565b60200260200101516040518363ffffffff1660e01b8152600401620029c592919062003a68565b602060405180830381865afa158015620029e1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002a07919062003ace565b90508062002a69577f080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a58984848151811062002a465762002a4662003ec7565b60200260200101515f1c60405162002a6092919062003a68565b60405180910390a15b5f80516020620045728339815191525f1c6001600160a01b03166370ca10bb8a85858151811062002a9e5762002a9e62003ec7565b602002602001015161133760f01b6040518463ffffffff1660e01b815260040162002acc9392919062003fa6565b5f604051808303815f87803b15801562002ae4575f80fd5b505af115801562002af7573d5f803e3d5ffd5b505050505f60608a6001600160a01b03168760405162002b18919062003b7a565b5f60405180830381855afa9150503d805f811462002b52576040519150601f19603f3d011682016040523d82523d5f602084013e62002b57565b606091505b50909250905062002b6f81620026038b602062003d90565b955081801562002b83575061133760f01b86145b1562002dc5577f9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed8b8b8a8c60405160200162002bc192919062003d55565b6040516020818303038152906040528051906020012088888151811062002bec5762002bec62003ec7565b60200260200101515f1c60405162002c08949392919062003f76565b60405180910390a184848151811062002c255762002c2562003ec7565b6020908102919091018101516001600160a01b038d165f9081528f835260408082206001600160e01b03198f168352845280822090519293909262002c6f918d918f910162003d55565b6040516020818303038152906040528051906020012081526020019081526020015f208190555060018d6001015f8d6001600160a01b03166001600160a01b031681526020019081526020015f205f8c6001600160e01b0319166001600160e01b03191681526020019081526020015f205f8a8c60405160200162002cf692919062003d55565b6040516020818303038152906040528051906020012081526020019081526020015f205f6101000a81548160ff0219169083151502179055505f80516020620045728339815191525f1c6001600160a01b03166370ca10bb8c87878151811062002d645762002d6462003ec7565b6020026020010151866040518463ffffffff1660e01b815260040162002d8d9392919062003fa6565b5f604051808303815f87803b15801562002da5575f80fd5b505af115801562002db8573d5f803e3d5ffd5b5050505050505062002e6b565b5f80516020620045728339815191525f1c6001600160a01b03166370ca10bb8c87878151811062002dfa5762002dfa62003ec7565b6020026020010151866040518463ffffffff1660e01b815260040162002e239392919062003fa6565b5f604051808303815f87803b15801562002e3b575f80fd5b505af115801562002e4e573d5f803e3d5ffd5b50505050505050808062002e629062003fc7565b9150506200295e565b5062002ee3565b6040805162461bcd60e51b81526020600482015260248101919091527f73746453746f726167652066696e642853746453746f72616765293a204e6f2060448201527f73746f726167652075736520646574656374656420666f72207461726765742e6064820152608401620027bf565b6001600160a01b0387165f90815260018a01602090815260408083206001600160e01b03198a1684528252808320905190929162002f269188918a910162003d55565b60408051601f198184030181529181528151602092830120835290820192909252015f205460ff1662002fb45760405162461bcd60e51b815260206004820152602f60248201527f73746453746f726167652066696e642853746453746f72616765293a20536c6f60448201526e3a143994903737ba103337bab7321760891b6064820152608401620027bf565b6005890180546001600160a01b031916905560038901805463ffffffff1916905562002fe460028a015f6200387f565b5f60048a018190556001600160a01b038816815260208a815260408083206001600160e01b03198a16845282528083209051909291620030299188918a910162003d55565b6040516020818303038152906040528051906020012081526020019081526020015f2054975050505050505050919050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562003153576040515f90737109709ecfa91a80626ff3989d68f67f5b1dd12d907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490620030d29083906519985a5b195960d21b9060019060200162003fa6565b60408051601f1981840301815290829052620030f2929160200162003b48565b60408051601f19818403018152908290526200310e9162003b7a565b5f604051808303815f865af19150503d805f811462003149576040519150601f19603f3d011682016040523d82523d5f602084013e6200314e565b606091505b505050505b5f805461ff001916610100179055565b600582015460038301546004840154600285018054604080516020808402820181019092528281526001600160a01b039096169560e09590951b945f9390929091830182828015620031d357602002820191905f5260205f20905b815481526020019060010190808311620031be575b505050505090505f83620031e78362003682565b604051602001620031fa92919062003b48565b60408051601f198184030181528282526001600160a01b0388165f90815260018b0160209081528382206001600160e01b03198a1683528152928120919450909290916200324d91869188910162003d55565b60408051601f198184030181529181528151602092830120835290820192909252015f205460ff166200328757620032858762001dbd565b505b6001600160a01b0385165f908152602088815260408083206001600160e01b0319881684528252808320905190918391620032c791879189910162003d55565b6040516020818303038152906040528051906020012081526020019081526020015f20545f1b90505f80876001600160a01b0316846040516200330b919062003b7a565b5f60405180830381855afa9150503d805f811462003345576040519150601f19603f3d011682016040523d82523d5f602084013e6200334a565b606091505b509150620033679050816200336188602062003d90565b6200372c565b604051630667f9d760e41b81529092505f9150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d7090620033a8908b90879060040162003a68565b602060405180830381865afa158015620033c4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620033ea919062003ace565b90508082146200340e5760405162461bcd60e51b8152600401620027bf9062003edb565b6040516370ca10bb60e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb906200344b908b9087908e9060040162003fa6565b5f604051808303815f87803b15801562003463575f80fd5b505af115801562003476573d5f803e3d5ffd5b50505060058b0180546001600160a01b03191690555060038a01805463ffffffff19169055620034aa60028b015f6200387f565b896004015f905550505050505050505050565b5f80620034ca8362003529565b9050805f03620034dc57505f92915050565b80600103620034ee5750600192915050565b60405162461bcd60e51b8152600401620027bf9062003b97565b5f6200351482620037a9565b80602001905181019062001d7b919062003fe2565b5f6200353582620037a9565b80602001905181019062001d7b919062003ace565b60605f825160206200355d919062003d90565b67ffffffffffffffff81111562003578576200357862003daa565b6040519080825280601f01601f191660200182016040528015620035a3576020820181803683370190505b5090505f5b8351811015620035f4575f848281518110620035c857620035c862003ec7565b602002602001015190508082602002602001840152508080620035eb9062003fc7565b915050620035a8565b5092915050565b5f805f60208551116200361057845162003613565b60205b90505f5b8181101562003678576200362d81600862003d90565b866200363a838862003a95565b815181106200364d576200364d62003ec7565b01602001516001600160f81b031916901c9290921791806200366f8162003fc7565b91505062003617565b5090949350505050565b60605f8251602062003695919062003d90565b67ffffffffffffffff811115620036b057620036b062003daa565b6040519080825280601f01601f191660200182016040528015620036db576020820181803683370190505b5090505f5b8351811015620035f4575f84828151811062003700576200370062003ec7565b602002602001015190508082602002602001840152508080620037239062003fc7565b915050620036e0565b5f805f60208551116200374157845162003744565b60205b90505f5b8181101562003678576200375e81600862003d90565b866200376b838862003a95565b815181106200377e576200377e62003ec7565b01602001516001600160f81b031916901c929092179180620037a08162003fc7565b91505062003748565b60058101546060906001600160a01b03165f620037c684620023aa565b604051630667f9d760e41b8152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d709062003804908590859060040162003a68565b602060405180830381865afa15801562003820573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062003846919062003ace565b6040516020016200385991815260200190565b60405160208183030381529060405292505050919050565b610547806200400b83390190565b5080545f8255905f5260205f20908101906200055e91905b80821115620038ac575f815560010162003897565b5090565b602080825282518282018190525f9190848201906040850190845b81811015620038f25783516001600160a01b031683529284019291840191600101620038cb565b50909695505050505050565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b84811015620039a457898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200398e5783516001600160e01b0319168252928b019260019290920191908b019062003962565b50978a0197955050509187019160010162003924565b50919998505050505050505050565b5f5b83811015620039cf578181015183820152602001620039b5565b50505f910152565b5f8151808452620039f0816020860160208601620039b3565b601f01601f19169290920160200192915050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b8281101562003a5b57603f1988860301845262003a48858351620039d7565b9450928501929085019060010162003a29565b5092979650505050505050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111562001d7b5762001d7b62003a81565b5f806040838503121562003abd575f80fd5b505080516020909101519092909150565b5f6020828403121562003adf575f80fd5b5051919050565b600181811c9082168062003afb57607f821691505b60208210810362003b1a57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f6020828403121562003b31575f80fd5b8151801515811462003b41575f80fd5b9392505050565b6001600160e01b03198316815281515f9062003b6c816004850160208701620039b3565b919091016004019392505050565b5f825162003b8d818460208701620039b3565b9190910192915050565b602081525f62001d7b60208301605281527f73746453746f7261676520726561645f626f6f6c2853746453746f726167652960208201527f3a2043616e6e6f74206465636f64652e204d616b65207375726520796f7520616040820152713932903932b0b234b7339030903137b7b61760711b606082015260800190565b604081525f62003c3f60408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b604081525f62003c3f60408301600a8152690808080808149a59da1d60b21b602082015260400190565b604081525f62003ca160408301600a8152690808080808081319599d60b21b602082015260400190565b828103602084015262003cb58185620039d7565b949350505050565b604081525f62003ca160408301600a8152690808080808149a59da1d60b21b602082015260400190565b604081525f62003d1160408301600a8152690808080808081319599d60b21b602082015260400190565b6001600160a01b0393909316602092909201919091525090565b604081525f62003d1160408301600a8152690808080808149a59da1d60b21b602082015260400190565b82515f9082906020808701845b8381101562003d805781518552938201939082019060010162003d62565b5050948252509092019392505050565b808202811582820484141762001d7b5762001d7b62003a81565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262003dce575f80fd5b8151602067ffffffffffffffff8083111562003dee5762003dee62003daa565b8260051b604051601f19603f8301168101818110848211171562003e165762003e1662003daa565b60405293845285810183019383810192508785111562003e34575f80fd5b83870191505b8482101562003e555781518352918301919083019062003e3a565b979650505050505050565b5f806040838503121562003e72575f80fd5b825167ffffffffffffffff8082111562003e8a575f80fd5b62003e988683870162003dbe565b9350602085015191508082111562003eae575f80fd5b5062003ebd8582860162003dbe565b9150509250929050565b634e487b7160e01b5f52603260045260245ffd5b6020808252606f908201527f73746453746f726167652066696e642853746453746f72616765293a2050616360408201527f6b656420736c6f742e205468697320776f756c642063617573652064616e676560608201527f726f7573206f76657277726974696e6720616e642063757272656e746c79206960808201526e39b713ba1039bab83837b93a32b21760891b60a082015260c00190565b6001600160a01b039490941684526001600160e01b03199290921660208401526040830152606082015260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6001820162003fdb5762003fdb62003a81565b5060010190565b5f6020828403121562003ff3575f80fd5b81516001600160a01b038116811462003b41575f80fdfe608060405260015f819055610100600a5561133760f01b600c55600d80546001600160a01b031916610539179055600160ff1b600e55600f805460ff1916909117905534801561004d575f80fd5b50604080518082018252610539808252602091820181905260078190556008819055335f9081526003909252918120700100000000000000000000000000000001905552600160801b7fd1e9e29071ba110c7d6bded2dde74f314602f99e03fe410c0e5985c1c9afb26155610482806100c55f395ff3fe608060405234801561000f575f80fd5b5060043610610132575f3560e01c80635c23fe9e116100b4578063a73e40cc11610079578063a73e40cc1461034c578063aef6d4b11461036b578063b7e19e2914610392578063e4c62a111461039b578063e5ed1efe146103b3578063eb53f990146103bc575f80fd5b80635c23fe9e146102975780636a56c3d4146102b657806379da7e4d146102d55780638c6b4551146103005780638cd8156d14610322575f80fd5b80633eae2218116100fa5780633eae2218146101db57806341b6edb2146102065780634f87aeb714610240578063504429bf1461025d57806357351c4514610283575f80fd5b80630310c0601461013657806308f23aad1461018157806315e8b345146101ac578063267c4ae4146101ba5780633b80a793146101d0575b5f80fd5b6101676101443660046103e4565b600660209081525f92835260408084209091529082529020805460019091015482565b604080519283526020830191909152015b60405180910390f35b600d54610194906001600160a01b031681565b6040516001600160a01b039091168152602001610178565b600754600854610167919082565b6101c25f5481565b604051908152602001610178565b61133760f01b6101c2565b6101c26101e9366004610415565b6001600160a01b03165f9081526003602052604090205460801c90565b6101c2610214366004610415565b6001600160a01b03165f908152600360205260409020546fffffffffffffffffffffffffffffffff1690565b600f5461024d9060ff1681565b6040519015158152602001610178565b61016761026b366004610415565b60046020525f90815260409020805460019091015482565b60095461024d90600160f81b900460ff1681565b6101c26102a5366004610415565b60036020525f908152604090205481565b6101c26102c4366004610435565b60026020525f908152604090205481565b6009546102e8906001600160f81b031681565b6040516001600160f81b039091168152602001610178565b61024d61030e366004610415565b600b6020525f908152604090205460ff1681565b6101c26103303660046103e4565b600560209081525f928352604080842090915290825290205481565b6101c261035a366004610415565b60016020525f908152604090205481565b7fb27fb258786eae8f9ffde06a5bfd55f5193cb73bd64e533d5d75fd7cb46652ff546101c2565b6101c2600c5481565b600a546102e89061010090046001600160f81b031681565b6101c2600e5481565b600a5461024d9060ff1681565b80356001600160a01b03811681146103df575f80fd5b919050565b5f80604083850312156103f5575f80fd5b6103fe836103c9565b915061040c602084016103c9565b90509250929050565b5f60208284031215610425575f80fd5b61042e826103c9565b9392505050565b5f60208284031215610445575f80fd5b503591905056fea2646970667358221220f102a1cfa75a896c1da931e66f745d4b6ad535d8b1378d1ee29a00efe0ae4c2764736f6c6343000814003341304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220a016479354fac6e5deba8257ce4340e683857ee4fc5b21a68d31ea377a82480d64736f6c63430008140033","sourceMap":"124:8862:297:-:0;;;1572:26:268;;;1594:4;-1:-1:-1;;1572:26:268;;;;;;;;3288:44:273;;;;;;;;;;;124:8862:297;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801562000010575f80fd5b5060043610620002b8575f3560e01c80636e085a481162000173578063bf0a5be111620000db578063eb28d726116200008f578063eb28d7261462000495578063ee15a85d146200049f578063ef2c01d214620004a9578063fa17c06614620004b3578063fa7626d414620004bd578063fdc07e8f14620004ca575f80fd5b8063bf0a5be11462000459578063d090c0f31462000463578063da2b1ed0146200046d578063e1cab9ff1462000477578063e20c9f711462000481578063e97bbfae146200048b575f80fd5b8063a5e7981f1162000133578063a5e7981f146200040c578063a63741541462000416578063a7f916b51462000420578063aa55fe59146200042a578063b5508aa91462000434578063ba414fa6146200043e575f80fd5b80636e085a4814620003cb57806373f4109f14620003d557806385226c8114620003df578063916a17c614620003f85780639fc9b7b51462000402575f80fd5b80633e5e3c2311620002235780635128ff2e11620001d75780635128ff2e146200038057806352e52ac6146200038a5780635b06687214620003945780635d2c47d9146200039e5780636087c71d14620003a857806366d9a9a014620003b2575f80fd5b80633e5e3c2314620003445780633f29b83e146200034e5780633f7286f4146200035857806340a84f50146200036257806341aa6c02146200036c5780634899443b1462000376575f80fd5b80631c3d58aa116200027b5780631c3d58aa14620002f05780631ed7831c14620002fa5780631f543925146200031c578063279258a6146200032657806339b3fc2614620003305780633cdf9edc146200033a575f80fd5b806307a8f2e414620002bc57806309cd567c14620002c85780630a9254e414620002d25780630e957ea214620002dc578063125ff29614620002e6575b5f80fd5b620002c6620004d4565b005b620002c662000561565b620002c66200062a565b620002c662000675565b620002c6620006ce565b620002c662000785565b620003046200086f565b604051620003139190620038b0565b60405180910390f35b620002c6620008d1565b620002c662000a0a565b620002c662000a5c565b620002c662000b12565b6200030462000b55565b620002c662000bb5565b6200030462000c7a565b620002c662000cda565b620002c662000d55565b620002c662000e20565b620002c662000e8a565b620002c662000ec8565b620002c662000ef5565b620002c662000f65565b620002c662001043565b620003bc620010c3565b604051620003139190620038fe565b620002c6620011b1565b620002c6620011f3565b620003e962001238565b60405162000313919062003a04565b620003bc6200130d565b620002c6620013f2565b620002c662001453565b620002c6620014a5565b620002c6620014ea565b620002c662001593565b620003e962001647565b620004486200171c565b604051901515815260200162000313565b620002c66200184f565b620002c662001893565b620002c6620018cc565b620002c66200193e565b62000304620019b9565b620002c662001a19565b620002c662001a9a565b620002c662001b59565b620002c662001b9a565b620002c662001c52565b5f54620004489060ff1681565b620002c662001d16565b601b545f906200051f9062000519906064906200051290631a95b0f560e21b906200050b906014906001600160a01b031662001d58565b9062001d81565b9062001d9e565b62001dbd565b60408051606460208201526002918101919091529091506200055e906060015b604051602081830303815290604052805190602001205f1c8262001dc9565b50565b5f620005b9620005195f620005b230620005ab30620005ab630310c06060e01b6200050b601b5f9054906101000a90046001600160a01b0316601462001d5890919063ffffffff16565b9062001eae565b9062001ed6565b90506200055e30306006604051602001620005d692919062003a68565b60405160208183030381529060405280519060200120604051602001620005ff92919062003a68565b60408051601f19818403018152919052805160209091012062000623905f62003a95565b8262001ee5565b604051620006389062003871565b604051809103905ff08015801562000652573d5f803e3d5ffd5b50601b80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518082019091526008815267657869737473282960c01b6020820152601b54620006cc915f91620006c6916200051991620006bf906014906001600160a01b031662001d58565b9062001fbb565b62001dc9565b565b601b54620006fb9062000519906379da7e4d60e01b906200050b906014906001600160a01b031662001d58565b50601b54620007299062000519906357351c4560e01b906200050b906014906001600160a01b031662001d58565b50601b5462000757906200051990630eb53f9960e41b906200050b906014906001600160a01b031662001d58565b50601b546200055e90620005199063e4c62a1160e01b906200050b906014906001600160a01b031662001d58565b620007d86064620007d16001620005b230620005ab30620005ab630310c06060e01b6200050b601b5f9054906101000a90046001600160a01b0316601462001d5890919063ffffffff16565b9062001fe3565b601b546040516218860360e51b8152306004820181905260248201525f9182916001600160a01b0390911690630310c060906044016040805180830381865afa15801562000828573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200084e919062003aab565b915091506200085e5f8362001dc9565b6200086b60648262001dc9565b5050565b6060600d805480602002602001604051908101604052809291908181526020018280548015620008c757602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311620008a8575b5050505050905090565b601b54604051632e11ff4f60e11b815261053960048201525f916001600160a01b031690635c23fe9e90602401602060405180830381865afa1580156200091a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000940919062003ace565b601b546105396fffffffffffffffffffffffffffffffff199092168217925062000991918391620007d19190620005ab90632e11ff4f60e11b906200050b906014906001600160a01b031662001d58565b601b546040516320db76d960e11b8152610539600482018190526200055e9290916001600160a01b03909116906341b6edb2906024015b602060405180830381865afa158015620009e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006c6919062003ace565b601b545f9062000a41906200051990600190620005b2906315e8b34560e01b906200050b906014906001600160a01b031662001d58565b90506200055e62000a556007600162003a95565b8262001dc9565b5f62000aa7620005196001620005b230620005ab30620005ab630310c06060e01b6200050b601b5f9054906101000a90046001600160a01b0316601462001d5890919063ffffffff16565b90506200055e3030600660405160200162000ac492919062003a68565b6040516020818303038152906040528051906020012060405160200162000aed92919062003a68565b60408051601f1981840301815291905280516020909101206200062390600162003a95565b601b545f9062000b479062000b41906357351c4560e01b906200050b906014906001600160a01b031662001d58565b62001fef565b90506200055e815f62001ffb565b6060600f805480602002602001604051908101604052809291908181526020018280548015620008c757602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311620008a8575050505050905090565b601b5462000bed90606490620007d190600190620005b2906315e8b34560e01b906200050b906014906001600160a01b031662001d58565b601b54604080516315e8b34560e01b815281515f9384936001600160a01b03909116926315e8b34592600480830193928290030181865afa15801562000c35573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000c5b919062003aab565b9150915062000c6d8261053962001dc9565b6200086b81606462001dc9565b6060600e805480602002602001604051908101604052809291908181526020018280548015620008c757602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311620008a8575050505050905090565b601b5462000d1590606490620007d1903090620005ab9082908290638cd8156d60e01b906200050b906014906001600160a01b031662001d58565b601b54604051638cd8156d60e01b815230600482018190526024820152620006cc916064916001600160a01b0390911690638cd8156d90604401620009c8565b601b5462000d9390606490620007d1905f90620005b2903090620005ab9063504429bf60e01b906200050b906014906001600160a01b031662001d58565b601b5460405163504429bf60e01b81523060048201525f9182916001600160a01b039091169063504429bf906024016040805180830381865afa15801562000ddd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000e03919062003aab565b9150915062000e1482606462001dc9565b6200086b815f62001dc9565b60408051808201909152600881526768696464656e282960c01b6020820152601b54620006cc917fb27fb258786eae8f9ffde06a5bfd55f5193cb73bd64e533d5d75fd7cb46652ff91620006c6916200051991620006bf906014906001600160a01b031662001d58565b601b545f9062000eb99062000b4190634f87aeb760e01b906200050b906014906001600160a01b031662001d58565b90506200055e81600162001ffb565b601b546200055e9062000b419063b7e19e2960e01b906200050b906014906001600160a01b031662001d58565b601b5462000f2c90606490620007d1903090620005ab906329cf903360e21b906200050b906014906001600160a01b031662001d58565b601b546040516329cf903360e21b8152306004820152620006cc916064916001600160a01b039091169063a73e40cc90602401620009c8565b62000fb06064620007d15f620005b230620005ab30620005ab630310c06060e01b6200050b601b5f9054906101000a90046001600160a01b0316601462001d5890919063ffffffff16565b601b546040516218860360e51b8152306004820181905260248201525f9182916001600160a01b0390911690630310c060906044016040805180830381865afa15801562001000573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001026919062003aab565b915091506200103760648362001dc9565b6200086b5f8262001dc9565b601b545f906200107d9062000519903090620005ab9082908290638cd8156d60e01b906200050b906014906001600160a01b031662001d58565b90506200055e303060056040516020016200109a92919062003a68565b604051602081830303815290604052805190602001206040516020016200053f92919062003a68565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015620011a8575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200118f57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620011505790505b50505050508152505081526020019060010190620010e6565b50505050905090565b604080518082019091526007815266636f6e7374282960c81b6020820152601b546200055e916200051991620006bf906014906001600160a01b031662001d58565b601b545f90620012299062000519908390620005b2906315e8b34560e01b906200050b906014906001600160a01b031662001d58565b90506200055e60078262001dc9565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015620011a8578382905f5260205f200180546200127b9062003ae6565b80601f0160208091040260200160405190810160405280929190818152602001828054620012a99062003ae6565b8015620012f85780601f10620012ce57610100808354040283529160200191620012f8565b820191905f5260205f20905b815481529060010190602001808311620012da57829003601f168201915b5050505050815260200190600101906200125b565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015620011a8575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620013d957602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200139a5790505b5050505050815250508152602001906001019062001330565b601b545f906200142f9062000519908390620005b2903090620005ab9063504429bf60e01b906200050b906014906001600160a01b031662001d58565b604080513060208201526004918101919091529091506200055e906060016200053f565b601b545f90620014899062000519903090620005ab906329cf903360e21b906200050b906014906001600160a01b031662001d58565b90506200055e3060016040516020016200053f92919062003a68565b601b545f90620014da90620014d4906308f23aad60e01b906200050b906014906001600160a01b031662001d58565b62002160565b90506200055e816105396200216c565b601b546200151a90606490620007d19063aef6d4b160e01b906200050b906014906001600160a01b031662001d58565b601b546040805163aef6d4b160e01b81529051620006cc926001600160a01b03169163aef6d4b19160048083019260209291908290030181865afa15801562001565573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200158b919062003ace565b606462001dc9565b601b54620015d190600190620015ca903090620005ab90638c6b455160e01b906200050b906014906001600160a01b031662001d58565b9062002254565b601b54604051638c6b455160e01b8152306004820152620006cc916001600160a01b031690638c6b455190602401602060405180830381865afa1580156200161b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001641919062003b20565b62002266565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015620011a8578382905f5260205f200180546200168a9062003ae6565b80601f0160208091040260200160405190810160405280929190818152602001828054620016b89062003ae6565b8015620017075780601f10620016dd5761010080835404028352916020019162001707565b820191905f5260205f20905b815481529060010190602001808311620016e957829003601f168201915b5050505050815260200190600101906200166a565b5f8054610100900460ff16156200173b57505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200184a576040515f90737109709ecfa91a80626ff3989d68f67f5b1dd12d907f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc490620017b09083906519985a5b195960d21b9060200162003a68565b60408051601f1981840301815290829052620017d0929160200162003b48565b60408051601f1981840301815290829052620017ec9162003b7a565b5f604051808303815f865af19150503d805f811462001827576040519150601f19603f3d011682016040523d82523d5f602084013e6200182c565b606091505b509150508080602001905181019062001846919062003b20565b9150505b919050565b601b545f9062001884906200187e9063099f12b960e21b906200050b906014906001600160a01b031662001d58565b620022cc565b90506200055e81600162001dc9565b601b54620006cc90606490620007d19061053990620005ab906320db76d960e11b906200050b906014906001600160a01b031662001d58565b601b546200190390606490620007d19082906200051290631a95b0f560e21b906200050b906014906001600160a01b031662001d58565b601b54604051631a95b0f560e21b8152606460048201819052620006cc9290916001600160a01b0390911690636a56c3d490602401620009c8565b601b546200196e90606490620007d19063099f12b960e21b906200050b906014906001600160a01b031662001d58565b601b546040805163099f12b960e21b81529051620006cc926001600160a01b03169163267c4ae49160048083019260209291908290030181865afa15801562001565573d5f803e3d5ffd5b6060600c805480602002602001604051908101604052809291908181526020018280548015620008c757602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311620008a8575050505050905090565b601b545f9062001a57906200051990600190620005b2903090620005ab9063504429bf60e01b906200050b906014906001600160a01b031662001d58565b604080513060208201526004918101919091529091506200055e9060600160408051601f19818403018152919052805160209091012062000a5590600162003a95565b601b5462001ad990606490620007d190600190620005b2903090620005ab9063504429bf60e01b906200050b906014906001600160a01b031662001d58565b601b5460405163504429bf60e01b81523060048201525f9182916001600160a01b039091169063504429bf906024016040805180830381865afa15801562001b23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001b49919062003aab565b9150915062000c6d825f62001dc9565b601b545f9062001b88906200187e906372f68f7f60e11b906200050b906014906001600160a01b031662001d58565b90506200055e81600160ff1b620022d8565b60405163f28dceb360e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f28dceb39062001bd19060040162003b97565b5f604051808303815f87803b15801562001be9575f80fd5b505af115801562001bfc573d5f803e3d5ffd5b50505050306001600160a01b03166352e52ac66040518163ffffffff1660e01b81526004015f604051808303815f87803b15801562001c39575f80fd5b505af115801562001c4c573d5f803e3d5ffd5b50505050565b601b5462001c8990606490620007d1905f90620005b2906315e8b34560e01b906200050b906014906001600160a01b031662001d58565b601b54604080516315e8b34560e01b815281515f9384936001600160a01b03909116926315e8b34592600480830193928290030181865afa15801562001cd1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001cf7919062003aab565b9150915062001d0882606462001dc9565b6200086b8161053962001dc9565b601b545f9062001d45906200187e9063b7e19e2960e01b906200050b906014906001600160a01b031662001d58565b90506200055e8161133760f01b62001ee5565b6005820180546001600160a01b0319166001600160a01b0383161790555f825b90505b92915050565b60038201805463ffffffff191660e083901c1790555f8262001d78565b6002820180546001810182555f91825260208220018290558262001d78565b5f62001d7b82620023aa565b8082146200086b575f805160206200455283398151915260405162001e2a9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a88260405162001e63919062003c15565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a88160405162001e9c919062003c4d565b60405180910390a16200086b6200305b565b6002820180546001810182555f918252602082206001600160a01b0384169101558262001d78565b5f62001d788383600482015590565b8082146200086b575f805160206200455283398151915260405162001f499060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974604082015264657333325d60d81b606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162001f82919062003c15565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998160405162001e9c919062003c4d565b8051602082012060038301805463ffffffff191660e09290921c9190911790555f8262001d78565b6200086b828262003163565b5f62001d7b82620034bd565b801515821515146200086b575f8051602062004552833981519152604051620020609060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f6040820152616c5d60f01b606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358382620020b3576040518060400160405280600581526020016466616c736560d81b815250620020d1565b604051806040016040528060048152602001637472756560e01b8152505b604051620020e0919062003c77565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838162002133576040518060400160405280600581526020016466616c736560d81b81525062002151565b604051806040016040528060048152602001637472756560e01b8152505b60405162001e9c919062003cbd565b5f62001d7b8262003508565b806001600160a01b0316826001600160a01b0316146200086b575f8051602062004552833981519152604051620021e29060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464604082015264726573735d60d81b606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f826040516200221b919062003ce7565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8160405162001e9c919062003d2b565b8062002261838262003163565b505050565b806200055e575f8051602062004552833981519152604051620022ba9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a16200055e6200305b565b5f62001d7b8262003529565b8082146200086b575f8051602062004552833981519152604051620023389060208082526021908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e746040820152605d60f81b606082015260800190565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f1688260405162002371919062003c15565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f1688160405162001e9c919062003c4d565b600581015460038201546004830154600284018054604080516020808402820181019092528281525f966001600160a01b03169560e01b9493879391929091908301828280156200241957602002820191905f5260205f20905b81548152602001906001019080831162002404575b5050506001600160a01b0387165f90815260018a01602090815260408083206001600160e01b03198a1684528252808320905195965094919350620024649250859187910162003d55565b60408051601f198184030181529181528151602092830120835290820192909252015f205460ff161562002500576001600160a01b0384165f908152602087815260408083206001600160e01b03198716845282528083209051909291620024d191859187910162003d55565b6040516020818303038152906040528051906020012081526020019081526020015f2054945050505050919050565b5f836200250d836200354a565b6040516020016200252092919062003b48565b60405160208183030381529060405290505f80516020620045728339815191525f1c6001600160a01b031663266cf1096040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156200257a575f80fd5b505af11580156200258d573d5f803e3d5ffd5b505050505f80866001600160a01b031683604051620025ad919062003b7a565b5f60405180830381855afa9150503d805f8114620025e7576040519150601f19603f3d011682016040523d82523d5f602084013e620025ec565b606091505b509150620026099050816200260387602062003d90565b620035fb565b6040516365bc948160e01b81526001600160a01b03891660048201529092505f9150737109709ecfa91a80626ff3989d68f67f5b1dd12d906365bc9481906024015f604051808303815f875af115801562002666573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526200268f919081019062003e60565b509050805160010362002951575f5f80516020620045728339815191525f1c6001600160a01b031663667f9d7089845f81518110620026d257620026d262003ec7565b60200260200101516040518363ffffffff1660e01b8152600401620026f992919062003a68565b602060405180830381865afa15801562002715573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200273b919062003ace565b9050806200279d577f080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a588835f815181106200277a576200277a62003ec7565b60200260200101515f1c6040516200279492919062003a68565b60405180910390a15b808314620027c85760405162461bcd60e51b8152600401620027bf9062003edb565b60405180910390fd5b7f9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed888887896040516020016200280092919062003d55565b60405160208183030381529060405280519060200120855f815181106200282b576200282b62003ec7565b60200260200101515f1c60405162002847949392919062003f76565b60405180910390a1815f8151811062002864576200286462003ec7565b6020908102919091018101516001600160a01b038a165f9081528c835260408082206001600160e01b03198c1683528452808220905192939092620028ae918a918c910162003d55565b60408051601f1981840301815291815281516020928301208352828201939093529082015f908120939093556001600160a01b038b16835260018d810182528284206001600160e01b03198c1685528252828420925190939162002917918a918c910162003d55565b60408051808303601f190181529181528151602092830120835290820192909252015f20805460ff19169115159190911790555062002ee3565b60018151111562002e72575f5b815181101562002e6b575f5f80516020620045728339815191525f1c6001600160a01b031663667f9d708a8585815181106200299e576200299e62003ec7565b60200260200101516040518363ffffffff1660e01b8152600401620029c592919062003a68565b602060405180830381865afa158015620029e1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002a07919062003ace565b90508062002a69577f080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a58984848151811062002a465762002a4662003ec7565b60200260200101515f1c60405162002a6092919062003a68565b60405180910390a15b5f80516020620045728339815191525f1c6001600160a01b03166370ca10bb8a85858151811062002a9e5762002a9e62003ec7565b602002602001015161133760f01b6040518463ffffffff1660e01b815260040162002acc9392919062003fa6565b5f604051808303815f87803b15801562002ae4575f80fd5b505af115801562002af7573d5f803e3d5ffd5b505050505f60608a6001600160a01b03168760405162002b18919062003b7a565b5f60405180830381855afa9150503d805f811462002b52576040519150601f19603f3d011682016040523d82523d5f602084013e62002b57565b606091505b50909250905062002b6f81620026038b602062003d90565b955081801562002b83575061133760f01b86145b1562002dc5577f9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed8b8b8a8c60405160200162002bc192919062003d55565b6040516020818303038152906040528051906020012088888151811062002bec5762002bec62003ec7565b60200260200101515f1c60405162002c08949392919062003f76565b60405180910390a184848151811062002c255762002c2562003ec7565b6020908102919091018101516001600160a01b038d165f9081528f835260408082206001600160e01b03198f168352845280822090519293909262002c6f918d918f910162003d55565b6040516020818303038152906040528051906020012081526020019081526020015f208190555060018d6001015f8d6001600160a01b03166001600160a01b031681526020019081526020015f205f8c6001600160e01b0319166001600160e01b03191681526020019081526020015f205f8a8c60405160200162002cf692919062003d55565b6040516020818303038152906040528051906020012081526020019081526020015f205f6101000a81548160ff0219169083151502179055505f80516020620045728339815191525f1c6001600160a01b03166370ca10bb8c87878151811062002d645762002d6462003ec7565b6020026020010151866040518463ffffffff1660e01b815260040162002d8d9392919062003fa6565b5f604051808303815f87803b15801562002da5575f80fd5b505af115801562002db8573d5f803e3d5ffd5b5050505050505062002e6b565b5f80516020620045728339815191525f1c6001600160a01b03166370ca10bb8c87878151811062002dfa5762002dfa62003ec7565b6020026020010151866040518463ffffffff1660e01b815260040162002e239392919062003fa6565b5f604051808303815f87803b15801562002e3b575f80fd5b505af115801562002e4e573d5f803e3d5ffd5b50505050505050808062002e629062003fc7565b9150506200295e565b5062002ee3565b6040805162461bcd60e51b81526020600482015260248101919091527f73746453746f726167652066696e642853746453746f72616765293a204e6f2060448201527f73746f726167652075736520646574656374656420666f72207461726765742e6064820152608401620027bf565b6001600160a01b0387165f90815260018a01602090815260408083206001600160e01b03198a1684528252808320905190929162002f269188918a910162003d55565b60408051601f198184030181529181528151602092830120835290820192909252015f205460ff1662002fb45760405162461bcd60e51b815260206004820152602f60248201527f73746453746f726167652066696e642853746453746f72616765293a20536c6f60448201526e3a143994903737ba103337bab7321760891b6064820152608401620027bf565b6005890180546001600160a01b031916905560038901805463ffffffff1916905562002fe460028a015f6200387f565b5f60048a018190556001600160a01b038816815260208a815260408083206001600160e01b03198a16845282528083209051909291620030299188918a910162003d55565b6040516020818303038152906040528051906020012081526020019081526020015f2054975050505050505050919050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562003153576040515f90737109709ecfa91a80626ff3989d68f67f5b1dd12d907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490620030d29083906519985a5b195960d21b9060019060200162003fa6565b60408051601f1981840301815290829052620030f2929160200162003b48565b60408051601f19818403018152908290526200310e9162003b7a565b5f604051808303815f865af19150503d805f811462003149576040519150601f19603f3d011682016040523d82523d5f602084013e6200314e565b606091505b505050505b5f805461ff001916610100179055565b600582015460038301546004840154600285018054604080516020808402820181019092528281526001600160a01b039096169560e09590951b945f9390929091830182828015620031d357602002820191905f5260205f20905b815481526020019060010190808311620031be575b505050505090505f83620031e78362003682565b604051602001620031fa92919062003b48565b60408051601f198184030181528282526001600160a01b0388165f90815260018b0160209081528382206001600160e01b03198a1683528152928120919450909290916200324d91869188910162003d55565b60408051601f198184030181529181528151602092830120835290820192909252015f205460ff166200328757620032858762001dbd565b505b6001600160a01b0385165f908152602088815260408083206001600160e01b0319881684528252808320905190918391620032c791879189910162003d55565b6040516020818303038152906040528051906020012081526020019081526020015f20545f1b90505f80876001600160a01b0316846040516200330b919062003b7a565b5f60405180830381855afa9150503d805f811462003345576040519150601f19603f3d011682016040523d82523d5f602084013e6200334a565b606091505b509150620033679050816200336188602062003d90565b6200372c565b604051630667f9d760e41b81529092505f9150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d7090620033a8908b90879060040162003a68565b602060405180830381865afa158015620033c4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620033ea919062003ace565b90508082146200340e5760405162461bcd60e51b8152600401620027bf9062003edb565b6040516370ca10bb60e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb906200344b908b9087908e9060040162003fa6565b5f604051808303815f87803b15801562003463575f80fd5b505af115801562003476573d5f803e3d5ffd5b50505060058b0180546001600160a01b03191690555060038a01805463ffffffff19169055620034aa60028b015f6200387f565b896004015f905550505050505050505050565b5f80620034ca8362003529565b9050805f03620034dc57505f92915050565b80600103620034ee5750600192915050565b60405162461bcd60e51b8152600401620027bf9062003b97565b5f6200351482620037a9565b80602001905181019062001d7b919062003fe2565b5f6200353582620037a9565b80602001905181019062001d7b919062003ace565b60605f825160206200355d919062003d90565b67ffffffffffffffff81111562003578576200357862003daa565b6040519080825280601f01601f191660200182016040528015620035a3576020820181803683370190505b5090505f5b8351811015620035f4575f848281518110620035c857620035c862003ec7565b602002602001015190508082602002602001840152508080620035eb9062003fc7565b915050620035a8565b5092915050565b5f805f60208551116200361057845162003613565b60205b90505f5b8181101562003678576200362d81600862003d90565b866200363a838862003a95565b815181106200364d576200364d62003ec7565b01602001516001600160f81b031916901c9290921791806200366f8162003fc7565b91505062003617565b5090949350505050565b60605f8251602062003695919062003d90565b67ffffffffffffffff811115620036b057620036b062003daa565b6040519080825280601f01601f191660200182016040528015620036db576020820181803683370190505b5090505f5b8351811015620035f4575f84828151811062003700576200370062003ec7565b602002602001015190508082602002602001840152508080620037239062003fc7565b915050620036e0565b5f805f60208551116200374157845162003744565b60205b90505f5b8181101562003678576200375e81600862003d90565b866200376b838862003a95565b815181106200377e576200377e62003ec7565b01602001516001600160f81b031916901c929092179180620037a08162003fc7565b91505062003748565b60058101546060906001600160a01b03165f620037c684620023aa565b604051630667f9d760e41b8152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d709062003804908590859060040162003a68565b602060405180830381865afa15801562003820573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062003846919062003ace565b6040516020016200385991815260200190565b60405160208183030381529060405292505050919050565b610547806200400b83390190565b5080545f8255905f5260205f20908101906200055e91905b80821115620038ac575f815560010162003897565b5090565b602080825282518282018190525f9190848201906040850190845b81811015620038f25783516001600160a01b031683529284019291840191600101620038cb565b50909695505050505050565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b84811015620039a457898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200398e5783516001600160e01b0319168252928b019260019290920191908b019062003962565b50978a0197955050509187019160010162003924565b50919998505050505050505050565b5f5b83811015620039cf578181015183820152602001620039b5565b50505f910152565b5f8151808452620039f0816020860160208601620039b3565b601f01601f19169290920160200192915050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b8281101562003a5b57603f1988860301845262003a48858351620039d7565b9450928501929085019060010162003a29565b5092979650505050505050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111562001d7b5762001d7b62003a81565b5f806040838503121562003abd575f80fd5b505080516020909101519092909150565b5f6020828403121562003adf575f80fd5b5051919050565b600181811c9082168062003afb57607f821691505b60208210810362003b1a57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f6020828403121562003b31575f80fd5b8151801515811462003b41575f80fd5b9392505050565b6001600160e01b03198316815281515f9062003b6c816004850160208701620039b3565b919091016004019392505050565b5f825162003b8d818460208701620039b3565b9190910192915050565b602081525f62001d7b60208301605281527f73746453746f7261676520726561645f626f6f6c2853746453746f726167652960208201527f3a2043616e6e6f74206465636f64652e204d616b65207375726520796f7520616040820152713932903932b0b234b7339030903137b7b61760711b606082015260800190565b604081525f62003c3f60408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b604081525f62003c3f60408301600a8152690808080808149a59da1d60b21b602082015260400190565b604081525f62003ca160408301600a8152690808080808081319599d60b21b602082015260400190565b828103602084015262003cb58185620039d7565b949350505050565b604081525f62003ca160408301600a8152690808080808149a59da1d60b21b602082015260400190565b604081525f62003d1160408301600a8152690808080808081319599d60b21b602082015260400190565b6001600160a01b0393909316602092909201919091525090565b604081525f62003d1160408301600a8152690808080808149a59da1d60b21b602082015260400190565b82515f9082906020808701845b8381101562003d805781518552938201939082019060010162003d62565b5050948252509092019392505050565b808202811582820484141762001d7b5762001d7b62003a81565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262003dce575f80fd5b8151602067ffffffffffffffff8083111562003dee5762003dee62003daa565b8260051b604051601f19603f8301168101818110848211171562003e165762003e1662003daa565b60405293845285810183019383810192508785111562003e34575f80fd5b83870191505b8482101562003e555781518352918301919083019062003e3a565b979650505050505050565b5f806040838503121562003e72575f80fd5b825167ffffffffffffffff8082111562003e8a575f80fd5b62003e988683870162003dbe565b9350602085015191508082111562003eae575f80fd5b5062003ebd8582860162003dbe565b9150509250929050565b634e487b7160e01b5f52603260045260245ffd5b6020808252606f908201527f73746453746f726167652066696e642853746453746f72616765293a2050616360408201527f6b656420736c6f742e205468697320776f756c642063617573652064616e676560608201527f726f7573206f76657277726974696e6720616e642063757272656e746c79206960808201526e39b713ba1039bab83837b93a32b21760891b60a082015260c00190565b6001600160a01b039490941684526001600160e01b03199290921660208401526040830152606082015260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6001820162003fdb5762003fdb62003a81565b5060010190565b5f6020828403121562003ff3575f80fd5b81516001600160a01b038116811462003b41575f80fdfe608060405260015f819055610100600a5561133760f01b600c55600d80546001600160a01b031916610539179055600160ff1b600e55600f805460ff1916909117905534801561004d575f80fd5b50604080518082018252610539808252602091820181905260078190556008819055335f9081526003909252918120700100000000000000000000000000000001905552600160801b7fd1e9e29071ba110c7d6bded2dde74f314602f99e03fe410c0e5985c1c9afb26155610482806100c55f395ff3fe608060405234801561000f575f80fd5b5060043610610132575f3560e01c80635c23fe9e116100b4578063a73e40cc11610079578063a73e40cc1461034c578063aef6d4b11461036b578063b7e19e2914610392578063e4c62a111461039b578063e5ed1efe146103b3578063eb53f990146103bc575f80fd5b80635c23fe9e146102975780636a56c3d4146102b657806379da7e4d146102d55780638c6b4551146103005780638cd8156d14610322575f80fd5b80633eae2218116100fa5780633eae2218146101db57806341b6edb2146102065780634f87aeb714610240578063504429bf1461025d57806357351c4514610283575f80fd5b80630310c0601461013657806308f23aad1461018157806315e8b345146101ac578063267c4ae4146101ba5780633b80a793146101d0575b5f80fd5b6101676101443660046103e4565b600660209081525f92835260408084209091529082529020805460019091015482565b604080519283526020830191909152015b60405180910390f35b600d54610194906001600160a01b031681565b6040516001600160a01b039091168152602001610178565b600754600854610167919082565b6101c25f5481565b604051908152602001610178565b61133760f01b6101c2565b6101c26101e9366004610415565b6001600160a01b03165f9081526003602052604090205460801c90565b6101c2610214366004610415565b6001600160a01b03165f908152600360205260409020546fffffffffffffffffffffffffffffffff1690565b600f5461024d9060ff1681565b6040519015158152602001610178565b61016761026b366004610415565b60046020525f90815260409020805460019091015482565b60095461024d90600160f81b900460ff1681565b6101c26102a5366004610415565b60036020525f908152604090205481565b6101c26102c4366004610435565b60026020525f908152604090205481565b6009546102e8906001600160f81b031681565b6040516001600160f81b039091168152602001610178565b61024d61030e366004610415565b600b6020525f908152604090205460ff1681565b6101c26103303660046103e4565b600560209081525f928352604080842090915290825290205481565b6101c261035a366004610415565b60016020525f908152604090205481565b7fb27fb258786eae8f9ffde06a5bfd55f5193cb73bd64e533d5d75fd7cb46652ff546101c2565b6101c2600c5481565b600a546102e89061010090046001600160f81b031681565b6101c2600e5481565b600a5461024d9060ff1681565b80356001600160a01b03811681146103df575f80fd5b919050565b5f80604083850312156103f5575f80fd5b6103fe836103c9565b915061040c602084016103c9565b90509250929050565b5f60208284031215610425575f80fd5b61042e826103c9565b9392505050565b5f60208284031215610445575f80fd5b503591905056fea2646970667358221220f102a1cfa75a896c1da931e66f745d4b6ad535d8b1378d1ee29a00efe0ae4c2764736f6c6343000814003341304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220a016479354fac6e5deba8257ce4340e683857ee4fc5b21a68d31ea377a82480d64736f6c63430008140033","sourceMap":"124:8862:297:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5406:226;;;:::i;:::-;;2116:395;;;:::i;232:65::-;;;:::i;462:129::-;;;:::i;7249:361::-;;;:::i;3295:371::-;;;:::i;2161:134:276:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6582:442:297;;;:::i;4458:180::-;;;:::i;2517:395::-;;;:::i;7795:166::-;;;:::i;2930:133:276:-;;;:::i;4899:249:297:-;;;:::i;2631:141:276:-;;;:::i;1838:272:297:-;;;:::i;3672:296::-;;;:::i;303:153::-;;;:::i;7967:164::-;;;:::i;8339:116::-;;;:::i;5844:220::-;;;:::i;2918:371::-;;;:::i;1507:325::-;;;:::i;2447:178:276:-;;;:::i;:::-;;;;;;;:::i;7030:213:297:-;;;:::i;4276:176::-;;;:::i;2301:140:276:-;;;:::i;:::-;;;;;;;:::i;2778:146::-;;;:::i;975:258:297:-;;;:::i;5154:246::-;;;:::i;8461:177::-;;;:::i;597:187::-;;;:::i;6070:218::-;;;:::i;1866:141:276:-;;;:::i;1819:584:268:-;;;:::i;:::-;;;3755:14:310;;3748:22;3730:41;;3718:2;3703:18;1819:584:268;3590:187:310;8644:163:297;;;:::i;6294:282::-;;;:::i;5638:200::-;;;:::i;790:179::-;;;:::i;2013:142:276:-;;;:::i;1239:262:297:-;;;:::i;3974:296::-;;;:::i;8813:171::-;;;:::i;8137:196::-;;;:::i;4644:249::-;;;:::i;1572:26:268:-;;;;;;;;;7616:173:297;;;:::i;5406:226::-;5497:4;;5458:12;;5473:79;;:72;;5541:3;;5473:58;;-1:-1:-1;;;5508:22:297;5473:30;;:8;;-1:-1:-1;;;;;5497:4:297;5473:15;:30::i;:::-;:34;;:58::i;:::-;:67;;:72::i;:::-;:77;:79::i;:::-;5589:27;;;5600:3;5589:27;;;3964:36:310;5613:1:297;4016:18:310;;;4009:34;;;;5458:94:297;;-1:-1:-1;5562:63:297;;3937:18:310;;5589:27:297;;;;;;;;;;;;;5579:38;;;;;;5571:47;;5620:4;5562:8;:63::i;:::-;5448:184;5406:226::o;2116:395::-;2170:12;2185:142;:135;2318:1;2185:126;2305:4;2185:89;2268:4;2185:65;2220:29;;;2185:30;2209:4;;;;;;;;;-1:-1:-1;;;;;2209:4:297;2185:8;:15;;:30;;;;:::i;:65::-;:74;;:89::i;:126::-;:132;;:135::i;:142::-;2170:157;;2337:167;2404:4;2440;2455:1;2421:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2411:48;;;;;;2385:75;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2385:75:297;;;;;;;;;2375:86;;2385:75;2375:86;;;;2367:99;;:95;:99;:::i;:::-;2489:4;2337:8;:167::i;232:65::-;273:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;266:4:297;:24;;-1:-1:-1;;;;;;266:24:297;-1:-1:-1;;;;;266:24:297;;;;;;;;;;232:65::o;462:129::-;530:46;;;;;;;;;;;;-1:-1:-1;;;530:46:297;;;;554:4;;509:75;;526:1;;530:53;;:46;;:30;;:8;;-1:-1:-1;;;;;554:4:297;530:15;:30::i;:::-;:34;;:46::i;:53::-;509:8;:75::i;:::-;462:129::o;7249:361::-;7327:4;;7303:59;;:52;;-1:-1:-1;;;7338:16:297;7303:30;;:8;;-1:-1:-1;;;;;7327:4:297;7303:15;:30::i;:59::-;-1:-1:-1;7396:4:297;;7372:59;;:52;;-1:-1:-1;;;7407:16:297;7372:30;;:8;;-1:-1:-1;;;;;7396:4:297;7372:15;:30::i;:59::-;-1:-1:-1;7499:4:297;;7475:59;;:52;;-1:-1:-1;;;7510:16:297;7475:30;;:8;;-1:-1:-1;;;;;7499:4:297;7475:15;:30::i;:59::-;-1:-1:-1;7568:4:297;;7544:59;;:52;;-1:-1:-1;;;7579:16:297;7544:30;;:8;;-1:-1:-1;;;;;7568:4:297;7544:15;:30::i;3295:371::-;3361:163;3520:3;3361:144;3503:1;3361:135;3481:4;3361:89;3444:4;3361:65;3396:29;;;3361:30;3385:4;;;;;;;;;-1:-1:-1;;;;;3385:4:297;3361:8;:15;;:30;;;;:::i;:144::-;:158;;:163::i;:::-;3559:4;;:50;;-1:-1:-1;;;3559:50:297;;3588:4;3559:50;;;5086:34:310;;;5136:18;;;5129:43;3535:9:297;;;;-1:-1:-1;;;;;3559:4:297;;;;:20;;5021:18:310;;3559:50:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3534:75;;;;3619:14;3628:1;3631;3619:8;:14::i;:::-;3643:16;3652:3;3657:1;3643:8;:16::i;:::-;3351:315;;3295:371::o;2161:134:276:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2253:35:276;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;6582:442:297:-;6665:4;;:30;;-1:-1:-1;;;6665:30:297;;6689:4;6665:30;;;5579:51:310;6650:12:297;;-1:-1:-1;;;;;6665:4:297;;:15;;5552:18:310;;6665:30:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6843:4;;6805;-1:-1:-1;;6762:39:297;;;6761:48;;;-1:-1:-1;6819:135:297;;6761:48;;6819:93;;6805:4;6819:60;;-1:-1:-1;;;6854:24:297;6819:30;;:8;;-1:-1:-1;;;;;6843:4:297;6819:15;:30::i;:135::-;6979:4;;:37;;-1:-1:-1;;;6979:37:297;;6973:4;6979:37;;;5579:51:310;;;6964:53:297;;6973:4;;-1:-1:-1;;;;;6979:4:297;;;;:22;;5552:18:310;;6979:37:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4458:180::-;4544:4;;4505:12;;4520:71;;:64;;4582:1;;4520:55;;-1:-1:-1;;;4555:19:297;4520:30;;:8;;-1:-1:-1;;;;;4544:4:297;4520:15;:30::i;:71::-;4505:86;-1:-1:-1;4601:30:297;4610:14;4618:1;4623;4610:14;:::i;:::-;4626:4;4601:8;:30::i;2517:395::-;2571:12;2586:142;:135;2719:1;2586:126;2706:4;2586:89;2669:4;2586:65;2621:29;;;2586:30;2610:4;;;;;;;;;-1:-1:-1;;;;;2610:4:297;2586:8;:15;;:30;;;;:::i;:142::-;2571:157;;2738:167;2805:4;2841;2856:1;2822:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2812:48;;;;;;2786:75;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2786:75:297;;;;;;;;;2776:86;;2786:75;2776:86;;;;2768:99;;2866:1;2768:99;:::i;7795:166::-;7884:4;;7849:8;;7860:64;;:52;;-1:-1:-1;;;7895:16:297;7860:30;;:8;;-1:-1:-1;;;;;7884:4:297;7860:15;:30::i;:52::-;:62;:64::i;:::-;7849:75;;7934:20;7943:3;7948:5;7934:8;:20::i;2930:133:276:-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3021:35:276;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;4899:249:297:-;4982:4;;4958:83;;5037:3;;4958:64;;5020:1;;4958:55;;-1:-1:-1;;;4993:19:297;4958:30;;:8;;-1:-1:-1;;;;;4982:4:297;4958:15;:30::i;:83::-;5076:4;;:12;;;-1:-1:-1;;;5076:12:297;;;;5052:9;;;;-1:-1:-1;;;;;5076:4:297;;;;:10;;:12;;;;;;;;;;;:4;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5051:37;;;;5098:17;5107:1;5110:4;5098:8;:17::i;:::-;5125:16;5134:1;5137:3;5125:8;:16::i;2631:141:276:-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2726:39:276;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;1838:272:297:-;1921:4;;1897:138;;2031:3;;1897:106;;1997:4;;1897:82;;1997:4;;1897:82;;-1:-1:-1;;;1932:22:297;1897:30;;:8;;-1:-1:-1;;;;;1921:4:297;1897:15;:30::i;:138::-;2059:4;;:43;;-1:-1:-1;;;2059:43:297;;2081:4;2059:43;;;5086:34:310;;;5136:18;;;5129:43;2045:58:297;;2054:3;;-1:-1:-1;;;;;2059:4:297;;;;:13;;5021:18:310;;2059:43:297;4874:304:310;3672:296:297;3758:4;;3734:112;;3842:3;;3734:93;;3825:1;;3734:84;;3812:4;;3734:60;;-1:-1:-1;;;3769:24:297;3734:30;;:8;;-1:-1:-1;;;;;3758:4:297;3734:15;:30::i;:112::-;3881:4;;:30;;-1:-1:-1;;;3881:30:297;;3905:4;3881:30;;;5579:51:310;3857:9:297;;;;-1:-1:-1;;;;;3881:4:297;;;;:15;;5552:18:310;;3881:30:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3856:55;;;;3921:16;3930:1;3933:3;3921:8;:16::i;:::-;3947:14;3956:1;3959;3947:8;:14::i;303:153::-;395:46;;;;;;;;;;;;-1:-1:-1;;;395:46:297;;;;419:4;;349:100;;366:26;;395:53;;:46;;:30;;:8;;-1:-1:-1;;;;;419:4:297;395:15;:30::i;7967:164::-;8055:4;;8020:8;;8031:64;;:52;;-1:-1:-1;;;8066:16:297;8031:30;;:8;;-1:-1:-1;;;;;8055:4:297;8031:15;:30::i;:64::-;8020:75;;8105:19;8114:3;8119:4;8105:8;:19::i;8339:116::-;8408:4;;8384:64;;:52;;-1:-1:-1;;;8419:16:297;8384:30;;:8;;-1:-1:-1;;;;;8408:4:297;8384:15;:30::i;5844:220::-;5927:4;;5903:101;;6000:3;;5903:82;;5979:4;;5903:58;;-1:-1:-1;;;5938:22:297;5903:30;;:8;;-1:-1:-1;;;;;5927:4:297;5903:15;:30::i;:101::-;6028:4;;:28;;-1:-1:-1;;;6028:28:297;;6050:4;6028:28;;;5579:51:310;6014:43:297;;6023:3;;-1:-1:-1;;;;;6028:4:297;;;;:13;;5552:18:310;;6028:28:297;5433:203:310;2918:371:297;2984:163;3143:3;2984:144;3126:1;2984:135;3104:4;2984:89;3067:4;2984:65;3019:29;;;2984:30;3008:4;;;;;;;;;-1:-1:-1;;;;;3008:4:297;2984:8;:15;;:30;;;;:::i;:163::-;3182:4;;:50;;-1:-1:-1;;;3182:50:297;;3211:4;3182:50;;;5086:34:310;;;5136:18;;;5129:43;3158:9:297;;;;-1:-1:-1;;;;;3182:4:297;;;;:20;;5021:18:310;;3182:50:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3157:75;;;;3242:16;3251:3;3256:1;3242:8;:16::i;:::-;3268:14;3277:1;3280;3268:8;:14::i;1507:325::-;1593:4;;1554:12;;1569:135;;:128;;1682:4;;1569:82;;1682:4;;1569:82;;-1:-1:-1;;;1604:22:297;1569:30;;:8;;-1:-1:-1;;;;;1593:4:297;1569:15;:30::i;:135::-;1554:150;;1714:111;1760:4;1796;1811:1;1777:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1767:48;;;;;;1741:75;;;;;;;;;:::i;2447:178:276:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;7030:213:297:-;7184:45;;;;;;;;;;;;-1:-1:-1;;;7184:45:297;;;;7208:4;;7184:52;;:45;;:30;;:8;;-1:-1:-1;;;;;7208:4:297;7184:15;:30::i;4276:176::-;4362:4;;4323:12;;4338:71;;:64;;4323:12;;4338:55;;-1:-1:-1;;;4373:19:297;4338:30;;:8;;-1:-1:-1;;;;;4362:4:297;4338:15;:30::i;:71::-;4323:86;;4419:26;4436:1;4440:4;4419:8;:26::i;2301:140:276:-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2778:146;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;975:258:297;1076:4;;1025:12;;1052:100;;:93;;1025:12;;1052:84;;1130:4;;1052:60;;-1:-1:-1;;;1087:24:297;1052:30;;:8;;-1:-1:-1;;;;;1076:4:297;1052:15;:30::i;:100::-;1189:28;;;1208:4;1189:28;;;6395:51:310;1215:1:297;6462:18:310;;;6455:45;;;;1025:127:297;;-1:-1:-1;1162:64:297;;6368:18:310;;1189:28:297;6215:291:310;5154:246:297;5245:4;;5206:12;;5221:89;;:82;;5297:4;;5221:58;;-1:-1:-1;;;5256:22:297;5221:30;;:8;;-1:-1:-1;;;;;5245:4:297;5221:15;:30::i;:89::-;5206:104;;5320:73;5366:4;5381:1;5347:37;;;;;;;;;:::i;8461:177::-;8550:4;;8512:11;;8526:67;;:52;;-1:-1:-1;;;8561:16:297;8526:30;;:8;;-1:-1:-1;;;;;8550:4:297;8526:15;:30::i;:52::-;:65;:67::i;:::-;8512:81;;8603:28;8612:3;8625:4;8603:8;:28::i;597:187::-;679:4;;655:75;;726:3;;655:56;;-1:-1:-1;;;690:20:297;655:30;;:8;;-1:-1:-1;;;;;679:4:297;655:15;:30::i;:75::-;757:4;;:13;;;-1:-1:-1;;;757:13:297;;;;740:37;;-1:-1:-1;;;;;757:4:297;;:11;;:13;;;;;;;;;;;;;;:4;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;773:3;740:8;:37::i;6070:218::-;6153:4;;6129:102;;6226:4;;6129:82;;6205:4;;6129:58;;-1:-1:-1;;;6164:22:297;6129:30;;:8;;-1:-1:-1;;;;;6153:4:297;6129:15;:30::i;:82::-;:96;;:102::i;:::-;6252:4;;:28;;-1:-1:-1;;;6252:28:297;;6274:4;6252:28;;;5579:51:310;6241:40:297;;-1:-1:-1;;;;;6252:4:297;;:13;;5552:18:310;;6252:28:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6241:10;:40::i;1866:141:276:-;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:268;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:268;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;2023:20;;1671:64;;2135:34;;2196:43;;1671:64;;-1:-1:-1;;;2221:17:268;2196:43;;;:::i;:::-;;;;-1:-1:-1;;2196:43:268;;;;;;;;;;2086:175;;;2196:43;2086:175;;:::i;:::-;;;;-1:-1:-1;;2086:175:268;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:268:o;8644:163:297:-;8730:4;;8692:11;;8706:68;;:56;;-1:-1:-1;;;8741:20:297;8706:30;;:8;;-1:-1:-1;;;;;8730:4:297;8706:15;:30::i;:56::-;:66;:68::i;:::-;8692:82;;8784:16;8793:3;8798:1;8784:8;:16::i;6294:282::-;6461:4;;6437:132;;6565:3;;6437:100;;6530:4;;6437:67;;-1:-1:-1;;;6472:31:297;6437:30;;:8;;-1:-1:-1;;;;;6461:4:297;6437:15;:30::i;5638:200::-;5721:4;;5697:91;;5784:3;;5697:72;;5784:3;;5697:58;;-1:-1:-1;;;5732:22:297;5697:30;;:8;;-1:-1:-1;;;;;5721:4:297;5697:15;:30::i;:91::-;5812:4;;:18;;-1:-1:-1;;;5812:18:297;;5807:3;5812:18;;;7819:25:310;;;5798:33:297;;5807:3;;-1:-1:-1;;;;;5812:4:297;;;;:13;;7792:18:310;;5812::297;7663:187:310;790:179:297;873:4;;849:75;;920:3;;849:56;;-1:-1:-1;;;884:20:297;849:30;;:8;;-1:-1:-1;;;;;873:4:297;849:15;:30::i;:75::-;943:4;;:13;;;-1:-1:-1;;;943:13:297;;;;934:28;;-1:-1:-1;;;;;943:4:297;;:11;;:13;;;;;;;;;;;;;;:4;:13;;;;;;;;;;;;;;2013:142:276;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2109:39:276;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;1239:262:297:-;1340:4;;1289:12;;1316:100;;:93;;1407:1;;1316:84;;1394:4;;1316:60;;-1:-1:-1;;;1351:24:297;1316:30;;:8;;-1:-1:-1;;;;;1340:4:297;1316:15;:30::i;:100::-;1453:28;;;1472:4;1453:28;;;6395:51:310;1479:1:297;6462:18:310;;;6455:45;;;;1289:127:297;;-1:-1:-1;1426:68:297;;6368:18:310;;1453:28:297;;;-1:-1:-1;;1453:28:297;;;;;;;;;1443:39;;1453:28;1443:39;;;;1435:52;;1486:1;1435:52;:::i;3974:296::-;4060:4;;4036:112;;4144:3;;4036:93;;4127:1;;4036:84;;4114:4;;4036:60;;-1:-1:-1;;;4071:24:297;4036:30;;:8;;-1:-1:-1;;;;;4060:4:297;4036:15;:30::i;:112::-;4183:4;;:30;;-1:-1:-1;;;4183:30:297;;4207:4;4183:30;;;5579:51:310;4159:9:297;;;;-1:-1:-1;;;;;4183:4:297;;;;:15;;5552:18:310;;4183:30:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4158:55;;;;4223:14;4232:1;4235;4223:8;:14::i;8813:171::-;8897:4;;8860:10;;8873:63;;:52;;-1:-1:-1;;;8908:16:297;8873:30;;:8;;-1:-1:-1;;;;;8897:4:297;8873:15;:30::i;:63::-;8860:76;;8946:31;8955:3;-1:-1:-1;;;8946:8:297;:31::i;8137:196::-;8192:101;;-1:-1:-1;;;8192:101:297;;:15;;;;:101;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8303:4;-1:-1:-1;;;;;8303:21:297;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8137:196::o;4644:249::-;4727:4;;4703:83;;4782:3;;4703:64;;4765:1;;4703:55;;-1:-1:-1;;;4738:19:297;4703:30;;:8;;-1:-1:-1;;;;;4727:4:297;4703:15;:30::i;:83::-;4821:4;;:12;;;-1:-1:-1;;;4821:12:297;;;;4797:9;;;;-1:-1:-1;;;;;4821:4:297;;;;:10;;:12;;;;;;;;;;;:4;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4796:37;;;;4843:16;4852:1;4855:3;4843:8;:16::i;:::-;4869:17;4878:1;4881:4;4869:8;:17::i;7616:173::-;7705:4;;7667:11;;7681:67;;:52;;-1:-1:-1;;;7716:16:297;7681:30;;:8;;-1:-1:-1;;;;;7705:4:297;7681:15;:30::i;:67::-;7667:81;;7758:24;7767:3;-1:-1:-1;;;7758:8:297;:24::i;7700:156:279:-;4573:12;;;:22;;-1:-1:-1;;;;;;4573:22:279;-1:-1:-1;;;;;4573:22:279;;;;;-1:-1:-1;4573:12:279;7813:36;7806:43;;7700:156;;;;;:::o;7862:143::-;4728:9;;;:16;;-1:-1:-1;;4728:16:279;;;;;;;;-1:-1:-1;4728:9:279;7968:30;4629:143;8325:152;5229:10;;;:29;;;;;;;8399:18;5229:29;;;;;;;;;;8460:4;8436:34;5125:161;7579:115;7636:7;7662:25;7682:4;7662:19;:25::i;5209:262:268:-;5271:1;5266;:6;5262:203;;-1:-1:-1;;;;;;;;;;;5293:41:268;;;;8641:2:310;8623:21;;;8680:2;8660:18;;;8653:30;8719:34;8714:2;8699:18;;8692:62;-1:-1:-1;;;8785:2:310;8770:18;;8763:32;8827:3;8812:19;;8439:398;5293:41:268;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;8167:152:279:-;5044:10;;;:47;;;;;;;8241:18;5044:47;;;;;;-1:-1:-1;;;;;5068:21:279;;5044:47;;;8302:4;8278:34;4940:179;8641:152;8715:18;8752:34;8773:4;8779:6;5554:11;;;:20;:11;5450:152;4095:277:268;4163:1;4158;:6;4154:212;;-1:-1:-1;;;;;;;;;;;4185:44:268;;;;10078:2:310;10060:21;;;10117:2;10097:18;;;10090:30;10156:34;10151:2;10136:18;;10129:62;-1:-1:-1;;;10222:2:310;10207:18;;10200:35;10267:3;10252:19;;9876:401;4185:44:268;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;8011:150:279:-;718:24;;;;;;4884:9;;;:22;;-1:-1:-1;;4884:22:279;;;;;;;;;;;;8087:18;8143:4;8124:30;4778:156;8943:120;9023:33;9037:4;9051:3;9023:13;:33::i;10535:122::-;10597:4;10620:30;10645:4;10620:24;:30::i;789:312:272:-;859:1;854:6;;:1;:6;;;850:245;;-1:-1:-1;;;;;;;;;;;881:41:272;;;;11190:2:310;11172:21;;;11229:2;11209:18;;;11202:30;11268:34;11263:2;11248:18;;11241:62;-1:-1:-1;;;11334:2:310;11319:18;;11312:32;11376:3;11361:19;;10988:398;881:41:272;;;;;;;;941:52;972:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:272;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:272;;;;941:52;;;;;;:::i;:::-;;;;;;;;1012;1043:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:272;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:272;;;;1012:52;;;;;;:::i;10663:131:279:-;10728:7;10754:33;10782:4;10754:27;:33::i;3622:277:268:-;3690:1;-1:-1:-1;;;;;3685:6:268;:1;-1:-1:-1;;;;;3685:6:268;;3681:212;;-1:-1:-1;;;;;;;;;;;3712:44:268;;;;12483:2:310;12465:21;;;12522:2;12502:18;;;12495:30;12561:34;12556:2;12541:18;;12534:62;-1:-1:-1;;;12627:2:310;12612:18;;12605:35;12672:3;12657:19;;12281:401;3712:44:268;;;;;;;;3775:34;3807:1;3775:34;;;;;;:::i;:::-;;;;;;;;3828;3860:1;3828:34;;;;;;:::i;9069:222:279:-;9238:5;9262:22;9276:4;9238:5;9262:13;:22::i;:::-;9138:153;9069:222;;:::o;3262:157:268:-;3322:9;3317:96;;-1:-1:-1;;;;;;;;;;;3352:30:268;;;;13647:2:310;13629:21;;;13686:2;13666:18;;;13659:30;13725:25;13720:2;13705:18;;13698:53;13783:2;13768:18;;13445:347;3352:30:268;;;;;;;;3396:6;:4;:6::i;10800:125:279:-;10862:7;10888:30;10913:4;10888:24;:30::i;4766:257:268:-;4826:1;4821;:6;4817:200;;-1:-1:-1;;;;;;;;;;;4848:40:268;;;;13999:2:310;13981:21;;;14038:2;14018:18;;;14011:30;14077:34;14072:2;14057:18;;14050:62;-1:-1:-1;;;14143:2:310;14128:18;;14121:31;14184:3;14169:19;;13797:397;4848:40:268;;;;;;;;4907:30;4935:1;4907:30;;;;;;:::i;:::-;;;;;;;;4956;4984:1;4956:30;;;;;;:::i;1264:3197:279:-;1354:12;;;;1390:9;;;;1431:11;;;;1475:10;;;1452:33;;;;;;;;;;;;;;;;;;;1321:7;;-1:-1:-1;;;;;1354:12:279;;1390:9;;;1431:11;1321:7;;1452:33;;1475:10;;1452:33;;;1475:10;1452:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;1536:15:279;;;;;;:10;;;:15;;;;;;;;-1:-1:-1;;;;;;1536:21:279;;;;;;;;;1568:34;;1452:33;;-1:-1:-1;1536:21:279;:15;;-1:-1:-1;1568:34:279;;-1:-1:-1;1452:33:279;;1590:11;;1568:34;;:::i;:::-;;;;-1:-1:-1;;1568:34:279;;;;;;;;;1558:45;;1568:34;1558:45;;;;1536:68;;;;;;;;;;-1:-1:-1;1536:68:279;;;;1532:174;;;-1:-1:-1;;;;;1627:15:279;;:10;:15;;;;;;;;;;;-1:-1:-1;;;;;;1627:21:279;;;;;;;;;1659:34;;1627:21;;:10;1659:34;;1676:3;;1681:11;;1659:34;;:::i;:::-;;;;;;;;;;;;;1649:45;;;;;;1627:68;;;;;;;;;;;;1620:75;;;;;;1264:3197;;;:::o;1532:174::-;1715:17;1752:4;1758:12;1766:3;1758:7;:12::i;:::-;1735:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1715:56;;-1:-1:-1;;;;;;;;;;;580:37:279;;-1:-1:-1;;;;;1781:9:279;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1802:12;1841:17;1862:3;-1:-1:-1;;;;;1862:14:279;1877:4;1862:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1838:44:279;-1:-1:-1;1903:38:279;;-1:-1:-1;1838:44:279;1924:16;1929:11;1924:2;:16;:::i;:::-;1903:14;:38::i;:::-;1990:25;;-1:-1:-1;;;1990:25:279;;-1:-1:-1;;;;;5597:32:310;;1990:25:279;;;5579:51:310;1896:45:279;;-1:-1:-1;1963:22:279;;-1:-1:-1;1990:11:279;;;;5552:18:310;;1990:25:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1990:25:279;;;;;;;;;;;;:::i;:::-;1962:53;;;2029:5;:12;2045:1;2029:17;2025:2060;;2062:12;-1:-1:-1;;;;;;;;;;;580:37:279;;-1:-1:-1;;;;;2077:7:279;;2085:3;2090:5;2096:1;2090:8;;;;;;;;:::i;:::-;;;;;;;2077:22;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2062:37;-1:-1:-1;2062:37:279;2113:106;;2160:44;2181:3;2194:5;2200:1;2194:8;;;;;;;;:::i;:::-;;;;;;;2186:17;;2160:44;;;;;;;:::i;:::-;;;;;;;;2113:106;2244:4;2236;:12;2232:238;;2268:187;;-1:-1:-1;;;2268:187:279;;;;;;;:::i;:::-;;;;;;;;;2488:86;2498:3;2503:4;2536:3;2541:11;2519:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2509:45;;;;;;2564:5;2570:1;2564:8;;;;;;;;:::i;:::-;;;;;;;2556:17;;2488:86;;;;;;;;;:::i;:::-;;;;;;;;2667:5;2673:1;2667:8;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2588:15:279;;2659:17;2588:15;;;;;;;;;;-1:-1:-1;;;;;;2588:21:279;;;;;;;;;2620:34;;2667:8;;2588:21;;2620:34;;2637:3;;2642:11;;2620:34;;:::i;:::-;;;;-1:-1:-1;;2620:34:279;;;;;;;;;2610:45;;2620:34;2610:45;;;;2588:68;;;;;;;;;;;;-1:-1:-1;2588:68:279;;;:88;;;;-1:-1:-1;;;;;2690:15:279;;;;2761:4;2690:10;;;:15;;;;;-1:-1:-1;;;;;;2690:21:279;;;;;;;;;2722:34;;2761:4;;-1:-1:-1;2722:34:279;;2739:3;;2744:11;;2722:34;;:::i;:::-;;;;;;;-1:-1:-1;;2722:34:279;;;;;;2712:45;;2722:34;2712:45;;;;2690:68;;;;;;;;;;-1:-1:-1;2690:68:279;:75;;-1:-1:-1;;2690:75:279;;;;;;;;;;-1:-1:-1;2025:2060:279;;;2801:1;2786:5;:12;:16;2782:1303;;;2823:9;2818:1152;2842:5;:12;2838:1;:16;2818:1152;;;2879:12;-1:-1:-1;;;;;;;;;;;580:37:279;;-1:-1:-1;;;;;2894:7:279;;2902:3;2907:5;2913:1;2907:8;;;;;;;;:::i;:::-;;;;;;;2894:22;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2879:37;-1:-1:-1;2879:37:279;2934:114;;2985:44;3006:3;3019:5;3025:1;3019:8;;;;;;;;:::i;:::-;;;;;;;3011:17;;2985:44;;;;;;;:::i;:::-;;;;;;;;2934:114;-1:-1:-1;;;;;;;;;;;580:37:279;;-1:-1:-1;;;;;3090:8:279;;3099:3;3104:5;3110:1;3104:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;3090:43:279;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3151:12;3181:17;3256:3;-1:-1:-1;;;;;3256:14:279;3271:4;3256:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3238:38:279;;-1:-1:-1;3238:38:279;-1:-1:-1;3305:38:279;3238;3326:16;3331:11;3326:2;:16;:::i;3305:38::-;3298:45;;3384:7;:37;;;;;-1:-1:-1;;;3395:4:279;:26;3384:37;3380:529;;;3519:86;3529:3;3534:4;3567:3;3572:11;3550:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3540:45;;;;;;3595:5;3601:1;3595:8;;;;;;;;:::i;:::-;;;;;;;3587:17;;3519:86;;;;;;;;;:::i;:::-;;;;;;;;3706:5;3712:1;3706:8;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3627:15:279;;3698:17;3627:15;;;;;;;;;;-1:-1:-1;;;;;;3627:21:279;;;;;;;;;3659:34;;3706:8;;3627:21;;3659:34;;3676:3;;3681:11;;3659:34;;:::i;:::-;;;;;;;;;;;;;3649:45;;;;;;3627:68;;;;;;;;;;;:88;;;;3808:4;3737;:10;;:15;3748:3;-1:-1:-1;;;;;3737:15:279;-1:-1:-1;;;;;3737:15:279;;;;;;;;;;;;:21;3753:4;-1:-1:-1;;;;;3737:21:279;;-1:-1:-1;;;;;3737:21:279;;;;;;;;;;;;;:68;3786:3;3791:11;3769:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3759:45;;;;;;3737:68;;;;;;;;;;;;:75;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;580:37:279;;-1:-1:-1;;;;;3834:8:279;;3843:3;3848:5;3854:1;3848:8;;;;;;;;:::i;:::-;;;;;;;3858:4;3834:29;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3885:5;;;;;3380:529;-1:-1:-1;;;;;;;;;;;580:37:279;;-1:-1:-1;;;;;3926:8:279;;3935:3;3940:5;3946:1;3940:8;;;;;;;;:::i;:::-;;;;;;;3950:4;3926:29;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2861:1109;;;2856:3;;;;;:::i;:::-;;;;2818:1152;;;;2782:1303;;;4000:74;;;-1:-1:-1;;;4000:74:279;;19176:2:310;4000:74:279;;;19158:21:310;19195:18;;;19188:30;;;;19254:34;19234:18;;;19227:62;19325:34;19305:18;;;19298:62;19377:19;;4000:74:279;18974:428:310;2782:1303:279;-1:-1:-1;;;;;4116:15:279;;;;;;:10;;;:15;;;;;;;;-1:-1:-1;;;;;;4116:21:279;;;;;;;;;4148:34;;4116:21;;:15;4148:34;;4165:3;;4170:11;;4148:34;;:::i;:::-;;;;-1:-1:-1;;4148:34:279;;;;;;;;;4138:45;;4148:34;4138:45;;;;4116:68;;;;;;;;;;-1:-1:-1;4116:68:279;;;;4095:162;;;;-1:-1:-1;;;4095:162:279;;19609:2:310;4095:162:279;;;19591:21:310;19648:2;19628:18;;;19621:30;19687:34;19667:18;;;19660:62;-1:-1:-1;;;19738:18:310;;;19731:45;19793:19;;4095:162:279;19407:411:310;4095:162:279;4275:12;;;4268:19;;-1:-1:-1;;;;;;4268:19:279;;;4304:9;;;4297:16;;-1:-1:-1;;4297:16:279;;;4323:17;-1:-1:-1;4330:10:279;;4275:12;4323:17;:::i;:::-;4350:18;4357:11;;;4350:18;;;-1:-1:-1;;;;;4386:15:279;;;;;;;;;;;;-1:-1:-1;;;;;;4386:21:279;;;;;;;;;4418:34;;4386:21;;4350:18;4418:34;;4435:3;;4440:11;;4418:34;;:::i;:::-;;;;;;;;;;;;;4408:45;;;;;;4386:68;;;;;;;;;;;;4379:75;;;;;;;;;1264:3197;;;:::o;2409:432:268:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;2489:11;;1671:64;;2586:43;;2652:67;;1671:64;;-1:-1:-1;;;2677:17:268;2712:4;;2652:67;;;:::i;:::-;;;;-1:-1:-1;;2652:67:268;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:268;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:268;2820:7;:14;;-1:-1:-1;;2820:14:268;;;;;2409:432::o;9297:1095:279:-;9391:12;;;;9427:9;;;;9468:11;;;;9512:10;;;9489:33;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9391:12:279;;;;9427:9;;;;;;9377:11;;9489:33;;9512:10;;9489:33;;9512:10;9489:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9533:17;9570:4;9576:12;9584:3;9576:7;:12::i;:::-;9553:36;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;9553:36:279;;;;;;;;;-1:-1:-1;;;;;9604:15:279;;;;;;:10;;;9553:36;9604:15;;;;;;-1:-1:-1;;;;;;9604:21:279;;;;;;;;;9553:36;;-1:-1:-1;9604:21:279;;:15;;9636:34;;9653:3;;9658:11;;9636:34;;:::i;:::-;;;;-1:-1:-1;;9636:34:279;;;;;;;;;9626:45;;9636:34;9626:45;;;;9604:68;;;;;;;;;;-1:-1:-1;9604:68:279;;;;9599:110;;9688:10;9693:4;9688;:10::i;:::-;;9599:110;-1:-1:-1;;;;;9741:15:279;;9718:12;9741:15;;;;;;;;;;;-1:-1:-1;;;;;;9741:21:279;;;;;;;;;9773:34;;9741:21;;9718:12;;9773:34;;9790:3;;9795:11;;9773:34;;:::i;:::-;;;;;;;;;;;;;9763:45;;;;;;9741:68;;;;;;;;;;;;9733:77;;9718:92;;9821:12;9860:17;9881:3;-1:-1:-1;;;;;9881:14:279;9896:4;9881:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9857:44:279;-1:-1:-1;9922:38:279;;-1:-1:-1;9857:44:279;9943:16;9948:11;9943:2;:16;:::i;:::-;9922:14;:38::i;:::-;9995:18;;-1:-1:-1;;;9995:18:279;;9915:45;;-1:-1:-1;9980:12:279;;-1:-1:-1;9995:7:279;;;;:18;;10003:3;;10008:4;;9995:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9980:33;;10036:4;10028;:12;10024:218;;10056:175;;-1:-1:-1;;;10056:175:279;;;;;;;:::i;:::-;10251:24;;-1:-1:-1;;;10251:24:279;;:8;;;;:24;;10260:3;;10265:4;;10271:3;;10251:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10292:12:279;;;10285:19;;-1:-1:-1;;;;;;10285:19:279;;;-1:-1:-1;10321:9:279;;;10314:16;;-1:-1:-1;;10314:16:279;;;10340:17;-1:-1:-1;10347:10:279;;10292:12;10340:17;:::i;:::-;10374:4;:11;;10367:18;;;9367:1025;;;;;;;;9297:1095;;:::o;5945:279::-;6007:4;6023:8;6034:14;6043:4;6034:8;:14::i;:::-;6023:25;;6062:1;6067;6062:6;6058:24;;-1:-1:-1;6077:5:279;;5945:279;-1:-1:-1;;5945:279:279:o;6058:24::-;6096:1;6101;6096:6;6092:23;;-1:-1:-1;6111:4:279;;5945:279;-1:-1:-1;;5945:279:279:o;6092:23::-;6125:92;;-1:-1:-1;;;6125:92:279;;;;;;;:::i;6230:131::-;6295:7;6332:10;6337:4;6332;:10::i;:::-;6321:33;;;;;;;;;;;;:::i;6367:128::-;6429:7;6466:10;6471:4;6466;:10::i;:::-;6455:33;;;;;;;;;;;;:::i;6942:393::-;7001:12;7025:19;7057:1;:8;7068:2;7057:13;;;;:::i;:::-;7047:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7047:24:279;;7025:46;;7086:9;7081:224;7105:1;:8;7101:1;:12;7081:224;;;7134:9;7146:1;7148;7146:4;;;;;;;;:::i;:::-;;;;;;;7134:16;;7279:1;7273;7269:2;7265:10;7261:2;7257:19;7249:6;7245:32;7238:43;7220:75;7115:3;;;;;:::i;:::-;;;;7081:224;;;-1:-1:-1;7322:6:279;6942:393;-1:-1:-1;;6942:393:279:o;6632:304::-;6710:7;6729:11;6751;6776:2;6765:1;:8;:13;:29;;6786:1;:8;6765:29;;;6781:2;6765:29;6751:43;;6809:9;6804:106;6828:3;6824:1;:7;6804:106;;;6893:5;:1;6897;6893:5;:::i;:::-;6867:1;6869:10;6878:1;6869:6;:10;:::i;:::-;6867:13;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;6867:13:279;6859:40;;6852:47;;;;;6833:3;;;;:::i;:::-;;;;6804:106;;;-1:-1:-1;6926:3:279;;6632:304;-1:-1:-1;;;;6632:304:279:o;11471:393::-;11530:12;11554:19;11586:1;:8;11597:2;11586:13;;;;:::i;:::-;11576:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11576:24:279;;11554:46;;11615:9;11610:224;11634:1;:8;11630:1;:12;11610:224;;;11663:9;11675:1;11677;11675:4;;;;;;;;:::i;:::-;;;;;;;11663:16;;11808:1;11802;11798:2;11794:10;11790:2;11786:19;11778:6;11774:32;11767:43;11749:75;11644:3;;;;;:::i;:::-;;;;11610:224;;11110:304;11188:7;11207:11;11229;11254:2;11243:1;:8;:13;:29;;11264:1;:8;11243:29;;;11259:2;11243:29;11229:43;;11287:9;11282:106;11306:3;11302:1;:7;11282:106;;;11371:5;:1;11375;11371:5;:::i;:::-;11345:1;11347:10;11356:1;11347:6;:10;:::i;:::-;11345:13;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;11345:13:279;11337:40;;11330:47;;;;;11311:3;;;;:::i;:::-;;;;11282:106;;5608:194;5700:12;;;;5664;;-1:-1:-1;;;;;5700:12:279;5688:9;5734:10;5700:4;5734;:10::i;:::-;5772:22;;-1:-1:-1;;;5772:22:279;;5722;;-1:-1:-1;5772:7:279;;;;:22;;5780:1;;5722:22;;5772;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5761:34;;;;;;7819:25:310;;7807:2;7792:18;;7663:187;5761:34:279;;;;;;;;;;;;;5754:41;;;;5608:194;;;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:658:310:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:195;465:6;462:1;459:13;451:195;;;530:13;;-1:-1:-1;;;;;526:39:310;514:52;;621:15;;;;586:12;;;;562:1;480:9;451:195;;;-1:-1:-1;663:3:310;;14:658;-1:-1:-1;;;;;;14:658:310:o;677:1569::-;881:4;910:2;950;939:9;935:18;980:2;969:9;962:21;1003:6;1038;1032:13;1069:6;1061;1054:22;1095:2;1085:12;;1128:2;1117:9;1113:18;1106:25;;1190:2;1180:6;1177:1;1173:14;1162:9;1158:30;1154:39;1228:2;1220:6;1216:15;1249:1;1270;1280:937;1296:6;1291:3;1288:15;1280:937;;;1365:22;;;-1:-1:-1;;1361:36:310;1349:49;;1421:13;;1508:9;;-1:-1:-1;;;;;1504:35:310;1489:51;;1579:11;;1573:18;1611:15;;;1604:27;;;1692:19;;1461:15;;;1724:24;;;1814:21;;;;1859:1;;1782:2;1770:15;;;1873:236;1889:8;1884:3;1881:17;1873:236;;;1970:15;;-1:-1:-1;;;;;;1966:42:310;1952:57;;2078:17;;;;1917:1;1908:11;;;;;2035:14;;;;1873:236;;;-1:-1:-1;2195:12:310;;;;2132:5;-1:-1:-1;;;2160:15:310;;;;1322:1;1313:11;1280:937;;;-1:-1:-1;2234:6:310;;677:1569;-1:-1:-1;;;;;;;;;677:1569:310:o;2251:250::-;2336:1;2346:113;2360:6;2357:1;2354:13;2346:113;;;2436:11;;;2430:18;2417:11;;;2410:39;2382:2;2375:10;2346:113;;;-1:-1:-1;;2493:1:310;2475:16;;2468:27;2251:250::o;2506:271::-;2548:3;2586:5;2580:12;2613:6;2608:3;2601:19;2629:76;2698:6;2691:4;2686:3;2682:14;2675:4;2668:5;2664:16;2629:76;:::i;:::-;2759:2;2738:15;-1:-1:-1;;2734:29:310;2725:39;;;;2766:4;2721:50;;2506:271;-1:-1:-1;;2506:271:310:o;2782:803::-;2944:4;2973:2;3013;3002:9;2998:18;3043:2;3032:9;3025:21;3066:6;3101;3095:13;3132:6;3124;3117:22;3170:2;3159:9;3155:18;3148:25;;3232:2;3222:6;3219:1;3215:14;3204:9;3200:30;3196:39;3182:53;;3270:2;3262:6;3258:15;3291:1;3301:255;3315:6;3312:1;3309:13;3301:255;;;3408:2;3404:7;3392:9;3384:6;3380:22;3376:36;3371:3;3364:49;3436:40;3469:6;3460;3454:13;3436:40;:::i;:::-;3426:50;-1:-1:-1;3534:12:310;;;;3499:15;;;;3337:1;3330:9;3301:255;;;-1:-1:-1;3573:6:310;;2782:803;-1:-1:-1;;;;;;;2782:803:310:o;4054:274::-;-1:-1:-1;;;;;4246:32:310;;;;4228:51;;4310:2;4295:18;;4288:34;4216:2;4201:18;;4054:274::o;4612:127::-;4673:10;4668:3;4664:20;4661:1;4654:31;4704:4;4701:1;4694:15;4728:4;4725:1;4718:15;4744:125;4809:9;;;4830:10;;;4827:36;;;4843:18;;:::i;5183:245::-;5262:6;5270;5323:2;5311:9;5302:7;5298:23;5294:32;5291:52;;;5339:1;5336;5329:12;5291:52;-1:-1:-1;;5362:16:310;;5418:2;5403:18;;;5397:25;5362:16;;5397:25;;-1:-1:-1;5183:245:310:o;5641:184::-;5711:6;5764:2;5752:9;5743:7;5739:23;5735:32;5732:52;;;5780:1;5777;5770:12;5732:52;-1:-1:-1;5803:16:310;;5641:184;-1:-1:-1;5641:184:310:o;5830:380::-;5909:1;5905:12;;;;5952;;;5973:61;;6027:4;6019:6;6015:17;6005:27;;5973:61;6080:2;6072:6;6069:14;6049:18;6046:38;6043:161;;6126:10;6121:3;6117:20;6114:1;6107:31;6161:4;6158:1;6151:15;6189:4;6186:1;6179:15;6043:161;;5830:380;;;:::o;6700:277::-;6767:6;6820:2;6808:9;6799:7;6795:23;6791:32;6788:52;;;6836:1;6833;6826:12;6788:52;6868:9;6862:16;6921:5;6914:13;6907:21;6900:5;6897:32;6887:60;;6943:1;6940;6933:12;6887:60;6966:5;6700:277;-1:-1:-1;;;6700:277:310:o;6982:384::-;-1:-1:-1;;;;;;7167:33:310;;7155:46;;7224:13;;7137:3;;7246:74;7224:13;7309:1;7300:11;;7293:4;7281:17;;7246:74;:::i;:::-;7340:16;;;;7358:1;7336:24;;6982:384;-1:-1:-1;;;6982:384:310:o;7371:287::-;7500:3;7538:6;7532:13;7554:66;7613:6;7608:3;7601:4;7593:6;7589:17;7554:66;:::i;:::-;7636:16;;;;;7371:287;-1:-1:-1;;7371:287:310:o;8158:276::-;8359:2;8348:9;8341:21;8322:4;8379:49;8424:2;8413:9;8409:18;7932:2;7920:15;;7967:34;7960:4;7951:14;;7944:58;8032:34;8027:2;8018:12;;8011:56;-1:-1:-1;;;8092:2:310;8083:12;;8076:42;8143:3;8134:13;;7855:298;9006:348;9236:2;9225:9;9218:21;9199:4;9256:49;9301:2;9290:9;9286:18;8919:2;8907:15;;-1:-1:-1;;;8947:4:310;8938:14;;8931:36;8992:2;8983:12;;8842:159;9256:49;9248:57;;9341:6;9336:2;9325:9;9321:18;9314:34;9006:348;;;;:::o;9523:::-;9753:2;9742:9;9735:21;9716:4;9773:49;9818:2;9807:9;9803:18;9436:2;9424:15;;-1:-1:-1;;;9464:4:310;9455:14;;9448:36;9509:2;9500:12;;9359:159;11391:440;11641:2;11630:9;11623:21;11604:4;11667:49;11712:2;11701:9;11697:18;8919:2;8907:15;;-1:-1:-1;;;8947:4:310;8938:14;;8931:36;8992:2;8983:12;;8842:159;11667:49;11764:9;11756:6;11752:22;11747:2;11736:9;11732:18;11725:50;11792:33;11818:6;11810;11792:33;:::i;:::-;11784:41;11391:440;-1:-1:-1;;;;11391:440:310:o;11836:::-;12086:2;12075:9;12068:21;12049:4;12112:49;12157:2;12146:9;12142:18;9436:2;9424:15;;-1:-1:-1;;;9464:4:310;9455:14;;9448:36;9509:2;9500:12;;9359:159;12687:374;12917:2;12906:9;12899:21;12880:4;12937:49;12982:2;12971:9;12967:18;8919:2;8907:15;;-1:-1:-1;;;8947:4:310;8938:14;;8931:36;8992:2;8983:12;;8842:159;12937:49;-1:-1:-1;;;;;13022:32:310;;;;13017:2;13002:18;;;;12995:60;;;;-1:-1:-1;12929:57:310;12687:374::o;13066:::-;13296:2;13285:9;13278:21;13259:4;13316:49;13361:2;13350:9;13346:18;9436:2;9424:15;;-1:-1:-1;;;9464:4:310;9455:14;;9448:36;9509:2;9500:12;;9359:159;14901:610;15147:13;;15090:3;;15121;;15200:4;15227:15;;;15090:3;15270:175;15284:6;15281:1;15278:13;15270:175;;;15347:13;;15333:28;;15383:14;;;;15420:15;;;;15306:1;15299:9;15270:175;;;-1:-1:-1;;15454:21:310;;;-1:-1:-1;15491:14:310;;;;;-1:-1:-1;;;14901:610:310:o;15516:168::-;15589:9;;;15620;;15637:15;;;15631:22;;15617:37;15607:71;;15658:18;;:::i;15689:127::-;15750:10;15745:3;15741:20;15738:1;15731:31;15781:4;15778:1;15771:15;15805:4;15802:1;15795:15;15821:899;15886:5;15939:3;15932:4;15924:6;15920:17;15916:27;15906:55;;15957:1;15954;15947:12;15906:55;15986:6;15980:13;16012:4;16035:18;16072:2;16068;16065:10;16062:36;;;16078:18;;:::i;:::-;16124:2;16121:1;16117:10;16156:2;16150:9;16219:2;16215:7;16210:2;16206;16202:11;16198:25;16190:6;16186:38;16274:6;16262:10;16259:22;16254:2;16242:10;16239:18;16236:46;16233:72;;;16285:18;;:::i;:::-;16321:2;16314:22;16371:18;;;16447:15;;;16443:24;;;16405:15;;;;-1:-1:-1;16479:15:310;;;16476:35;;;16507:1;16504;16497:12;16476:35;16543:2;16535:6;16531:15;16520:26;;16555:135;16571:6;16566:3;16563:15;16555:135;;;16637:10;;16625:23;;16668:12;;;;16588;;;;16555:135;;;16708:6;15821:899;-1:-1:-1;;;;;;;15821:899:310:o;16725:614::-;16854:6;16862;16915:2;16903:9;16894:7;16890:23;16886:32;16883:52;;;16931:1;16928;16921:12;16883:52;16964:9;16958:16;16993:18;17034:2;17026:6;17023:14;17020:34;;;17050:1;17047;17040:12;17020:34;17073:72;17137:7;17128:6;17117:9;17113:22;17073:72;:::i;:::-;17063:82;;17191:2;17180:9;17176:18;17170:25;17154:41;;17220:2;17210:8;17207:16;17204:36;;;17236:1;17233;17226:12;17204:36;;17259:74;17325:7;17314:8;17303:9;17299:24;17259:74;:::i;:::-;17249:84;;;16725:614;;;;;:::o;17344:127::-;17405:10;17400:3;17396:20;17393:1;17386:31;17436:4;17433:1;17426:15;17460:4;17457:1;17450:15;17476:556;17678:2;17660:21;;;17717:3;17697:18;;;17690:31;17757:34;17752:2;17737:18;;17730:62;17828:34;17823:2;17808:18;;17801:62;17900:34;17894:3;17879:19;;17872:63;-1:-1:-1;;;17966:3:310;17951:19;;17944:46;18022:3;18007:19;;17476:556::o;18037:442::-;-1:-1:-1;;;;;18284:32:310;;;;18266:51;;-1:-1:-1;;;;;;18353:33:310;;;;18348:2;18333:18;;18326:61;18418:2;18403:18;;18396:34;18461:2;18446:18;;18439:34;18253:3;18238:19;;18037:442::o;18484:345::-;-1:-1:-1;;;;;18704:32:310;;;;18686:51;;18768:2;18753:18;;18746:34;;;;18811:2;18796:18;;18789:34;18674:2;18659:18;;18484:345::o;18834:135::-;18873:3;18894:17;;;18891:43;;18914:18;;:::i;:::-;-1:-1:-1;18961:1:310;18950:13;;18834:135::o;20105:298::-;20183:6;20236:2;20224:9;20215:7;20211:23;20207:32;20204:52;;;20252:1;20249;20242:12;20204:52;20278:16;;-1:-1:-1;;;;;20323:31:310;;20313:42;;20303:70;;20369:1;20366;20359:12","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","readNonBoolValue()":"52e52ac6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testFailStorageCheckedWriteMapPacked()":"d090c0f3","testFailStorageConst()":"6e085a48","testFailStorageNativePack()":"125ff296","testStorageCheckedWriteDeepMap()":"40a84f50","testStorageCheckedWriteDeepMapStructA()":"5d2c47d9","testStorageCheckedWriteDeepMapStructB()":"1c3d58aa","testStorageCheckedWriteHidden()":"a7f916b5","testStorageCheckedWriteMapAddr()":"5b066872","testStorageCheckedWriteMapBool()":"aa55fe59","testStorageCheckedWriteMapPackedSuccess()":"1f543925","testStorageCheckedWriteMapStructA()":"41aa6c02","testStorageCheckedWriteMapStructB()":"eb28d726","testStorageCheckedWriteMapUint()":"da2b1ed0","testStorageCheckedWriteObvious()":"e1cab9ff","testStorageCheckedWriteStructA()":"fa17c066","testStorageCheckedWriteStructB()":"3f29b83e","testStorageDeepMap()":"6087c71d","testStorageDeepMapStructA()":"09cd567c","testStorageDeepMapStructB()":"39b3fc26","testStorageHidden()":"4899443b","testStorageMapAddrFound()":"a5e7981f","testStorageMapStructA()":"9fc9b7b5","testStorageMapStructB()":"e97bbfae","testStorageMapUintFound()":"07a8f2e4","testStorageObvious()":"0e957ea2","testStorageReadAddress()":"a6374154","testStorageReadBool_False()":"3cdf9edc","testStorageReadBool_Revert()":"ef2c01d2","testStorageReadBool_True()":"5128ff2e","testStorageReadBytes32()":"fdc07e8f","testStorageReadInt()":"ee15a85d","testStorageReadUint()":"bf0a5be1","testStorageStructA()":"73f4109f","testStorageStructB()":"279258a6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readNonBoolValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testFailStorageCheckedWriteMapPacked\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testFailStorageConst\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testFailStorageNativePack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteDeepMap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteDeepMapStructA\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteDeepMapStructB\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteHidden\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteMapAddr\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteMapBool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteMapPackedSuccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteMapStructA\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteMapStructB\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteMapUint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteObvious\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteStructA\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageCheckedWriteStructB\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageDeepMap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageDeepMapStructA\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageDeepMapStructB\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageHidden\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageMapAddrFound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageMapStructA\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageMapStructB\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageMapUintFound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageObvious\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageReadAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageReadBool_False\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageReadBool_Revert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageReadBool_True\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageReadBytes32\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageReadInt\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageReadUint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageStructA\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStorageStructB\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol\":\"StdStorageTest\"},\"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/lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol\":{\"keccak256\":\"0x7c2fd54520ac5c679f39880d27674157911c6324235e468cec143d5d84d3f8f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c175eb445d965798ae36212bcc13678114a649f064f755ece6326d37d1a26f79\",\"dweb:/ipfs/QmWzutFMZG57VTeDPdtqHtZukVFmQjcVMFoBC2nyHdQtcR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"who","type":"address","indexed":false},{"internalType":"bytes4","name":"fsig","type":"bytes4","indexed":false},{"internalType":"bytes32","name":"keysHash","type":"bytes32","indexed":false},{"internalType":"uint256","name":"slot","type":"uint256","indexed":false}],"type":"event","name":"SlotFound","anonymous":false},{"inputs":[{"internalType":"address","name":"who","type":"address","indexed":false},{"internalType":"uint256","name":"slot","type":"uint256","indexed":false}],"type":"event","name":"WARNING_UninitedSlot","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"readNonBoolValue"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testFailStorageCheckedWriteMapPacked"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testFailStorageConst"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testFailStorageNativePack"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteDeepMap"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteDeepMapStructA"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteDeepMapStructB"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteHidden"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteMapAddr"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteMapBool"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteMapPackedSuccess"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteMapStructA"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteMapStructB"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteMapUint"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteObvious"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteStructA"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageCheckedWriteStructB"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageDeepMap"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageDeepMapStructA"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageDeepMapStructB"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageHidden"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageMapAddrFound"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageMapStructA"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageMapStructB"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageMapUintFound"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageObvious"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageReadAddress"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageReadBool_False"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageReadBool_Revert"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageReadBool_True"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageReadBytes32"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageReadInt"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageReadUint"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageStructA"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testStorageStructB"}],"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/lib/forge-std/test/StdStorage.t.sol":"StdStorageTest"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154","urls":["bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749","dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V"],"license":"GPL-3.0-or-later"},"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol":{"keccak256":"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27","urls":["bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363","dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617","urls":["bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af","dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol":{"keccak256":"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b","urls":["bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17","dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":{"keccak256":"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575","urls":["bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5","dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol":{"keccak256":"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46","urls":["bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88","dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol":{"keccak256":"0x7c2fd54520ac5c679f39880d27674157911c6324235e468cec143d5d84d3f8f0","urls":["bzz-raw://c175eb445d965798ae36212bcc13678114a649f064f755ece6326d37d1a26f79","dweb:/ipfs/QmWzutFMZG57VTeDPdtqHtZukVFmQjcVMFoBC2nyHdQtcR"],"license":"MIT"}},"version":1},"id":297}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"basic","inputs":[],"outputs":[{"name":"a","type":"uint256","internalType":"uint256"},{"name":"b","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"const","inputs":[],"outputs":[{"name":"t","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"deep_map","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deep_map_struct","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"a","type":"uint256","internalType":"uint256"},{"name":"b","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"exists","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"hidden","inputs":[],"outputs":[{"name":"t","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"map_addr","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"map_bool","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"map_packed","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"map_struct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"a","type":"uint256","internalType":"uint256"},{"name":"b","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"map_uint","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"read_struct_lower","inputs":[{"name":"who","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"read_struct_upper","inputs":[{"name":"who","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tA","inputs":[],"outputs":[{"name":"","type":"uint248","internalType":"uint248"}],"stateMutability":"view"},{"type":"function","name":"tB","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tC","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tD","inputs":[],"outputs":[{"name":"","type":"uint248","internalType":"uint248"}],"stateMutability":"view"},{"type":"function","name":"tE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tF","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tG","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"tH","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x608060405260015f819055610100600a5561133760f01b600c55600d80546001600160a01b031916610539179055600160ff1b600e55600f805460ff1916909117905534801561004d575f80fd5b50604080518082018252610539808252602091820181905260078190556008819055335f9081526003909252918120700100000000000000000000000000000001905552600160801b7fd1e9e29071ba110c7d6bded2dde74f314602f99e03fe410c0e5985c1c9afb26155610482806100c55f395ff3fe608060405234801561000f575f80fd5b5060043610610132575f3560e01c80635c23fe9e116100b4578063a73e40cc11610079578063a73e40cc1461034c578063aef6d4b11461036b578063b7e19e2914610392578063e4c62a111461039b578063e5ed1efe146103b3578063eb53f990146103bc575f80fd5b80635c23fe9e146102975780636a56c3d4146102b657806379da7e4d146102d55780638c6b4551146103005780638cd8156d14610322575f80fd5b80633eae2218116100fa5780633eae2218146101db57806341b6edb2146102065780634f87aeb714610240578063504429bf1461025d57806357351c4514610283575f80fd5b80630310c0601461013657806308f23aad1461018157806315e8b345146101ac578063267c4ae4146101ba5780633b80a793146101d0575b5f80fd5b6101676101443660046103e4565b600660209081525f92835260408084209091529082529020805460019091015482565b604080519283526020830191909152015b60405180910390f35b600d54610194906001600160a01b031681565b6040516001600160a01b039091168152602001610178565b600754600854610167919082565b6101c25f5481565b604051908152602001610178565b61133760f01b6101c2565b6101c26101e9366004610415565b6001600160a01b03165f9081526003602052604090205460801c90565b6101c2610214366004610415565b6001600160a01b03165f908152600360205260409020546fffffffffffffffffffffffffffffffff1690565b600f5461024d9060ff1681565b6040519015158152602001610178565b61016761026b366004610415565b60046020525f90815260409020805460019091015482565b60095461024d90600160f81b900460ff1681565b6101c26102a5366004610415565b60036020525f908152604090205481565b6101c26102c4366004610435565b60026020525f908152604090205481565b6009546102e8906001600160f81b031681565b6040516001600160f81b039091168152602001610178565b61024d61030e366004610415565b600b6020525f908152604090205460ff1681565b6101c26103303660046103e4565b600560209081525f928352604080842090915290825290205481565b6101c261035a366004610415565b60016020525f908152604090205481565b7fb27fb258786eae8f9ffde06a5bfd55f5193cb73bd64e533d5d75fd7cb46652ff546101c2565b6101c2600c5481565b600a546102e89061010090046001600160f81b031681565b6101c2600e5481565b600a5461024d9060ff1681565b80356001600160a01b03811681146103df575f80fd5b919050565b5f80604083850312156103f5575f80fd5b6103fe836103c9565b915061040c602084016103c9565b90509250929050565b5f60208284031215610425575f80fd5b61042e826103c9565b9392505050565b5f60208284031215610445575f80fd5b503591905056fea2646970667358221220f102a1cfa75a896c1da931e66f745d4b6ad535d8b1378d1ee29a00efe0ae4c2764736f6c63430008140033","sourceMap":"8988:1586:297:-:0;;;9039:1;9015:25;;;;9483:22;;9511:21;-1:-1:-1;;;9659:29:297;;9694:33;;;-1:-1:-1;;;;;;9694:33:297;9722:4;9694:33;;;-1:-1:-1;;;9733:35:297;;9774:21;;;-1:-1:-1;;9774:21:297;;;;;;9802:205;;;;;;;;;-1:-1:-1;9834:34:297;;;;;;;;9853:4;9834:34;;;;;;;;;;9826:5;:42;;;;;;;9928:10;-1:-1:-1;9917:22:297;;;:10;:22;;;;;;9893:14;9917:28;;9955:34;-1:-1:-1;;;9955:34:297;:45;8988:1586;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610132575f3560e01c80635c23fe9e116100b4578063a73e40cc11610079578063a73e40cc1461034c578063aef6d4b11461036b578063b7e19e2914610392578063e4c62a111461039b578063e5ed1efe146103b3578063eb53f990146103bc575f80fd5b80635c23fe9e146102975780636a56c3d4146102b657806379da7e4d146102d55780638c6b4551146103005780638cd8156d14610322575f80fd5b80633eae2218116100fa5780633eae2218146101db57806341b6edb2146102065780634f87aeb714610240578063504429bf1461025d57806357351c4514610283575f80fd5b80630310c0601461013657806308f23aad1461018157806315e8b345146101ac578063267c4ae4146101ba5780633b80a793146101d0575b5f80fd5b6101676101443660046103e4565b600660209081525f92835260408084209091529082529020805460019091015482565b604080519283526020830191909152015b60405180910390f35b600d54610194906001600160a01b031681565b6040516001600160a01b039091168152602001610178565b600754600854610167919082565b6101c25f5481565b604051908152602001610178565b61133760f01b6101c2565b6101c26101e9366004610415565b6001600160a01b03165f9081526003602052604090205460801c90565b6101c2610214366004610415565b6001600160a01b03165f908152600360205260409020546fffffffffffffffffffffffffffffffff1690565b600f5461024d9060ff1681565b6040519015158152602001610178565b61016761026b366004610415565b60046020525f90815260409020805460019091015482565b60095461024d90600160f81b900460ff1681565b6101c26102a5366004610415565b60036020525f908152604090205481565b6101c26102c4366004610435565b60026020525f908152604090205481565b6009546102e8906001600160f81b031681565b6040516001600160f81b039091168152602001610178565b61024d61030e366004610415565b600b6020525f908152604090205460ff1681565b6101c26103303660046103e4565b600560209081525f928352604080842090915290825290205481565b6101c261035a366004610415565b60016020525f908152604090205481565b7fb27fb258786eae8f9ffde06a5bfd55f5193cb73bd64e533d5d75fd7cb46652ff546101c2565b6101c2600c5481565b600a546102e89061010090046001600160f81b031681565b6101c2600e5481565b600a5461024d9060ff1681565b80356001600160a01b03811681146103df575f80fd5b919050565b5f80604083850312156103f5575f80fd5b6103fe836103c9565b915061040c602084016103c9565b90509250929050565b5f60208284031215610425575f80fd5b61042e826103c9565b9392505050565b5f60208284031215610445575f80fd5b503591905056fea2646970667358221220f102a1cfa75a896c1da931e66f745d4b6ad535d8b1378d1ee29a00efe0ae4c2764736f6c63430008140033","sourceMap":"8988:1586:297:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9322:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;631:25:310;;;687:2;672:18;;665:34;;;;604:18;9322:77:297;;;;;;;;9694:33;;;;;-1:-1:-1;;;;;9694:33:297;;;;;;-1:-1:-1;;;;;874:32:310;;;856:51;;844:2;829:18;9694:33:297;710:203:310;9405:27:297;;;;;;;;;;9015:25;;;;;;;;;1064::310;;;1052:2;1037:18;9015:25:297;918:177:310;10484:88:297;-1:-1:-1;;;10484:88:297;;10013:116;;;;;;:::i;:::-;-1:-1:-1;;;;;10100:15:297;10074:7;10100:15;;;:10;:15;;;;;;10119:3;10100:22;;10013:116;10135:128;;;;;;:::i;:::-;-1:-1:-1;;;;;10222:15:297;10196:7;10222:15;;;:10;:15;;;;;;10241:14;10222:34;;10135:128;9774:21;;;;;;;;;;;;1638:14:310;;1631:22;1613:41;;1601:2;1586:18;9774:21:297;1473:187:310;9195:52:297;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;9462:14;;;;;-1:-1:-1;;;9462:14:297;;;;;;9144:45;;;;;;:::i;:::-;;;;;;;;;;;;;;9095:43;;;;;;:::i;:::-;;;;;;;;;;;;;;9439:17;;;;;-1:-1:-1;;;;;9439:17:297;;;;;;-1:-1:-1;;;;;2014:32:310;;;1996:51;;1984:2;1969:18;9439:17:297;1850:203:310;9612:40:297;;;;;;:::i;:::-;;;;;;;;;;;;;;;;9253:63;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;9046:43;;;;;;:::i;:::-;;;;;;;;;;;;;;10269:209;10344:26;10451:11;10269:209;;9659:29;;;;;;9511:21;;;;;;;;-1:-1:-1;;;;;9511:21:297;;;9733:35;;;;;;9483:22;;;;;;;;;14:173:310;82:20;;-1:-1:-1;;;;;131:31:310;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:260::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;;408:38;442:2;431:9;427:18;408:38;:::i;:::-;398:48;;192:260;;;;;:::o;1282:186::-;1341:6;1394:2;1382:9;1373:7;1369:23;1365:32;1362:52;;;1410:1;1407;1400:12;1362:52;1433:29;1452:9;1433:29;:::i;:::-;1423:39;1282:186;-1:-1:-1;;;1282:186:310:o;1665:180::-;1724:6;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;-1:-1:-1;1816:23:310;;1665:180;-1:-1:-1;1665:180:310:o","linkReferences":{}},"methodIdentifiers":{"basic()":"15e8b345","const()":"3b80a793","deep_map(address,address)":"8cd8156d","deep_map_struct(address,address)":"0310c060","exists()":"267c4ae4","hidden()":"aef6d4b1","map_addr(address)":"a73e40cc","map_bool(address)":"8c6b4551","map_packed(address)":"5c23fe9e","map_struct(address)":"504429bf","map_uint(uint256)":"6a56c3d4","read_struct_lower(address)":"41b6edb2","read_struct_upper(address)":"3eae2218","tA()":"79da7e4d","tB()":"57351c45","tC()":"eb53f990","tD()":"e4c62a11","tE()":"b7e19e29","tF()":"08f23aad","tG()":"e5ed1efe","tH()":"4f87aeb7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"basic\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"const\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"t\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deep_map\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deep_map_struct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hidden\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"t\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"map_addr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"map_bool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"map_packed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"map_struct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"map_uint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"read_struct_lower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"read_struct_upper\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tA\",\"outputs\":[{\"internalType\":\"uint248\",\"name\":\"\",\"type\":\"uint248\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tB\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tC\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tD\",\"outputs\":[{\"internalType\":\"uint248\",\"name\":\"\",\"type\":\"uint248\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tF\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tG\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tH\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol\":\"StorageTest\"},\"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/lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol\":{\"keccak256\":\"0x7c2fd54520ac5c679f39880d27674157911c6324235e468cec143d5d84d3f8f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c175eb445d965798ae36212bcc13678114a649f064f755ece6326d37d1a26f79\",\"dweb:/ipfs/QmWzutFMZG57VTeDPdtqHtZukVFmQjcVMFoBC2nyHdQtcR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"basic","outputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"const","outputs":[{"internalType":"bytes32","name":"t","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"deep_map","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"deep_map_struct","outputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"exists","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"hidden","outputs":[{"internalType":"bytes32","name":"t","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"map_addr","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"map_bool","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"map_packed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"map_struct","outputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"map_uint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"stateMutability":"view","type":"function","name":"read_struct_lower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"stateMutability":"view","type":"function","name":"read_struct_upper","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tA","outputs":[{"internalType":"uint248","name":"","type":"uint248"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tB","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tC","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tD","outputs":[{"internalType":"uint248","name":"","type":"uint248"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tF","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tG","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tH","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/lib/forge-std/test/StdStorage.t.sol":"StorageTest"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154","urls":["bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749","dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V"],"license":"GPL-3.0-or-later"},"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol":{"keccak256":"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27","urls":["bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363","dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617","urls":["bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af","dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol":{"keccak256":"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b","urls":["bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17","dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":{"keccak256":"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575","urls":["bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5","dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol":{"keccak256":"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46","urls":["bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88","dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol":{"keccak256":"0x7c2fd54520ac5c679f39880d27674157911c6324235e468cec143d5d84d3f8f0","urls":["bzz-raw://c175eb445d965798ae36212bcc13678114a649f064f755ece6326d37d1a26f79","dweb:/ipfs/QmWzutFMZG57VTeDPdtqHtZukVFmQjcVMFoBC2nyHdQtcR"],"license":"MIT"}},"version":1},"id":297}
@@ -0,0 +1 @@
1
+ {"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122073490dac68aba5f33668d9729874be68cd26eb799452c067b6ce229511d102a264736f6c63430008140033","sourceMap":"96:10353:280:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;96:10353:280;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122073490dac68aba5f33668d9729874be68cd26eb799452c067b6ce229511d102a264736f6c63430008140033","sourceMap":"96:10353:280:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol\":\"StdStyle\"},\"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/lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[],"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/lib/forge-std/src/StdStyle.sol":"StdStyle"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"}},"version":1},"id":280}