@elizaos/autonomous 2.0.0-alpha.21 → 2.0.0-alpha.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +14 -6
- package/test/agent-export.e2e.test.ts +376 -0
- package/test/agent-orchestration.e2e.test.ts +1568 -0
- package/test/agent-restart-recovery.e2e.test.ts +149 -0
- package/test/agent-runtime.e2e.test.ts +1515 -0
- package/test/anvil-contracts.e2e.test.ts +533 -0
- package/test/anvil-helper.ts +285 -0
- package/test/api-auth-live.e2e.test.ts +519 -0
- package/test/api-auth.e2e.test.ts +1039 -0
- package/test/api-server.e2e.test.ts +4582 -0
- package/test/apps-e2e.e2e.test.ts +1108 -0
- package/test/auth-modules.e2e.test.ts +71 -0
- package/test/cloud-auth-state.e2e.test.ts +145 -0
- package/test/cloud-persistence.e2e.test.ts +260 -0
- package/test/cloud-providers.e2e.test.ts +781 -0
- package/test/config-hot-reload.e2e.test.ts +131 -0
- package/test/contract-deployer.ts +151 -0
- package/test/contracts/MockMiladyAgentRegistry.sol +216 -0
- package/test/contracts/MockMiladyCollection.sol +195 -0
- package/test/contracts/cache/solidity-files-cache.json +1 -0
- package/test/contracts/foundry.toml +14 -0
- package/test/contracts/lib/openzeppelin-contracts/.changeset/config.json +12 -0
- package/test/contracts/lib/openzeppelin-contracts/.codecov.yml +12 -0
- package/test/contracts/lib/openzeppelin-contracts/.editorconfig +21 -0
- package/test/contracts/lib/openzeppelin-contracts/.eslintrc +20 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +49 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/actions/setup/action.yml +19 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +55 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/checks.yml +111 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +68 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +218 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +30 -0
- package/test/contracts/lib/openzeppelin-contracts/.gitmodules +7 -0
- package/test/contracts/lib/openzeppelin-contracts/.mocharc.js +4 -0
- package/test/contracts/lib/openzeppelin-contracts/.prettierrc +14 -0
- package/test/contracts/lib/openzeppelin-contracts/.solcover.js +13 -0
- package/test/contracts/lib/openzeppelin-contracts/.solhint.json +14 -0
- package/test/contracts/lib/openzeppelin-contracts/CHANGELOG.md +743 -0
- package/test/contracts/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
- package/test/contracts/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
- package/test/contracts/lib/openzeppelin-contracts/GUIDELINES.md +117 -0
- package/test/contracts/lib/openzeppelin-contracts/LICENSE +22 -0
- package/test/contracts/lib/openzeppelin-contracts/README.md +90 -0
- package/test/contracts/lib/openzeppelin-contracts/RELEASING.md +47 -0
- package/test/contracts/lib/openzeppelin-contracts/SECURITY.md +42 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/README.md +16 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/Makefile +54 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/README.md +60 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/diff/token_ERC721_ERC721.sol.patch +14 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +47 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +59 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +37 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/run.js +146 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +126 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +500 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +366 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20.spec +414 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +48 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC721.spec +589 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +334 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +247 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable.spec +78 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +275 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +1 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +7 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC3156.spec +5 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +20 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs.json +86 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +248 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlDefaultAdminRules.sol +383 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +64 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +88 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlDefaultAdminRules.sol +172 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +31 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol +83 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +57 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/README.adoc +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +34 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +49 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +44 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +41 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +214 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/finance/README.adoc +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +145 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/Governor.sol +723 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +313 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/README.adoc +176 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +422 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +333 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +118 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +110 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +190 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +166 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +121 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +56 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +244 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +80 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +21 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +232 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +18 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +73 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/README.adoc +12 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +18 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +57 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Reentrant.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +15 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SafeMathMemoryCheck.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +77 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +94 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +88 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +24 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +31 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompMock.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompatibilityBravoMock.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +60 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +60 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +50 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSLegacy.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +33 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +47 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20PermitNoRevertMock.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +262 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777Mock.sol +13 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777SenderRecipientMock.sol +152 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/VotesTimestamp.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +79 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +85 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +94 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/package.json +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +88 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +157 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +86 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +65 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +81 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +191 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +166 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +99 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/Pausable.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +74 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/README.adoc +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +77 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +497 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +119 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +58 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +49 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +44 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +64 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +63 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +22 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +114 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +1 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +365 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +78 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +80 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +37 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +109 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +95 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +191 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +290 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +46 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +73 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +256 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +30 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +94 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +1 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +143 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +466 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +132 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +73 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +148 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +159 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +38 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +74 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +97 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +132 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +1 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +514 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +200 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +30 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +107 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol +244 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Base64.sol +101 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +560 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Counters.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Create2.sol +75 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/README.adoc +113 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +138 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol +85 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Timers.sol +75 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +217 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +142 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +227 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +50 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +67 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +126 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +112 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +339 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1136 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +215 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +68 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +170 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +598 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +378 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +41 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +134 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +102 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +152 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +117 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +34 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +22 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/README.md +16 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/antora.yml +6 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/config.js +21 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +23 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +219 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +210 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +19 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +153 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +85 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +90 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +75 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +131 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +237 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +65 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +32 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +190 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/contract.hbs +85 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/properties.js +45 -0
- package/test/contracts/lib/openzeppelin-contracts/foundry.toml +3 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/env-artifacts.js +24 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/env-contract.js +10 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat.config.js +118 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +349 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +92 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +3 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/README.md +250 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +21 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/.github/workflows/build.yml +41 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +674 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +14 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +4 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +15 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +469 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.t.sol +313 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +33 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +376 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +233 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +624 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +92 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +179 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +327 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +189 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +32 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +409 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1533 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1546 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +954 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +160 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +401 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +118 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +197 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +283 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +297 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
- package/test/contracts/lib/openzeppelin-contracts/logo.svg +15 -0
- package/test/contracts/lib/openzeppelin-contracts/netlify.toml +3 -0
- package/test/contracts/lib/openzeppelin-contracts/package-lock.json +28833 -0
- package/test/contracts/lib/openzeppelin-contracts/package.json +96 -0
- package/test/contracts/lib/openzeppelin-contracts/remappings.txt +1 -0
- package/test/contracts/lib/openzeppelin-contracts/renovate.json +4 -0
- package/test/contracts/lib/openzeppelin-contracts/requirements.txt +1 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +19 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +243 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +40 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +54 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/gen-nav.js +41 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/run.js +49 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +304 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +22 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +256 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +310 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +250 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +163 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +87 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/git-user-config.sh +6 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/helpers.js +37 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/migrate-imports.js +180 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepack.sh +12 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +15 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepare.sh +10 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +47 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/update-docs-branch.js +63 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +44 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +35 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +481 -0
- package/test/contracts/lib/openzeppelin-contracts/slither.config.json +5 -0
- package/test/contracts/lib/openzeppelin-contracts/test/TESTING.md +3 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +867 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.test.js +12 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +49 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlDefaultAdminRules.test.js +25 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable.test.js +59 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +78 -0
- package/test/contracts/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +217 -0
- package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +59 -0
- package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.t.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.test.js +782 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1254 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +283 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +88 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +115 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +189 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +352 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +445 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +154 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +173 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/EIP6372.behavior.js +23 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +361 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +71 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/chainid.js +10 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/create2.js +11 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/crosschain.js +61 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/customError.js +24 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/eip712.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/enums.js +12 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/erc1967.js +24 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/governance.js +201 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/map-values.js +7 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/sign.js +63 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/time.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/txpool.js +38 -0
- package/test/contracts/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +175 -0
- package/test/contracts/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +169 -0
- package/test/contracts/lib/openzeppelin-contracts/test/migrate-imports.test.js +33 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +136 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.test.js +61 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +225 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +139 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +44 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +127 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +433 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +218 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
- package/test/contracts/lib/openzeppelin-contracts/test/security/Pausable.test.js +85 -0
- package/test/contracts/lib/openzeppelin-contracts/test/security/PullPayment.test.js +51 -0
- package/test/contracts/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +43 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +767 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +235 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +107 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +156 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +64 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +322 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +305 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +106 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +20 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +23 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +204 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +133 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +207 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +578 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +543 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +1031 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +103 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +110 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +350 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +893 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +15 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +20 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +70 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +122 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +206 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +92 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +100 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +184 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +283 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +122 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +22 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +597 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +556 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +157 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Address.test.js +361 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Arrays.test.js +123 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Base64.test.js +43 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.t.sol +347 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +255 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.behavior.js +42 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.test.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Counters.test.js +84 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Create2.test.js +89 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Multicall.test.js +68 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +210 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Strings.test.js +150 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +260 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +103 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +200 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +87 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +37 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +90 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +14 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +143 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +11 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +302 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +23 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +71 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +146 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +217 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.test.js +289 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +152 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +433 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +95 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +152 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +145 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +99 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +185 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +154 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +129 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +79 -0
- package/test/contracts/out/AccessControl.sol/AccessControl.json +1 -0
- package/test/contracts/out/AccessControlCrossChain.sol/AccessControlCrossChain.json +1 -0
- package/test/contracts/out/AccessControlCrossChainMock.sol/AccessControlCrossChainMock.json +1 -0
- package/test/contracts/out/AccessControlDefaultAdminRules.sol/AccessControlDefaultAdminRules.json +1 -0
- package/test/contracts/out/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -0
- package/test/contracts/out/Address.sol/Address.json +1 -0
- package/test/contracts/out/Arrays.sol/Arrays.json +1 -0
- package/test/contracts/out/ArraysMock.sol/AddressArraysMock.json +1 -0
- package/test/contracts/out/ArraysMock.sol/Bytes32ArraysMock.json +1 -0
- package/test/contracts/out/ArraysMock.sol/Uint256ArraysMock.json +1 -0
- package/test/contracts/out/BadBeacon.sol/BadBeaconNoImpl.json +1 -0
- package/test/contracts/out/BadBeacon.sol/BadBeaconNotContract.json +1 -0
- package/test/contracts/out/Base.sol/CommonBase.json +1 -0
- package/test/contracts/out/Base.sol/ScriptBase.json +1 -0
- package/test/contracts/out/Base.sol/TestBase.json +1 -0
- package/test/contracts/out/Base64.sol/Base64.json +1 -0
- package/test/contracts/out/Base64Dirty.sol/Base64Dirty.json +1 -0
- package/test/contracts/out/BeaconProxy.sol/BeaconProxy.json +1 -0
- package/test/contracts/out/BitMaps.sol/BitMaps.json +1 -0
- package/test/contracts/out/CallReceiverMock.sol/CallReceiverMock.json +1 -0
- package/test/contracts/out/Checkpoints.sol/Checkpoints.json +1 -0
- package/test/contracts/out/Checkpoints.t.sol/CheckpointsHistoryTest.json +1 -0
- package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace160Test.json +1 -0
- package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace224Test.json +1 -0
- package/test/contracts/out/ClashingImplementation.sol/ClashingImplementation.json +1 -0
- package/test/contracts/out/Clones.sol/Clones.json +1 -0
- package/test/contracts/out/CompTimelock.sol/CompTimelock.json +1 -0
- package/test/contracts/out/CompilationScript.sol/CompilationScript.json +1 -0
- package/test/contracts/out/CompilationScriptBase.sol/CompilationScriptBase.json +1 -0
- package/test/contracts/out/CompilationTest.sol/CompilationTest.json +1 -0
- package/test/contracts/out/CompilationTestBase.sol/CompilationTestBase.json +1 -0
- package/test/contracts/out/ConditionalEscrow.sol/ConditionalEscrow.json +1 -0
- package/test/contracts/out/ConditionalEscrowMock.sol/ConditionalEscrowMock.json +1 -0
- package/test/contracts/out/Context.sol/Context.json +1 -0
- package/test/contracts/out/ContextMock.sol/ContextMock.json +1 -0
- package/test/contracts/out/ContextMock.sol/ContextMockCaller.json +1 -0
- package/test/contracts/out/Counters.sol/Counters.json +1 -0
- package/test/contracts/out/Create2.sol/Create2.json +1 -0
- package/test/contracts/out/CrossChainEnabled.sol/CrossChainEnabled.json +1 -0
- package/test/contracts/out/CrossChainEnabledAMB.sol/CrossChainEnabledAMB.json +1 -0
- package/test/contracts/out/CrossChainEnabledArbitrumL1.sol/CrossChainEnabledArbitrumL1.json +1 -0
- package/test/contracts/out/CrossChainEnabledArbitrumL2.sol/CrossChainEnabledArbitrumL2.json +1 -0
- package/test/contracts/out/CrossChainEnabledOptimism.sol/CrossChainEnabledOptimism.json +1 -0
- package/test/contracts/out/CrossChainEnabledPolygonChild.sol/CrossChainEnabledPolygonChild.json +1 -0
- package/test/contracts/out/DoubleEndedQueue.sol/DoubleEndedQueue.json +1 -0
- package/test/contracts/out/DummyImplementation.sol/DummyImplementation.json +1 -0
- package/test/contracts/out/DummyImplementation.sol/DummyImplementationV2.json +1 -0
- package/test/contracts/out/DummyImplementation.sol/Impl.json +1 -0
- package/test/contracts/out/ECDSA.sol/ECDSA.json +1 -0
- package/test/contracts/out/EIP712.sol/EIP712.json +1 -0
- package/test/contracts/out/EIP712Verifier.sol/EIP712Verifier.json +1 -0
- package/test/contracts/out/ERC1155.sol/ERC1155.json +1 -0
- package/test/contracts/out/ERC1155Burnable.sol/ERC1155Burnable.json +1 -0
- package/test/contracts/out/ERC1155Holder.sol/ERC1155Holder.json +1 -0
- package/test/contracts/out/ERC1155Pausable.sol/ERC1155Pausable.json +1 -0
- package/test/contracts/out/ERC1155PresetMinterPauser.sol/ERC1155PresetMinterPauser.json +1 -0
- package/test/contracts/out/ERC1155Receiver.sol/ERC1155Receiver.json +1 -0
- package/test/contracts/out/ERC1155ReceiverMock.sol/ERC1155ReceiverMock.json +1 -0
- package/test/contracts/out/ERC1155Supply.sol/ERC1155Supply.json +1 -0
- package/test/contracts/out/ERC1155URIStorage.sol/ERC1155URIStorage.json +1 -0
- package/test/contracts/out/ERC1271WalletMock.sol/ERC1271MaliciousMock.json +1 -0
- package/test/contracts/out/ERC1271WalletMock.sol/ERC1271WalletMock.json +1 -0
- package/test/contracts/out/ERC165.sol/ERC165.json +1 -0
- package/test/contracts/out/ERC165Checker.sol/ERC165Checker.json +1 -0
- package/test/contracts/out/ERC165MaliciousData.sol/ERC165MaliciousData.json +1 -0
- package/test/contracts/out/ERC165MissingData.sol/ERC165MissingData.json +1 -0
- package/test/contracts/out/ERC165NotSupported.sol/ERC165NotSupported.json +1 -0
- package/test/contracts/out/ERC165ReturnBomb.sol/ERC165ReturnBombMock.json +1 -0
- package/test/contracts/out/ERC165Storage.sol/ERC165Storage.json +1 -0
- package/test/contracts/out/ERC1820Implementer.sol/ERC1820Implementer.json +1 -0
- package/test/contracts/out/ERC1967Proxy.sol/ERC1967Proxy.json +1 -0
- package/test/contracts/out/ERC1967Upgrade.sol/ERC1967Upgrade.json +1 -0
- package/test/contracts/out/ERC20.sol/ERC20.json +1 -0
- package/test/contracts/out/ERC20Burnable.sol/ERC20Burnable.json +1 -0
- package/test/contracts/out/ERC20Capped.sol/ERC20Capped.json +1 -0
- package/test/contracts/out/ERC20DecimalsMock.sol/ERC20DecimalsMock.json +1 -0
- package/test/contracts/out/ERC20ExcessDecimalsMock.sol/ERC20ExcessDecimalsMock.json +1 -0
- package/test/contracts/out/ERC20FlashMint.sol/ERC20FlashMint.json +1 -0
- package/test/contracts/out/ERC20FlashMintMock.sol/ERC20FlashMintMock.json +1 -0
- package/test/contracts/out/ERC20ForceApproveMock.sol/ERC20ForceApproveMock.json +1 -0
- package/test/contracts/out/ERC20Mock.sol/ERC20Mock.json +1 -0
- package/test/contracts/out/ERC20MulticallMock.sol/ERC20MulticallMock.json +1 -0
- package/test/contracts/out/ERC20NoReturnMock.sol/ERC20NoReturnMock.json +1 -0
- package/test/contracts/out/ERC20Pausable.sol/ERC20Pausable.json +1 -0
- package/test/contracts/out/ERC20Permit.sol/ERC20Permit.json +1 -0
- package/test/contracts/out/ERC20PermitNoRevertMock.sol/ERC20PermitNoRevertMock.json +1 -0
- package/test/contracts/out/ERC20PresetFixedSupply.sol/ERC20PresetFixedSupply.json +1 -0
- package/test/contracts/out/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +1 -0
- package/test/contracts/out/ERC20Reentrant.sol/ERC20Reentrant.json +1 -0
- package/test/contracts/out/ERC20ReturnFalseMock.sol/ERC20ReturnFalseMock.json +1 -0
- package/test/contracts/out/ERC20Snapshot.sol/ERC20Snapshot.json +1 -0
- package/test/contracts/out/ERC20Votes.sol/ERC20Votes.json +1 -0
- package/test/contracts/out/ERC20VotesComp.sol/ERC20VotesComp.json +1 -0
- package/test/contracts/out/ERC20VotesLegacyMock.sol/ERC20VotesLegacyMock.json +1 -0
- package/test/contracts/out/ERC20Wrapper.sol/ERC20Wrapper.json +1 -0
- package/test/contracts/out/ERC2771Context.sol/ERC2771Context.json +1 -0
- package/test/contracts/out/ERC2771ContextMock.sol/ERC2771ContextMock.json +1 -0
- package/test/contracts/out/ERC2981.sol/ERC2981.json +1 -0
- package/test/contracts/out/ERC3156FlashBorrowerMock.sol/ERC3156FlashBorrowerMock.json +1 -0
- package/test/contracts/out/ERC4626.prop.sol/ERC4626Prop.json +1 -0
- package/test/contracts/out/ERC4626.prop.sol/IERC20.json +1 -0
- package/test/contracts/out/ERC4626.prop.sol/IERC4626.json +1 -0
- package/test/contracts/out/ERC4626.sol/ERC4626.json +1 -0
- package/test/contracts/out/ERC4626.t.sol/ERC4626StdTest.json +1 -0
- package/test/contracts/out/ERC4626.t.sol/ERC4626VaultOffsetMock.json +1 -0
- package/test/contracts/out/ERC4626.test.sol/ERC4626Test.json +1 -0
- package/test/contracts/out/ERC4626.test.sol/IMockERC20.json +1 -0
- package/test/contracts/out/ERC4626Fees.sol/ERC4626Fees.json +1 -0
- package/test/contracts/out/ERC4626Mock.sol/ERC4626Mock.json +1 -0
- package/test/contracts/out/ERC4626OffsetMock.sol/ERC4626OffsetMock.json +1 -0
- package/test/contracts/out/ERC4646FeesMock.sol/ERC4626FeesMock.json +1 -0
- package/test/contracts/out/ERC721.sol/ERC721.json +1 -0
- package/test/contracts/out/ERC721Burnable.sol/ERC721Burnable.json +1 -0
- package/test/contracts/out/ERC721Consecutive.sol/ERC721Consecutive.json +1 -0
- package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTarget.json +1 -0
- package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTest.json +1 -0
- package/test/contracts/out/ERC721ConsecutiveEnumerableMock.sol/ERC721ConsecutiveEnumerableMock.json +1 -0
- package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveMock.json +1 -0
- package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveNoConstructorMintMock.json +1 -0
- package/test/contracts/out/ERC721Enumerable.sol/ERC721Enumerable.json +1 -0
- package/test/contracts/out/ERC721Holder.sol/ERC721Holder.json +1 -0
- package/test/contracts/out/ERC721Pausable.sol/ERC721Pausable.json +1 -0
- package/test/contracts/out/ERC721PresetMinterPauserAutoId.sol/ERC721PresetMinterPauserAutoId.json +1 -0
- package/test/contracts/out/ERC721ReceiverMock.sol/ERC721ReceiverMock.json +1 -0
- package/test/contracts/out/ERC721Royalty.sol/ERC721Royalty.json +1 -0
- package/test/contracts/out/ERC721URIStorage.sol/ERC721URIStorage.json +1 -0
- package/test/contracts/out/ERC721URIStorageMock.sol/ERC721URIStorageMock.json +1 -0
- package/test/contracts/out/ERC721Votes.sol/ERC721Votes.json +1 -0
- package/test/contracts/out/ERC721Wrapper.sol/ERC721Wrapper.json +1 -0
- package/test/contracts/out/ERC777.sol/ERC777.json +1 -0
- package/test/contracts/out/ERC777Mock.sol/ERC777Mock.json +1 -0
- package/test/contracts/out/ERC777PresetFixedSupply.sol/ERC777PresetFixedSupply.json +1 -0
- package/test/contracts/out/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock.json +1 -0
- package/test/contracts/out/EnumerableMap.sol/EnumerableMap.json +1 -0
- package/test/contracts/out/EnumerableSet.sol/EnumerableSet.json +1 -0
- package/test/contracts/out/Escrow.sol/Escrow.json +1 -0
- package/test/contracts/out/EtherReceiverMock.sol/EtherReceiverMock.json +1 -0
- package/test/contracts/out/Governor.sol/Governor.json +1 -0
- package/test/contracts/out/Governor.t.sol/GovernorInternalTest.json +1 -0
- package/test/contracts/out/GovernorCompMock.sol/GovernorCompMock.json +1 -0
- package/test/contracts/out/GovernorCompatibilityBravo.sol/GovernorCompatibilityBravo.json +1 -0
- package/test/contracts/out/GovernorCompatibilityBravoMock.sol/GovernorCompatibilityBravoMock.json +1 -0
- package/test/contracts/out/GovernorCountingSimple.sol/GovernorCountingSimple.json +1 -0
- package/test/contracts/out/GovernorMock.sol/GovernorMock.json +1 -0
- package/test/contracts/out/GovernorPreventLateQuorum.sol/GovernorPreventLateQuorum.json +1 -0
- package/test/contracts/out/GovernorPreventLateQuorumMock.sol/GovernorPreventLateQuorumMock.json +1 -0
- package/test/contracts/out/GovernorProposalThreshold.sol/GovernorProposalThreshold.json +1 -0
- package/test/contracts/out/GovernorSettings.sol/GovernorSettings.json +1 -0
- package/test/contracts/out/GovernorTimelockCompound.sol/GovernorTimelockCompound.json +1 -0
- package/test/contracts/out/GovernorTimelockCompoundMock.sol/GovernorTimelockCompoundMock.json +1 -0
- package/test/contracts/out/GovernorTimelockControl.sol/GovernorTimelockControl.json +1 -0
- package/test/contracts/out/GovernorTimelockControlMock.sol/GovernorTimelockControlMock.json +1 -0
- package/test/contracts/out/GovernorVoteMock.sol/GovernorVoteMocks.json +1 -0
- package/test/contracts/out/GovernorVotes.sol/GovernorVotes.json +1 -0
- package/test/contracts/out/GovernorVotesComp.sol/GovernorVotesComp.json +1 -0
- package/test/contracts/out/GovernorVotesQuorumFraction.sol/GovernorVotesQuorumFraction.json +1 -0
- package/test/contracts/out/GovernorWithParamsMock.sol/GovernorWithParamsMock.json +1 -0
- package/test/contracts/out/IAMB.sol/IAMB.json +1 -0
- package/test/contracts/out/IAccessControl.sol/IAccessControl.json +1 -0
- package/test/contracts/out/IAccessControlDefaultAdminRules.sol/IAccessControlDefaultAdminRules.json +1 -0
- package/test/contracts/out/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -0
- package/test/contracts/out/IArbSys.sol/IArbSys.json +1 -0
- package/test/contracts/out/IBeacon.sol/IBeacon.json +1 -0
- package/test/contracts/out/IBridge.sol/IBridge.json +1 -0
- package/test/contracts/out/ICompoundTimelock.sol/ICompoundTimelock.json +1 -0
- package/test/contracts/out/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +1 -0
- package/test/contracts/out/IDelayedMessageProvider.sol/IDelayedMessageProvider.json +1 -0
- package/test/contracts/out/IERC1155.sol/IERC1155.json +1 -0
- package/test/contracts/out/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +1 -0
- package/test/contracts/out/IERC1155Receiver.sol/IERC1155Receiver.json +1 -0
- package/test/contracts/out/IERC1271.sol/IERC1271.json +1 -0
- package/test/contracts/out/IERC1363.sol/IERC1363.json +1 -0
- package/test/contracts/out/IERC1363Receiver.sol/IERC1363Receiver.json +1 -0
- package/test/contracts/out/IERC1363Spender.sol/IERC1363Spender.json +1 -0
- package/test/contracts/out/IERC165.sol/IERC165.json +1 -0
- package/test/contracts/out/IERC1820Implementer.sol/IERC1820Implementer.json +1 -0
- package/test/contracts/out/IERC1820Registry.sol/IERC1820Registry.json +1 -0
- package/test/contracts/out/IERC1967.sol/IERC1967.json +1 -0
- package/test/contracts/out/IERC20.sol/IERC20.json +1 -0
- package/test/contracts/out/IERC20Metadata.sol/IERC20Metadata.json +1 -0
- package/test/contracts/out/IERC20Permit.sol/IERC20Permit.json +1 -0
- package/test/contracts/out/IERC2309.sol/IERC2309.json +1 -0
- package/test/contracts/out/IERC2612.sol/IERC2612.json +1 -0
- package/test/contracts/out/IERC2981.sol/IERC2981.json +1 -0
- package/test/contracts/out/IERC3156FlashBorrower.sol/IERC3156FlashBorrower.json +1 -0
- package/test/contracts/out/IERC3156FlashLender.sol/IERC3156FlashLender.json +1 -0
- package/test/contracts/out/IERC4626.sol/IERC4626.json +1 -0
- package/test/contracts/out/IERC4906.sol/IERC4906.json +1 -0
- package/test/contracts/out/IERC5267.sol/IERC5267.json +1 -0
- package/test/contracts/out/IERC5313.sol/IERC5313.json +1 -0
- package/test/contracts/out/IERC5805.sol/IERC5805.json +1 -0
- package/test/contracts/out/IERC6372.sol/IERC6372.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721Enumerable.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721Metadata.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721TokenReceiver.json +1 -0
- package/test/contracts/out/IERC721Enumerable.sol/IERC721Enumerable.json +1 -0
- package/test/contracts/out/IERC721Metadata.sol/IERC721Metadata.json +1 -0
- package/test/contracts/out/IERC721Receiver.sol/IERC721Receiver.json +1 -0
- package/test/contracts/out/IERC777.sol/IERC777.json +1 -0
- package/test/contracts/out/IERC777Recipient.sol/IERC777Recipient.json +1 -0
- package/test/contracts/out/IERC777Sender.sol/IERC777Sender.json +1 -0
- package/test/contracts/out/IFxMessageProcessor.sol/IFxMessageProcessor.json +1 -0
- package/test/contracts/out/IGovernor.sol/IGovernor.json +1 -0
- package/test/contracts/out/IGovernorCompatibilityBravo.sol/IGovernorCompatibilityBravo.json +1 -0
- package/test/contracts/out/IGovernorTimelock.sol/IGovernorTimelock.json +1 -0
- package/test/contracts/out/IInbox.sol/IInbox.json +1 -0
- package/test/contracts/out/IMulticall3.sol/IMulticall3.json +1 -0
- package/test/contracts/out/IOutbox.sol/IOutbox.json +1 -0
- package/test/contracts/out/IVotes.sol/IVotes.json +1 -0
- package/test/contracts/out/Initializable.sol/Initializable.json +1 -0
- package/test/contracts/out/InitializableMock.sol/ChildConstructorInitializableMock.json +1 -0
- package/test/contracts/out/InitializableMock.sol/ConstructorInitializableMock.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableBad1.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableBad2.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableNew.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableOk.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableOld.json +1 -0
- package/test/contracts/out/InitializableMock.sol/InitializableMock.json +1 -0
- package/test/contracts/out/InitializableMock.sol/ReinitializerMock.json +1 -0
- package/test/contracts/out/LibAMB.sol/LibAMB.json +1 -0
- package/test/contracts/out/LibArbitrumL1.sol/LibArbitrumL1.json +1 -0
- package/test/contracts/out/LibArbitrumL2.sol/LibArbitrumL2.json +1 -0
- package/test/contracts/out/LibOptimism.sol/LibOptimism.json +1 -0
- package/test/contracts/out/Math.sol/Math.json +1 -0
- package/test/contracts/out/Math.t.sol/MathTest.json +1 -0
- package/test/contracts/out/MerkleProof.sol/MerkleProof.json +1 -0
- package/test/contracts/out/MinimalForwarder.sol/MinimalForwarder.json +1 -0
- package/test/contracts/out/MockMiladyAgentRegistry.sol/MockMiladyAgentRegistry.json +1 -0
- package/test/contracts/out/MockMiladyCollection.sol/MockMiladyCollection.json +1 -0
- package/test/contracts/out/Multicall.sol/Multicall.json +1 -0
- package/test/contracts/out/MulticallTest.sol/MulticallTest.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleChild.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleFather.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleGramps.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleHuman.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleMother.json +1 -0
- package/test/contracts/out/MyGovernor.sol/MyGovernor.json +1 -0
- package/test/contracts/out/MyGovernor1.sol/MyGovernor1.json +1 -0
- package/test/contracts/out/MyGovernor2.sol/MyGovernor2.json +1 -0
- package/test/contracts/out/MyGovernor3.sol/MyGovernor3.json +1 -0
- package/test/contracts/out/MyToken.sol/MyToken.json +1 -0
- package/test/contracts/out/MyTokenTimestampBased.sol/MyTokenTimestampBased.json +1 -0
- package/test/contracts/out/MyTokenWrapped.sol/MyTokenWrapped.json +1 -0
- package/test/contracts/out/Ownable.sol/Ownable.json +1 -0
- package/test/contracts/out/Ownable2Step.sol/Ownable2Step.json +1 -0
- package/test/contracts/out/Pausable.sol/Pausable.json +1 -0
- package/test/contracts/out/PausableMock.sol/PausableMock.json +1 -0
- package/test/contracts/out/PaymentSplitter.sol/PaymentSplitter.json +1 -0
- package/test/contracts/out/Proxy.sol/Proxy.json +1 -0
- package/test/contracts/out/ProxyAdmin.sol/ProxyAdmin.json +1 -0
- package/test/contracts/out/PullPayment.sol/PullPayment.json +1 -0
- package/test/contracts/out/PullPaymentMock.sol/PullPaymentMock.json +1 -0
- package/test/contracts/out/ReentrancyAttack.sol/ReentrancyAttack.json +1 -0
- package/test/contracts/out/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
- package/test/contracts/out/ReentrancyMock.sol/ReentrancyMock.json +1 -0
- package/test/contracts/out/RefundEscrow.sol/RefundEscrow.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation1.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation2.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation3.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation4.json +1 -0
- package/test/contracts/out/SafeCast.sol/SafeCast.json +1 -0
- package/test/contracts/out/SafeERC20.sol/SafeERC20.json +1 -0
- package/test/contracts/out/SafeMath.sol/SafeMath.json +1 -0
- package/test/contracts/out/SafeMathMemoryCheck.sol/SafeMathMemoryCheck.json +1 -0
- package/test/contracts/out/Script.sol/Script.json +1 -0
- package/test/contracts/out/ShortStrings.sol/ShortStrings.json +1 -0
- package/test/contracts/out/ShortStrings.t.sol/ShortStringsTest.json +1 -0
- package/test/contracts/out/SignatureChecker.sol/SignatureChecker.json +1 -0
- package/test/contracts/out/SignedMath.sol/SignedMath.json +1 -0
- package/test/contracts/out/SignedSafeMath.sol/SignedSafeMath.json +1 -0
- package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV1.json +1 -0
- package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV2.json +1 -0
- package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV3.json +1 -0
- package/test/contracts/out/StdAssertions.sol/StdAssertions.json +1 -0
- package/test/contracts/out/StdAssertions.t.sol/StdAssertionsTest.json +1 -0
- package/test/contracts/out/StdAssertions.t.sol/TestMockCall.json +1 -0
- package/test/contracts/out/StdAssertions.t.sol/TestTest.json +1 -0
- package/test/contracts/out/StdChains.sol/StdChains.json +1 -0
- package/test/contracts/out/StdChains.t.sol/StdChainsTest.json +1 -0
- package/test/contracts/out/StdCheats.sol/StdCheats.json +1 -0
- package/test/contracts/out/StdCheats.sol/StdCheatsSafe.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/Bar.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/BarERC1155.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/BarERC721.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/RevertingContract.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/StdCheatsTest.json +1 -0
- package/test/contracts/out/StdError.sol/stdError.json +1 -0
- package/test/contracts/out/StdError.t.sol/ErrorsTest.json +1 -0
- package/test/contracts/out/StdError.t.sol/StdErrorsTest.json +1 -0
- package/test/contracts/out/StdInvariant.sol/StdInvariant.json +1 -0
- package/test/contracts/out/StdJson.sol/stdJson.json +1 -0
- package/test/contracts/out/StdMath.sol/stdMath.json +1 -0
- package/test/contracts/out/StdMath.t.sol/StdMathTest.json +1 -0
- package/test/contracts/out/StdStorage.sol/stdStorage.json +1 -0
- package/test/contracts/out/StdStorage.sol/stdStorageSafe.json +1 -0
- package/test/contracts/out/StdStorage.t.sol/StdStorageTest.json +1 -0
- package/test/contracts/out/StdStorage.t.sol/StorageTest.json +1 -0
- package/test/contracts/out/StdStyle.sol/StdStyle.json +1 -0
- package/test/contracts/out/StdStyle.t.sol/StdStyleTest.json +1 -0
- package/test/contracts/out/StdUtils.sol/StdUtils.json +1 -0
- package/test/contracts/out/StdUtils.t.sol/StdUtilsForkTest.json +1 -0
- package/test/contracts/out/StdUtils.t.sol/StdUtilsMock.json +1 -0
- package/test/contracts/out/StdUtils.t.sol/StdUtilsTest.json +1 -0
- package/test/contracts/out/StorageSlot.sol/StorageSlot.json +1 -0
- package/test/contracts/out/StorageSlotMock.sol/StorageSlotMock.json +1 -0
- package/test/contracts/out/Strings.sol/Strings.json +1 -0
- package/test/contracts/out/TimelockController.sol/TimelockController.json +1 -0
- package/test/contracts/out/TimelockReentrant.sol/TimelockReentrant.json +1 -0
- package/test/contracts/out/Timers.sol/Timers.json +1 -0
- package/test/contracts/out/TimersBlockNumberImpl.sol/TimersBlockNumberImpl.json +1 -0
- package/test/contracts/out/TimersTimestampImpl.sol/TimersTimestampImpl.json +1 -0
- package/test/contracts/out/TokenTimelock.sol/TokenTimelock.json +1 -0
- package/test/contracts/out/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -0
- package/test/contracts/out/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1 -0
- package/test/contracts/out/UUPSLegacy.sol/UUPSUpgradeableLegacyMock.json +1 -0
- package/test/contracts/out/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -0
- package/test/contracts/out/UUPSUpgradeableMock.sol/NonUpgradeableMock.json +1 -0
- package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableMock.json +1 -0
- package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableUnsafeMock.json +1 -0
- package/test/contracts/out/UpgradeableBeacon.sol/UpgradeableBeacon.json +1 -0
- package/test/contracts/out/VestingWallet.sol/VestingWallet.json +1 -0
- package/test/contracts/out/Vm.sol/Vm.json +1 -0
- package/test/contracts/out/Vm.sol/VmSafe.json +1 -0
- package/test/contracts/out/Votes.sol/Votes.json +1 -0
- package/test/contracts/out/VotesMock.sol/VotesMock.json +1 -0
- package/test/contracts/out/VotesMock.sol/VotesTimestampMock.json +1 -0
- package/test/contracts/out/VotesTimestamp.sol/ERC20VotesCompTimestampMock.json +1 -0
- package/test/contracts/out/VotesTimestamp.sol/ERC20VotesTimestampMock.json +1 -0
- package/test/contracts/out/VotesTimestamp.sol/ERC721VotesTimestampMock.json +1 -0
- package/test/contracts/out/bridges.sol/BaseRelayMock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeAMBMock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL1Inbox.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL1Mock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL1Outbox.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL2Mock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeOptimismMock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgePolygonChildMock.json +1 -0
- package/test/contracts/out/build-info/2be03bb8eb1ccda1.json +1 -0
- package/test/contracts/out/console.sol/console.json +1 -0
- package/test/contracts/out/console2.sol/console2.json +1 -0
- package/test/contracts/out/demo.sol/DemoTest.json +1 -0
- package/test/contracts/out/demo.sol/DemoTestWithSetUp.json +1 -0
- package/test/contracts/out/draft-IERC1822.sol/IERC1822Proxiable.json +1 -0
- package/test/contracts/out/interfaces/IERC1155.sol/IERC1155.json +1 -0
- package/test/contracts/out/interfaces/IERC165.sol/IERC165.json +1 -0
- package/test/contracts/out/interfaces/IERC20.sol/IERC20.json +1 -0
- package/test/contracts/out/interfaces/IERC4626.sol/IERC4626.json +1 -0
- package/test/contracts/out/interfaces/IERC721.sol/IERC721.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledAMBMock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL1Mock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL2Mock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledOptimismMock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledPolygonChildMock.json +1 -0
- package/test/contracts/out/receivers.sol/Receiver.json +1 -0
- package/test/contracts/out/test.sol/DSTest.json +1 -0
- package/test/contracts/out/test.sol/Test.json +1 -0
- package/test/contracts/out/test.t.sol/DemoTest.json +1 -0
- package/test/database-api.e2e.test.ts +666 -0
- package/test/debug-anvil.ts +44 -0
- package/test/deferred-restart.e2e.test.ts +368 -0
- package/test/discord-connector.e2e.test.ts +463 -0
- package/test/e2e-global-setup.ts +29 -0
- package/test/e2e-validation.e2e.test.ts +1588 -0
- package/test/health-endpoint.e2e.test.ts +95 -0
- package/test/knowledge-e2e-flow.e2e.test.ts +134 -0
- package/test/knowledge-live.e2e.test.ts +405 -0
- package/test/mcp-config.e2e.test.ts +630 -0
- package/test/native-modules.e2e.test.ts +470 -0
- package/test/permissions-api.e2e.test.ts +637 -0
- package/test/plugin-install.e2e.test.ts +645 -0
- package/test/plugin-lifecycle.e2e.test.ts +617 -0
- package/test/plugin-management.e2e.test.ts +308 -0
- package/test/provider-switch.e2e.test.ts +322 -0
- package/test/scripts/test-force.ts +139 -0
- package/test/scripts/test-parallel.mjs +192 -0
- package/test/scripts/validate-all-features.sh +557 -0
- package/test/setup.ts +122 -0
- package/test/signal-connector.e2e.test.ts +229 -0
- package/test/skills-marketplace-api.e2e.test.ts +585 -0
- package/test/skills-marketplace-services.e2e.test.ts +518 -0
- package/test/skills-marketplace.e2e.test.ts +268 -0
- package/test/stubs/coding-agent-module.ts +18 -0
- package/test/stubs/electron-module.ts +17 -0
- package/test/stubs/empty-module.mjs +4 -0
- package/test/stubs/pi-ai-module.ts +12 -0
- package/test/subscription-auth.e2e.test.ts +747 -0
- package/test/terminal-execution.e2e.test.ts +134 -0
- package/test/terminal-run-limits.e2e.test.ts +132 -0
- package/test/test-env.ts +156 -0
- package/test/trajectory-collection.e2e.test.ts +800 -0
- package/test/trajectory-database.e2e.test.ts +209 -0
- package/test/trajectory-embedding-filter.e2e.test.ts +317 -0
- package/test/trajectory-restart-carryover.e2e.test.ts +306 -0
- package/test/trigger-execution-flow.e2e.test.ts +132 -0
- package/test/trigger-runtime.e2e.test.ts +247 -0
- package/test/wallet-api.e2e.test.ts +1295 -0
- package/test/wallet-live.e2e.test.ts +428 -0
- package/vitest.e2e.config.ts +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"delegates","type":"address[]","internalType":"address[]"},{"name":"receivers","type":"address[]","internalType":"address[]"},{"name":"amounts","type":"uint96[]","internalType":"uint96[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fromAddress","type":"address","indexed":true,"internalType":"address"},{"name":"toAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x61016060405234801562000011575f80fd5b5060405162003e1738038062003e178339810160408190526200003491620011e5565b6040805180820190915260018152603160f81b6020820152859081865f6200005d838262001348565b5060016200006c828262001348565b50506008805460ff1916905550620000868260096200020d565b610120526200009781600a6200020d565b61014052815160208084019190912060e052815190820120610100524660a0526200012460e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525f5b835181101562000196576200018384828151811062000152576200015262001410565b60200260200101518583815181106200016f576200016f62001410565b60200260200101516200024560201b60201c565b6200018e8162001438565b90506200012f565b505f5b82518110156200020157620001ed838281518110620001bc57620001bc62001410565b6020026020010151838381518110620001d957620001d962001410565b6020026020010151620002bf60201b60201c565b50620001f98162001438565b905062000199565b5050505050506200156a565b5f6020835110156200022c576200022483620004f9565b90506200023f565b8162000239848262001348565b5060ff90505b92915050565b6001600160a01b038281165f818152600b602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4620002ba8183620002b4866200053b565b62000547565b505050565b5f80620002cb620006af565b90506001600160601b03831615620004f257303b15620003585760405162461bcd60e51b815260206004820152603a60248201527f455243373231436f6e73656375746976653a206261746368206d696e74696e6760448201527f207265737472696374656420746f20636f6e7374727563746f7200000000000060648201526084015b60405180910390fd5b6001600160a01b038416620003c45760405162461bcd60e51b815260206004820152602b60248201527f455243373231436f6e73656375746976653a206d696e7420746f20746865207a60448201526a65726f206164647265737360a81b60648201526084016200034f565b6113886001600160601b03841611156200042c5760405162461bcd60e51b815260206004820152602260248201527f455243373231436f6e73656375746976653a20626174636820746f6f206c6172604482015261676560f01b60648201526084016200034f565b620004465f856001600160601b03808516908716620006e4565b5f600162000455858462001453565b6200046191906200147d565b90506200047160068287620006f8565b50620004899050856001600160601b03861662000714565b6040516001600160601b0382811682526001600160a01b038716915f918516907fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9060200160405180910390a4620004f05f866001600160601b0380861690881662000746565b505b9392505050565b5f80829050601f8151111562000526578260405163305a27a960e01b81526004016200034f9190620014a0565b80516200053382620014d4565b179392505050565b5f6200023f8262000754565b816001600160a01b0316836001600160a01b0316141580156200056957505f81115b15620002ba576001600160a01b0383161562000610576001600160a01b0383165f908152600c6020908152604082208291620005bc9190620007da901b62000b7a17620005b686620007e7565b62000855565b6001600160e01b031691506001600160e01b03169150846001600160a01b03165f8051602062003df7833981519152838360405162000605929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615620002ba576001600160a01b0382165f908152600c602090815260408220829162000657919062000896901b62000b8517620005b686620007e7565b6001600160e01b031691506001600160e01b03169150836001600160a01b03165f8051602062003df78339815191528383604051620006a0929190918252602082015260400190565b60405180910390a25050505050565b5f8080620006be6006620008a3565b509150915081620006d0575f620006dd565b620006dd81600162001453565b9250505090565b620006f28484848462000936565b50505050565b5f80620007078585856200099f565b915091505b935093915050565b6001600160a01b0382165f90815260036020526040812080548392906200073d908490620014f8565b90915550505050565b620006f28484848462000b7a565b5f6001600160a01b038216620007bf5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016200034f565b506001600160a01b03165f9081526003602052604090205490565b5f620004f282846200150e565b5f6001600160e01b03821115620008515760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b60648201526084016200034f565b5090565b5f8062000707620008776200086962000b95565b65ffffffffffff1662000ba6565b6200088d620008868862000c0c565b868860201c565b87919062000c49565b5f620004f2828462001531565b80545f9081908190808203620008c3575f805f935093509350506200092f565b5f620008e386620008d660018562001554565b5f91825260209091200190565b6040805180820190915290546001600160601b0381168083526c010000000000000000000000009091046001600160a01b0316602090920182905260019650945092506200092f915050565b9193909250565b60085460ff1615620006f25760405162461bcd60e51b815260206004820152602b60248201527f4552433732315061757361626c653a20746f6b656e207472616e73666572207760448201526a1a1a5b19481c185d5cd95960aa1b60648201526084016200034f565b82545f908190801562000b15575f620009bf87620008d660018562001554565b6040805180820190915290546001600160601b038082168084526c010000000000000000000000009092046001600160a01b03166020840152919250908716101562000a4e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b657973000000000060448201526064016200034f565b80516001600160601b0380881691160362000aaa578462000a7688620008d660018662001554565b80546001600160a01b03929092166c01000000000000000000000000026001600160601b0390921691909117905562000b04565b604080518082019091526001600160601b0380881682526001600160a01b0380881660208085019182528b54600181018d555f8d815291909120945191519092166c01000000000000000000000000029216919091179101555b6020015192508391506200070c9050565b5050604080518082019091526001600160601b0380851682526001600160a01b0380851660208085019182528854600181018a555f8a8152918220955192519093166c010000000000000000000000000291909316179201919091559050816200070c565b62000b8784848362000c58565b620006f28484848462000ce9565b5f62000ba14362000dd6565b905090565b5f63ffffffff821115620008515760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b60648201526084016200034f565b80545f90801562000c415762000c2983620008d660018462001554565b5464010000000090046001600160e01b0316620004f2565b5f9392505050565b5f806200070785858562000e3e565b6001600160a01b03831662000c875762000c84600d62000b856200089660201b17620005b684620007e7565b50505b6001600160a01b03821662000cb65762000cb3600d62000b7a620007da60201b17620005b684620007e7565b50505b6001600160a01b038381165f908152600b6020526040808220548584168352912054620002ba9291821691168362000547565b6001600160a01b03831615801562000d12575062000d06620006af565b6001600160601b031682105b801562000d375750600882901c5f90815260076020526040902054600160ff84161b16155b1562000dc2578060011462000da35760405162461bcd60e51b815260206004820152602b60248201527f455243373231436f6e73656375746976653a206261746368206275726e206e6f60448201526a1d081cdd5c1c1bdc9d195960aa1b60648201526084016200034f565b600882901c5f9081526007602052604090208054600160ff85161b1790555b620006f2848484846001600160e01b038516565b5f65ffffffffffff821115620008515760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b60648201526084016200034f565b82545f908190801562000f8f575f62000e5e87620008d660018562001554565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b03166020840152919250908716101562000ee25760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b657973000000000060448201526064016200034f565b805163ffffffff80881691160362000f30578462000f0788620008d660018662001554565b80546001600160e01b03929092166401000000000263ffffffff90921691909117905562000b04565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d555f8d81529190912094519151909216640100000000029216919091179101556020015192508391506200070c9050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a8152918220955192519093166401000000000291909316179201919091559050816200070c565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171562001028576200102862000fe9565b604052919050565b5f5b838110156200104c57818101518382015260200162001032565b50505f910152565b5f82601f83011262001064575f80fd5b81516001600160401b0381111562001080576200108062000fe9565b62001095601f8201601f191660200162000ffd565b818152846020838601011115620010aa575f80fd5b620010bd82602083016020870162001030565b949350505050565b5f6001600160401b03821115620010e057620010e062000fe9565b5060051b60200190565b5f82601f830112620010fa575f80fd5b81516020620011136200110d83620010c5565b62000ffd565b82815260059290921b8401810191818101908684111562001132575f80fd5b8286015b84811015620011655780516001600160a01b038116811462001157575f8081fd5b835291830191830162001136565b509695505050505050565b5f82601f83011262001180575f80fd5b81516020620011936200110d83620010c5565b82815260059290921b84018101918181019086841115620011b2575f80fd5b8286015b84811015620011655780516001600160601b0381168114620011d7575f8081fd5b8352918301918301620011b6565b5f805f805f60a08688031215620011fa575f80fd5b85516001600160401b038082111562001211575f80fd5b6200121f89838a0162001054565b9650602088015191508082111562001235575f80fd5b6200124389838a0162001054565b9550604088015191508082111562001259575f80fd5b6200126789838a01620010ea565b945060608801519150808211156200127d575f80fd5b6200128b89838a01620010ea565b93506080880151915080821115620012a1575f80fd5b50620012b08882890162001170565b9150509295509295909350565b600181811c90821680620012d257607f821691505b602082108103620012f157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002ba575f81815260208120601f850160051c810160208610156200131f5750805b601f850160051c820191505b8181101562001340578281556001016200132b565b505050505050565b81516001600160401b0381111562001364576200136462000fe9565b6200137c81620013758454620012bd565b84620012f7565b602080601f831160018114620013b2575f84156200139a5750858301515b5f19600386901b1c1916600185901b17855562001340565b5f85815260208120601f198616915b82811015620013e257888601518255948401946001909101908401620013c1565b50858210156200140057878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016200144c576200144c62001424565b5060010190565b6001600160601b0381811683821601908082111562001476576200147662001424565b5092915050565b6001600160601b0382811682821603908082111562001476576200147662001424565b602081525f8251806020840152620014c081604085016020870162001030565b601f01601f19169190910160400192915050565b80516020808301519190811015620012f1575f1960209190910360031b1b16919050565b808201808211156200023f576200023f62001424565b6001600160e01b0382811682821603908082111562001476576200147662001424565b6001600160e01b0381811683821601908082111562001476576200147662001424565b818103818111156200023f576200023f62001424565b60805160a05160c05160e05161010051610120516101405161283b620015bc5f395f61089a01525f61086f01525f610f1d01525f610ef501525f610e5001525f610e7a01525f610ea4015261283b5ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c80636352211e116100d957806395d89b4111610093578063b88d4fde1161006e578063b88d4fde14610342578063c3cda52014610355578063c87b56dd14610368578063e985e9c51461037b575f80fd5b806395d89b41146103145780639ab24eb01461031c578063a22cb4651461032f575f80fd5b80636352211e1461028e57806370a08231146102a15780637ecebe00146102b457806384b0196e146102c75780638e539e8c146102e257806391ddadf4146102f5575f80fd5b80633a46b1a81161012a5780633a46b1a81461021757806342842e0e1461022a5780634bf5d7e91461023d578063587cde1e146102455780635c19a95c146102705780635c975abb14610283575f80fd5b806301ffc9a71461017157806306fdde0314610199578063081812fc146101ae578063095ea7b3146101d957806323b872dd146101ee5780633644e51514610201575b5f80fd5b61018461017f36600461221a565b6103b6565b60405190151581526020015b60405180910390f35b6101a1610407565b6040516101909190612282565b6101c16101bc366004612294565b610496565b6040516001600160a01b039091168152602001610190565b6101ec6101e73660046122c6565b6104bb565b005b6101ec6101fc3660046122ee565b6105d4565b610209610605565b604051908152602001610190565b6102096102253660046122c6565b610613565b6101ec6102383660046122ee565b6106a2565b6101a16106bc565b6101c1610253366004612327565b6001600160a01b039081165f908152600b60205260409020541690565b6101ec61027e366004612327565b610754565b60085460ff16610184565b6101c161029c366004612294565b610763565b6102096102af366004612327565b6107c1565b6102096102c2366004612327565b610845565b6102cf610862565b6040516101909796959493929190612340565b6102096102f0366004612294565b6108e9565b6102fd610962565b60405165ffffffffffff9091168152602001610190565b6101a161096c565b61020961032a366004612327565b61097b565b6101ec61033d3660046123d4565b61099b565b6101ec610350366004612421565b6109a6565b6101ec6103633660046124f6565b6109de565b6101a1610376366004612294565b610b0a565b610184610389366004612551565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b031982166380ac58cd60e01b14806103e657506001600160e01b03198216635b5e139f60e01b145b8061040157506301ffc9a760e01b6001600160e01b03198316145b92915050565b60605f805461041590612582565b80601f016020809104026020016040519081016040528092919081815260200182805461044190612582565b801561048c5780601f106104635761010080835404028352916020019161048c565b820191905f5260205f20905b81548152906001019060200180831161046f57829003601f168201915b5050505050905090565b5f6104a082610b90565b505f908152600460205260409020546001600160a01b031690565b5f6104c582610763565b9050806001600160a01b0316836001600160a01b0316036105375760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061055357506105538133610389565b6105c55760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161052e565b6105cf8383610be3565b505050565b6105de3382610c50565b6105fa5760405162461bcd60e51b815260040161052e906125b4565b6105cf838383610ccd565b5f61060e610e44565b905090565b5f61061c610962565b65ffffffffffff1682106106695760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b604482015260640161052e565b61069261067583610f6d565b6001600160a01b0385165f908152600c6020526040902090610fd5565b6001600160e01b03169392505050565b6105cf83838360405180602001604052805f8152506109a6565b6060436106c7610962565b65ffffffffffff161461071c5760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f64650000000000000000604482015260640161052e565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b3361075f8183611084565b5050565b5f8061076e836110f5565b90506001600160a01b0381166104015760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161052e565b5f6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161052e565b506001600160a01b03165f9081526003602052604090205490565b6001600160a01b0381165f908152600e6020526040812054610401565b5f606080828080836108957f000000000000000000000000000000000000000000000000000000000000000060096110ff565b6108c07f0000000000000000000000000000000000000000000000000000000000000000600a6110ff565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b5f6108f2610962565b65ffffffffffff16821061093f5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b604482015260640161052e565b61095361094b83610f6d565b600d90610fd5565b6001600160e01b031692915050565b5f61060e436111a8565b60606001805461041590612582565b6001600160a01b0381165f908152600c602052604081206109539061120e565b61075f338383611246565b6109b03383610c50565b6109cc5760405162461bcd60e51b815260040161052e906125b4565b6109d884848484611313565b50505050565b83421115610a2e5760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e617475726520657870697265640000000000000000604482015260640161052e565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590525f90610aa790610a9f9060a00160405160208183030381529060405280519060200120611346565b858585611372565b9050610ab281611398565b8614610af75760405162461bcd60e51b8152602060048201526014602482015273566f7465733a20696e76616c6964206e6f6e636560601b604482015260640161052e565b610b018188611084565b50505050505050565b6060610b1582610b90565b5f610b2a60408051602081019091525f815290565b90505f815111610b485760405180602001604052805f815250610b73565b80610b52846113bf565b604051602001610b63929190612601565b6040516020818303038152906040525b9392505050565b5f610b738284612643565b5f610b73828461266a565b610b998161144f565b610be05760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161052e565b50565b5f81815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610c1782610763565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f80610c5b83610763565b9050806001600160a01b0316846001600160a01b03161480610ca157506001600160a01b038082165f9081526005602090815260408083209388168352929052205460ff165b80610cc55750836001600160a01b0316610cba84610496565b6001600160a01b0316145b949350505050565b826001600160a01b0316610ce082610763565b6001600160a01b031614610d065760405162461bcd60e51b815260040161052e9061268a565b6001600160a01b038216610d685760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161052e565b610d75838383600161146b565b826001600160a01b0316610d8882610763565b6001600160a01b031614610dae5760405162461bcd60e51b815260040161052e9061268a565b5f81815260046020908152604080832080546001600160a01b03199081169091556001600160a01b038781168086526003855283862080545f1901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46105cf8383836001611477565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610e9c57507f000000000000000000000000000000000000000000000000000000000000000046145b15610ec657507f000000000000000000000000000000000000000000000000000000000000000090565b61060e604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f63ffffffff821115610fd15760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161052e565b5090565b81545f908181600581111561102f575f610fee84611483565b610ff890856126cf565b5f8881526020902090915081015463ffffffff908116908716101561101f5780915061102d565b61102a8160016126e2565b92505b505b5f61103c87878585611567565b9050801561107757611060876110536001846126cf565b5f91825260209091200190565b5464010000000090046001600160e01b0316611079565b5f5b979650505050505050565b6001600160a01b038281165f818152600b602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46105cf81836110f0866115c2565b6115cc565b5f61040182611735565b606060ff8314611119576111128361179a565b9050610401565b81805461112590612582565b80601f016020809104026020016040519081016040528092919081815260200182805461115190612582565b801561119c5780601f106111735761010080835404028352916020019161119c565b820191905f5260205f20905b81548152906001019060200180831161117f57829003601f168201915b50505050509050610401565b5f65ffffffffffff821115610fd15760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161052e565b80545f90801561123e57611227836110536001846126cf565b5464010000000090046001600160e01b0316610b73565b5f9392505050565b816001600160a01b0316836001600160a01b0316036112a75760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161052e565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61131e848484610ccd565b61132a848484846117d7565b6109d85760405162461bcd60e51b815260040161052e906126f5565b5f610401611352610e44565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f611381878787876118d1565b9150915061138e8161198e565b5095945050505050565b6001600160a01b0381165f908152600e602052604090208054600181018255905b50919050565b60605f6113cb83611ad7565b60010190505f8167ffffffffffffffff8111156113ea576113ea61240d565b6040519080825280601f01601f191660200182016040528015611414576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461141e57509392505050565b5f8061145a836110f5565b6001600160a01b0316141592915050565b6109d884848484611bae565b6109d884848484611c15565b5f815f0361149257505f919050565b5f600161149e84611c2c565b901c6001901b905060018184816114b7576114b7612747565b048201901c905060018184816114cf576114cf612747565b048201901c905060018184816114e7576114e7612747565b048201901c905060018184816114ff576114ff612747565b048201901c9050600181848161151757611517612747565b048201901c9050600181848161152f5761152f612747565b048201901c9050600181848161154757611547612747565b048201901c9050610b738182858161156157611561612747565b04611cbf565b5f5b818310156115ba575f61157c8484611cd4565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156115a6578092506115b4565b6115b18160016126e2565b93505b50611569565b509392505050565b5f610401826107c1565b816001600160a01b0316836001600160a01b0316141580156115ed57505f81115b156105cf576001600160a01b03831615611694576001600160a01b0383165f908152600c60205260408120819061162f90610b7a61162a86611cee565b611d56565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611689929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156105cf576001600160a01b0382165f908152600c6020526040812081906116cc90610b8561162a86611cee565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611726929190918252602082015260400190565b60405180910390a25050505050565b5f818152600260205260408120546001600160a01b03168015158061176057506001600160601b0383115b1561176b5792915050565b600883901c5f90815260076020526040902054600160ff85161b1661123e57611795600684611d9e565b610b73565b60605f6117a683611de3565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f6001600160a01b0384163b156118c957604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061181a90339089908890889060040161275b565b6020604051808303815f875af1925050508015611854575060408051601f3d908101601f1916820190925261185191810190612797565b60015b6118af573d808015611881576040519150601f19603f3d011682016040523d82523d5f602084013e611886565b606091505b5080515f036118a75760405162461bcd60e51b815260040161052e906126f5565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610cc5565b506001610cc5565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561190657505f90506003611985565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611957573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811661197f575f60019250925050611985565b91505f90505b94509492505050565b5f8160048111156119a1576119a16127b2565b036119a95750565b60018160048111156119bd576119bd6127b2565b03611a0a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161052e565b6002816004811115611a1e57611a1e6127b2565b03611a6b5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161052e565b6003816004811115611a7f57611a7f6127b2565b03610be05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161052e565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611b155772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611b41576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611b5f57662386f26fc10000830492506010015b6305f5e1008310611b77576305f5e100830492506008015b6127108310611b8b57612710830492506004015b60648310611b9d576064830492506002015b600a83106104015760010192915050565b60085460ff16156109d85760405162461bcd60e51b815260206004820152602b60248201527f4552433732315061757361626c653a20746f6b656e207472616e73666572207760448201526a1a1a5b19481c185d5cd95960aa1b606482015260840161052e565b611c20848483611e0a565b6109d884848484611e7f565b5f80608083901c15611c4057608092831c92015b604083901c15611c5257604092831c92015b602083901c15611c6457602092831c92015b601083901c15611c7657601092831c92015b600883901c15611c8857600892831c92015b600483901c15611c9a57600492831c92015b600283901c15611cac57600292831c92015b600183901c156104015760010192915050565b5f818310611ccd5781610b73565b5090919050565b5f611ce260028484186127c6565b610b73908484166126e2565b5f6001600160e01b03821115610fd15760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161052e565b5f80611d91611d73611d66610962565b65ffffffffffff16610f6d565b611d89611d7f8861120e565b868863ffffffff16565b879190611f5a565b915091505b935093915050565b81545f9081611daf85858385611f67565b9050818114611dd8575f85815260209020810154600160601b90046001600160a01b0316611dda565b5f5b95945050505050565b5f60ff8216601f81111561040157604051632cd44ac360e21b815260040160405180910390fd5b6001600160a01b038316611e2c57611e29600d610b8561162a84611cee565b50505b6001600160a01b038216611e4e57611e4b600d610b7a61162a84611cee565b50505b6001600160a01b038381165f908152600b60205260408082205485841683529120546105cf929182169116836115cc565b6001600160a01b038316158015611ea55750611e99611fc0565b6001600160601b031682105b8015611ec95750600882901c5f90815260076020526040902054600160ff84161b16155b15611f555780600114611f325760405162461bcd60e51b815260206004820152602b60248201527f455243373231436f6e73656375746976653a206261746368206275726e206e6f60448201526a1d081cdd5c1c1bdc9d195960aa1b606482015260840161052e565b600882901c5f9081526007602052604090208054600160ff85161b1790556109d8565b6109d8565b5f80611d91858585611fef565b5f5b818310156115ba575f611f7c8484611cd4565b5f878152602090209091506001600160601b038616908201546001600160601b03161015611fb657611faf8160016126e2565b9350611fba565b8092505b50611f69565b5f805f611fcd600661218e565b509150915081611fdd575f611fe8565b611fe88160016127e5565b9250505090565b82545f9081908015612135575f61200b876110536001856126cf565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b03166020840152919250908716101561208d5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b6579730000000000604482015260640161052e565b805163ffffffff8088169116036120d657846120ae886110536001866126cf565b80546001600160e01b03929092166401000000000263ffffffff909216919091179055612125565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d555f8d81529190912094519151909216640100000000029216919091179101555b602001519250839150611d969050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316640100000000029190931617920191909155905081611d96565b80545f90819081908082036121ac575f805f935093509350506121fe565b5f6121bc866110536001856126cf565b6040805180820190915290546001600160601b038116808352600160601b9091046001600160a01b0316602090920182905260019650945092506121fe915050565b9193909250565b6001600160e01b031981168114610be0575f80fd5b5f6020828403121561222a575f80fd5b8135610b7381612205565b5f5b8381101561224f578181015183820152602001612237565b50505f910152565b5f815180845261226e816020860160208601612235565b601f01601f19169290920160200192915050565b602081525f610b736020830184612257565b5f602082840312156122a4575f80fd5b5035919050565b80356001600160a01b03811681146122c1575f80fd5b919050565b5f80604083850312156122d7575f80fd5b6122e0836122ab565b946020939093013593505050565b5f805f60608486031215612300575f80fd5b612309846122ab565b9250612317602085016122ab565b9150604084013590509250925092565b5f60208284031215612337575f80fd5b610b73826122ab565b60ff60f81b881681525f602060e08184015261235f60e084018a612257565b8381036040850152612371818a612257565b606085018990526001600160a01b038816608086015260a0850187905284810360c086015285518082528387019250908301905f5b818110156123c2578351835292840192918401916001016123a6565b50909c9b505050505050505050505050565b5f80604083850312156123e5575f80fd5b6123ee836122ab565b915060208301358015158114612402575f80fd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612434575f80fd5b61243d856122ab565b935061244b602086016122ab565b925060408501359150606085013567ffffffffffffffff8082111561246e575f80fd5b818701915087601f830112612481575f80fd5b8135818111156124935761249361240d565b604051601f8201601f19908116603f011681019083821181831017156124bb576124bb61240d565b816040528281528a60208487010111156124d3575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b5f805f805f8060c0878903121561250b575f80fd5b612514876122ab565b95506020870135945060408701359350606087013560ff81168114612537575f80fd5b9598949750929560808101359460a0909101359350915050565b5f8060408385031215612562575f80fd5b61256b836122ab565b9150612579602084016122ab565b90509250929050565b600181811c9082168061259657607f821691505b6020821081036113b957634e487b7160e01b5f52602260045260245ffd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b5f8351612612818460208801612235565b835190830190612626818360208801612235565b01949350505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160e01b038281168282160390808211156126635761266361262f565b5092915050565b6001600160e01b038181168382160190808211156126635761266361262f565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b818103818111156104015761040161262f565b808201808211156104015761040161262f565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b5f52601260045260245ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061278d90830184612257565b9695505050505050565b5f602082840312156127a7575f80fd5b8151610b7381612205565b634e487b7160e01b5f52602160045260245ffd5b5f826127e057634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160601b038181168382160190808211156126635761266361262f56fea2646970667358221220f95a7f34ff1eb7f45488871b9bb52f66d3b192d2604a87bd2d87cb999d464e3664736f6c63430008140033dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724","sourceMap":"343:1418:144:-:0;;;430:469;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3178:431:233;;;;;;;;;;;;-1:-1:-1;;;3178:431:233;;;;639:4:144;;;624:6;-1:-1:-1;1456:13:198;639:4:144;-1:-1:-1;1456:13:198;:::i;:::-;-1:-1:-1;1479:7:198;:17;1489:7;1479;:17;:::i;:::-;-1:-1:-1;;996:7:164;:15;;-1:-1:-1;;996:15:164;;;-1:-1:-1;3251:45:233;:4;3282:13;3251:30;:45::i;:::-;3243:53;;3317:51;:7;3351:16;3317:33;:51::i;:::-;3306:62;;3392:22;;;;;;;;;;3378:36;;3441:25;;;;;;3424:42;;3494:13;3477:30;;3542:23;4077:11;;4090:14;;4054:81;;;1929:95;4054:81;;;7587:25:310;7628:18;;;7621:34;;;;7671:18;;;7664:34;4106:13:233;7714:18:310;;;7707:34;4129:4:233;7757:19:310;;;7750:61;4018:7:233;;7559:19:310;;4054:81:233;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;3542:23;3517:48;;-1:-1:-1;;3597:4:233;3575:27;;665:9:144::2;660:109;684:9;:16;680:1;:20;660:109;;;721:37;731:9;741:1;731:12;;;;;;;;:::i;:::-;;;;;;;745:9;755:1;745:12;;;;;;;;:::i;:::-;;;;;;;721:9;;;:37;;:::i;:::-;702:3;::::0;::::2;:::i;:::-;;;660:109;;;;784:9;779:114;803:9;:16;799:1;:20;779:114;;;840:42;857:9;867:1;857:12;;;;;;;;:::i;:::-;;;;;;;871:7;879:1;871:10;;;;;;;;:::i;:::-;;;;;;;840:16;;;:42;;:::i;:::-;-1:-1:-1::0;821:3:144::2;::::0;::::2;:::i;:::-;;;779:114;;;;430:469:::0;;;;;343:1418;;2895:341:228;2991:11;3040:2;3024:5;3018:19;:24;3014:216;;;3065:20;3079:5;3065:13;:20::i;:::-;3058:27;;;;3014:216;3142:5;3116:46;3157:5;3142;3116:46;:::i;:::-;-1:-1:-1;1371:66:228;;-1:-1:-1;3014:216:228;2895:341;;;;:::o;6289:313:40:-;-1:-1:-1;;;;;5213:20:40;;;6371:19;5213:20;;;:11;:20;;;;;;;;6421:32;;;-1:-1:-1;;;;;;6421:32:40;;;;;;;6469:48;;5213:20;;;;;6421:32;5213:20;;;;6469:48;;6371:19;6469:48;6527:68;6546:11;6559:9;6570:24;6586:7;6570:15;:24::i;:::-;6527:18;:68::i;:::-;6361:241;6289:313;;:::o;3990:1227:202:-;4072:6;;4105:25;:23;:25::i;:::-;4090:40;-1:-1:-1;;;;;;4193:13:202;;;4189:999;;4258:4;1702:19:220;:23;4222:105:202;;;;-1:-1:-1;;;4222:105:202;;8024:2:310;4222:105:202;;;8006:21:310;8063:2;8043:18;;;8036:30;8102:34;8082:18;;;8075:62;8173:28;8153:18;;;8146:56;8219:19;;4222:105:202;;;;;;;;;-1:-1:-1;;;;;4349:16:202;;4341:72;;;;-1:-1:-1;;;4341:72:202;;8451:2:310;4341:72:202;;;8433:21:310;8490:2;8470:18;;;8463:30;8529:34;8509:18;;;8502:62;-1:-1:-1;;;8580:18:310;;;8573:41;8631:19;;4341:72:202;8249:407:310;4341:72:202;2427:4;-1:-1:-1;;;;;4435:28:202;;;;4427:75;;;;-1:-1:-1;;;4427:75:202;;8863:2:310;4427:75:202;;;8845:21:310;8902:2;8882:18;;;8875:30;8941:34;8921:18;;;8914:62;-1:-1:-1;;;8992:18:310;;;8985:32;9034:19;;4427:75:202;8661:398:310;4427:75:202;4544:54;4573:1;4577:2;-1:-1:-1;;;;;4544:54:202;;;;;;:20;:54::i;:::-;4670:11;4704:1;4684:17;4692:9;4684:5;:17;:::i;:::-;:21;;;;:::i;:::-;4670:35;-1:-1:-1;4719:44:202;:20;4670:35;4759:2;4719:25;:44::i;:::-;-1:-1:-1;4976:39:202;;-1:-1:-1;5001:2:202;-1:-1:-1;;;;;4976:39:202;;:24;:39::i;:::-;5035:48;;-1:-1:-1;;;;;9600:31:310;;;9582:50;;-1:-1:-1;;;;;5035:48:202;;;5076:1;;5035:48;;;;;9570:2:310;9555:18;5035:48:202;;;;;;;5124:53;5152:1;5156:2;-1:-1:-1;;;;;5124:53:202;;;;;;:19;:53::i;:::-;4208:980;4189:999;5205:5;3990:1227;-1:-1:-1;;;3990:1227:202:o;1689:286:228:-;1754:11;1777:17;1803:3;1777:30;;1835:2;1821:4;:11;:16;1817:72;;;1874:3;1860:18;;-1:-1:-1;;;1860:18:228;;;;;;;;:::i;1817:72::-;1955:11;;1938:13;1955:4;1938:13;:::i;:::-;1930:36;;1689:286;-1:-1:-1;;;1689:286:228:o;1412:133:207:-;1494:7;1520:18;1530:7;1520:9;:18::i;7321:780:40:-;7421:2;-1:-1:-1;;;;;7413:10:40;:4;-1:-1:-1;;;;;7413:10:40;;;:24;;;;;7436:1;7427:6;:10;7413:24;7409:686;;;-1:-1:-1;;;;;7457:18:40;;;7453:315;;-1:-1:-1;;;;;7561:26:40;;7496:16;7561:26;;;:20;:26;;;;;;;7496:16;;7534:150;;7561:26;7609:9;;;;;7640:26;7659:6;7640:18;:26::i;:::-;7534:5;:150::i;:::-;-1:-1:-1;;;;;7495:189:40;;;-1:-1:-1;;;;;7495:189:40;;;7728:4;-1:-1:-1;;;;;7707:46:40;-1:-1:-1;;;;;;;;;;;7734:8:40;7744;7707:46;;;;;;10520:25:310;;;10576:2;10561:18;;10554:34;10508:2;10493:18;;10346:248;7707:46:40;;;;;;;;7477:291;;7453:315;-1:-1:-1;;;;;7785:16:40;;;7781:304;;-1:-1:-1;;;;;7887:24:40;;7822:16;7887:24;;;:20;:24;;;;;;;7822:16;;7860:143;;7887:24;7933:4;;;;;7959:26;7978:6;7959:18;:26::i;7860:143::-;-1:-1:-1;;;;;7821:182:40;;;-1:-1:-1;;;;;7821:182:40;;;8047:2;-1:-1:-1;;;;;8026:44:40;-1:-1:-1;;;;;;;;;;;8051:8:40;8061;8026:44;;;;;;10520:25:310;;;10576:2;10561:18;;10554:34;10508:2;10493:18;;10346:248;8026:44:40;;;;;;;;7803:282;;7321:780;;;:::o;6562:198:202:-;6619:6;;;6672:39;:20;:37;:39::i;:::-;6637:74;;;;;6728:6;:25;;6752:1;6728:25;;;6737:12;:8;6748:1;6737:12;:::i;:::-;6721:32;;;;6562:198;:::o;1213:263:144:-;1408:61;1435:4;1441:2;1445:12;1459:9;1408:26;:61::i;:::-;1213:263;;;;:::o;14410:162:223:-;14492:7;;14527:38;14535:4;14554:3;14559:5;14527:7;:38::i;:::-;14520:45;;;;14410:162;;;;;;;:::o;16882:121:198:-;-1:-1:-1;;;;;16968:18:198;;;;;;:9;:18;;;;;:28;;16990:6;;16968:18;:28;;16990:6;;16968:28;:::i;:::-;;;;-1:-1:-1;;;;16882:121:198:o;1482:277:144:-;1692:60;1718:4;1724:2;1728:12;1742:9;1692:25;:60::i;1929:204:198:-;2001:7;-1:-1:-1;;;;;2028:19:198;;2020:73;;;;-1:-1:-1;;;2020:73:198;;10931:2:310;2020:73:198;;;10913:21:310;10970:2;10950:18;;;10943:30;11009:34;10989:18;;;10982:62;-1:-1:-1;;;11060:18:310;;;11053:39;11109:19;;2020:73:198;10729:405:310;2020:73:198;-1:-1:-1;;;;;;2110:16:198;;;;;:9;:16;;;;;;;1929:204::o;8489:101:40:-;8552:7;8578:5;8582:1;8578;:5;:::i;2836:192:248:-;2893:7;-1:-1:-1;;;;;2920:26:248;;;2912:78;;;;-1:-1:-1;;;2912:78:248;;11531:2:310;2912:78:248;;;11513:21:310;11570:2;11550:18;;;11543:30;11609:34;11589:18;;;11582:62;-1:-1:-1;;;11660:18:310;;;11653:37;11707:19;;2912:78:248;11329:403:310;2912:78:248;-1:-1:-1;3015:5:248;2836:192::o;8107:274:40:-;8274:7;;8309:65;8320:26;8338:7;:5;:7::i;:::-;8320:26;;:17;:26::i;:::-;8348:25;8351:14;:5;:12;:14::i;:::-;8367:5;8348:2;:25;;:::i;:::-;8309:5;;:65;:10;:65::i;8387:96::-;8445:7;8471:5;8475:1;8471;:5;:::i;16884:388:223:-;17022:24;;16956:11;;;;;;17060:8;;;17056:210;;17092:5;17099:1;17102;17084:20;;;;;;;;;17056:210;17135:25;17163:41;17177:4;17196:7;17202:1;17196:3;:7;:::i;:::-;20283:28;20346:20;;;20411:4;20398:18;;;20394:28;;20173:265;17163:41;17135:69;;;;;;;;;;;-1:-1:-1;;;;;17135:69:223;;;;;;;;;-1:-1:-1;;;;;17135:69:223;;;;;;;;;;-1:-1:-1;17135:69:223;-1:-1:-1;17135:69:223;-1:-1:-1;17218:37:223;;-1:-1:-1;;17218:37:223;16884:388;;;;;;:::o;1053:315:204:-;1685:7:164;;;;1304:9:204;1296:65;;;;-1:-1:-1;;;1296:65:204;;12259:2:310;1296:65:204;;;12241:21:310;12298:2;12278:18;;;12271:30;12337:34;12317:18;;;12310:62;-1:-1:-1;;;12388:18:310;;;12381:41;12439:19;;1296:65:204;12057:407:310;17635:836:223;17768:11;;17726:7;;;;17794;;17790:675;;17869:25;17897:28;17911:4;17917:7;17923:1;17917:3;:7;:::i;17897:28::-;17869:56;;;;;;;;;;;-1:-1:-1;;;;;17869:56:223;;;;;;;;;;-1:-1:-1;;;;;17869:56:223;;;;;;;-1:-1:-1;18003:16:223;;;-1:-1:-1;18003:16:223;17995:56;;;;-1:-1:-1;;;17995:56:223;;12671:2:310;17995:56:223;;;12653:21:310;12710:2;12690:18;;;12683:30;12749:29;12729:18;;;12722:57;12796:18;;17995:56:223;12469:351:310;17995:56:223;18115:9;;-1:-1:-1;;;;;18115:16:223;;;;;;18111:189;;18189:5;18151:28;18165:4;18171:7;18177:1;18171:3;:7;:::i;18151:28::-;:43;;-1:-1:-1;;;;;18151:43:223;;;;;;-1:-1:-1;;;;;18151:43:223;;;;;;;;;18111:189;;;18243:41;;;;;;;;;-1:-1:-1;;;;;18243:41:223;;;;;-1:-1:-1;;;;;18243:41:223;;;;;;;;;;18233:52;;;;;;;-1:-1:-1;18233:52:223;;;;;;;;;;;;;;;;;;;;;;;;;18111:189;18321:11;;;;-1:-1:-1;18334:5:223;;-1:-1:-1;18313:27:223;;-1:-1:-1;18313:27:223;17790:675;-1:-1:-1;;18381:41:223;;;;;;;;;-1:-1:-1;;;;;18381:41:223;;;;;-1:-1:-1;;;;;18381:41:223;;;;;;;;;;18371:52;;;;;;;-1:-1:-1;18371:52:223;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18415:5:223;18437:17;;961:288:207;1131:41;1152:4;1158:2;1162:9;1131:20;:41::i;:::-;1182:60;1208:4;1214:2;1218:12;1232:9;1182:25;:60::i;2547:118:40:-;2602:6;2627:31;2645:12;2627:17;:31::i;:::-;2620:38;;2547:118;:::o;15264:187:248:-;15320:6;15355:16;15346:25;;;15338:76;;;;-1:-1:-1;;;15338:76:248;;13027:2:310;15338:76:248;;;13009:21:310;13066:2;13046:18;;;13039:30;13105:34;13085:18;;;13078:62;-1:-1:-1;;;13156:18:310;;;13149:36;13202:19;;15338:76:248;12825:402:310;10152:206:223;10247:24;;10214:7;;10288:8;;:63;;10303:41;10317:4;10336:7;10342:1;10336:3;:7;:::i;10303:41::-;:48;;;;-1:-1:-1;;;;;10303:48:223;10288:63;;;10299:1;10281:70;10152:206;-1:-1:-1;;;10152:206:223:o;8063:162::-;8145:7;;8180:38;8188:4;8207:3;8212:5;8180:7;:38::i;6836:399:40:-;-1:-1:-1;;;;;6939:18:40;;6935:107;;6973:58;6979:17;6998:4;;;;;7004:26;7023:6;7004:18;:26::i;6973:58::-;;;6935:107;-1:-1:-1;;;;;7055:16:40;;7051:110;;7087:63;7093:17;7112:9;;;;;7123:26;7142:6;7123:18;:26::i;7087:63::-;;;7051:110;-1:-1:-1;;;;;5213:20:40;;;5187:7;5213:20;;;:11;:20;;;;;;;;;;;;;;;7170:58;;5213:20;;;;;7221:6;7170:18;:58::i;5920:636:202:-;-1:-1:-1;;;;;6107:16:202;;;:86;;;;-1:-1:-1;6168:25:202;:23;:25::i;:::-;-1:-1:-1;;;;;6153:40:202;:12;:40;6107:86;:177;;;;-1:-1:-1;684:1:252;675:10;;;642:4;746:20;;;6251:15:202;746:20:252;;;;;;710:1;724:4;716:12;;710:19;746:27;:32;6107:177:202;6090:390;;;6360:9;6373:1;6360:14;6352:70;;;;-1:-1:-1;;;6352:70:202;;13434:2:310;6352:70:202;;;13416:21:310;13473:2;13453:18;;;13446:30;13512:34;13492:18;;;13485:62;-1:-1:-1;;;13563:18:310;;;13556:41;13614:19;;6352:70:202;13232:407:310;6352:70:202;1217:1:252;1208:10;;;1191:14;1272:20;;;6436:15:202;1272:20:252;;;;;:28;;1243:1;1257:4;1249:12;;1243:19;1272:28;;;6436:33:202;6489:60;6515:4;6521:2;6525:12;6539:9;-1:-1:-1;;;;;6489:60:202;;:::i;14240:187:248:-;14296:6;14331:16;14322:25;;;14314:76;;;;-1:-1:-1;;;14314:76:248;;13846:2:310;14314:76:248;;;13828:21:310;13885:2;13865:18;;;13858:30;13924:34;13904:18;;;13897:62;-1:-1:-1;;;13975:18:310;;;13968:36;14021:19;;14314:76:248;13644:402:310;11288:836:223;11421:11;;11379:7;;;;11447;;11443:675;;11522:25;11550:28;11564:4;11570:7;11576:1;11570:3;:7;:::i;11550:28::-;11522:56;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11522:56:223;;;;;;;-1:-1:-1;11656:16:223;;;-1:-1:-1;11656:16:223;11648:56;;;;-1:-1:-1;;;11648:56:223;;12671:2:310;11648:56:223;;;12653:21:310;12710:2;12690:18;;;12683:30;12749:29;12729:18;;;12722:57;12796:18;;11648:56:223;12469:351:310;11648:56:223;11768:9;;:16;;;;;;;11764:189;;11842:5;11804:28;11818:4;11824:7;11830:1;11824:3;:7;:::i;11804:28::-;:43;;-1:-1:-1;;;;;11804:43:223;;;;;;;;;;;;;;;;11764:189;;;11896:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;11896:41:223;;;;;;;;;;11886:52;;;;;;;-1:-1:-1;11886:52:223;;;;;;;;;;;;;;;;;;;;;;;;;11974:11;;;;-1:-1:-1;11987:5:223;;-1:-1:-1;11966:27:223;;-1:-1:-1;11966:27:223;11443:675;-1:-1:-1;;12034:41:223;;;;;;;;;;;;;;;-1:-1:-1;;;;;12034:41:223;;;;;;;;;;12024:52;;;;;;;-1:-1:-1;12024:52:223;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12068:5:223;12090:17;;14:127:310;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:310;247:40;;-1:-1:-1;;;;;302:34:310;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:310:o;426:250::-;511:1;521:113;535:6;532:1;529:13;521:113;;;611:11;;;605:18;592:11;;;585:39;557:2;550:10;521:113;;;-1:-1:-1;;668:1:310;650:16;;643:27;426:250::o;681:510::-;735:5;788:3;781:4;773:6;769:17;765:27;755:55;;806:1;803;796:12;755:55;829:13;;-1:-1:-1;;;;;854:26:310;;851:52;;;883:18;;:::i;:::-;927:55;970:2;951:13;;-1:-1:-1;;947:27:310;976:4;943:38;927:55;:::i;:::-;1007:2;998:7;991:19;1053:3;1046:4;1041:2;1033:6;1029:15;1025:26;1022:35;1019:55;;;1070:1;1067;1060:12;1019:55;1083:77;1157:2;1150:4;1141:7;1137:18;1130:4;1122:6;1118:17;1083:77;:::i;:::-;1178:7;681:510;-1:-1:-1;;;;681:510:310:o;1196:183::-;1256:4;-1:-1:-1;;;;;1278:30:310;;1275:56;;;1311:18;;:::i;:::-;-1:-1:-1;1356:1:310;1352:14;1368:4;1348:25;;1196:183::o;1384:843::-;1449:5;1502:3;1495:4;1487:6;1483:17;1479:27;1469:55;;1520:1;1517;1510:12;1469:55;1549:6;1543:13;1575:4;1599:60;1615:43;1655:2;1615:43;:::i;:::-;1599:60;:::i;:::-;1693:15;;;1779:1;1775:10;;;;1763:23;;1759:32;;;1724:12;;;;1803:15;;;1800:35;;;1831:1;1828;1821:12;1800:35;1867:2;1859:6;1855:15;1879:319;1895:6;1890:3;1887:15;1879:319;;;1962:10;;-1:-1:-1;;;;;2005:31:310;;1995:42;;1985:140;;2079:1;2108:2;2104;2097:14;1985:140;2138:18;;2176:12;;;;1912;;1879:319;;;-1:-1:-1;2216:5:310;1384:843;-1:-1:-1;;;;;;1384:843:310:o;2232:841::-;2296:5;2349:3;2342:4;2334:6;2330:17;2326:27;2316:55;;2367:1;2364;2357:12;2316:55;2396:6;2390:13;2422:4;2446:60;2462:43;2502:2;2462:43;:::i;2446:60::-;2540:15;;;2626:1;2622:10;;;;2610:23;;2606:32;;;2571:12;;;;2650:15;;;2647:35;;;2678:1;2675;2668:12;2647:35;2714:2;2706:6;2702:15;2726:318;2742:6;2737:3;2734:15;2726:318;;;2809:10;;-1:-1:-1;;;;;2852:30:310;;2842:41;;2832:139;;2925:1;2954:2;2950;2943:14;2832:139;2984:18;;3022:12;;;;2759;;2726:318;;3078:1252;3278:6;3286;3294;3302;3310;3363:3;3351:9;3342:7;3338:23;3334:33;3331:53;;;3380:1;3377;3370:12;3331:53;3407:16;;-1:-1:-1;;;;;3472:14:310;;;3469:34;;;3499:1;3496;3489:12;3469:34;3522:61;3575:7;3566:6;3555:9;3551:22;3522:61;:::i;:::-;3512:71;;3629:2;3618:9;3614:18;3608:25;3592:41;;3658:2;3648:8;3645:16;3642:36;;;3674:1;3671;3664:12;3642:36;3697:63;3752:7;3741:8;3730:9;3726:24;3697:63;:::i;:::-;3687:73;;3806:2;3795:9;3791:18;3785:25;3769:41;;3835:2;3825:8;3822:16;3819:36;;;3851:1;3848;3841:12;3819:36;3874:74;3940:7;3929:8;3918:9;3914:24;3874:74;:::i;:::-;3864:84;;3994:2;3983:9;3979:18;3973:25;3957:41;;4023:2;4013:8;4010:16;4007:36;;;4039:1;4036;4029:12;4007:36;4062:74;4128:7;4117:8;4106:9;4102:24;4062:74;:::i;:::-;4052:84;;4182:3;4171:9;4167:19;4161:26;4145:42;;4212:2;4202:8;4199:16;4196:36;;;4228:1;4225;4218:12;4196:36;;4251:73;4316:7;4305:8;4294:9;4290:24;4251:73;:::i;:::-;4241:83;;;3078:1252;;;;;;;;:::o;4335:380::-;4414:1;4410:12;;;;4457;;;4478:61;;4532:4;4524:6;4520:17;4510:27;;4478:61;4585:2;4577:6;4574:14;4554:18;4551:38;4548:161;;4631:10;4626:3;4622:20;4619:1;4612:31;4666:4;4663:1;4656:15;4694:4;4691:1;4684:15;4548:161;;4335:380;;;:::o;4846:545::-;4948:2;4943:3;4940:11;4937:448;;;4984:1;5009:5;5005:2;4998:17;5054:4;5050:2;5040:19;5124:2;5112:10;5108:19;5105:1;5101:27;5095:4;5091:38;5160:4;5148:10;5145:20;5142:47;;;-1:-1:-1;5183:4:310;5142:47;5238:2;5233:3;5229:12;5226:1;5222:20;5216:4;5212:31;5202:41;;5293:82;5311:2;5304:5;5301:13;5293:82;;;5356:17;;;5337:1;5326:13;5293:82;;;5297:3;;;4846:545;;;:::o;5567:1352::-;5687:10;;-1:-1:-1;;;;;5709:30:310;;5706:56;;;5742:18;;:::i;:::-;5771:97;5861:6;5821:38;5853:4;5847:11;5821:38;:::i;:::-;5815:4;5771:97;:::i;:::-;5923:4;;5987:2;5976:14;;6004:1;5999:663;;;;6706:1;6723:6;6720:89;;;-1:-1:-1;6775:19:310;;;6769:26;6720:89;-1:-1:-1;;5524:1:310;5520:11;;;5516:24;5512:29;5502:40;5548:1;5544:11;;;5499:57;6822:81;;5969:944;;5999:663;4793:1;4786:14;;;4830:4;4817:18;;-1:-1:-1;;6035:20:310;;;6153:236;6167:7;6164:1;6161:14;6153:236;;;6256:19;;;6250:26;6235:42;;6348:27;;;;6316:1;6304:14;;;;6183:19;;6153:236;;;6157:3;6417:6;6408:7;6405:19;6402:201;;;6478:19;;;6472:26;-1:-1:-1;;6561:1:310;6557:14;;;6573:3;6553:24;6549:37;6545:42;6530:58;6515:74;;6402:201;-1:-1:-1;;;;;6649:1:310;6633:14;;;6629:22;6616:36;;-1:-1:-1;5567:1352:310:o;6924:127::-;6985:10;6980:3;6976:20;6973:1;6966:31;7016:4;7013:1;7006:15;7040:4;7037:1;7030:15;7056:127;7117:10;7112:3;7108:20;7105:1;7098:31;7148:4;7145:1;7138:15;7172:4;7169:1;7162:15;7188:135;7227:3;7248:17;;;7245:43;;7268:18;;:::i;:::-;-1:-1:-1;7315:1:310;7304:13;;7188:135::o;9064:180::-;-1:-1:-1;;;;;9169:10:310;;;9181;;;9165:27;;9204:11;;;9201:37;;;9218:18;;:::i;:::-;9201:37;9064:180;;;;:::o;9249:183::-;-1:-1:-1;;;;;9368:10:310;;;9356;;;9352:27;;9391:12;;;9388:38;;;9406:18;;:::i;9643:396::-;9792:2;9781:9;9774:21;9755:4;9824:6;9818:13;9867:6;9862:2;9851:9;9847:18;9840:34;9883:79;9955:6;9950:2;9939:9;9935:18;9930:2;9922:6;9918:15;9883:79;:::i;:::-;10023:2;10002:15;-1:-1:-1;;9998:29:310;9983:45;;;;10030:2;9979:54;;9643:396;-1:-1:-1;;9643:396:310:o;10044:297::-;10162:12;;10209:4;10198:16;;;10192:23;;10162:12;10227:16;;10224:111;;;-1:-1:-1;;10301:4:310;10297:17;;;;10294:1;10290:25;10286:38;10275:50;;10044:297;-1:-1:-1;10044:297:310:o;10599:125::-;10664:9;;;10685:10;;;10682:36;;;10698:18;;:::i;11139:185::-;-1:-1:-1;;;;;11260:10:310;;;11248;;;11244:27;;11283:12;;;11280:38;;;11298:18;;:::i;11737:182::-;-1:-1:-1;;;;;11844:10:310;;;11856;;;11840:27;;11879:11;;;11876:37;;;11893:18;;:::i;11924:128::-;11991:9;;;12012:11;;;12009:37;;;12026:18;;:::i;13644:402::-;343:1418:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061016d575f3560e01c80636352211e116100d957806395d89b4111610093578063b88d4fde1161006e578063b88d4fde14610342578063c3cda52014610355578063c87b56dd14610368578063e985e9c51461037b575f80fd5b806395d89b41146103145780639ab24eb01461031c578063a22cb4651461032f575f80fd5b80636352211e1461028e57806370a08231146102a15780637ecebe00146102b457806384b0196e146102c75780638e539e8c146102e257806391ddadf4146102f5575f80fd5b80633a46b1a81161012a5780633a46b1a81461021757806342842e0e1461022a5780634bf5d7e91461023d578063587cde1e146102455780635c19a95c146102705780635c975abb14610283575f80fd5b806301ffc9a71461017157806306fdde0314610199578063081812fc146101ae578063095ea7b3146101d957806323b872dd146101ee5780633644e51514610201575b5f80fd5b61018461017f36600461221a565b6103b6565b60405190151581526020015b60405180910390f35b6101a1610407565b6040516101909190612282565b6101c16101bc366004612294565b610496565b6040516001600160a01b039091168152602001610190565b6101ec6101e73660046122c6565b6104bb565b005b6101ec6101fc3660046122ee565b6105d4565b610209610605565b604051908152602001610190565b6102096102253660046122c6565b610613565b6101ec6102383660046122ee565b6106a2565b6101a16106bc565b6101c1610253366004612327565b6001600160a01b039081165f908152600b60205260409020541690565b6101ec61027e366004612327565b610754565b60085460ff16610184565b6101c161029c366004612294565b610763565b6102096102af366004612327565b6107c1565b6102096102c2366004612327565b610845565b6102cf610862565b6040516101909796959493929190612340565b6102096102f0366004612294565b6108e9565b6102fd610962565b60405165ffffffffffff9091168152602001610190565b6101a161096c565b61020961032a366004612327565b61097b565b6101ec61033d3660046123d4565b61099b565b6101ec610350366004612421565b6109a6565b6101ec6103633660046124f6565b6109de565b6101a1610376366004612294565b610b0a565b610184610389366004612551565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b031982166380ac58cd60e01b14806103e657506001600160e01b03198216635b5e139f60e01b145b8061040157506301ffc9a760e01b6001600160e01b03198316145b92915050565b60605f805461041590612582565b80601f016020809104026020016040519081016040528092919081815260200182805461044190612582565b801561048c5780601f106104635761010080835404028352916020019161048c565b820191905f5260205f20905b81548152906001019060200180831161046f57829003601f168201915b5050505050905090565b5f6104a082610b90565b505f908152600460205260409020546001600160a01b031690565b5f6104c582610763565b9050806001600160a01b0316836001600160a01b0316036105375760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061055357506105538133610389565b6105c55760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161052e565b6105cf8383610be3565b505050565b6105de3382610c50565b6105fa5760405162461bcd60e51b815260040161052e906125b4565b6105cf838383610ccd565b5f61060e610e44565b905090565b5f61061c610962565b65ffffffffffff1682106106695760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b604482015260640161052e565b61069261067583610f6d565b6001600160a01b0385165f908152600c6020526040902090610fd5565b6001600160e01b03169392505050565b6105cf83838360405180602001604052805f8152506109a6565b6060436106c7610962565b65ffffffffffff161461071c5760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f64650000000000000000604482015260640161052e565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b3361075f8183611084565b5050565b5f8061076e836110f5565b90506001600160a01b0381166104015760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161052e565b5f6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161052e565b506001600160a01b03165f9081526003602052604090205490565b6001600160a01b0381165f908152600e6020526040812054610401565b5f606080828080836108957f000000000000000000000000000000000000000000000000000000000000000060096110ff565b6108c07f0000000000000000000000000000000000000000000000000000000000000000600a6110ff565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b5f6108f2610962565b65ffffffffffff16821061093f5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b604482015260640161052e565b61095361094b83610f6d565b600d90610fd5565b6001600160e01b031692915050565b5f61060e436111a8565b60606001805461041590612582565b6001600160a01b0381165f908152600c602052604081206109539061120e565b61075f338383611246565b6109b03383610c50565b6109cc5760405162461bcd60e51b815260040161052e906125b4565b6109d884848484611313565b50505050565b83421115610a2e5760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e617475726520657870697265640000000000000000604482015260640161052e565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590525f90610aa790610a9f9060a00160405160208183030381529060405280519060200120611346565b858585611372565b9050610ab281611398565b8614610af75760405162461bcd60e51b8152602060048201526014602482015273566f7465733a20696e76616c6964206e6f6e636560601b604482015260640161052e565b610b018188611084565b50505050505050565b6060610b1582610b90565b5f610b2a60408051602081019091525f815290565b90505f815111610b485760405180602001604052805f815250610b73565b80610b52846113bf565b604051602001610b63929190612601565b6040516020818303038152906040525b9392505050565b5f610b738284612643565b5f610b73828461266a565b610b998161144f565b610be05760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161052e565b50565b5f81815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610c1782610763565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f80610c5b83610763565b9050806001600160a01b0316846001600160a01b03161480610ca157506001600160a01b038082165f9081526005602090815260408083209388168352929052205460ff165b80610cc55750836001600160a01b0316610cba84610496565b6001600160a01b0316145b949350505050565b826001600160a01b0316610ce082610763565b6001600160a01b031614610d065760405162461bcd60e51b815260040161052e9061268a565b6001600160a01b038216610d685760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161052e565b610d75838383600161146b565b826001600160a01b0316610d8882610763565b6001600160a01b031614610dae5760405162461bcd60e51b815260040161052e9061268a565b5f81815260046020908152604080832080546001600160a01b03199081169091556001600160a01b038781168086526003855283862080545f1901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46105cf8383836001611477565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610e9c57507f000000000000000000000000000000000000000000000000000000000000000046145b15610ec657507f000000000000000000000000000000000000000000000000000000000000000090565b61060e604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f63ffffffff821115610fd15760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161052e565b5090565b81545f908181600581111561102f575f610fee84611483565b610ff890856126cf565b5f8881526020902090915081015463ffffffff908116908716101561101f5780915061102d565b61102a8160016126e2565b92505b505b5f61103c87878585611567565b9050801561107757611060876110536001846126cf565b5f91825260209091200190565b5464010000000090046001600160e01b0316611079565b5f5b979650505050505050565b6001600160a01b038281165f818152600b602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46105cf81836110f0866115c2565b6115cc565b5f61040182611735565b606060ff8314611119576111128361179a565b9050610401565b81805461112590612582565b80601f016020809104026020016040519081016040528092919081815260200182805461115190612582565b801561119c5780601f106111735761010080835404028352916020019161119c565b820191905f5260205f20905b81548152906001019060200180831161117f57829003601f168201915b50505050509050610401565b5f65ffffffffffff821115610fd15760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161052e565b80545f90801561123e57611227836110536001846126cf565b5464010000000090046001600160e01b0316610b73565b5f9392505050565b816001600160a01b0316836001600160a01b0316036112a75760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161052e565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61131e848484610ccd565b61132a848484846117d7565b6109d85760405162461bcd60e51b815260040161052e906126f5565b5f610401611352610e44565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f611381878787876118d1565b9150915061138e8161198e565b5095945050505050565b6001600160a01b0381165f908152600e602052604090208054600181018255905b50919050565b60605f6113cb83611ad7565b60010190505f8167ffffffffffffffff8111156113ea576113ea61240d565b6040519080825280601f01601f191660200182016040528015611414576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461141e57509392505050565b5f8061145a836110f5565b6001600160a01b0316141592915050565b6109d884848484611bae565b6109d884848484611c15565b5f815f0361149257505f919050565b5f600161149e84611c2c565b901c6001901b905060018184816114b7576114b7612747565b048201901c905060018184816114cf576114cf612747565b048201901c905060018184816114e7576114e7612747565b048201901c905060018184816114ff576114ff612747565b048201901c9050600181848161151757611517612747565b048201901c9050600181848161152f5761152f612747565b048201901c9050600181848161154757611547612747565b048201901c9050610b738182858161156157611561612747565b04611cbf565b5f5b818310156115ba575f61157c8484611cd4565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156115a6578092506115b4565b6115b18160016126e2565b93505b50611569565b509392505050565b5f610401826107c1565b816001600160a01b0316836001600160a01b0316141580156115ed57505f81115b156105cf576001600160a01b03831615611694576001600160a01b0383165f908152600c60205260408120819061162f90610b7a61162a86611cee565b611d56565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611689929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156105cf576001600160a01b0382165f908152600c6020526040812081906116cc90610b8561162a86611cee565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611726929190918252602082015260400190565b60405180910390a25050505050565b5f818152600260205260408120546001600160a01b03168015158061176057506001600160601b0383115b1561176b5792915050565b600883901c5f90815260076020526040902054600160ff85161b1661123e57611795600684611d9e565b610b73565b60605f6117a683611de3565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f6001600160a01b0384163b156118c957604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061181a90339089908890889060040161275b565b6020604051808303815f875af1925050508015611854575060408051601f3d908101601f1916820190925261185191810190612797565b60015b6118af573d808015611881576040519150601f19603f3d011682016040523d82523d5f602084013e611886565b606091505b5080515f036118a75760405162461bcd60e51b815260040161052e906126f5565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610cc5565b506001610cc5565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561190657505f90506003611985565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611957573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811661197f575f60019250925050611985565b91505f90505b94509492505050565b5f8160048111156119a1576119a16127b2565b036119a95750565b60018160048111156119bd576119bd6127b2565b03611a0a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161052e565b6002816004811115611a1e57611a1e6127b2565b03611a6b5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161052e565b6003816004811115611a7f57611a7f6127b2565b03610be05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161052e565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611b155772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611b41576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611b5f57662386f26fc10000830492506010015b6305f5e1008310611b77576305f5e100830492506008015b6127108310611b8b57612710830492506004015b60648310611b9d576064830492506002015b600a83106104015760010192915050565b60085460ff16156109d85760405162461bcd60e51b815260206004820152602b60248201527f4552433732315061757361626c653a20746f6b656e207472616e73666572207760448201526a1a1a5b19481c185d5cd95960aa1b606482015260840161052e565b611c20848483611e0a565b6109d884848484611e7f565b5f80608083901c15611c4057608092831c92015b604083901c15611c5257604092831c92015b602083901c15611c6457602092831c92015b601083901c15611c7657601092831c92015b600883901c15611c8857600892831c92015b600483901c15611c9a57600492831c92015b600283901c15611cac57600292831c92015b600183901c156104015760010192915050565b5f818310611ccd5781610b73565b5090919050565b5f611ce260028484186127c6565b610b73908484166126e2565b5f6001600160e01b03821115610fd15760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161052e565b5f80611d91611d73611d66610962565b65ffffffffffff16610f6d565b611d89611d7f8861120e565b868863ffffffff16565b879190611f5a565b915091505b935093915050565b81545f9081611daf85858385611f67565b9050818114611dd8575f85815260209020810154600160601b90046001600160a01b0316611dda565b5f5b95945050505050565b5f60ff8216601f81111561040157604051632cd44ac360e21b815260040160405180910390fd5b6001600160a01b038316611e2c57611e29600d610b8561162a84611cee565b50505b6001600160a01b038216611e4e57611e4b600d610b7a61162a84611cee565b50505b6001600160a01b038381165f908152600b60205260408082205485841683529120546105cf929182169116836115cc565b6001600160a01b038316158015611ea55750611e99611fc0565b6001600160601b031682105b8015611ec95750600882901c5f90815260076020526040902054600160ff84161b16155b15611f555780600114611f325760405162461bcd60e51b815260206004820152602b60248201527f455243373231436f6e73656375746976653a206261746368206275726e206e6f60448201526a1d081cdd5c1c1bdc9d195960aa1b606482015260840161052e565b600882901c5f9081526007602052604090208054600160ff85161b1790556109d8565b6109d8565b5f80611d91858585611fef565b5f5b818310156115ba575f611f7c8484611cd4565b5f878152602090209091506001600160601b038616908201546001600160601b03161015611fb657611faf8160016126e2565b9350611fba565b8092505b50611f69565b5f805f611fcd600661218e565b509150915081611fdd575f611fe8565b611fe88160016127e5565b9250505090565b82545f9081908015612135575f61200b876110536001856126cf565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b03166020840152919250908716101561208d5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b6579730000000000604482015260640161052e565b805163ffffffff8088169116036120d657846120ae886110536001866126cf565b80546001600160e01b03929092166401000000000263ffffffff909216919091179055612125565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d555f8d81529190912094519151909216640100000000029216919091179101555b602001519250839150611d969050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316640100000000029190931617920191909155905081611d96565b80545f90819081908082036121ac575f805f935093509350506121fe565b5f6121bc866110536001856126cf565b6040805180820190915290546001600160601b038116808352600160601b9091046001600160a01b0316602090920182905260019650945092506121fe915050565b9193909250565b6001600160e01b031981168114610be0575f80fd5b5f6020828403121561222a575f80fd5b8135610b7381612205565b5f5b8381101561224f578181015183820152602001612237565b50505f910152565b5f815180845261226e816020860160208601612235565b601f01601f19169290920160200192915050565b602081525f610b736020830184612257565b5f602082840312156122a4575f80fd5b5035919050565b80356001600160a01b03811681146122c1575f80fd5b919050565b5f80604083850312156122d7575f80fd5b6122e0836122ab565b946020939093013593505050565b5f805f60608486031215612300575f80fd5b612309846122ab565b9250612317602085016122ab565b9150604084013590509250925092565b5f60208284031215612337575f80fd5b610b73826122ab565b60ff60f81b881681525f602060e08184015261235f60e084018a612257565b8381036040850152612371818a612257565b606085018990526001600160a01b038816608086015260a0850187905284810360c086015285518082528387019250908301905f5b818110156123c2578351835292840192918401916001016123a6565b50909c9b505050505050505050505050565b5f80604083850312156123e5575f80fd5b6123ee836122ab565b915060208301358015158114612402575f80fd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612434575f80fd5b61243d856122ab565b935061244b602086016122ab565b925060408501359150606085013567ffffffffffffffff8082111561246e575f80fd5b818701915087601f830112612481575f80fd5b8135818111156124935761249361240d565b604051601f8201601f19908116603f011681019083821181831017156124bb576124bb61240d565b816040528281528a60208487010111156124d3575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b5f805f805f8060c0878903121561250b575f80fd5b612514876122ab565b95506020870135945060408701359350606087013560ff81168114612537575f80fd5b9598949750929560808101359460a0909101359350915050565b5f8060408385031215612562575f80fd5b61256b836122ab565b9150612579602084016122ab565b90509250929050565b600181811c9082168061259657607f821691505b6020821081036113b957634e487b7160e01b5f52602260045260245ffd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b5f8351612612818460208801612235565b835190830190612626818360208801612235565b01949350505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160e01b038281168282160390808211156126635761266361262f565b5092915050565b6001600160e01b038181168382160190808211156126635761266361262f565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b818103818111156104015761040161262f565b808201808211156104015761040161262f565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b5f52601260045260245ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061278d90830184612257565b9695505050505050565b5f602082840312156127a7575f80fd5b8151610b7381612205565b634e487b7160e01b5f52602160045260245ffd5b5f826127e057634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160601b038181168382160190808211156126635761266361262f56fea2646970667358221220f95a7f34ff1eb7f45488871b9bb52f66d3b192d2604a87bd2d87cb999d464e3664736f6c63430008140033","sourceMap":"343:1418:144:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:198;;;;;;:::i;:::-;;:::i;:::-;;;565:14:310;;558:22;540:41;;528:2;513:18;1570:300:198;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:310;;;1679:51;;1667:2;1652:18;3935:167:198;1533:203:310;3468:406:198;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;:::i;:::-;;:::i;9221:104:40:-;;;:::i;:::-;;;2657:25:310;;;2645:2;2630:18;9221:104:40;2511:177:310;3688:268:40;;;;;;:::i;:::-;;:::i;4974:149:198:-;;;;;;:::i;:::-;;:::i;2820:249:40:-;;;:::i;5113:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5213:20:40;;;5187:7;5213:20;;;:11;:20;;;;;;;;5113:127;5322:147;;;;;;:::i;:::-;;:::i;1615:84:164:-;1685:7;;;;1615:84;;2190:219:198;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;8967:117:40:-;;;;;;:::i;:::-;;:::i;5021:633:233:-;;;:::i;:::-;;;;;;;;;;;;;:::i;4592:245:40:-;;;;;;:::i;:::-;;:::i;2547:118::-;;;:::i;:::-;;;4504:14:310;4492:27;;;4474:46;;4462:2;4447:18;2547:118:40;4330:196:310;2633:102:198;;;:::i;3159:144:40:-;;;;;;:::i;:::-;;:::i;4169:153:198:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;5547:564:40:-;;;;;;:::i;:::-;;:::i;2801:276:198:-;;;;;;:::i;:::-;;:::i;4388:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:198;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;-1:-1:-1;;;;;;1707:40:198;;-1:-1:-1;;;1707:40:198;;:104;;-1:-1:-1;;;;;;;1763:48:198;;-1:-1:-1;;;1763:48:198;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:240;;;1827:36:198;1688:175;1570:300;-1:-1:-1;;1570:300:198:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:198;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:198;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:198;:2;-1:-1:-1;;;;;3605:11:198;;3597:57;;;;-1:-1:-1;;;3597:57:198;;7633:2:310;3597:57:198;;;7615:21:310;7672:2;7652:18;;;7645:30;7711:34;7691:18;;;7684:62;-1:-1:-1;;;7762:18:310;;;7755:31;7803:19;;3597:57:198;;;;;;;;;734:10:224;-1:-1:-1;;;;;3686:21:198;;;;:62;;-1:-1:-1;3711:37:198;3728:5;734:10:224;4388:162:198;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:198;;8035:2:310;3665:170:198;;;8017:21:310;8074:2;8054:18;;;8047:30;8113:34;8093:18;;;8086:62;8184:31;8164:18;;;8157:59;8233:19;;3665:170:198;7833:425:310;3665:170:198;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;734:10:224;4804:7:198;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:198;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;9221:104:40:-;9272:7;9298:20;:18;:20::i;:::-;9291:27;;9221:104;:::o;3688:268::-;3784:7;3823;:5;:7::i;:::-;3811:19;;:9;:19;3803:52;;;;-1:-1:-1;;;3803:52:40;;8879:2:310;3803:52:40;;;8861:21:310;8918:2;8898:18;;;8891:30;-1:-1:-1;;;8937:18:310;;;8930:50;8997:18;;3803:52:40;8677:344:310;3803:52:40;3872:77;3920:28;3938:9;3920:17;:28::i;:::-;-1:-1:-1;;;;;3872:29:40;;;;;;:20;:29;;;;;;:47;:77::i;:::-;-1:-1:-1;;;;;3865:84:40;;3688:268;-1:-1:-1;;;3688:268:40:o;4974:149:198:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;2820:249:40:-;2880:13;2973:12;2962:7;:5;:7::i;:::-;:23;;;2954:60;;;;-1:-1:-1;;;2954:60:40;;9228:2:310;2954:60:40;;;9210:21:310;9267:2;9247:18;;;9240:30;9306:26;9286:18;;;9279:54;9350:18;;2954:60:40;9026:348:310;2954:60:40;-1:-1:-1;3024:38:40;;;;;;;;;;;;;;;;;;2820:249::o;5322:147::-;734:10:224;5433:29:40;734:10:224;5452:9:40;5433;:29::i;:::-;5383:86;5322:147;:::o;2190:219:198:-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;-1:-1:-1;;;;;;2332:19:198;;2324:56;;;;-1:-1:-1;;;2324:56:198;;9581:2:310;2324:56:198;;;9563:21:310;9620:2;9600:18;;;9593:30;-1:-1:-1;;;9639:18:310;;;9632:54;9703:18;;2324:56:198;9379:348:310;1929:204:198;2001:7;-1:-1:-1;;;;;2028:19:198;;2020:73;;;;-1:-1:-1;;;2020:73:198;;9934:2:310;2020:73:198;;;9916:21:310;9973:2;9953:18;;;9946:30;10012:34;9992:18;;;9985:62;-1:-1:-1;;;10063:18:310;;;10056:39;10112:19;;2020:73:198;9732:405:310;2020:73:198;-1:-1:-1;;;;;;2110:16:198;;;;;:9;:16;;;;;;;1929:204::o;8967:117:40:-;-1:-1:-1;;;;;9053:14:40;;9027:7;9053:14;;;:7;:14;;;;;918::225;9053:24:40;827:112:225;5021:633:233;5136:13;5163:18;;5136:13;;;5163:18;5427:41;:5;5454:13;5427:26;:41::i;:::-;5482:47;:8;5512:16;5482:29;:47::i;:::-;5621:16;;;5605:1;5621:16;;;;;;;;;-1:-1:-1;;;5376:271:233;;;-1:-1:-1;5376:271:233;;-1:-1:-1;5543:13:233;;-1:-1:-1;5578:4:233;;-1:-1:-1;5605:1:233;-1:-1:-1;5621:16:233;-1:-1:-1;5376:271:233;-1:-1:-1;5021:633:233:o;4592:245:40:-;4677:7;4716;:5;:7::i;:::-;4704:19;;:9;:19;4696:52;;;;-1:-1:-1;;;4696:52:40;;8879:2:310;4696:52:40;;;8861:21:310;8918:2;8898:18;;;8891:30;-1:-1:-1;;;8937:18:310;;;8930:50;8997:18;;4696:52:40;8677:344:310;4696:52:40;4765:65;4801:28;4819:9;4801:17;:28::i;:::-;4765:17;;:35;:65::i;:::-;-1:-1:-1;;;;;4758:72:40;;4592:245;-1:-1:-1;;4592:245:40:o;2547:118::-;2602:6;2627:31;2645:12;2627:17;:31::i;2633:102:198:-;2689:13;2721:7;2714:14;;;;;:::i;3159:144:40:-;-1:-1:-1;;;;;3258:29:40;;3232:7;3258:29;;;:20;:29;;;;;:38;;:36;:38::i;4169:153:198:-;4263:52;734:10:224;4296:8:198;4306;4263:18;:52::i;5189:276::-;5319:41;734:10:224;5352:7:198;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:198;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;5547:564:40:-;5766:6;5747:15;:25;;5739:62;;;;-1:-1:-1;;;5739:62:40;;10344:2:310;5739:62:40;;;10326:21:310;10383:2;10363:18;;;10356:30;10422:26;10402:18;;;10395:54;10466:18;;5739:62:40;10142:348:310;5739:62:40;5882:58;;;1892:71;5882:58;;;10726:25:310;-1:-1:-1;;;;;10787:32:310;;10767:18;;;10760:60;;;;10836:18;;;10829:34;;;10879:18;;;10872:34;;;5811:14:40;;5828:169;;5855:87;;10698:19:310;;5882:58:40;;;;;;;;;;;;5872:69;;;;;;5855:16;:87::i;:::-;5956:1;5971;5986;5828:13;:169::i;:::-;5811:186;;6024:17;6034:6;6024:9;:17::i;:::-;6015:5;:26;6007:59;;;;-1:-1:-1;;;6007:59:40;;11119:2:310;6007:59:40;;;11101:21:310;11158:2;11138:18;;;11131:30;-1:-1:-1;;;11177:18:310;;;11170:50;11237:18;;6007:59:40;10917:344:310;6007:59:40;6076:28;6086:6;6094:9;6076;:28::i;:::-;5729:382;5547:564;;;;;;:::o;2801:276:198:-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:198;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:198:o;8489:101:40:-;8552:7;8578:5;8582:1;8578;:5;:::i;8387:96::-;8445:7;8471:5;8475:1;8471;:5;:::i;13240:133:198:-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;-1:-1:-1;;;13313:53:198;;9581:2:310;13313:53:198;;;9563:21:310;9620:2;9600:18;;;9593:30;-1:-1:-1;;;9639:18:310;;;9632:54;9703:18;;13313:53:198;9379:348:310;13313:53:198;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:198;-1:-1:-1;;;;;12646:29:198;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:198;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:198;:7;-1:-1:-1;;;;;7570:16:198;;:52;;;-1:-1:-1;;;;;;4508:25:198;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:198;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:198;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:198:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:198;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:198;;11346:81;;;;-1:-1:-1;;;11346:81:198;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:198;;11437:65;;;;-1:-1:-1;;;11437:65:198;;12884:2:310;11437:65:198;;;12866:21:310;12923:2;12903:18;;;12896:30;12962:34;12942:18;;;12935:62;-1:-1:-1;;;13013:18:310;;;13006:34;13057:19;;11437:65:198;12682:400:310;11437:65:198;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;-1:-1:-1;;;;;11655:31:198;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:198;;11647:81;;;;-1:-1:-1;;;11647:81:198;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:198;;;;;;-1:-1:-1;;;;;12265:15:198;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:198;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;3695:262:233:-;3748:7;3779:4;-1:-1:-1;;;;;3788:11:233;3771:28;;:63;;;;;3820:14;3803:13;:31;3771:63;3767:184;;;-1:-1:-1;3857:22:233;;3695:262::o;3767:184::-;3917:23;4054:81;;;1929:95;4054:81;;;15328:25:310;4077:11:233;15369:18:310;;;15362:34;;;;4090:14:233;15412:18:310;;;15405:34;4106:13:233;15455:18:310;;;15448:34;4129:4:233;15498:19:310;;;15491:61;4018:7:233;;15300:19:310;;4054:81:233;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;15264:187:248;15320:6;15355:16;15346:25;;;15338:76;;;;-1:-1:-1;;;15338:76:248;;13289:2:310;15338:76:248;;;13271:21:310;13328:2;13308:18;;;13301:30;13367:34;13347:18;;;13340:62;-1:-1:-1;;;13418:18:310;;;13411:36;13464:19;;15338:76:248;13087:402:310;15338:76:248;-1:-1:-1;15438:5:248;15264:187::o;9426:606:223:-;9544:24;;9511:7;;;9544:24;9643:1;9637:7;;9633:234;;;9660:11;9680:14;9690:3;9680:9;:14::i;:::-;9674:20;;:3;:20;:::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;9660:34;;-1:-1:-1;14047:28:223;;9718:42;;;;;9712:48;;;;9708:149;;;9787:3;9780:10;;9708:149;;;9835:7;:3;9841:1;9835:7;:::i;:::-;9829:13;;9708:149;9646:221;9633:234;9877:11;9891:53;9910:4;9929:3;9934;9939:4;9891:18;:53::i;:::-;9877:67;-1:-1:-1;9962:8:223;;:63;;9977:41;9991:4;10010:7;10016:1;10010:3;:7;:::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;;14047:28;;13826:265;9977:41;:48;;;;-1:-1:-1;;;;;9977:48:223;9962:63;;;9973:1;9962:63;9955:70;9426:606;-1:-1:-1;;;;;;;9426:606:223:o;6289:313:40:-;-1:-1:-1;;;;;5213:20:40;;;6371:19;5213:20;;;:11;:20;;;;;;;;6421:32;;;-1:-1:-1;;;;;;6421:32:40;;;;;;;6469:48;;5213:20;;;;;6421:32;5213:20;;;;6469:48;;6371:19;6469:48;6527:68;6546:11;6559:9;6570:24;6586:7;6570:15;:24::i;:::-;6527:18;:68::i;905:158:144:-;1007:7;1033:23;1048:7;1033:14;:23::i;3367:268:228:-;3461:13;1371:66;3490:47;;3486:143;;3560:15;3569:5;3560:8;:15::i;:::-;3553:22;;;;3486:143;3613:5;3606:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14240:187:248;14296:6;14331:16;14322:25;;;14314:76;;;;-1:-1:-1;;;14314:76:248;;13959:2:310;14314:76:248;;;13941:21:310;13998:2;13978:18;;;13971:30;14037:34;14017:18;;;14010:62;-1:-1:-1;;;14088:18:310;;;14081:36;14134:19;;14314:76:248;13757:402:310;10152:206:223;10247:24;;10214:7;;10288:8;;:63;;10303:41;10317:4;10336:7;10342:1;10336:3;:7;:::i;10303:41::-;:48;;;;-1:-1:-1;;;;;10303:48:223;10288:63;;;10299:1;10281:70;10152:206;-1:-1:-1;;;10152:206:223:o;12879:277:198:-;12999:8;-1:-1:-1;;;;;12990:17:198;:5;-1:-1:-1;;;;;12990:17:198;;12982:55;;;;-1:-1:-1;;;12982:55:198;;14366:2:310;12982:55:198;;;14348:21:310;14405:2;14385:18;;;14378:30;14444:27;14424:18;;;14417:55;14489:18;;12982:55:198;14164:349:310;12982:55:198;-1:-1:-1;;;;;13047:25:198;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:198;;;;;;;;;;13108:41;;540::310;;;13108::198;;513:18:310;13108:41:198;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:198;;;;;;;:::i;4768:165:233:-;4845:7;4871:55;4893:20;:18;:20::i;:::-;4915:10;8536:4:232;8530:11;-1:-1:-1;;;8554:23:232;;8606:4;8597:14;;8590:39;;;;8658:4;8649:14;;8642:34;8712:4;8697:20;;;8336:397;6598:232;6683:7;6703:17;6722:18;6744:25;6755:4;6761:1;6764;6767;6744:10;:25::i;:::-;6702:67;;;;6779:18;6791:5;6779:11;:18::i;:::-;-1:-1:-1;6814:9:232;6598:232;-1:-1:-1;;;;;6598:232:232:o;8704:203:40:-;-1:-1:-1;;;;;8824:14:40;;8764:15;8824:14;;;:7;:14;;;;;918::225;;1050:1;1032:19;;;;918:14;8883:17:40;8781:126;8704:203;;;:::o;447:696:230:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:230;-1:-1:-1;604:41:230;-1:-1:-1;765:28:230;;;781:2;765:28;820:280;-1:-1:-1;;851:5:230;-1:-1:-1;;;985:2:230;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:230;820:280;1064:21;-1:-1:-1;1120:6:230;447:696;-1:-1:-1;;;447:696:230:o;7120:126:198:-;7185:4;;7208:17;7217:7;7208:8;:17::i;:::-;-1:-1:-1;;;;;7208:31:198;;;;7120:126;-1:-1:-1;;7120:126:198:o;1213:263:144:-;1408:61;1435:4;1441:2;1445:12;1459:9;1408:26;:61::i;1482:277::-;1692:60;1718:4;1724:2;1728:12;1742:9;1692:25;:60::i;6530:1642:247:-;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:247;;6530:1642;-1:-1:-1;6530:1642:247:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;12470:433:223:-;12627:7;12646:230;12659:4;12653:3;:10;12646:230;;;12679:11;12693:23;12706:3;12711:4;12693:12;:23::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;12679:37;;-1:-1:-1;12734:35:223;;;;14047:28;;12734:29;;;:35;12730:136;;;12796:3;12789:10;;12730:136;;;12844:7;:3;12850:1;12844:7;:::i;:::-;12838:13;;12730:136;12665:211;12646:230;;;-1:-1:-1;12892:4:223;12470:433;-1:-1:-1;;;12470:433:223:o;1412:133:207:-;1494:7;1520:18;1530:7;1520:9;:18::i;7321:780:40:-;7421:2;-1:-1:-1;;;;;7413:10:40;:4;-1:-1:-1;;;;;7413:10:40;;;:24;;;;;7436:1;7427:6;:10;7413:24;7409:686;;;-1:-1:-1;;;;;7457:18:40;;;7453:315;;-1:-1:-1;;;;;7561:26:40;;7496:16;7561:26;;;:20;:26;;;;;7496:16;;7534:150;;7609:9;7640:26;7659:6;7640:18;:26::i;:::-;7534:5;:150::i;:::-;-1:-1:-1;;;;;7495:189:40;;;-1:-1:-1;;;;;7495:189:40;;;7728:4;-1:-1:-1;;;;;7707:46:40;;7734:8;7744;7707:46;;;;;;15737:25:310;;;15793:2;15778:18;;15771:34;15725:2;15710:18;;15563:248;7707:46:40;;;;;;;;7477:291;;7453:315;-1:-1:-1;;;;;7785:16:40;;;7781:304;;-1:-1:-1;;;;;7887:24:40;;7822:16;7887:24;;;:20;:24;;;;;7822:16;;7860:143;;7933:4;7959:26;7978:6;7959:18;:26::i;7860:143::-;-1:-1:-1;;;;;7821:182:40;;;-1:-1:-1;;;;;7821:182:40;;;8047:2;-1:-1:-1;;;;;8026:44:40;;8051:8;8061;8026:44;;;;;;15737:25:310;;;15793:2;15778:18;;15771:34;15725:2;15710:18;;15563:248;8026:44:40;;;;;;;;7803:282;;7321:780;;;:::o;2636:623:202:-;2711:7;6794:16:198;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:198;2873:19:202;;;;:49;;-1:-1:-1;;;;;;2896:26:202;;2873:49;2869:92;;;2945:5;2636:623;-1:-1:-1;;2636:623:202:o;2869:92::-;684:1:252;675:10;;;642:4;746:20;;;3150:15:202;746:20:252;;;;;;710:1;724:4;716:12;;710:19;746:27;3150:102:202;;3202:49;:20;3242:7;3202:32;:49::i;:::-;3150:102;;2059:405:228;2118:13;2143:11;2157:16;2168:4;2157:10;:16::i;:::-;2281:14;;;2292:2;2281:14;;;;;;;;;2143:30;;-1:-1:-1;2261:17:228;;2281:14;;;;;;;;;-1:-1:-1;;;2371:16:228;;;-1:-1:-1;2416:4:228;2407:14;;2400:28;;;;-1:-1:-1;2371:16:228;2059:405::o;13925:831:198:-;14074:4;-1:-1:-1;;;;;14094:13:198;;1702:19:220;:23;14090:660:198;;14129:71;;-1:-1:-1;;;14129:71:198;;-1:-1:-1;;;;;14129:36:198;;;;;:71;;734:10:224;;14180:4:198;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:198;;;;;;;;-1:-1:-1;;14129:71:198;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:198;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:198;-1:-1:-1;;;14250:51:198;;-1:-1:-1;14243:58:198;;14090:660;-1:-1:-1;14735:4:198;14728:11;;5009:1456:232;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:232;;-1:-1:-1;6123:30:232;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;16791:25:310;;;16864:4;16852:17;;16832:18;;;16825:45;;;;16886:18;;;16879:34;;;16929:18;;;16922:34;;;6276:24:232;;16763:19:310;;6276:24:232;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:232;;-1:-1:-1;;6276:24:232;;;-1:-1:-1;;;;;;;6314:20:232;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:232;;-1:-1:-1;5009:1456:232;;;;;;;;:::o;570:511::-;647:20;638:5;:29;;;;;;;;:::i;:::-;;634:441;;570:511;:::o;634:441::-;743:29;734:5;:38;;;;;;;;:::i;:::-;;730:345;;788:34;;-1:-1:-1;;;788:34:232;;17301:2:310;788:34:232;;;17283:21:310;17340:2;17320:18;;;17313:30;17379:26;17359:18;;;17352:54;17423:18;;788:34:232;17099:348:310;730:345:232;852:35;843:5;:44;;;;;;;;:::i;:::-;;839:236;;903:41;;-1:-1:-1;;;903:41:232;;17654:2:310;903:41:232;;;17636:21:310;17693:2;17673:18;;;17666:30;17732:33;17712:18;;;17705:61;17783:18;;903:41:232;17452:355:310;839:236:232;974:30;965:5;:39;;;;;;;;:::i;:::-;;961:114;;1020:44;;-1:-1:-1;;;1020:44:232;;18014:2:310;1020:44:232;;;17996:21:310;18053:2;18033:18;;;18026:30;18092:34;18072:18;;;18065:62;-1:-1:-1;;;18143:18:310;;;18136:32;18185:19;;1020:44:232;17812:398:310;10139:916:247;10192:7;;-1:-1:-1;;;10267:17:247;;10263:103;;-1:-1:-1;;;10304:17:247;;;-1:-1:-1;10349:2:247;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:247;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:247;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:247;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:247;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:247;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:247:o;1053:315:204:-;1685:7:164;;;;1304:9:204;1296:65;;;;-1:-1:-1;;;1296:65:204;;18417:2:310;1296:65:204;;;18399:21:310;18456:2;18436:18;;;18429:30;18495:34;18475:18;;;18468:62;-1:-1:-1;;;18546:18:310;;;18539:41;18597:19;;1296:65:204;18215:407:310;961:288:207;1131:41;1152:4;1158:2;1162:9;1131:20;:41::i;:::-;1182:60;1208:4;1214:2;1218:12;1232:9;1182:25;:60::i;8633:983:247:-;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:247:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:247;;588:104;-1:-1:-1;588:104:247:o;805:153::-;867:7;940:11;950:1;941:5;;;940:11;:::i;:::-;930:21;;931:5;;;930:21;:::i;2836:192:248:-;2893:7;-1:-1:-1;;;;;2920:26:248;;;2912:78;;;;-1:-1:-1;;;2912:78:248;;19051:2:310;2912:78:248;;;19033:21:310;19090:2;19070:18;;;19063:30;19129:34;19109:18;;;19102:62;-1:-1:-1;;;19180:18:310;;;19173:37;19227:19;;2912:78:248;18849:403:310;8107:274:40;8274:7;8283;8309:65;8320:26;8338:7;:5;:7::i;:::-;8320:26;;:17;:26::i;:::-;8348:25;8351:14;:5;:12;:14::i;:::-;8367:5;8348:2;:25;;:::i;:::-;8309:5;;:65;:10;:65::i;:::-;8302:72;;;;8107:274;;;;;;;:::o;14730:295:223:-;14842:24;;14809:7;;;14890:50;14842:4;14928:3;14809:7;14842:24;14890:18;:50::i;:::-;14876:64;;14964:3;14957;:10;:61;;13936:28;13999:20;;;14064:4;14051:18;;14047:28;;14974:44;-1:-1:-1;;;14974:44:223;;-1:-1:-1;;;;;14974:44:223;14957:61;;;14970:1;14957:61;14950:68;14730:295;-1:-1:-1;;;;;14730:295:223:o;2536:245:228:-;2597:7;2669:4;2633:40;;2696:2;2687:11;;2683:69;;;2721:20;;-1:-1:-1;;;2721:20:228;;;;;;;;;;;6836:399:40;-1:-1:-1;;;;;6939:18:40;;6935:107;;6973:58;6979:17;6998:4;7004:26;7023:6;7004:18;:26::i;6973:58::-;;;6935:107;-1:-1:-1;;;;;7055:16:40;;7051:110;;7087:63;7093:17;7112:9;7123:26;7142:6;7123:18;:26::i;7087:63::-;;;7051:110;-1:-1:-1;;;;;5213:20:40;;;5187:7;5213:20;;;:11;:20;;;;;;;;;;;;;;;7170:58;;5213:20;;;;;7221:6;7170:18;:58::i;5920:636:202:-;-1:-1:-1;;;;;6107:16:202;;;:86;;;;;6168:25;:23;:25::i;:::-;-1:-1:-1;;;;;6153:40:202;:12;:40;6107:86;:177;;;;-1:-1:-1;684:1:252;675:10;;;642:4;746:20;;;6251:15:202;746:20:252;;;;;;710:1;724:4;716:12;;710:19;746:27;:32;6107:177:202;6090:390;;;6360:9;6373:1;6360:14;6352:70;;;;-1:-1:-1;;;6352:70:202;;19459:2:310;6352:70:202;;;19441:21:310;19498:2;19478:18;;;19471:30;19537:34;19517:18;;;19510:62;-1:-1:-1;;;19588:18:310;;;19581:41;19639:19;;6352:70:202;19257:407:310;6352:70:202;1217:1:252;1208:10;;;1191:14;1272:20;;;6436:15:202;1272:20:252;;;;;:28;;1243:1;1257:4;1249:12;;1243:19;1272:28;;;6489:60:202;5189:276:198;6436:33:202;6489:60;5189:276:198;8063:162:223;8145:7;;8180:38;8188:4;8207:3;8212:5;8180:7;:38::i;19597:433::-;19754:7;19773:230;19786:4;19780:3;:10;19773:230;;;19806:11;19820:23;19833:3;19838:4;19820:12;:23::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;19806:37;;-1:-1:-1;;;;;;19861:35:223;;;14047:28;;19861:29;-1:-1:-1;;;;;19861:29:223;:35;19857:136;;;19922:7;:3;19928:1;19922:7;:::i;:::-;19916:13;;19857:136;;;19975:3;19968:10;;19857:136;19792:211;19773:230;;6562:198:202;6619:6;6638:11;6651:15;6672:39;:20;:37;:39::i;:::-;6637:74;;;;;6728:6;:25;;6752:1;6728:25;;;6737:12;:8;6748:1;6737:12;:::i;:::-;6721:32;;;;6562:198;:::o;11288:836:223:-;11421:11;;11379:7;;;;11447;;11443:675;;11522:25;11550:28;11564:4;11570:7;11576:1;11570:3;:7;:::i;11550:28::-;11522:56;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11522:56:223;;;;;;;-1:-1:-1;11656:16:223;;;-1:-1:-1;11656:16:223;11648:56;;;;-1:-1:-1;;;11648:56:223;;20064:2:310;11648:56:223;;;20046:21:310;20103:2;20083:18;;;20076:30;20142:29;20122:18;;;20115:57;20189:18;;11648:56:223;19862:351:310;11648:56:223;11768:9;;:16;;;;;;;11764:189;;11842:5;11804:28;11818:4;11824:7;11830:1;11824:3;:7;:::i;11804:28::-;:43;;-1:-1:-1;;;;;11804:43:223;;;;;;;;;;;;;;;;11764:189;;;11896:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;11896:41:223;;;;;;;;;;11886:52;;;;;;;-1:-1:-1;11886:52:223;;;;;;;;;;;;;;;;;;;;;;;;;11764:189;11974:11;;;;-1:-1:-1;11987:5:223;;-1:-1:-1;11966:27:223;;-1:-1:-1;11966:27:223;11443:675;-1:-1:-1;;12034:41:223;;;;;;;;;;;;;;;-1:-1:-1;;;;;12034:41:223;;;;;;;;;;12024:52;;;;;;;-1:-1:-1;12024:52:223;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12068:5:223;12090:17;;16884:388;17022:24;;16956:11;;;;;;17060:8;;;17056:210;;17092:5;17099:1;17102;17084:20;;;;;;;;;17056:210;17135:25;17163:41;17177:4;17196:7;17202:1;17196:3;:7;:::i;17163:41::-;17135:69;;;;;;;;;;;-1:-1:-1;;;;;17135:69:223;;;;;-1:-1:-1;;;17135:69:223;;;-1:-1:-1;;;;;17135:69:223;;;;;;;;;;-1:-1:-1;17135:69:223;-1:-1:-1;17135:69:223;-1:-1:-1;17218:37:223;;-1:-1:-1;;17218:37:223;16884:388;;;;;;:::o;14:131:310:-;-1:-1:-1;;;;;;88:32:310;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:310;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:310;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:310:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:310;;1348:180;-1:-1:-1;1348:180:310:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:310;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:310:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2875:186::-;2934:6;2987:2;2975:9;2966:7;2962:23;2958:32;2955:52;;;3003:1;3000;2993:12;2955:52;3026:29;3045:9;3026:29;:::i;3066:1259::-;3472:3;3467;3463:13;3455:6;3451:26;3440:9;3433:45;3414:4;3497:2;3535:3;3530:2;3519:9;3515:18;3508:31;3562:46;3603:3;3592:9;3588:19;3580:6;3562:46;:::i;:::-;3656:9;3648:6;3644:22;3639:2;3628:9;3624:18;3617:50;3690:33;3716:6;3708;3690:33;:::i;:::-;3754:2;3739:18;;3732:34;;;-1:-1:-1;;;;;3803:32:310;;3797:3;3782:19;;3775:61;3823:3;3852:19;;3845:35;;;3917:22;;;3911:3;3896:19;;3889:51;3989:13;;4011:22;;;4087:15;;;;-1:-1:-1;4049:15:310;;;;-1:-1:-1;4130:169:310;4144:6;4141:1;4138:13;4130:169;;;4205:13;;4193:26;;4274:15;;;;4239:12;;;;4166:1;4159:9;4130:169;;;-1:-1:-1;4316:3:310;;3066:1259;-1:-1:-1;;;;;;;;;;;;3066:1259:310:o;4531:347::-;4596:6;4604;4657:2;4645:9;4636:7;4632:23;4628:32;4625:52;;;4673:1;4670;4663:12;4625:52;4696:29;4715:9;4696:29;:::i;:::-;4686:39;;4775:2;4764:9;4760:18;4747:32;4822:5;4815:13;4808:21;4801:5;4798:32;4788:60;;4844:1;4841;4834:12;4788:60;4867:5;4857:15;;;4531:347;;;;;:::o;4883:127::-;4944:10;4939:3;4935:20;4932:1;4925:31;4975:4;4972:1;4965:15;4999:4;4996:1;4989:15;5015:1138;5110:6;5118;5126;5134;5187:3;5175:9;5166:7;5162:23;5158:33;5155:53;;;5204:1;5201;5194:12;5155:53;5227:29;5246:9;5227:29;:::i;:::-;5217:39;;5275:38;5309:2;5298:9;5294:18;5275:38;:::i;:::-;5265:48;;5360:2;5349:9;5345:18;5332:32;5322:42;;5415:2;5404:9;5400:18;5387:32;5438:18;5479:2;5471:6;5468:14;5465:34;;;5495:1;5492;5485:12;5465:34;5533:6;5522:9;5518:22;5508:32;;5578:7;5571:4;5567:2;5563:13;5559:27;5549:55;;5600:1;5597;5590:12;5549:55;5636:2;5623:16;5658:2;5654;5651:10;5648:36;;;5664:18;;:::i;:::-;5739:2;5733:9;5707:2;5793:13;;-1:-1:-1;;5789:22:310;;;5813:2;5785:31;5781:40;5769:53;;;5837:18;;;5857:22;;;5834:46;5831:72;;;5883:18;;:::i;:::-;5923:10;5919:2;5912:22;5958:2;5950:6;5943:18;5998:7;5993:2;5988;5984;5980:11;5976:20;5973:33;5970:53;;;6019:1;6016;6009:12;5970:53;6075:2;6070;6066;6062:11;6057:2;6049:6;6045:15;6032:46;6120:1;6115:2;6110;6102:6;6098:15;6094:24;6087:35;6141:6;6131:16;;;;;;;5015:1138;;;;;;;:::o;6158:618::-;6260:6;6268;6276;6284;6292;6300;6353:3;6341:9;6332:7;6328:23;6324:33;6321:53;;;6370:1;6367;6360:12;6321:53;6393:29;6412:9;6393:29;:::i;:::-;6383:39;;6469:2;6458:9;6454:18;6441:32;6431:42;;6520:2;6509:9;6505:18;6492:32;6482:42;;6574:2;6563:9;6559:18;6546:32;6618:4;6611:5;6607:16;6600:5;6597:27;6587:55;;6638:1;6635;6628:12;6587:55;6158:618;;;;-1:-1:-1;6158:618:310;;6713:3;6698:19;;6685:33;;6765:3;6750:19;;;6737:33;;-1:-1:-1;6158:618:310;-1:-1:-1;;6158:618:310:o;6781:260::-;6849:6;6857;6910:2;6898:9;6889:7;6885:23;6881:32;6878:52;;;6926:1;6923;6916:12;6878:52;6949:29;6968:9;6949:29;:::i;:::-;6939:39;;6997:38;7031:2;7020:9;7016:18;6997:38;:::i;:::-;6987:48;;6781:260;;;;;:::o;7046:380::-;7125:1;7121:12;;;;7168;;;7189:61;;7243:4;7235:6;7231:17;7221:27;;7189:61;7296:2;7288:6;7285:14;7265:18;7262:38;7259:161;;7342:10;7337:3;7333:20;7330:1;7323:31;7377:4;7374:1;7367:15;7405:4;7402:1;7395:15;8263:409;8465:2;8447:21;;;8504:2;8484:18;;;8477:30;8543:34;8538:2;8523:18;;8516:62;-1:-1:-1;;;8609:2:310;8594:18;;8587:43;8662:3;8647:19;;8263:409::o;11266:496::-;11445:3;11483:6;11477:13;11499:66;11558:6;11553:3;11546:4;11538:6;11534:17;11499:66;:::i;:::-;11628:13;;11587:16;;;;11650:70;11628:13;11587:16;11697:4;11685:17;;11650:70;:::i;:::-;11736:20;;11266:496;-1:-1:-1;;;;11266:496:310:o;11767:127::-;11828:10;11823:3;11819:20;11816:1;11809:31;11859:4;11856:1;11849:15;11883:4;11880:1;11873:15;11899:185;-1:-1:-1;;;;;12020:10:310;;;12008;;;12004:27;;12043:12;;;12040:38;;;12058:18;;:::i;:::-;12040:38;11899:185;;;;:::o;12089:182::-;-1:-1:-1;;;;;12196:10:310;;;12208;;;12192:27;;12231:11;;;12228:37;;;12245:18;;:::i;12276:401::-;12478:2;12460:21;;;12517:2;12497:18;;;12490:30;12556:34;12551:2;12536:18;;12529:62;-1:-1:-1;;;12622:2:310;12607:18;;12600:35;12667:3;12652:19;;12276:401::o;13494:128::-;13561:9;;;13582:11;;;13579:37;;;13596:18;;:::i;13627:125::-;13692:9;;;13713:10;;;13710:36;;;13726:18;;:::i;14518:414::-;14720:2;14702:21;;;14759:2;14739:18;;;14732:30;14798:34;14793:2;14778:18;;14771:62;-1:-1:-1;;;14864:2:310;14849:18;;14842:48;14922:3;14907:19;;14518:414::o;14937:127::-;14998:10;14993:3;14989:20;14986:1;14979:31;15029:4;15026:1;15019:15;15053:4;15050:1;15043:15;15816:489;-1:-1:-1;;;;;16085:15:310;;;16067:34;;16137:15;;16132:2;16117:18;;16110:43;16184:2;16169:18;;16162:34;;;16232:3;16227:2;16212:18;;16205:31;;;16010:4;;16253:46;;16279:19;;16271:6;16253:46;:::i;:::-;16245:54;15816:489;-1:-1:-1;;;;;;15816:489:310:o;16310:249::-;16379:6;16432:2;16420:9;16411:7;16407:23;16403:32;16400:52;;;16448:1;16445;16438:12;16400:52;16480:9;16474:16;16499:30;16523:5;16499:30;:::i;16967:127::-;17028:10;17023:3;17019:20;17016:1;17009:31;17059:4;17056:1;17049:15;17083:4;17080:1;17073:15;18627:217;18667:1;18693;18683:132;;18737:10;18732:3;18728:20;18725:1;18718:31;18772:4;18769:1;18762:15;18800:4;18797:1;18790:15;18683:132;-1:-1:-1;18829:9:310;;18627:217::o;19669:188::-;-1:-1:-1;;;;;19782:10:310;;;19794;;;19778:27;;19817:11;;;19814:37;;;19831:18;;:::i","linkReferences":{},"immutableReferences":{"34893":[{"start":3748,"length":32}],"34895":[{"start":3706,"length":32}],"34897":[{"start":3664,"length":32}],"34899":[{"start":3829,"length":32}],"34901":[{"start":3869,"length":32}],"34904":[{"start":2159,"length":32}],"34907":[{"start":2202,"length":32}]}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","clock()":"91ddadf4","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getApproved(uint256)":"081812fc","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","nonces(address)":"7ecebe00","ownerOf(uint256)":"6352211e","paused()":"5c975abb","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"delegates\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"receivers\",\"type\":\"address[]\"},{\"internalType\":\"uint96[]\",\"name\":\"amounts\",\"type\":\"uint96[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"ConsecutiveTransfer(uint256,uint256,address,address)\":{\"details\":\"Emitted when the tokens from `fromTokenId` to `toTokenId` are transferred from `fromAddress` to `toAddress`.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the contract's {EIP712} domain separator.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"nonces(address)\":{\"details\":\"Returns an address nonce.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"title\":\"ERC721ConsecutiveMock\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol\":\"ERC721ConsecutiveMock\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol\":{\"keccak256\":\"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec\",\"dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol\":{\"keccak256\":\"0x769b8c97e7ceca35514f85dcf77ea7e9da1c9a3b3b9c119dda811cd8394aa601\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://113df79cc1cae24c055be91b41febfa2dbb28089c969547f7ca3ca5d23d308f6\",\"dweb:/ipfs/QmTwrtF69W9G3t9VbUjF6P1m6jNW4dh6y3kE5vQqUdsSnr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol\":{\"keccak256\":\"0x8b7e4876f9fcf22039f3b11976a49ed6bf5c19580619a8c65e0ee9ebbee760c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5516d300515bbc1c845946ee4589df8ed7ca33435f75b19235d97eaf03cfe0fd\",\"dweb:/ipfs/Qmct1h2rbqTzQJWyU3uf1puiwskUheBWttCRZpBN9ki3ik\"]},\"lib/openzeppelin-contracts/contracts/security/Pausable.sol\":{\"keccak256\":\"0x0849d93b16c9940beb286a7864ed02724b248b93e0d80ef6355af5ef15c64773\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ddabb16009cd17eaca3143feadf450ac13e72919ebe2ca50e00f61cb78bc004\",\"dweb:/ipfs/QmSPwPxX7d6TTWakN5jy5wsaGkS1y9TW8fuhGSraMkLk2B\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol\":{\"keccak256\":\"0xf0a85be34cb519afb99f153c45c905fbae17fa93c798d5d7ea08a0e98f20ac1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a83c25f8c1d4f727d993157e034c01e8ca68451033e0e75d8d3545f87fea678\",\"dweb:/ipfs/QmbegJMFm6kva4BaHGUv1E4URTo57S1yf7ZimNeDqCntaF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol\":{\"keccak256\":\"0x645230d3afe28f9108eef658e77bb6ac72cea51ac091b40951977c88f7044142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9be3653b7c267854fe82463f1e2650ff25c428f7c5526965ec5f57ffadead8ef\",\"dweb:/ipfs/QmPYTo2h2GEynxCvKsG6EffDJMrNkUcrEYgycrCtzUk7Kx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol\":{\"keccak256\":\"0xcff123b20aefb9514e523f287d76ef80e2698e1ef93b1832a9c771f75c89d1c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ddd49b3f2ce68056fdb59826ba356b8d1b0d98e847c065f9b8d5d484133bcf1\",\"dweb:/ipfs/QmPurnXbXb6RBVYhh3bFTvd9CwLKs4ZkhSAE2Az68iWrsP\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol\":{\"keccak256\":\"0x73fda7d6b96b657acbf36817a64ad875a601747798725b0aa68f8652f72dbe29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0779655d6b2a1f83a8624a65139410525890fa6320f1bf84e2593ba255b9ef81\",\"dweb:/ipfs/QmPDn1wdShJxaHUk3WQC2jD5drWoCerHoknTGNV6v1vA2T\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol\":{\"keccak256\":\"0xac946730f979a447732a5bed58aa30c995ae666c3e1663b312ab5fd11dbe3eb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f6d9467f83ad116296f5d3f16734fa997cf333a6bc57b494b9d4771e7618fa6\",\"dweb:/ipfs/QmS5T3j2ijQQXv9QtQGMngekqdSRJSad4VEyeszRwDurMS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address[]","name":"delegates","type":"address[]"},{"internalType":"address[]","name":"receivers","type":"address[]"},{"internalType":"uint96[]","name":"amounts","type":"uint96[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"fromAddress","type":"address","indexed":true},{"internalType":"address","name":"toAddress","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Paused","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Unpaused","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Machine-readable description of the clock as specified in EIP-6372."},"DOMAIN_SEPARATOR()":{"details":"Returns the contract's {EIP712} domain separator."},"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match."},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"nonces(address)":{"details":"Returns an address nonce."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"paused()":{"details":"Returns true if the contract is paused, and false otherwise."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol":"ERC721ConsecutiveMock"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol":{"keccak256":"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7","urls":["bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec","dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol":{"keccak256":"0x769b8c97e7ceca35514f85dcf77ea7e9da1c9a3b3b9c119dda811cd8394aa601","urls":["bzz-raw://113df79cc1cae24c055be91b41febfa2dbb28089c969547f7ca3ca5d23d308f6","dweb:/ipfs/QmTwrtF69W9G3t9VbUjF6P1m6jNW4dh6y3kE5vQqUdsSnr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol":{"keccak256":"0x8b7e4876f9fcf22039f3b11976a49ed6bf5c19580619a8c65e0ee9ebbee760c5","urls":["bzz-raw://5516d300515bbc1c845946ee4589df8ed7ca33435f75b19235d97eaf03cfe0fd","dweb:/ipfs/Qmct1h2rbqTzQJWyU3uf1puiwskUheBWttCRZpBN9ki3ik"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/Pausable.sol":{"keccak256":"0x0849d93b16c9940beb286a7864ed02724b248b93e0d80ef6355af5ef15c64773","urls":["bzz-raw://4ddabb16009cd17eaca3143feadf450ac13e72919ebe2ca50e00f61cb78bc004","dweb:/ipfs/QmSPwPxX7d6TTWakN5jy5wsaGkS1y9TW8fuhGSraMkLk2B"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol":{"keccak256":"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff","urls":["bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005","dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol":{"keccak256":"0xf0a85be34cb519afb99f153c45c905fbae17fa93c798d5d7ea08a0e98f20ac1c","urls":["bzz-raw://4a83c25f8c1d4f727d993157e034c01e8ca68451033e0e75d8d3545f87fea678","dweb:/ipfs/QmbegJMFm6kva4BaHGUv1E4URTo57S1yf7ZimNeDqCntaF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol":{"keccak256":"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3","urls":["bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a","dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol":{"keccak256":"0x645230d3afe28f9108eef658e77bb6ac72cea51ac091b40951977c88f7044142","urls":["bzz-raw://9be3653b7c267854fe82463f1e2650ff25c428f7c5526965ec5f57ffadead8ef","dweb:/ipfs/QmPYTo2h2GEynxCvKsG6EffDJMrNkUcrEYgycrCtzUk7Kx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol":{"keccak256":"0xcff123b20aefb9514e523f287d76ef80e2698e1ef93b1832a9c771f75c89d1c2","urls":["bzz-raw://0ddd49b3f2ce68056fdb59826ba356b8d1b0d98e847c065f9b8d5d484133bcf1","dweb:/ipfs/QmPurnXbXb6RBVYhh3bFTvd9CwLKs4ZkhSAE2Az68iWrsP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol":{"keccak256":"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf","urls":["bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34","dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol":{"keccak256":"0x73fda7d6b96b657acbf36817a64ad875a601747798725b0aa68f8652f72dbe29","urls":["bzz-raw://0779655d6b2a1f83a8624a65139410525890fa6320f1bf84e2593ba255b9ef81","dweb:/ipfs/QmPDn1wdShJxaHUk3WQC2jD5drWoCerHoknTGNV6v1vA2T"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol":{"keccak256":"0xac946730f979a447732a5bed58aa30c995ae666c3e1663b312ab5fd11dbe3eb6","urls":["bzz-raw://4f6d9467f83ad116296f5d3f16734fa997cf333a6bc57b494b9d4771e7618fa6","dweb:/ipfs/QmS5T3j2ijQQXv9QtQGMngekqdSRJSad4VEyeszRwDurMS"],"license":"MIT"}},"version":1},"id":144}
|