@superfluid-finance/sdk-core 0.9.1-dev.ec5998d.0 → 0.9.1-dev.f267b49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.umd.js +156 -137
- package/dist/main/typechain-types/contracts/agreements/InstantDistributionAgreementV1.d.ts +9 -1
- package/dist/main/typechain-types/contracts/agreements/InstantDistributionAgreementV1.d.ts.map +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts.map +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js.map +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +34 -4
- package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts.map +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +43 -5
- package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js.map +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.d.ts +12 -0
- package/dist/main/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.d.ts.map +1 -1
- package/dist/main/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.js +15 -0
- package/dist/main/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.js.map +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
- package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
- package/dist/module/typechain-types/contracts/agreements/InstantDistributionAgreementV1.d.ts +9 -1
- package/dist/module/typechain-types/contracts/agreements/InstantDistributionAgreementV1.d.ts.map +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts.map +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js.map +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +34 -4
- package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts.map +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +44 -6
- package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js.map +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.d.ts +12 -0
- package/dist/module/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.d.ts.map +1 -1
- package/dist/module/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.js +15 -0
- package/dist/module/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.js.map +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
- package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
- package/package.json +4 -5
|
@@ -2358,7 +2358,7 @@ const _abi = [
|
|
|
2358
2358
|
type: "function",
|
|
2359
2359
|
},
|
|
2360
2360
|
];
|
|
2361
|
-
const _bytecode = "0x60e060405234801561000f575f5ffd5b50604051615c24380380615c2483398101604081905261002e91610089565b6001600160a01b03808316608052811660c08190526040517feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e6905f90a250506100c1565b6001600160a01b0381168114610086575f5ffd5b50565b5f5f6040838503121561009a575f5ffd5b82516100a581610072565b60208401519092506100b681610072565b809150509250929050565b60805160a05160c051615a916101935f395f6108ad01525f610a4001525f818161052501528181610d3701528181610da6015281816110bb0152818161114801528181611273015281816113ea015281816115a7015281816117a4015281816117fa0152818161189b0152818161198e01528181611ad201528181611c7c01528181611e6c015281816122ed0152818161239b0152818161262d015281816126f201528181612759015281816127df0152818161319c015281816132310152818161450401526148490152615a915ff3fe608060405234801561000f575f5ffd5b5060043610610443575f3560e01c806370a0823111610237578063c67a8c1b11610135578063dd62ed3e116100bf578063f5a8b4dd11610084578063f5a8b4dd14610a3b578063fad8b32a14610a62578063fc673c4f14610a75578063fe9d930314610a88578063ffa1ad7414610a9b575f5ffd5b8063dd62ed3e146109a0578063e729804b146109d8578063eb3537cc146109e9578063ec0d634314610a17578063ee719bc814610a2a575f5ffd5b8063ca78946411610105578063ca78946414610941578063cf97256d14610954578063d505accf14610967578063d95b63711461097a578063d9d078d61461098d575f5ffd5b8063c67a8c1b146108f5578063c68d428314610908578063c780fd821461091b578063ca0c1e7f1461092e575f5ffd5b80639903ad38116101c1578063a457c2d711610186578063a457c2d714610882578063a9059cbb14610895578063b20db1ac146108a8578063b84cdd4a146108cf578063bb0d196e146108e2575f5ffd5b80639903ad381461082e5780639bd9bbc6146108365780639d87674114610849578063a1b2bf8b1461085c578063a3a7e7f31461086f575f5ffd5b806384b0196e1161020757806384b0196e146107d35780638f283970146107ee57806392081a4714610801578063959b8c3f1461081357806395d89b4114610826575f5ffd5b806370a082311461077257806379359f6f146107855780637ecebe001461079857806383ba2525146107c0575f5ffd5b8063386fa221116103445780634b61cc33116102ce57806362aa52871161029357806362aa52871461071e57806362ad1b831461073157806366a12fb6146107445780636c2d9f2f146107575780636e9960c31461076a575f5ffd5b80634b61cc33146106b657806350d75d25146106d657806352d1902d146106de578063556f0dc7146107045780635b9d09cc1461070b575f5ffd5b806345977d031161031457806345977d0314610662578063469519541461067557806347ba7ad1146106885780634a3acda01461069b5780634b2763b3146106a3575f5ffd5b8063386fa22114610616578063395093511461062957806341b706be1461063c57806342fe09801461064f575f5ffd5b80631ae88ffc116103d0578063282a050b11610395578063282a050b146105965780632ec8eec7146105be578063313ce567146105f15780633644e51514610606578063370a190f1461060e575f5ffd5b80631ae88ffc1461051057806320bc44251461052357806323b872dd1461055d578063245887fc146105705780632704839714610583575f5ffd5b806311bcc81e1161041657806311bcc81e146104b257806312a6a3f8146104c557806316d055d6146104d857806318160ddd146104eb5780631863e809146104fd575f5ffd5b806306e485381461044757806306fdde0314610465578063090c415e1461047a578063095ea7b31461048f575b5f5ffd5b61044f610abf565b60405161045c91906149a8565b60405180910390f35b61046d610ad0565b60405161045c9190614a21565b61048d610488366004614a8e565b610b60565b005b6104a261049d366004614ae5565b610c11565b604051901515815260200161045c565b61048d6104c0366004614b0f565b610c27565b61048d6104d3366004614b26565b610c54565b61048d6104e6366004614b6d565b610d35565b6003545b60405190815260200161045c565b61048d61050b366004614c77565b610d91565b61048d61051e366004614d03565b6110b9565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161045c565b6104a261056b366004614d03565b611131565b61048d61057e366004614ae5565b611146565b61048d610591366004614d41565b6111bd565b6105a96105a4366004614b0f565b611259565b6040805192835260208301919091520161045c565b6105d16105cc366004614d61565b61126d565b60408051948552602085019390935291830152606082015260800161045c565b60125b60405160ff909116815260200161045c565b6104ef61130c565b61048d6113ba565b61044f610624366004614d61565b611574565b6104a2610637366004614ae5565b611612565b61048d61064a366004614b6d565b61164d565b61048d61065d366004614dce565b611679565b61048d610670366004614b0f565b61174a565b61048d610683366004614d61565b611774565b61048d610696366004614d03565b6117f8565b61048d61186b565b61048d6106b1366004614d03565b61198c565b6106c96106c4366004614e5e565b611a0d565b60405161045c9190614ea1565b610545611a51565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104ef565b60016104ef565b61048d610719366004614ed8565b611a7a565b61048d61072c366004614d03565b611ad0565b61048d61073f366004614f23565b611b24565b61048d610752366004614d03565b611bd0565b6106c9610765366004614fbe565b611bf0565b610545611c31565b6104ef610780366004614d61565b611c47565b6104a2610793366004614d61565b611c75565b6104ef6107a6366004614d61565b6001600160a01b03165f9081526016602052604090205490565b61048d6107ce366004614ae5565b611cfa565b6107db611d24565b60405161045c9796959493929190614ff0565b61048d6107fc366004614d61565b611e3c565b600e54600160a01b900460ff166105f4565b61048d610821366004614d61565b611f2a565b61046d611f7b565b61048d611f8a565b61048d610844366004614ed8565b612046565b61048d610857366004615086565b612099565b61048d61086a366004614b26565b61215a565b61048d61087d366004614d61565b612202565b6104a2610890366004614ae5565b612216565b6104a26108a3366004614ae5565b61228d565b6105457f000000000000000000000000000000000000000000000000000000000000000081565b6104a26108dd366004614ae5565b61229a565b6104a26108f0366004614d61565b6122e6565b61048d610903366004614d61565b61236b565b61048d610916366004615086565b6125a7565b61048d610929366004614d03565b61262b565b61048d61093c3660046150da565b6126f0565b61048d61094f366004614ae5565b612757565b61048d610962366004614ae5565b6127ca565b61048d610975366004615141565b6128af565b6104a261098836600461518e565b612a08565b6104a261099b366004614ae5565b612a15565b6104ef6109ae36600461518e565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b6017546001600160a01b0316610545565b6109fc6109f7366004614ae5565b612a2d565b6040805193845260208401929092529082015260600161045c565b61048d610a253660046151c5565b612b5a565b600e546001600160a01b0316610545565b6105457f000000000000000000000000000000000000000000000000000000000000000081565b61048d610a70366004614d61565b612c2b565b61048d610a83366004615268565b612c7c565b61048d610a963660046152a9565b612d1b565b61046d604051806040016040528060058152602001640312e302e360dc1b81525081565b6060610acb6012612d6b565b905090565b6060600f8054610adf906152e3565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0b906152e3565b8015610b565780601f10610b2d57610100808354040283529160200191610b56565b820191905f5260205f20905b815481529060010190602001808311610b3957829003601f168201915b5050505050905090565b5f338585604051602001610b769392919061531b565b604051602081830303815290604052805190602001209050610bca818484808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b5f610c1d338484612e04565b5060015b92915050565b610c513333338460405180602001604052805f81525060405180602001604052805f815250612e11565b50565b60405133905f90610c6b9083908790602001615364565b60408051601f1981840301815291905280516020909101209050610c8f8184612ffc565b15610cad5760405163782a90fb60e11b815260040160405180910390fd5b610ce9818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610d26939291906153a1565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d7e5760405163c51efddd60e01b815260040160405180910390fd5b610d8a8484848461302e565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610df3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1791906153e0565b610e345760405163327fd99160e21b815260040160405180910390fd5b5f610e3d613198565b90506001600160a01b038116610e505750845b5f85610e5c5786610e5e565b815b90505f8313610f2857610e708361540f565b610e79856132d8565b14610e8657610e86615429565b610e8f846132d8565b6001600160a01b0382165f9081526002602052604081208054909190610eb690849061543d565b90915550506001600160a01b0385165f9081526002602052604081208054859290610ee290849061543d565b92505081905550806001600160a01b0316856001600160a01b03165f516020615a3c5f395f51905f5286604051610f1b91815260200190565b60405180910390a3611051565b8515610f3657610f36615429565b82610f40856132d8565b610f4a919061543d565b6001600160a01b0383165f9081526002602052604081208054909190610f71908490615464565b90915550610f809050846132d8565b6001600160a01b0388165f9081526002602052604081208054909190610fa790849061543d565b90915550506001600160a01b0385165f9081526002602052604081208054859290610fd390849061543d565b92505081905550866001600160a01b0316826001600160a01b03165f516020615a3c5f395f51905f528660405161100c91815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03165f516020615a3c5f395f51905f5261103f86613308565b60405190815260200160405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110a6959493929190615483565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146111025760405163c51efddd60e01b815260040160405180910390fd5b61112c3384848460405180602001604052805f81525060405180602001604052805f81525061332d565b505050565b5f61113e3385858561302e565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461118f5760405163c51efddd60e01b815260040160405180910390fd5b6111b93383848460405180602001604052805f81525060405180602001604052805f815250612e11565b5050565b60405133905f906111d49083908690602001615364565b6040516020818303038152906040528051906020012090506111f68184612ffc565b6112135760405163dae1880960e01b815260040160405180910390fd5b61121d818461350c565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b906020015b60405180910390a250505050565b5f5f61126483613523565b91509150915091565b5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f191906154c0565b90506112fd8582612a2d565b91979096509094509092509050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600f60405161133d91906154d7565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f6113d05f516020615a1c5f395f51905f525490565b90505f6001600160a01b038216156113e8578161140a565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461143557604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b031661148a5760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b60448201526064015b60405180910390fd5b6017546001600160a01b031660015f805c60ff19168217905d506017546040805160048152602481019091526020810180516001600160e01b03166372e6c5b560e11b1790526114e3916001600160a01b0316906135de565b5f60ff19815c16815d506017546040805160048152602481019091526020810180516001600160e01b0316632f2770db60e01b17905261152c916001600160a01b0316906135de565b601780546001600160a01b03191690556040516001600160a01b038216907f2486b5241145ce1b97a13655ecd4e8e51094ac93259a0589d24524304d6d70d4905f90a2505050565b6001600160a01b038181165f908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d906024015f60405180830381865afa1580156115eb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c219190810190615548565b335f8181526011602090815260408083206001600160a01b03871684529091528120549091610c1d9185906116489086906155ef565b612e04565b33301461166d57604051630fff4cc960e31b815260040160405180910390fd5b610d8a8385848461302e565b5f54610100900460ff161580801561169757505f54600160ff909116105b806116b05750303b1580156116b057505f5460ff166001145b6116cc5760405162461bcd60e51b815260040161148190615602565b5f805460ff1916600117905580156116ed575f805461ff0019166101001790555b6116fc8787878787875f613648565b8015611741575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610c513333338460405180602001604052805f81525060405180602001604052805f81525061332d565b5f61178a5f516020615a1c5f395f51905f525490565b90505f6001600160a01b038216156117a257816117c4565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146117ef57604051630484acab60e01b815260040160405180910390fd5b61112c8361370c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146118415760405163c51efddd60e01b815260040160405180910390fd5b61112c3384848460405180602001604052805f81525060405180602001604052805f815250612e11565b5f6118815f516020615a1c5f395f51905f525490565b90505f6001600160a01b0382161561189957816118bb565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146118e657604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03166119365760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b6044820152606401611481565b6017546003546040516111b9926001600160a01b03169161195d9160240190815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316632c34606360e21b1790526135de565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146119d55760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f9081526011602090815260408083209386168352929052205461112c90849084906116489085906155ef565b60605f858585604051602001611a259392919061531b565b604051602081830303815290604052805190602001209050611a478184613943565b9695505050505050565b5f610acb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b611aca3333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040805160208101909152908152925061332d915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611b195760405163c51efddd60e01b815260040160405180910390fd5b61112c838383612e04565b33611b316012828a6139c8565b611b4e5760405163f7f0222760e01b815260040160405180910390fd5b611bc68189898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f9201919091525060019250613a6d915050565b5050505050505050565b333014611b1957604051630fff4cc960e31b815260040160405180910390fd5b60605f8484604051602001611c06929190615364565b604051602081830303815290604052805190602001209050611c288184613943565b95945050505050565b5f610acb5f516020615a1c5f395f51905f525490565b5f5f611c528361126d565b50505090505f8112611c6c57611c6781613308565b611c6e565b5f5b9392505050565b5f610c21827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cd6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099b91906154c0565b6111b93333848460405180602001604052805f81525060405180602001604052805f815250612e11565b5f6060805f5f5f6060600f604051806040016040528060018152602001603160f81b81525046305f5f1b5f6001600160401b03811115611d6657611d66614bbb565b604051908082528060200260200182016040528015611d8f578160200160208202803683370190505b50600f60f81b959493929190858054611da7906152e3565b80601f0160208091040260200160405190810160405280929190818152602001828054611dd3906152e3565b8015611e1e5780601f10611df557610100808354040283529160200191611e1e565b820191905f5260205f20905b815481529060010190602001808311611e0157829003601f168201915b50505050509550965096509650965096509650965090919293949596565b5f611e525f516020615a1c5f395f51905f525490565b90505f6001600160a01b03821615611e6a5781611e8c565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b03821614611eb757604051630484acab60e01b815260040160405180910390fd5b5f611ecd5f516020615a1c5f395f51905f525490565b9050611ee4845f516020615a1c5f395f51905f5255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611f3760128284613ae6565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610adf906152e3565b5f54610100900460ff1615808015611fa857505f54600160ff909116105b80611fc15750303b158015611fc157505f5460ff166001145b611fdd5760405162461bcd60e51b815260040161148190615602565b5f805460ff191660011790558015611ffe575f805461ff0019166101001790555b8015610c51575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b611aca3333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040805160208101909152908152925060019150613a6d9050565b3330146120b957604051630fff4cc960e31b815260040160405180910390fd5b8051604080515f8152602081019091526120de91339186918691901515908690613be7565b6017546001600160a01b03161561112c5760015f805c60ff19168217905d506017546040516024810184905261214b916001600160a01b0316906044015b60408051601f198184030181529190526020810180516001600160e01b0316632e1a7d4d60e01b1790526135de565b5f60ff19815c16815d50505050565b60405133905f906121719083908790602001615364565b6040516020818303038152906040528051906020012090506121c5818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610d26939291906153a1565b6111b933338361221133611c47565b61302e565b335f9081526011602090815260408083206001600160a01b03861684529091528120548211156122585760405162461bcd60e51b815260040161148190615650565b335f8181526011602090815260408083206001600160a01b0388168452909152902054610c1d9190859061164890869061569a565b5f611c6e3333858561302e565b5f5f5f5f6122a88686612a2d565b9250925092505f6122ce8284116122bf575f6132d8565b6122c9838561569a565b6132d8565b6122d8908561543d565b5f1315979650505050505050565b5f610c21827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015612347573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108dd91906154c0565b5f6123815f516020615a1c5f395f51905f525490565b90505f6001600160a01b0382161561239957816123bb565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146123e657604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03161561243f5760405162461bcd60e51b815260206004820152601960248201527f7969656c64206261636b656e6420616c726561647920736574000000000000006044820152606401611481565b601780546001600160a01b0385166001600160a01b031990911681179091556040805160048152602481019091526020810180516001600160e01b031663a3907d7160e01b17905261249191906135de565b600e545f906001600160a01b03161561251357600e546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156124ea573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061250e91906154c0565b612515565b475b60175460405160248101839052919250612568916001600160a01b03909116906044015b60408051601f198184030181529190526020810180516001600160e01b031663b6b55f2560e01b1790526135de565b6017546040518281526001600160a01b03909116907f8d15dd569157df615aedb4b16273001ae8980ce2aac93e39adc48481dfaefbb59060200161124b565b3330146125c757604051630fff4cc960e31b815260040160405180910390fd5b60ff5f5c1661112c576017546001600160a01b0316156126045760175460405160248101849052612604916001600160a01b031690604401612539565b8051604080515f81526020810190915261112c913391869186919015159081908790613cb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146126745760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f908152601160209081526040808320938616835292905220548111156126b85760405162461bcd60e51b815260040161148190615650565b6001600160a01b038084165f9081526011602090815260408083209386168352929052205461112c908490849061164890859061569a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127395760405163c51efddd60e01b815260040160405180910390fd5b611aca338585858560405180602001604052805f8152506001613a6d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127a05760405163c51efddd60e01b815260040160405180910390fd5b6111b93383848460405180602001604052805f81525060405180602001604052805f81525061332d565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa15801561282c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285091906153e0565b61286d5760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b0382165f9081526002602052604090205461289090829061543d565b6001600160a01b039092165f9081526002602052604090209190915550565b834211156128d357604051636e72b90f60e01b815260048101859052602401611481565b6001600160a01b0387165f90815260166020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a91908661291f836156ad565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61297c61130c565b60405161190160f01b81526002810182905260228101849052604290209091505f6129a982888888613d7c565b90508a6001600160a01b0316816001600160a01b0316146129f05760405163b642210560e01b81526001600160a01b0380831660048301528c166024820152604401611481565b6129fb8b8b8b612e04565b5050505050505050505050565b5f611c6e601284846139c8565b5f5f612a218484612a2d565b50505f13949350505050565b6001600160a01b0382165f90815260026020526040812054908080612a5186611574565b90505f5b8151811015612b51575f5f5f848481518110612a7357612a736156c5565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612ad0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af491906156d9565b91945092509050612b0582886155ef565b9650612b1181876155ef565b9550612b2d818311612b23575f6132d8565b6122c9828461569a565b612b37848a61543d565b612b419190615464565b9750505050806001019050612a55565b50509250925092565b5f54610100900460ff1615808015612b7857505f54600160ff909116105b80612b915750303b158015612b9157505f5460ff166001145b612bad5760405162461bcd60e51b815260040161148190615602565b5f805460ff191660011790558015612bce575f805461ff0019166101001790555b612bdd88888888888888613648565b8015611bc6575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612c3860128284613da8565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b33612c89601282896139c8565b612ca65760405163f7f0222760e01b815260040160405180910390fd5b6117418188898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f92019190915250612e1192505050565b61112c3333338686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525060408051602081019091529081529250612e11915050565b6060815f01805480602002602001604051908101604052809291908181526020018280548015612dc257602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612da4575b50505050509050919050565b5f5b815181101561112c575f828281518110612dec57612dec6156c5565b60209081029190910101518483015550600101612dd0565b61112c8383836001613e9d565b600e546001600160a01b0316612e3a57604051637bce7b2b60e11b815260040160405180910390fd5b5f5f612e4585613523565b91509150612e5b88888387515f14158888613be7565b6017546001600160a01b031615612e8f5760175460405160248101849052612e8f916001600160a01b03169060440161211c565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612ed5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ef991906154c0565b600e54909150612f13906001600160a01b03168885613f6b565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612f59573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f7d91906154c0565b90505f612f8a828461569a565b9050808514612fac57604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d85604051612fe791815260200190565b60405180910390a25050505050505050505050565b5f805b828110156130255783810154801561301c57600192505050610c21565b50600101612fff565b505f9392505050565b5f6001600160a01b0384166130565760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b03831661307d5760405163e219bd3960e01b815260040160405180910390fd5b5f3390506130ab8186868660405180602001604052805f81525060405180602001604052805f815250613fa0565b846001600160a01b0316866001600160a01b03161461318c576001600160a01b038086165f908152601160209081526040808320938a168352929052205483111561314e5760405162461bcd60e51b815260206004820152602d60248201527f5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636560448201526c65647320616c6c6f77616e636560981b6064820152608401611481565b6001600160a01b038086165f908152601160209081526040808320938a168352929052205461318c908690889061318690879061569a565b5f613e9d565b50600195945050505050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131f6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061321a9190615704565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156132ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132d29190615704565b91505090565b5f6001600160ff1b038211156133045760405163123baf0360e11b815260048101839052602401611481565b5090565b5f5f82121561330457604051635467221960e11b815260048101839052602401611481565b600e546001600160a01b031661335657604051637bce7b2b60e11b815260040160405180910390fd5b5f5f61336185613523565b600e546040516370a0823160e01b81523060048201529294509092505f916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156133af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133d391906154c0565b600e549091506133ee906001600160a01b031689308661403e565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015613434573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061345891906154c0565b90505f613465838361569a565b905080851461348757604051631c7c26d360e31b815260040160405180910390fd5b6017546001600160a01b0316156134bb57601754604051602481018390526134bb916001600160a01b031690604401612539565b86516134d1908c908b9087901515808c8c613cb1565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df85604051612fe791815260200190565b5f5b8181101561112c575f8382015560010161350e565b600e545f90819081906012600160a01b90910460ff16101561358157600e5461355790600160a01b900460ff16601261571f565b61356290600a61581b565b905061356e8185615829565b925061357a8184615848565b91506135d8565b600e546012600160a01b90910460ff1611156135d157600e546135b090601290600160a01b900460ff1661571f565b6135bb90600a61581b565b90506135c78185615848565b92508391506135d8565b8391508192505b50915091565b5f5f836001600160a01b0316836040516135f8919061585f565b5f60405180830381855af49150503d805f8114613630576040519150601f19603f3d011682016040523d82523d5f602084013e613635565b606091505b509150915081611aca57611aca81614074565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f61367d8587836158cb565b50601061368b8385836158cb565b506136a1815f516020615a1c5f395f51905f5255565b6136aa3061417f565b6040515f8082529081905f516020615a3c5f395f51905f529060200160405180910390a36040516001600160a01b038216905f907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b5f6137357f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361378b5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611481565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137eb91906154c0565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019146138655760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611481565b6001600160a01b03811630036138bd5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611481565b6138e5817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b03841660208301520161203b565b6060816001600160401b0381111561395d5761395d614bbb565b604051908082528060200260200182016040528015613986578160200160208202803683370190505b5090505f5b828110156139c1575f818501549050808383815181106139ad576139ad6156c5565b60209081029190910101525060010161398b565b5092915050565b5f816001600160a01b0316836001600160a01b03161480613a3457506001600160a01b0383165f90815260018501602052604090205460ff168015613a3457506001600160a01b038083165f90815260038601602090815260408083209387168352929052205460ff16155b8061113e57506001600160a01b038083165f90815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b038616613a945760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b038516613abb5760405163e219bd3960e01b815260040160405180910390fd5b613ac98787878787876142a3565b613ad7878787878787613fa0565b611741878787878787876143b5565b806001600160a01b0316826001600160a01b031603613b5d5760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611481565b6001600160a01b0381165f90815260018401602052604090205460ff1615613bb1576001600160a01b039182165f90815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038083165f9081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b038516613c0e57604051632e8aac6160e21b815260040160405180910390fd5b8215613c2257613c2286865f8786866142a3565b613c2c85856144fd565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098868585604051613c7393929190615984565b60405180910390a36040518481525f906001600160a01b038716905f516020615a3c5f395f51905f52906020015b60405180910390a3505050505050565b6001600160a01b038616613cd857604051630d24315760e01b815260040160405180910390fd5b613ce28686614608565b8315613cf757613cf7875f88888686896143b5565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d878585604051613d3e93929190615984565b60405180910390a36040518581526001600160a01b038716905f905f516020615a3c5f395f51905f529060200160405180910390a350505050505050565b5f5f5f5f613d8c88888888614660565b925092509250613d9c8282614728565b50909695505050505050565b336001600160a01b03821603613e135760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611481565b6001600160a01b0381165f90815260018401602052604090205460ff1615613e6b576001600160a01b038083165f9081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b039182165f90815260029390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038416613ec457604051638163862760e01b815260040160405180910390fd5b6001600160a01b038316613eeb576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b038085165f9081526011602090815260408083209387168352929052208290558015611aca57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051613f5d91815260200190565b60405180910390a350505050565b613f7883838360016147e0565b61112c57604051635274afe760e01b81526001600160a01b0384166004820152602401611481565b613fb38585613fae866132d8565b614842565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798786868660405161400493929190615984565b60405180910390a4836001600160a01b0316856001600160a01b03165f516020615a3c5f395f51905f5285604051613ca191815260200190565b61404c84848484600161493b565b611aca57604051635274afe760e01b81526001600160a01b0385166004820152602401611481565b6004815110156140c65760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611481565b602081015163b1b7848f60e01b6001600160e01b03198216016141765760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161148191849101614a21565b81518060208401fd5b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d906064015f604051808303815f87803b1580156141fd575f5ffd5b505af115801561420f573d5f5f3e3d5ffd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d91506064015f604051808303815f87803b158015614291575f5ffd5b505af1158015610d8a573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015614321573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143459190615704565b90506001600160a01b0381161561174157604051633ad5cbc160e11b81526001600160a01b038216906375ab97829061438c908a908a908a908a908a908a906004016159ae565b5f604051808303815f87803b1580156143a3575f5ffd5b505af11580156129fb573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015614433573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906144579190615704565b90506001600160a01b038116156144ce576040516223de2960e01b81526001600160a01b038216906223de299061449c908b908b908b908b908b908b906004016159ae565b5f604051808303815f87803b1580156144b3575f5ffd5b505af11580156144c5573d5f5f3e3d5ffd5b50505050611bc6565b8115611bc6576001600160a01b0386163b15611bc65760405163fe737d0560e01b815260040160405180910390fd5b5f614582837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561455e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f791906154c0565b5050905061458f826132d8565b8112156145af5760405163043b37d160e21b815260040160405180910390fd5b6145b8826132d8565b6001600160a01b0384165f908152600260205260409020546145da9190615464565b6001600160a01b0384165f9081526002602052604090205560035461460090839061569a565b600355505050565b614611816132d8565b6001600160a01b0383165f90815260026020526040902054614633919061543d565b6001600160a01b0383165f908152600260205260409020556003546146599082906155ef565b6003555050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561469957505f9150600390508261471e565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156146ea573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661471557505f92506001915082905061471e565b92505f91508190505b9450945094915050565b5f82600381111561473b5761473b615a07565b03614744575050565b600182600381111561475857614758615a07565b036147765760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561478a5761478a615a07565b036147ab5760405163fce698f760e01b815260048101829052602401611481565b60038260038111156147bf576147bf615a07565b036111b9576040516335e2f38360e21b815260048101829052602401611481565b60405163a9059cbb60e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f5114831661483657838315161561482a573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b5f6148a3847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561455e573d5f5f3e3d5ffd5b50509050818112156148c857604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b0384165f908152600260205260409020546148eb908390615464565b6001600160a01b038086165f90815260026020526040808220939093559085168152205461491a90839061543d565b6001600160a01b039093165f90815260026020526040902092909255505050565b6040516323b872dd60e01b5f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f5114831661499757838315161561498b573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b602080825282518282018190525f918401906040840190835b818110156149e85783516001600160a01b03168352602093840193909201916001016149c1565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611c6e60208301846149f3565b6001600160a01b0381168114610c51575f5ffd5b5f5f83601f840112614a57575f5ffd5b5081356001600160401b03811115614a6d575f5ffd5b6020830191508360208260051b8501011115614a87575f5ffd5b9250929050565b5f5f5f5f60608587031215614aa1575f5ffd5b8435614aac81614a33565b93506020850135925060408501356001600160401b03811115614acd575f5ffd5b614ad987828801614a47565b95989497509550505050565b5f5f60408385031215614af6575f5ffd5b8235614b0181614a33565b946020939093013593505050565b5f60208284031215614b1f575f5ffd5b5035919050565b5f5f5f60408486031215614b38575f5ffd5b8335925060208401356001600160401b03811115614b54575f5ffd5b614b6086828701614a47565b9497909650939450505050565b5f5f5f5f60808587031215614b80575f5ffd5b8435614b8b81614a33565b93506020850135614b9b81614a33565b92506040850135614bab81614a33565b9396929550929360600135925050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614bf757614bf7614bbb565b604052919050565b5f82601f830112614c0e575f5ffd5b81356001600160401b03811115614c2757614c27614bbb565b614c3a601f8201601f1916602001614bcf565b818152846020838601011115614c4e575f5ffd5b816020850160208301375f918101602001919091529392505050565b8015158114610c51575f5ffd5b5f5f5f5f5f5f5f60e0888a031215614c8d575f5ffd5b8735965060208801356001600160401b03811115614ca9575f5ffd5b614cb58a828b01614bff565b9650506040880135614cc681614a33565b94506060880135614cd681614c6a565b93506080880135614ce681614a33565b9699959850939692959460a0840135945060c09093013592915050565b5f5f5f60608486031215614d15575f5ffd5b8335614d2081614a33565b92506020840135614d3081614a33565b929592945050506040919091013590565b5f5f60408385031215614d52575f5ffd5b50508035926020909101359150565b5f60208284031215614d71575f5ffd5b8135611c6e81614a33565b803560ff81168114614d8c575f5ffd5b919050565b5f5f83601f840112614da1575f5ffd5b5081356001600160401b03811115614db7575f5ffd5b602083019150836020828501011115614a87575f5ffd5b5f5f5f5f5f5f60808789031215614de3575f5ffd5b8635614dee81614a33565b9550614dfc60208801614d7c565b945060408701356001600160401b03811115614e16575f5ffd5b614e2289828a01614d91565b90955093505060608701356001600160401b03811115614e40575f5ffd5b614e4c89828a01614d91565b979a9699509497509295939492505050565b5f5f5f5f60808587031215614e71575f5ffd5b8435614e7c81614a33565b93506020850135614e8c81614a33565b93969395505050506040820135916060013590565b602080825282518282018190525f918401906040840190835b818110156149e8578351835260209384019390920191600101614eba565b5f5f5f5f60608587031215614eeb575f5ffd5b8435614ef681614a33565b93506020850135925060408501356001600160401b03811115614f17575f5ffd5b614ad987828801614d91565b5f5f5f5f5f5f5f60a0888a031215614f39575f5ffd5b8735614f4481614a33565b96506020880135614f5481614a33565b95506040880135945060608801356001600160401b03811115614f75575f5ffd5b614f818a828b01614d91565b90955093505060808801356001600160401b03811115614f9f575f5ffd5b614fab8a828b01614d91565b989b979a50959850939692959293505050565b5f5f5f60608486031215614fd0575f5ffd5b8335614fdb81614a33565b95602085013595506040909401359392505050565b60ff60f81b8816815260e060208201525f61500e60e08301896149f3565b828103604084015261502081896149f3565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015615075578351835260209384019390920191600101615057565b50909b9a5050505050505050505050565b5f5f5f60608486031215615098575f5ffd5b83356150a381614a33565b92506020840135915060408401356001600160401b038111156150c4575f5ffd5b6150d086828701614bff565b9150509250925092565b5f5f5f5f608085870312156150ed575f5ffd5b84356150f881614a33565b9350602085013561510881614a33565b92506040850135915060608501356001600160401b03811115615129575f5ffd5b61513587828801614bff565b91505092959194509250565b5f5f5f5f5f5f5f60e0888a031215615157575f5ffd5b873561516281614a33565b9650602088013561517281614a33565b95506040880135945060608801359350614ce660808901614d7c565b5f5f6040838503121561519f575f5ffd5b82356151aa81614a33565b915060208301356151ba81614a33565b809150509250929050565b5f5f5f5f5f5f5f60a0888a0312156151db575f5ffd5b87356151e681614a33565b96506151f460208901614d7c565b955060408801356001600160401b0381111561520e575f5ffd5b61521a8a828b01614d91565b90965094505060608801356001600160401b03811115615238575f5ffd5b6152448a828b01614d91565b909450925050608088013561525881614a33565b8091505092959891949750929550565b5f5f5f5f5f5f6080878903121561527d575f5ffd5b863561528881614a33565b95506020870135945060408701356001600160401b03811115614e16575f5ffd5b5f5f5f604084860312156152bb575f5ffd5b8335925060208401356001600160401b038111156152d7575f5ffd5b614b6086828701614d91565b600181811c908216806152f757607f821691505b60208210810361531557634e487b7160e01b5f52602260045260245ffd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b83815260406020820181905281018290525f6001600160fb1b038311156153c6575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f602082840312156153f0575f5ffd5b8151611c6e81614c6a565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b8201615423576154236153fb565b505f0390565b634e487b7160e01b5f52600160045260245ffd5b8082018281125f83128015821682158216171561545c5761545c6153fb565b505092915050565b8181035f8312801583831316838312821617156139c1576139c16153fb565b85815260018060a01b038516602082015283604082015282606082015260a060808201525f6154b560a08301846149f3565b979650505050505050565b5f602082840312156154d0575f5ffd5b5051919050565b5f5f83546154e4816152e3565b6001821680156154fb57600181146155105761553d565b60ff198316865281151582028601935061553d565b865f5260205f205f5b8381101561553557815488820152600190910190602001615519565b505081860193505b509195945050505050565b5f60208284031215615558575f5ffd5b81516001600160401b0381111561556d575f5ffd5b8201601f8101841361557d575f5ffd5b80516001600160401b0381111561559657615596614bbb565b8060051b6155a660208201614bcf565b918252602081840181019290810190878411156155c1575f5ffd5b6020850194505b838510156154b557845192506155dd83614a33565b828252602094850194909101906155c8565b80820180821115610c2157610c216153fb565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602a908201527f5375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652060408201526962656c6f77207a65726f60b01b606082015260800190565b81810381811115610c2157610c216153fb565b5f600182016156be576156be6153fb565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f5f5f606084860312156156eb575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215615714575f5ffd5b8151611c6e81614a33565b60ff8281168282160390811115610c2157610c216153fb565b6001815b600184111561577357808504811115615757576157576153fb565b600184161561576557908102905b60019390931c92800261573c565b935093915050565b5f8261578957506001610c21565b8161579557505f610c21565b81600181146157ab57600281146157b5576157d1565b6001915050610c21565b60ff8411156157c6576157c66153fb565b50506001821b610c21565b5060208310610133831016604e8410600b84101617156157f4575081810a610c21565b6158005f198484615738565b805f1904821115615813576158136153fb565b029392505050565b5f611c6e60ff84168361577b565b5f8261584357634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610c2157610c216153fb565b5f82518060208501845e5f920191825250919050565b601f82111561112c578282111561112c57805f5260205f20601f840160051c60208510156158a057505f5b90810190601f840160051c035f5b818110156158c3575f838201556001016158ae565b505050505050565b6001600160401b038311156158e2576158e2614bbb565b6158f6836158f083546152e3565b83615875565b5f601f841160018114615927575f85156159105750838201355b5f19600387901b1c1916600186901b178355610d8a565b5f83815260208120601f198716915b828110156159565786850135825560209485019460019092019101615936565b5086821015615972575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201525f61599c60608301856149f3565b8281036040840152611a4781856149f3565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190525f906159e8908301856149f3565b82810360a08401526159fa81856149f3565b9998505050505050505050565b634e487b7160e01b5f52602160045260245ffdfeb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220fbb3cbfd61b16c2a0aae359c7e48a14b9d325bca3e51b9bb2af2293c91f3f1ab64736f6c63430008230033";
|
|
2361
|
+
const _bytecode = "0x60e060405234801561000f575f5ffd5b50604051615c24380380615c2483398101604081905261002e91610089565b6001600160a01b03808316608052811660c08190526040517feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e6905f90a250506100c1565b6001600160a01b0381168114610086575f5ffd5b50565b5f5f6040838503121561009a575f5ffd5b82516100a581610072565b60208401519092506100b681610072565b809150509250929050565b60805160a05160c051615a916101935f395f6108ad01525f610a4001525f818161052501528181610d3701528181610da6015281816110bb0152818161114801528181611273015281816113ea015281816115a7015281816117a4015281816117fa0152818161189b0152818161198e01528181611ad201528181611c7c01528181611e6c015281816122ed0152818161239b0152818161262d015281816126f201528181612759015281816127df0152818161319c015281816132310152818161450401526148490152615a915ff3fe608060405234801561000f575f5ffd5b5060043610610443575f3560e01c806370a0823111610237578063c67a8c1b11610135578063dd62ed3e116100bf578063f5a8b4dd11610084578063f5a8b4dd14610a3b578063fad8b32a14610a62578063fc673c4f14610a75578063fe9d930314610a88578063ffa1ad7414610a9b575f5ffd5b8063dd62ed3e146109a0578063e729804b146109d8578063eb3537cc146109e9578063ec0d634314610a17578063ee719bc814610a2a575f5ffd5b8063ca78946411610105578063ca78946414610941578063cf97256d14610954578063d505accf14610967578063d95b63711461097a578063d9d078d61461098d575f5ffd5b8063c67a8c1b146108f5578063c68d428314610908578063c780fd821461091b578063ca0c1e7f1461092e575f5ffd5b80639903ad38116101c1578063a457c2d711610186578063a457c2d714610882578063a9059cbb14610895578063b20db1ac146108a8578063b84cdd4a146108cf578063bb0d196e146108e2575f5ffd5b80639903ad381461082e5780639bd9bbc6146108365780639d87674114610849578063a1b2bf8b1461085c578063a3a7e7f31461086f575f5ffd5b806384b0196e1161020757806384b0196e146107d35780638f283970146107ee57806392081a4714610801578063959b8c3f1461081357806395d89b4114610826575f5ffd5b806370a082311461077257806379359f6f146107855780637ecebe001461079857806383ba2525146107c0575f5ffd5b8063386fa221116103445780634b61cc33116102ce57806362aa52871161029357806362aa52871461071e57806362ad1b831461073157806366a12fb6146107445780636c2d9f2f146107575780636e9960c31461076a575f5ffd5b80634b61cc33146106b657806350d75d25146106d657806352d1902d146106de578063556f0dc7146107045780635b9d09cc1461070b575f5ffd5b806345977d031161031457806345977d0314610662578063469519541461067557806347ba7ad1146106885780634a3acda01461069b5780634b2763b3146106a3575f5ffd5b8063386fa22114610616578063395093511461062957806341b706be1461063c57806342fe09801461064f575f5ffd5b80631ae88ffc116103d0578063282a050b11610395578063282a050b146105965780632ec8eec7146105be578063313ce567146105f15780633644e51514610606578063370a190f1461060e575f5ffd5b80631ae88ffc1461051057806320bc44251461052357806323b872dd1461055d578063245887fc146105705780632704839714610583575f5ffd5b806311bcc81e1161041657806311bcc81e146104b257806312a6a3f8146104c557806316d055d6146104d857806318160ddd146104eb5780631863e809146104fd575f5ffd5b806306e485381461044757806306fdde0314610465578063090c415e1461047a578063095ea7b31461048f575b5f5ffd5b61044f610abf565b60405161045c91906149a8565b60405180910390f35b61046d610ad0565b60405161045c9190614a21565b61048d610488366004614a8e565b610b60565b005b6104a261049d366004614ae5565b610c11565b604051901515815260200161045c565b61048d6104c0366004614b0f565b610c27565b61048d6104d3366004614b26565b610c54565b61048d6104e6366004614b6d565b610d35565b6003545b60405190815260200161045c565b61048d61050b366004614c77565b610d91565b61048d61051e366004614d03565b6110b9565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161045c565b6104a261056b366004614d03565b611131565b61048d61057e366004614ae5565b611146565b61048d610591366004614d41565b6111bd565b6105a96105a4366004614b0f565b611259565b6040805192835260208301919091520161045c565b6105d16105cc366004614d61565b61126d565b60408051948552602085019390935291830152606082015260800161045c565b60125b60405160ff909116815260200161045c565b6104ef61130c565b61048d6113ba565b61044f610624366004614d61565b611574565b6104a2610637366004614ae5565b611612565b61048d61064a366004614b6d565b61164d565b61048d61065d366004614dce565b611679565b61048d610670366004614b0f565b61174a565b61048d610683366004614d61565b611774565b61048d610696366004614d03565b6117f8565b61048d61186b565b61048d6106b1366004614d03565b61198c565b6106c96106c4366004614e5e565b611a0d565b60405161045c9190614ea1565b610545611a51565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104ef565b60016104ef565b61048d610719366004614ed8565b611a7a565b61048d61072c366004614d03565b611ad0565b61048d61073f366004614f23565b611b24565b61048d610752366004614d03565b611bd0565b6106c9610765366004614fbe565b611bf0565b610545611c31565b6104ef610780366004614d61565b611c47565b6104a2610793366004614d61565b611c75565b6104ef6107a6366004614d61565b6001600160a01b03165f9081526016602052604090205490565b61048d6107ce366004614ae5565b611cfa565b6107db611d24565b60405161045c9796959493929190614ff0565b61048d6107fc366004614d61565b611e3c565b600e54600160a01b900460ff166105f4565b61048d610821366004614d61565b611f2a565b61046d611f7b565b61048d611f8a565b61048d610844366004614ed8565b612046565b61048d610857366004615086565b612099565b61048d61086a366004614b26565b61215a565b61048d61087d366004614d61565b612202565b6104a2610890366004614ae5565b612216565b6104a26108a3366004614ae5565b61228d565b6105457f000000000000000000000000000000000000000000000000000000000000000081565b6104a26108dd366004614ae5565b61229a565b6104a26108f0366004614d61565b6122e6565b61048d610903366004614d61565b61236b565b61048d610916366004615086565b6125a7565b61048d610929366004614d03565b61262b565b61048d61093c3660046150da565b6126f0565b61048d61094f366004614ae5565b612757565b61048d610962366004614ae5565b6127ca565b61048d610975366004615141565b6128af565b6104a261098836600461518e565b612a08565b6104a261099b366004614ae5565b612a15565b6104ef6109ae36600461518e565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b6017546001600160a01b0316610545565b6109fc6109f7366004614ae5565b612a2d565b6040805193845260208401929092529082015260600161045c565b61048d610a253660046151c5565b612b5a565b600e546001600160a01b0316610545565b6105457f000000000000000000000000000000000000000000000000000000000000000081565b61048d610a70366004614d61565b612c2b565b61048d610a83366004615268565b612c7c565b61048d610a963660046152a9565b612d1b565b61046d604051806040016040528060058152602001640312e302e360dc1b81525081565b6060610acb6012612d6b565b905090565b6060600f8054610adf906152e3565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0b906152e3565b8015610b565780601f10610b2d57610100808354040283529160200191610b56565b820191905f5260205f20905b815481529060010190602001808311610b3957829003601f168201915b5050505050905090565b5f338585604051602001610b769392919061531b565b604051602081830303815290604052805190602001209050610bca818484808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b5f610c1d338484612e04565b5060015b92915050565b610c513333338460405180602001604052805f81525060405180602001604052805f815250612e11565b50565b60405133905f90610c6b9083908790602001615364565b60408051601f1981840301815291905280516020909101209050610c8f8184612ffc565b15610cad5760405163782a90fb60e11b815260040160405180910390fd5b610ce9818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610d26939291906153a1565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d7e5760405163c51efddd60e01b815260040160405180910390fd5b610d8a8484848461302e565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610df3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1791906153e0565b610e345760405163327fd99160e21b815260040160405180910390fd5b5f610e3d613198565b90506001600160a01b038116610e505750845b5f85610e5c5786610e5e565b815b90505f8313610f2857610e708361540f565b610e79856132d8565b14610e8657610e86615429565b610e8f846132d8565b6001600160a01b0382165f9081526002602052604081208054909190610eb690849061543d565b90915550506001600160a01b0385165f9081526002602052604081208054859290610ee290849061543d565b92505081905550806001600160a01b0316856001600160a01b03165f516020615a3c5f395f51905f5286604051610f1b91815260200190565b60405180910390a3611051565b8515610f3657610f36615429565b82610f40856132d8565b610f4a919061543d565b6001600160a01b0383165f9081526002602052604081208054909190610f71908490615464565b90915550610f809050846132d8565b6001600160a01b0388165f9081526002602052604081208054909190610fa790849061543d565b90915550506001600160a01b0385165f9081526002602052604081208054859290610fd390849061543d565b92505081905550866001600160a01b0316826001600160a01b03165f516020615a3c5f395f51905f528660405161100c91815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03165f516020615a3c5f395f51905f5261103f86613308565b60405190815260200160405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110a6959493929190615483565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146111025760405163c51efddd60e01b815260040160405180910390fd5b61112c3384848460405180602001604052805f81525060405180602001604052805f81525061332d565b505050565b5f61113e3385858561302e565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461118f5760405163c51efddd60e01b815260040160405180910390fd5b6111b93383848460405180602001604052805f81525060405180602001604052805f815250612e11565b5050565b60405133905f906111d49083908690602001615364565b6040516020818303038152906040528051906020012090506111f68184612ffc565b6112135760405163dae1880960e01b815260040160405180910390fd5b61121d818461350c565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b906020015b60405180910390a250505050565b5f5f61126483613523565b91509150915091565b5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f191906154c0565b90506112fd8582612a2d565b91979096509094509092509050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600f60405161133d91906154d7565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f6113d05f516020615a1c5f395f51905f525490565b90505f6001600160a01b038216156113e8578161140a565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461143557604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b031661148a5760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b60448201526064015b60405180910390fd5b6017546001600160a01b031660015f805c60ff19168217905d506017546040805160048152602481019091526020810180516001600160e01b03166372e6c5b560e11b1790526114e3916001600160a01b0316906135de565b5f60ff19815c16815d506017546040805160048152602481019091526020810180516001600160e01b0316632f2770db60e01b17905261152c916001600160a01b0316906135de565b601780546001600160a01b03191690556040516001600160a01b038216907f2486b5241145ce1b97a13655ecd4e8e51094ac93259a0589d24524304d6d70d4905f90a2505050565b6001600160a01b038181165f908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d906024015f60405180830381865afa1580156115eb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c219190810190615548565b335f8181526011602090815260408083206001600160a01b03871684529091528120549091610c1d9185906116489086906155ef565b612e04565b33301461166d57604051630fff4cc960e31b815260040160405180910390fd5b610d8a8385848461302e565b5f54610100900460ff161580801561169757505f54600160ff909116105b806116b05750303b1580156116b057505f5460ff166001145b6116cc5760405162461bcd60e51b815260040161148190615602565b5f805460ff1916600117905580156116ed575f805461ff0019166101001790555b6116fc8787878787875f613648565b8015611741575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610c513333338460405180602001604052805f81525060405180602001604052805f81525061332d565b5f61178a5f516020615a1c5f395f51905f525490565b90505f6001600160a01b038216156117a257816117c4565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146117ef57604051630484acab60e01b815260040160405180910390fd5b61112c8361370c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146118415760405163c51efddd60e01b815260040160405180910390fd5b61112c3384848460405180602001604052805f81525060405180602001604052805f815250612e11565b5f6118815f516020615a1c5f395f51905f525490565b90505f6001600160a01b0382161561189957816118bb565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146118e657604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03166119365760405162461bcd60e51b81526020600482015260156024820152741e5a595b1908189858dad95b99081b9bdd081cd95d605a1b6044820152606401611481565b6017546003546040516111b9926001600160a01b03169161195d9160240190815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316632c34606360e21b1790526135de565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146119d55760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f9081526011602090815260408083209386168352929052205461112c90849084906116489085906155ef565b60605f858585604051602001611a259392919061531b565b604051602081830303815290604052805190602001209050611a478184613943565b9695505050505050565b5f610acb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b611aca3333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040805160208101909152908152925061332d915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611b195760405163c51efddd60e01b815260040160405180910390fd5b61112c838383612e04565b33611b316012828a6139c8565b611b4e5760405163f7f0222760e01b815260040160405180910390fd5b611bc68189898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f9201919091525060019250613a6d915050565b5050505050505050565b333014611b1957604051630fff4cc960e31b815260040160405180910390fd5b60605f8484604051602001611c06929190615364565b604051602081830303815290604052805190602001209050611c288184613943565b95945050505050565b5f610acb5f516020615a1c5f395f51905f525490565b5f5f611c528361126d565b50505090505f8112611c6c57611c6781613308565b611c6e565b5f5b9392505050565b5f610c21827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cd6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099b91906154c0565b6111b93333848460405180602001604052805f81525060405180602001604052805f815250612e11565b5f6060805f5f5f6060600f604051806040016040528060018152602001603160f81b81525046305f5f1b5f6001600160401b03811115611d6657611d66614bbb565b604051908082528060200260200182016040528015611d8f578160200160208202803683370190505b50600f60f81b959493929190858054611da7906152e3565b80601f0160208091040260200160405190810160405280929190818152602001828054611dd3906152e3565b8015611e1e5780601f10611df557610100808354040283529160200191611e1e565b820191905f5260205f20905b815481529060010190602001808311611e0157829003601f168201915b50505050509550965096509650965096509650965090919293949596565b5f611e525f516020615a1c5f395f51905f525490565b90505f6001600160a01b03821615611e6a5781611e8c565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b03821614611eb757604051630484acab60e01b815260040160405180910390fd5b5f611ecd5f516020615a1c5f395f51905f525490565b9050611ee4845f516020615a1c5f395f51905f5255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611f3760128284613ae6565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610adf906152e3565b5f54610100900460ff1615808015611fa857505f54600160ff909116105b80611fc15750303b158015611fc157505f5460ff166001145b611fdd5760405162461bcd60e51b815260040161148190615602565b5f805460ff191660011790558015611ffe575f805461ff0019166101001790555b8015610c51575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b611aca3333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040805160208101909152908152925060019150613a6d9050565b3330146120b957604051630fff4cc960e31b815260040160405180910390fd5b8051604080515f8152602081019091526120de91339186918691901515908690613be7565b6017546001600160a01b03161561112c5760015f805c60ff19168217905d506017546040516024810184905261214b916001600160a01b0316906044015b60408051601f198184030181529190526020810180516001600160e01b0316632e1a7d4d60e01b1790526135de565b5f60ff19815c16815d50505050565b60405133905f906121719083908790602001615364565b6040516020818303038152906040528051906020012090506121c5818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612dce92505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610d26939291906153a1565b6111b933338361221133611c47565b61302e565b335f9081526011602090815260408083206001600160a01b03861684529091528120548211156122585760405162461bcd60e51b815260040161148190615650565b335f8181526011602090815260408083206001600160a01b0388168452909152902054610c1d9190859061164890869061569a565b5f611c6e3333858561302e565b5f5f5f5f6122a88686612a2d565b9250925092505f6122ce8284116122bf575f6132d8565b6122c9838561569a565b6132d8565b6122d8908561543d565b5f1315979650505050505050565b5f610c21827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015612347573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108dd91906154c0565b5f6123815f516020615a1c5f395f51905f525490565b90505f6001600160a01b0382161561239957816123bb565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146123e657604051630484acab60e01b815260040160405180910390fd5b6017546001600160a01b03161561243f5760405162461bcd60e51b815260206004820152601960248201527f7969656c64206261636b656e6420616c726561647920736574000000000000006044820152606401611481565b601780546001600160a01b0385166001600160a01b031990911681179091556040805160048152602481019091526020810180516001600160e01b031663a3907d7160e01b17905261249191906135de565b600e545f906001600160a01b03161561251357600e546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156124ea573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061250e91906154c0565b612515565b475b60175460405160248101839052919250612568916001600160a01b03909116906044015b60408051601f198184030181529190526020810180516001600160e01b031663b6b55f2560e01b1790526135de565b6017546040518281526001600160a01b03909116907f8d15dd569157df615aedb4b16273001ae8980ce2aac93e39adc48481dfaefbb59060200161124b565b3330146125c757604051630fff4cc960e31b815260040160405180910390fd5b60ff5f5c1661112c576017546001600160a01b0316156126045760175460405160248101849052612604916001600160a01b031690604401612539565b8051604080515f81526020810190915261112c913391869186919015159081908790613cb1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146126745760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084165f908152601160209081526040808320938616835292905220548111156126b85760405162461bcd60e51b815260040161148190615650565b6001600160a01b038084165f9081526011602090815260408083209386168352929052205461112c908490849061164890859061569a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127395760405163c51efddd60e01b815260040160405180910390fd5b611aca338585858560405180602001604052805f8152506001613a6d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146127a05760405163c51efddd60e01b815260040160405180910390fd5b6111b93383848460405180602001604052805f81525060405180602001604052805f81525061332d565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa15801561282c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285091906153e0565b61286d5760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b0382165f9081526002602052604090205461289090829061543d565b6001600160a01b039092165f9081526002602052604090209190915550565b834211156128d357604051636e72b90f60e01b815260048101859052602401611481565b6001600160a01b0387165f90815260166020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a91908661291f836156ad565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61297c61130c565b60405161190160f01b81526002810182905260228101849052604290209091505f6129a982888888613d7c565b90508a6001600160a01b0316816001600160a01b0316146129f05760405163b642210560e01b81526001600160a01b0380831660048301528c166024820152604401611481565b6129fb8b8b8b612e04565b5050505050505050505050565b5f611c6e601284846139c8565b5f5f612a218484612a2d565b50505f13949350505050565b6001600160a01b0382165f90815260026020526040812054908080612a5186611574565b90505f5b8151811015612b51575f5f5f848481518110612a7357612a736156c5565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612ad0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af491906156d9565b91945092509050612b0582886155ef565b9650612b1181876155ef565b9550612b2d818311612b23575f6132d8565b6122c9828461569a565b612b37848a61543d565b612b419190615464565b9750505050806001019050612a55565b50509250925092565b5f54610100900460ff1615808015612b7857505f54600160ff909116105b80612b915750303b158015612b9157505f5460ff166001145b612bad5760405162461bcd60e51b815260040161148190615602565b5f805460ff191660011790558015612bce575f805461ff0019166101001790555b612bdd88888888888888613648565b8015611bc6575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612c3860128284613da8565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b33612c89601282896139c8565b612ca65760405163f7f0222760e01b815260040160405180910390fd5b6117418188898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284375f92019190915250612e1192505050565b61112c3333338686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525060408051602081019091529081529250612e11915050565b6060815f01805480602002602001604051908101604052809291908181526020018280548015612dc257602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612da4575b50505050509050919050565b5f5b815181101561112c575f828281518110612dec57612dec6156c5565b60209081029190910101518483015550600101612dd0565b61112c8383836001613e9d565b600e546001600160a01b0316612e3a57604051637bce7b2b60e11b815260040160405180910390fd5b5f5f612e4585613523565b91509150612e5b88888387515f14158888613be7565b6017546001600160a01b031615612e8f5760175460405160248101849052612e8f916001600160a01b03169060440161211c565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612ed5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ef991906154c0565b600e54909150612f13906001600160a01b03168885613f6b565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612f59573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f7d91906154c0565b90505f612f8a828461569a565b9050808514612fac57604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d85604051612fe791815260200190565b60405180910390a25050505050505050505050565b5f805b828110156130255783810154801561301c57600192505050610c21565b50600101612fff565b505f9392505050565b5f6001600160a01b0384166130565760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b03831661307d5760405163e219bd3960e01b815260040160405180910390fd5b5f3390506130ab8186868660405180602001604052805f81525060405180602001604052805f815250613fa0565b846001600160a01b0316866001600160a01b03161461318c576001600160a01b038086165f908152601160209081526040808320938a168352929052205483111561314e5760405162461bcd60e51b815260206004820152602d60248201527f5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636560448201526c65647320616c6c6f77616e636560981b6064820152608401611481565b6001600160a01b038086165f908152601160209081526040808320938a168352929052205461318c908690889061318690879061569a565b5f613e9d565b50600195945050505050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131f6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061321a9190615704565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156132ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132d29190615704565b91505090565b5f6001600160ff1b038211156133045760405163123baf0360e11b815260048101839052602401611481565b5090565b5f5f82121561330457604051635467221960e11b815260048101839052602401611481565b600e546001600160a01b031661335657604051637bce7b2b60e11b815260040160405180910390fd5b5f5f61336185613523565b600e546040516370a0823160e01b81523060048201529294509092505f916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156133af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133d391906154c0565b600e549091506133ee906001600160a01b031689308661403e565b600e546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015613434573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061345891906154c0565b90505f613465838361569a565b905080851461348757604051631c7c26d360e31b815260040160405180910390fd5b6017546001600160a01b0316156134bb57601754604051602481018390526134bb916001600160a01b031690604401612539565b86516134d1908c908b9087901515808c8c613cb1565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df85604051612fe791815260200190565b5f5b8181101561112c575f8382015560010161350e565b600e545f90819081906012600160a01b90910460ff16101561358157600e5461355790600160a01b900460ff16601261571f565b61356290600a61581b565b905061356e8185615829565b925061357a8184615848565b91506135d8565b600e546012600160a01b90910460ff1611156135d157600e546135b090601290600160a01b900460ff1661571f565b6135bb90600a61581b565b90506135c78185615848565b92508391506135d8565b8391508192505b50915091565b5f5f836001600160a01b0316836040516135f8919061585f565b5f60405180830381855af49150503d805f8114613630576040519150601f19603f3d011682016040523d82523d5f602084013e613635565b606091505b509150915081611aca57611aca81614074565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f61367d8587836158cb565b50601061368b8385836158cb565b506136a1815f516020615a1c5f395f51905f5255565b6136aa3061417f565b6040515f8082529081905f516020615a3c5f395f51905f529060200160405180910390a36040516001600160a01b038216905f907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b5f6137357f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361378b5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611481565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137eb91906154c0565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019146138655760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611481565b6001600160a01b03811630036138bd5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611481565b6138e5817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b03841660208301520161203b565b6060816001600160401b0381111561395d5761395d614bbb565b604051908082528060200260200182016040528015613986578160200160208202803683370190505b5090505f5b828110156139c1575f818501549050808383815181106139ad576139ad6156c5565b60209081029190910101525060010161398b565b5092915050565b5f816001600160a01b0316836001600160a01b03161480613a3457506001600160a01b0383165f90815260018501602052604090205460ff168015613a3457506001600160a01b038083165f90815260038601602090815260408083209387168352929052205460ff16155b8061113e57506001600160a01b038083165f90815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b038616613a945760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b038516613abb5760405163e219bd3960e01b815260040160405180910390fd5b613ac98787878787876142a3565b613ad7878787878787613fa0565b611741878787878787876143b5565b806001600160a01b0316826001600160a01b031603613b5d5760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611481565b6001600160a01b0381165f90815260018401602052604090205460ff1615613bb1576001600160a01b039182165f90815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038083165f9081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b038516613c0e57604051632e8aac6160e21b815260040160405180910390fd5b8215613c2257613c2286865f8786866142a3565b613c2c85856144fd565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098868585604051613c7393929190615984565b60405180910390a36040518481525f906001600160a01b038716905f516020615a3c5f395f51905f52906020015b60405180910390a3505050505050565b6001600160a01b038616613cd857604051630d24315760e01b815260040160405180910390fd5b613ce28686614608565b8315613cf757613cf7875f88888686896143b5565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d878585604051613d3e93929190615984565b60405180910390a36040518581526001600160a01b038716905f905f516020615a3c5f395f51905f529060200160405180910390a350505050505050565b5f5f5f5f613d8c88888888614660565b925092509250613d9c8282614728565b50909695505050505050565b336001600160a01b03821603613e135760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611481565b6001600160a01b0381165f90815260018401602052604090205460ff1615613e6b576001600160a01b038083165f9081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b039182165f90815260029390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b038416613ec457604051638163862760e01b815260040160405180910390fd5b6001600160a01b038316613eeb576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b038085165f9081526011602090815260408083209387168352929052208290558015611aca57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051613f5d91815260200190565b60405180910390a350505050565b613f7883838360016147e0565b61112c57604051635274afe760e01b81526001600160a01b0384166004820152602401611481565b613fb38585613fae866132d8565b614842565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798786868660405161400493929190615984565b60405180910390a4836001600160a01b0316856001600160a01b03165f516020615a3c5f395f51905f5285604051613ca191815260200190565b61404c84848484600161493b565b611aca57604051635274afe760e01b81526001600160a01b0385166004820152602401611481565b6004815110156140c65760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611481565b602081015163b1b7848f60e01b6001600160e01b03198216016141765760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161148191849101614a21565b81518060208401fd5b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d906064015f604051808303815f87803b1580156141fd575f5ffd5b505af115801561420f573d5f5f3e3d5ffd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d91506064015f604051808303815f87803b158015614291575f5ffd5b505af1158015610d8a573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015614321573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143459190615704565b90506001600160a01b0381161561174157604051633ad5cbc160e11b81526001600160a01b038216906375ab97829061438c908a908a908a908a908a908a906004016159ae565b5f604051808303815f87803b1580156143a3575f5ffd5b505af11580156129fb573d5f5f3e3d5ffd5b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015614433573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906144579190615704565b90506001600160a01b038116156144ce576040516223de2960e01b81526001600160a01b038216906223de299061449c908b908b908b908b908b908b906004016159ae565b5f604051808303815f87803b1580156144b3575f5ffd5b505af11580156144c5573d5f5f3e3d5ffd5b50505050611bc6565b8115611bc6576001600160a01b0386163b15611bc65760405163fe737d0560e01b815260040160405180910390fd5b5f614582837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561455e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f791906154c0565b5050905061458f826132d8565b8112156145af5760405163043b37d160e21b815260040160405180910390fd5b6145b8826132d8565b6001600160a01b0384165f908152600260205260409020546145da9190615464565b6001600160a01b0384165f9081526002602052604090205560035461460090839061569a565b600355505050565b614611816132d8565b6001600160a01b0383165f90815260026020526040902054614633919061543d565b6001600160a01b0383165f908152600260205260409020556003546146599082906155ef565b6003555050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561469957505f9150600390508261471e565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156146ea573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661471557505f92506001915082905061471e565b92505f91508190505b9450945094915050565b5f82600381111561473b5761473b615a07565b03614744575050565b600182600381111561475857614758615a07565b036147765760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561478a5761478a615a07565b036147ab5760405163fce698f760e01b815260048101829052602401611481565b60038260038111156147bf576147bf615a07565b036111b9576040516335e2f38360e21b815260048101829052602401611481565b60405163a9059cbb60e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f5114831661483657838315161561482a573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b5f6148a3847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561455e573d5f5f3e3d5ffd5b50509050818112156148c857604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b0384165f908152600260205260409020546148eb908390615464565b6001600160a01b038086165f90815260026020526040808220939093559085168152205461491a90839061543d565b6001600160a01b039093165f90815260026020526040902092909255505050565b6040516323b872dd60e01b5f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f5114831661499757838315161561498b573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b602080825282518282018190525f918401906040840190835b818110156149e85783516001600160a01b03168352602093840193909201916001016149c1565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611c6e60208301846149f3565b6001600160a01b0381168114610c51575f5ffd5b5f5f83601f840112614a57575f5ffd5b5081356001600160401b03811115614a6d575f5ffd5b6020830191508360208260051b8501011115614a87575f5ffd5b9250929050565b5f5f5f5f60608587031215614aa1575f5ffd5b8435614aac81614a33565b93506020850135925060408501356001600160401b03811115614acd575f5ffd5b614ad987828801614a47565b95989497509550505050565b5f5f60408385031215614af6575f5ffd5b8235614b0181614a33565b946020939093013593505050565b5f60208284031215614b1f575f5ffd5b5035919050565b5f5f5f60408486031215614b38575f5ffd5b8335925060208401356001600160401b03811115614b54575f5ffd5b614b6086828701614a47565b9497909650939450505050565b5f5f5f5f60808587031215614b80575f5ffd5b8435614b8b81614a33565b93506020850135614b9b81614a33565b92506040850135614bab81614a33565b9396929550929360600135925050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614bf757614bf7614bbb565b604052919050565b5f82601f830112614c0e575f5ffd5b81356001600160401b03811115614c2757614c27614bbb565b614c3a601f8201601f1916602001614bcf565b818152846020838601011115614c4e575f5ffd5b816020850160208301375f918101602001919091529392505050565b8015158114610c51575f5ffd5b5f5f5f5f5f5f5f60e0888a031215614c8d575f5ffd5b8735965060208801356001600160401b03811115614ca9575f5ffd5b614cb58a828b01614bff565b9650506040880135614cc681614a33565b94506060880135614cd681614c6a565b93506080880135614ce681614a33565b9699959850939692959460a0840135945060c09093013592915050565b5f5f5f60608486031215614d15575f5ffd5b8335614d2081614a33565b92506020840135614d3081614a33565b929592945050506040919091013590565b5f5f60408385031215614d52575f5ffd5b50508035926020909101359150565b5f60208284031215614d71575f5ffd5b8135611c6e81614a33565b803560ff81168114614d8c575f5ffd5b919050565b5f5f83601f840112614da1575f5ffd5b5081356001600160401b03811115614db7575f5ffd5b602083019150836020828501011115614a87575f5ffd5b5f5f5f5f5f5f60808789031215614de3575f5ffd5b8635614dee81614a33565b9550614dfc60208801614d7c565b945060408701356001600160401b03811115614e16575f5ffd5b614e2289828a01614d91565b90955093505060608701356001600160401b03811115614e40575f5ffd5b614e4c89828a01614d91565b979a9699509497509295939492505050565b5f5f5f5f60808587031215614e71575f5ffd5b8435614e7c81614a33565b93506020850135614e8c81614a33565b93969395505050506040820135916060013590565b602080825282518282018190525f918401906040840190835b818110156149e8578351835260209384019390920191600101614eba565b5f5f5f5f60608587031215614eeb575f5ffd5b8435614ef681614a33565b93506020850135925060408501356001600160401b03811115614f17575f5ffd5b614ad987828801614d91565b5f5f5f5f5f5f5f60a0888a031215614f39575f5ffd5b8735614f4481614a33565b96506020880135614f5481614a33565b95506040880135945060608801356001600160401b03811115614f75575f5ffd5b614f818a828b01614d91565b90955093505060808801356001600160401b03811115614f9f575f5ffd5b614fab8a828b01614d91565b989b979a50959850939692959293505050565b5f5f5f60608486031215614fd0575f5ffd5b8335614fdb81614a33565b95602085013595506040909401359392505050565b60ff60f81b8816815260e060208201525f61500e60e08301896149f3565b828103604084015261502081896149f3565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015615075578351835260209384019390920191600101615057565b50909b9a5050505050505050505050565b5f5f5f60608486031215615098575f5ffd5b83356150a381614a33565b92506020840135915060408401356001600160401b038111156150c4575f5ffd5b6150d086828701614bff565b9150509250925092565b5f5f5f5f608085870312156150ed575f5ffd5b84356150f881614a33565b9350602085013561510881614a33565b92506040850135915060608501356001600160401b03811115615129575f5ffd5b61513587828801614bff565b91505092959194509250565b5f5f5f5f5f5f5f60e0888a031215615157575f5ffd5b873561516281614a33565b9650602088013561517281614a33565b95506040880135945060608801359350614ce660808901614d7c565b5f5f6040838503121561519f575f5ffd5b82356151aa81614a33565b915060208301356151ba81614a33565b809150509250929050565b5f5f5f5f5f5f5f60a0888a0312156151db575f5ffd5b87356151e681614a33565b96506151f460208901614d7c565b955060408801356001600160401b0381111561520e575f5ffd5b61521a8a828b01614d91565b90965094505060608801356001600160401b03811115615238575f5ffd5b6152448a828b01614d91565b909450925050608088013561525881614a33565b8091505092959891949750929550565b5f5f5f5f5f5f6080878903121561527d575f5ffd5b863561528881614a33565b95506020870135945060408701356001600160401b03811115614e16575f5ffd5b5f5f5f604084860312156152bb575f5ffd5b8335925060208401356001600160401b038111156152d7575f5ffd5b614b6086828701614d91565b600181811c908216806152f757607f821691505b60208210810361531557634e487b7160e01b5f52602260045260245ffd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b83815260406020820181905281018290525f6001600160fb1b038311156153c6575f5ffd5b8260051b8085606085013791909101606001949350505050565b5f602082840312156153f0575f5ffd5b8151611c6e81614c6a565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b8201615423576154236153fb565b505f0390565b634e487b7160e01b5f52600160045260245ffd5b8082018281125f83128015821682158216171561545c5761545c6153fb565b505092915050565b8181035f8312801583831316838312821617156139c1576139c16153fb565b85815260018060a01b038516602082015283604082015282606082015260a060808201525f6154b560a08301846149f3565b979650505050505050565b5f602082840312156154d0575f5ffd5b5051919050565b5f5f83546154e4816152e3565b6001821680156154fb57600181146155105761553d565b60ff198316865281151582028601935061553d565b865f5260205f205f5b8381101561553557815488820152600190910190602001615519565b505081860193505b509195945050505050565b5f60208284031215615558575f5ffd5b81516001600160401b0381111561556d575f5ffd5b8201601f8101841361557d575f5ffd5b80516001600160401b0381111561559657615596614bbb565b8060051b6155a660208201614bcf565b918252602081840181019290810190878411156155c1575f5ffd5b6020850194505b838510156154b557845192506155dd83614a33565b828252602094850194909101906155c8565b80820180821115610c2157610c216153fb565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602a908201527f5375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652060408201526962656c6f77207a65726f60b01b606082015260800190565b81810381811115610c2157610c216153fb565b5f600182016156be576156be6153fb565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f5f5f606084860312156156eb575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215615714575f5ffd5b8151611c6e81614a33565b60ff8281168282160390811115610c2157610c216153fb565b6001815b600184111561577357808504811115615757576157576153fb565b600184161561576557908102905b60019390931c92800261573c565b935093915050565b5f8261578957506001610c21565b8161579557505f610c21565b81600181146157ab57600281146157b5576157d1565b6001915050610c21565b60ff8411156157c6576157c66153fb565b50506001821b610c21565b5060208310610133831016604e8410600b84101617156157f4575081810a610c21565b6158005f198484615738565b805f1904821115615813576158136153fb565b029392505050565b5f611c6e60ff84168361577b565b5f8261584357634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610c2157610c216153fb565b5f82518060208501845e5f920191825250919050565b601f82111561112c578282111561112c57805f5260205f20601f840160051c60208510156158a057505f5b90810190601f840160051c035f5b818110156158c3575f838201556001016158ae565b505050505050565b6001600160401b038311156158e2576158e2614bbb565b6158f6836158f083546152e3565b83615875565b5f601f841160018114615927575f85156159105750838201355b5f19600387901b1c1916600186901b178355610d8a565b5f83815260208120601f198716915b828110156159565786850135825560209485019460019092019101615936565b5086821015615972575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201525f61599c60608301856149f3565b8281036040840152611a4781856149f3565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190525f906159e8908301856149f3565b82810360a08401526159fa81856149f3565b9998505050505050505050565b634e487b7160e01b5f52602160045260245ffdfeb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209a258bf54ca17ed0775f42a7ea1eb38c7343c8ebf2202f02ac7ea94a9fc91f2564736f6c63430008230033";
|
|
2362
2362
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
2363
2363
|
class SuperToken__factory extends ethers_1.ContractFactory {
|
|
2364
2364
|
constructor(...args) {
|
|
@@ -12,7 +12,7 @@ export declare class Superfluid__factory extends ContractFactory {
|
|
|
12
12
|
}): TransactionRequest;
|
|
13
13
|
attach(address: string): Superfluid;
|
|
14
14
|
connect(signer: Signer): Superfluid__factory;
|
|
15
|
-
static readonly bytecode = "0x610140604052348015610010575f5ffd5b50604051615cc1380380615cc183398101604081905261002f91610092565b94151560805292151560a0526001600160401b0390911660c0526001600160a01b0390811660e052908116610100521661012052610110565b80518015158114610077575f5ffd5b919050565b80516001600160a01b0381168114610077575f5ffd5b5f5f5f5f5f5f60c087890312156100a7575f5ffd5b6100b087610068565b95506100be60208801610068565b60408801519095506001600160401b03811681146100da575f5ffd5b93506100e86060880161007c565b92506100f66080880161007c565b915061010460a0880161007c565b90509295509295509295565b60805160a05160c05160e0516101005161012051615b086101b95f395f818161053e015261448701525f81816104a2015261432c01525f8181610b3d015261420901525f81816104f60152612dfb01525f81816108a80152818161228701528181612757015281816129f30152612b3501525f8181610aaa01528181610bec01528181610ef6015281816116b8015281816117ef0152818161193f0152612a610152615b085ff3fe608060405260043610610366575f3560e01c806374041e02116101c8578063bbe4fd50116100fd578063c60944a61161009d578063f37330521161006d578063f373305214610b0d578063f85263b914610b2c578063f9f522f414610b5f578063fa6e0cfe14610b9b575f5ffd5b8063c60944a614610a7a578063cd312ec414610a99578063e8dccb7d14610acc578063f2e55caf14610af9575f5ffd5b8063bd3252c8116100d8578063bd3252c8146109fc578063bf42873414610a10578063c4d66de814610a2f578063c56a069d14610a4e575f5ffd5b8063bbe4fd50146109ac578063bced3ddc146109be578063bd1c448b146109dd575f5ffd5b80639d297e3011610168578063b6d200de11610143578063b6d200de14610908578063b724211e14610927578063ba48b5f814610946578063bb84cfa114610965575f5ffd5b80639d297e3014610897578063a5dbbbcd146108ca578063ad3915c8146108e9575f5ffd5b80638ceddd7a116101a35780638ceddd7a146108095780639378fa1314610833578063989b0c3e146108645780639903ad3814610883575f5ffd5b806374041e02146107ac578063768fabb0146107cb5780638ca48484146107ea575f5ffd5b80634329d2931161029e578063572b6c051161023e5780636ad3ca7d116102195780636ad3ca7d1461073e5780636b4f3335146107515780637283100c14610770578063731aed6e1461078f575f5ffd5b8063572b6c05146106ed57806359a291411461070c578063670e77e31461072b575f5ffd5b806350d75d251161027957806350d75d251461066957806352d1902d1461067d57806354fbc493146106af57806357121e0c146106ce575f5ffd5b80634329d293146105f35780634695195414610620578063486ff0cd1461063f575f5ffd5b80632ecfbda21161030957806336b3e52d116102e457806336b3e52d1461053057806339255d5b146105625780633ca3ad4e146105815780633f6c923a146105c7575f5ffd5b80632ecfbda2146104945780632f89bf89146104c657806333d608f1146104e5575f5ffd5b80631e6d0a84116103445780631e6d0a84146103c95780631e855cf3146103fe5780632368335a1461041d578063289b3c0d1461045e575f5ffd5b806306cecba81461036a5780630c5650751461038b57806315a024e1146103aa575b5f5ffd5b348015610375575f5ffd5b506103896103843660046149f6565b610bba565b005b348015610396575f5ffd5b506103896103a5366004614a18565b610d85565b3480156103b5575f5ffd5b506103896103c43660046149f6565b610e0f565b3480156103d4575f5ffd5b506103e86103e3366004614aa0565b61104f565b6040516103f59190614b60565b60405180910390f35b348015610409575f5ffd5b506103e8610418366004614c2e565b611293565b348015610428575f5ffd5b506104507f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8481565b6040519081526020016103f5565b348015610469575f5ffd5b505f546201000090046001600160a01b03165b6040516001600160a01b0390911681526020016103f5565b34801561049f575f5ffd5b507f000000000000000000000000000000000000000000000000000000000000000061047c565b3480156104d1575f5ffd5b506103896104e03660046149f6565b6112aa565b3480156104f0575f5ffd5b506105187f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b0390911681526020016103f5565b34801561053b575f5ffd5b507f000000000000000000000000000000000000000000000000000000000000000061047c565b34801561056d575f5ffd5b506103e861057c366004614c7a565b61145c565b34801561058c575f5ffd5b506105b761059b3660046149f6565b6001600160a01b03165f90815260046020526040902054151590565b60405190151581526020016103f5565b3480156105d2575f5ffd5b506105e66105e1366004614cee565b611472565b6040516103f59190614d1f565b3480156105fe575f5ffd5b5061061261060d366004614dfd565b611483565b6040516103f5929190614eab565b34801561062b575f5ffd5b5061038961063a3660046149f6565b611686565b34801561064a575f5ffd5b50604080518082019091526002815261763160f01b60208201526103e8565b348015610674575f5ffd5b5061047c61177f565b348015610688575f5ffd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74610450565b3480156106ba575f5ffd5b506103896106c93660046149f6565b6117ad565b3480156106d9575f5ffd5b506103896106e83660046149f6565b611a1b565b3480156106f8575f5ffd5b506105b76107073660046149f6565b611ae6565b348015610717575f5ffd5b506103e8610726366004614ecf565b611b6d565b610389610739366004614f16565b611c4c565b61038961074c366004614f16565b611c62565b34801561075c575f5ffd5b506105b761076b3660046149f6565b611c6d565b34801561077b575f5ffd5b5061038961078a3660046149f6565b611c90565b34801561079a575f5ffd5b506003546001600160a01b031661047c565b3480156107b7575f5ffd5b506103e86107c6366004614aa0565b611d35565b3480156107d6575f5ffd5b506103e86107e5366004614f85565b611e80565b3480156107f5575f5ffd5b506105b76108043660046149f6565b612016565b348015610814575f5ffd5b5061081e61010081565b60405163ffffffff90911681526020016103f5565b34801561083e575f5ffd5b5061085261084d3660046149f6565b6120d6565b60405160ff90911681526020016103f5565b34801561086f575f5ffd5b506103e861087e366004614ecf565b6120f6565b34801561088e575f5ffd5b50610389612187565b3480156108a2575f5ffd5b506105b77f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d5575f5ffd5b506104506108e4366004614ffb565b61223c565b3480156108f4575f5ffd5b5061038961090336600461501b565b612285565b348015610913575f5ffd5b5061047c61092236600461501b565b6122d9565b348015610932575f5ffd5b506103e8610941366004615032565b61233e565b348015610951575f5ffd5b506103e861096036600461508a565b6123fd565b348015610970575f5ffd5b506105b761097f366004614a18565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b3480156109b7575f5ffd5b5042610450565b3480156109c9575f5ffd5b506104506109d8366004614ffb565b61270d565b3480156109e8575f5ffd5b506103896109f736600461510a565b612755565b348015610a07575f5ffd5b50610450600181565b348015610a1b575f5ffd5b506105b7610a2a366004615151565b6127ca565b348015610a3a575f5ffd5b50610389610a493660046149f6565b612809565b348015610a59575f5ffd5b50610a6d610a6836600461501b565b6128e6565b6040516103f5919061518f565b348015610a85575f5ffd5b50610389610a943660046151da565b6129c7565b348015610aa4575f5ffd5b506105b77f000000000000000000000000000000000000000000000000000000000000000081565b348015610ad7575f5ffd5b506105b7610ae636600461501b565b5f90815260026020526040902054151590565b348015610b04575f5ffd5b5061047c612a45565b348015610b18575f5ffd5b50610389610b273660046151da565b612b09565b348015610b37575f5ffd5b5061047c7f000000000000000000000000000000000000000000000000000000000000000081565b348015610b6a575f5ffd5b50610b7e610b793660046149f6565b612c0f565b6040805193151584529115156020840152908201526060016103f5565b348015610ba6575f5ffd5b50610389610bb5366004614a18565b612c5d565b5f546201000090046001600160a01b03163314610bea576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610c29576040516314f72c9f60e01b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c66573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8a9190615204565b5f81815260026020526040812054919250819003610cbb57604051630e4f4df560e11b815260040160405180910390fd5b5f6001610cc8818461522f565b81548110610cd857610cd8615242565b5f918252602090912001546040516311a5465560e21b81526001600160a01b038681166004830152909116915081906346951954906024015f604051808303815f87803b158015610d27575f5ffd5b505af1158015610d39573d5f5f3e3d5ffd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b5f546201000090046001600160a01b03163314610db5576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015f604051808303815f87803b158015610df5575f5ffd5b505af1158015610e07573d5f5f3e3d5ffd5b505050505050565b5f546201000090046001600160a01b03163314610e3f576040516362e9152760e11b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea09190615204565b5f8181526002602052604090205490915015610ecf57604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610ef357604051630f85034f60e31b815260040160405180910390fd5b5f7f0000000000000000000000000000000000000000000000000000000000000000610fa3575f604051610f269061497b565b604051809103905ff080158015610f3f573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef906024015f604051808303815f87803b158015610f84575f5ffd5b505af1158015610f96573d5f5f3e3d5ffd5b5050505080915050610fa6565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055545f838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d19061104290849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b606061105a33612016565b6110775760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506110b89250839150612dae9050565b6110c4576110c4615256565b5f5f61113a8a5f898c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284375f92019190915250612dcc92505050565b91509150811561124d5761114d81612e91565b156111e6578080602001905181019061116691906152b7565b935061117184612dae565b6111e1578661119b5760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296506111e192508c915060149050612ee1565b611286565b866112075760405163a85ba64f60e01b815260166004820152602401611192565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296506111e192508c915060169050612ee1565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296505050505b5050509695505050505050565b60606112a133845f85612f60565b90505b92915050565b5f546201000090046001600160a01b031633146112da576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a94660048201525f90309063b6d200de90602401602060405180830381865afa158015611335573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135991906152e8565b90505f816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa158015611398573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113bc91906152e8565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe6906024015f604051808303815f87803b158015611400575f5ffd5b505af1158015611412573d5f5f3e3d5ffd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b606061146a33858585613198565b949350505050565b61147a614988565b6112a48261329f565b60608083838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114c79250839150612dae9050565b6114e75760405163a85ba64f60e01b815260146004820152602401611192565b896114f181612016565b61150e5760405163619c535960e01b815260040160405180910390fd5b5f61154d87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061147292505050565b6101208101519091506001600160a01b0316331461157e5760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b90819084018382808284375f9201919091525050505060a08301526115c982613368565b95505f61160d8e8e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508c91506134999050565b96509050801561166c578580602001905181019061162b91906152b7565b965061163687612dae565b61164257611642615256565b61164b87611472565b6001600160a01b0383166060820152925061166583613368565b9650611675565b6116758661354f565b505050505097509795505050505050565b5f546201000090046001600160a01b031633146116b6576040516362e9152760e11b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156116f5576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611731573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117559190615303565b156117735760405163474e764160e01b815260040160405180910390fd5b61177c8161365a565b50565b5f6117a87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b5f546201000090046001600160a01b031633146117dd576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b031661193d577f00000000000000000000000000000000000000000000000000000000000000006118ba575f60405161181f9061497b565b604051809103905ff080158015611838573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef906024015f604051808303815f87803b15801561187d575f5ffd5b505af115801561188f573d5f5f3e3d5ffd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506118d69050565b600380546001600160a01b0319166001600160a01b0383161790555b60035f9054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611922575f5ffd5b505af1158015611934573d5f5f3e3d5ffd5b505050506119d7565b7f00000000000000000000000000000000000000000000000000000000000000001561197c576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b038381166004830152909116906346951954906024015f604051808303815f87803b1580156119c0575f5ffd5b505af11580156119d2573d5f5f3e3d5ffd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b335f81815260046020526040902054611a47576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382165f90815260046020526040902054611a7c57604051634b5518af60e11b815260040160405180910390fd5b611a85826120d6565b60ff16611a91826120d6565b60ff1611611ab257604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081165f908152600560209081526040808320949093168252929092529020805460ff19166001179055565b5f80546201000090046001600160a01b03166380f70cba3083611b0886613891565b6040518463ffffffff1660e01b8152600401611b269392919061531e565b602060405180830381865afa158015611b41573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b659190615204565b151592915050565b6060611b7833612016565b611b955760405163619c535960e01b815260040160405180910390fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611bd69250839150612dae9050565b611be257611be2615256565b5f611c2186868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061147292505050565b9050838161010001818151611c369190615342565b905250611c4281613368565b9695505050505050565b611c5e611c57613918565b838361397f565b5050565b611c5e33838361397f565b6001600160a01b0381165f908152600460205260408120546180001615156112a4565b5f546201000090046001600160a01b03163314611cc0576040516362e9152760e11b815260040160405180910390fd5b5f54604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a15f80546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611d4033612016565b611d5d5760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611d9e9250839150612dae9050565b611daa57611daa615256565b5f5f611e218a6001898c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284375f92019190915250612dcc92505050565b91509150811561128657611e3481612e91565b15611e545780806020019051810190611e4d91906152b7565b9350611286565b86611e755760405163a85ba64f60e01b815260166004820152602401611192565b6112868a6016612ee1565b6060611e8b33612016565b611ea85760405163619c535960e01b815260040160405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611ee99250839150612dae9050565b611ef557611ef5615256565b5f611f3489898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061147292505050565b9050611f5a81606001516001600160a01b03165f90815260046020526040902054151590565b8015611f6d57506001815f015160ff1610155b15611fbf5760608101516001600160a01b039081165f908152600560209081526040808320938b168352929052205460ff16611fbf5760405163a85ba64f60e01b8152601e6004820152602401611192565b805181611fcb82615369565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b03808816610120830152841661014082015261200981613368565b9998505050505050505050565b5f5f826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612054573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120789190615204565b5f81815260026020526040902054909150801580159061146a57506001600160a01b03841660016120a9818461522f565b815481106120b9576120b9615242565b5f918252602090912001546001600160a01b031614949350505050565b6001600160a01b0381165f9081526004602052604081205460ff166112a4565b606061210133612016565b61211e5760405163619c535960e01b815260040160405180910390fd5b5f61215d85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061147292505050565b90508281610100018181516121729190615342565b90525061217e81613368565b95945050505050565b5f54610100900460ff16158080156121a557505f54600160ff909116105b806121be5750303b1580156121be57505f5460ff166001145b6121da5760405162461bcd60e51b815260040161119290615387565b5f805460ff1916600117905580156121fb575f805461ff0019166101001790555b801561177c575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611a10565b5f8181526002602052604081205480820361226a57604051630e4f4df560e11b815260040160405180910390fd5b61227560018261522f565b6001901b19841691505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156122cf576122cf604051806040016040528060028152602001616b3160f01b81525032614442565b61177c338261459e565b5f8181526002602052604081205480820361230757604051630e4f4df560e11b815260040160405180910390fd5b6001612313818361522f565b8154811061232357612323615242565b5f918252602090912001546001600160a01b03169392505050565b606061234933612016565b6123665760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506123a79250839150612dae9050565b6123b3576123b3615256565b6123bd8484612ee1565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506124409250839150612dae9050565b6124605760405163a85ba64f60e01b815260146004820152602401611192565b6001600160a01b0387165f90815260046020526040812054889181900361249a5760405163163cbe4360e01b815260040160405180910390fd5b6180008116156124bc57604051628e12d960e21b815260040160405180910390fd5b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092506124fc915083905061466b565b90506001600160e01b031981166330d9c91560e01b148061252d57506001600160e01b0319811663d86ed3e560e01b145b8061254857506001600160e01b03198116630221347d60e61b145b8061256357506001600160e01b0319811663230dbd2960e01b145b8061257e57506001600160e01b03198116635f9e7d7760e01b145b8061259957506001600160e01b031981166353c11f9960e01b145b156125b7576040516377a14afb60e11b815260040160405180910390fd5b5f6125f689898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061147292505050565b6101208101519091506001600160a01b03163314612627576040516311cfdef560e21b815260040160405180910390fd5b6060810180513390915261263a82613368565b97505f5f61267f8f8f8f8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508f91506134999050565b9150915081156126f2578080602001905181019061269d91906152b7565b99506126a88a612dae565b6126c85760405163a85ba64f60e01b815260146004820152602401611192565b6126d18a611472565b6001600160a01b038416606082015293506126eb84613368565b99506126fb565b6126fb8161354f565b50505050505050505095945050505050565b5f8181526002602052604081205480820361273b57604051630e4f4df560e11b815260040160405180910390fd5b61274660018261522f565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156127bb576127bb82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250329250614442915050565b6127c5338461459e565b505050565b5f6112a183838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612dae92505050565b5f54610100900460ff161580801561282757505f54600160ff909116105b806128405750303b15801561284057505f5460ff166001145b61285c5760405162461bcd60e51b815260040161119290615387565b5f805460ff19166001179055801561287d575f805461ff0019166101001790555b5f805462010000600160b01b031916620100006001600160a01b038516021790558015611c5e575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60605f5f6001805490506001600160401b0381111561290757612907614b72565b604051908082528060200260200182016040528015612930578160200160208202803683370190505b5092505f90505f91505b6001548210156129bf576001821b8416156129b4576001828154811061296257612962615242565b5f918252602090912001546001600160a01b03168382612981816153d5565b93508151811061299357612993615242565b60200260200101906001600160a01b031690816001600160a01b0316815250505b81600101915061293a565b825250919050565b816001600160a01b03163b5f036129f15760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a3b57612a3b604051806040016040528060028152602001616b3160f01b81525033614442565b611c5e828261459e565b6003545f906001600160a01b0316612a5f57612a5f615256565b7f000000000000000000000000000000000000000000000000000000000000000015612a9557506003546001600160a01b031690565b60035f9054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ae5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a891906152e8565b816001600160a01b03163b5f03612b335760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a3b575f612b63336146c6565b5f805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612ba19030908590879060040161531e565b602060405180830381865afa158015612bbc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612be09190615204565b600114905080612c0357604051630b56455f60e41b815260040160405180910390fd5b5050611c5e828261459e565b6001600160a01b0381165f90815260046020908152604080832081519283019091525480825215801592918291612c5557805161800081161515935064ff000000001691505b509193909250565b5f546201000090046001600160a01b03163314612c8d576040516362e9152760e11b815260040160405180910390fd5b5f6001600160a01b038216612d155760035f9054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cec573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d1091906152e8565b612d17565b815b6040516311a5465560e21b81526001600160a01b038083166004830152919250908416906346951954906024015f604051808303815f87803b158015612d5b575f5ffd5b505af1158015612d6d573d5f5f3e3d5ffd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200161144f565b5f81515f141580156112a45750600654825160208401201492915050565b5f60606001600160a01b038716612de557612de5615256565b612def848461473f565b93506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000165f87612e3157612e2c8987846147f6565b612e3c565b612e3c898784614881565b919550909350905083612e855780612e6c5786612e6157612e5c8361354f565b612e85565b612e5c89600a612ee1565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b5f604082511015612ea357505f919050565b602082810151905f908214612ebb57505f9392505050565b506040830151612eca816148db565b612ed59060406153ed565b84511492505050919050565b6001600160a01b0382165f90815260046020526040812054618000169003611c5e576001600160a01b0382165f81815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612f549084815260200190565b60405180910390a25050565b60065460609015612f875760405163a85ba64f60e01b815260156004820152602401611192565b6001600160a01b0384165f908152600460205260408120548591819003612fc15760405163163cbe4360e01b815260040160405180910390fd5b618000811615612fe357604051628e12d960e21b815260040160405180910390fd5b835f612fee8261466b565b90506001600160e01b031981166330d9c91560e01b148061301f57506001600160e01b0319811663d86ed3e560e01b145b8061303a57506001600160e01b03198116630221347d60e61b145b8061305557506001600160e01b0319811663230dbd2960e01b145b8061307057506001600160e01b03198116635f9e7d7760e01b145b8061308b57506001600160e01b031981166353c11f9960e01b145b156130a9576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182525f808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a16610120820152610140810182905261311f90613368565b90505f61312e8a898b85613499565b97509050801561317c578680602001905181019061314c91906152b7565b915061315782612dae565b6131775760405163a85ba64f60e01b815260146004820152602401611192565b613185565b6131858761354f565b50505f6006555092979650505050505050565b600654606090156131bf5760405163a85ba64f60e01b815260156004820152602401611192565b836131c981612016565b6131e65760405163619c535960e01b815260040160405180910390fd5b5f6131f08561466b565b60408051610160810182525f8082526001602083015292935061326d9181014281526020018a6001600160a01b03168152602001846001600160e01b03191681526020018781526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b0316815250613368565b90505f61327c88885f85613499565b955090508061328e5761328e8561354f565b50505f600655509095945050505050565b6132a7614988565b606080838060200190518101906132be9190615400565b815191935091505f906132da9084016020908101908501615459565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff909116855282515f925061332a9190840181019084016154d8565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001825f015160ff1611156133955760405163a85ba64f60e01b815260286004820152602401611192565b81516020808401515f9260ff1664ff000000009190921b161790505f60806133c08560e00151614912565b6001600160801b0316901b6133d88560c00151614912565b6001600160801b0316179050818460400151856060015186608001518760a0015160405160200161340d959493929190615521565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526134779291602001614eab565b60408051601f1981840301815291905280516020820120600655949350505050565b5f60606001600160a01b0386166134b2576134b2615256565b6134bc858461473f565b9450856001600160a01b031684866040516134d79190615583565b5f6040518083038185875af1925050503d805f8114613511576040519150601f19603f3d011682016040523d82523d5f602084013e613516565b606091505b50909250905081156135465780515f036135465760405163a85ba64f60e01b815260166004820152602401611192565b94509492505050565b6004815110156135a15760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611192565b602081015163b1b7848f60e01b6001600160e01b03198216016136515760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161119291849101614b60565b81518060208401fd5b5f6136837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036136d95760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611192565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613715573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137399190615204565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146137b35760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611192565b6001600160a01b038116300361380b5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611192565b613833817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611a10565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b038316918101919091525f9060c0015b604051602081830303815290604052805190602001209050919050565b5f6018361080159061392e575061392e33611ae6565b6139725760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b6044820152606401611192565b5060131936013560601c90565b5f5b81811015614403575f83838381811061399c5761399c615242565b90506020028101906139ae919061558e565b6139bc9060208101906155ac565b90505f1963ffffffff821601613aa9575f5f8585858181106139e0576139e0615242565b90506020028101906139f2919061558e565b613a009060408101906155cf565b810190613a0d91906151da565b91509150858585818110613a2357613a23615242565b9050602002810190613a35919061558e565b613a469060408101906020016149f6565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b8152600401613a759392919061531e565b5f604051808303815f87803b158015613a8c575f5ffd5b505af1158015613a9e573d5f5f3e3d5ffd5b5050505050506143fa565b60011963ffffffff821601613bad575f5f5f868686818110613acd57613acd615242565b9050602002810190613adf919061558e565b613aed9060408101906155cf565b810190613afa9190615611565b925092509250868686818110613b1257613b12615242565b9050602002810190613b24919061558e565b613b359060408101906020016149f6565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b5f604051808303815f87803b158015613b8f575f5ffd5b505af1158015613ba1573d5f5f3e3d5ffd5b505050505050506143fa565b60021963ffffffff821601613c6a575f5f5f868686818110613bd157613bd1615242565b9050602002810190613be3919061558e565b613bf19060408101906155cf565b810190613bfe919061564f565b925092509250868686818110613c1657613c16615242565b9050602002810190613c28919061558e565b613c399060408101906020016149f6565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b8152600401613b78949392919061568d565b60031963ffffffff821601613d22575f5f858585818110613c8d57613c8d615242565b9050602002810190613c9f919061558e565b613cad9060408101906155cf565b810190613cba91906151da565b91509150858585818110613cd057613cd0615242565b9050602002810190613ce2919061558e565b613cf39060408101906020016149f6565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b8152600401613a759392919061531e565b60041963ffffffff821601613dda575f5f858585818110613d4557613d45615242565b9050602002810190613d57919061558e565b613d659060408101906155cf565b810190613d7291906151da565b91509150858585818110613d8857613d88615242565b9050602002810190613d9a919061558e565b613dab9060408101906020016149f6565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b8152600401613a759392919061531e565b60641963ffffffff821601613eca57838383818110613dfb57613dfb615242565b9050602002810190613e0d919061558e565b613e1e9060408101906020016149f6565b6001600160a01b031663ca78946486868686818110613e3f57613e3f615242565b9050602002810190613e51919061558e565b613e5f9060408101906155cf565b810190613e6c919061501b565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b158015613eaf575f5ffd5b505af1158015613ec1573d5f5f3e3d5ffd5b505050506143fa565b60651963ffffffff821601613f2f57838383818110613eeb57613eeb615242565b9050602002810190613efd919061558e565b613f0e9060408101906020016149f6565b6001600160a01b031663245887fc86868686818110613e3f57613e3f615242565b60661963ffffffff821601613fe7575f5f858585818110613f5257613f52615242565b9050602002810190613f64919061558e565b613f729060408101906155cf565b810190613f7f91906151da565b91509150858585818110613f9557613f95615242565b9050602002810190613fa7919061558e565b613fb89060408101906020016149f6565b6001600160a01b0316631ae88ffc8884846040518463ffffffff1660e01b8152600401613a759392919061531e565b60671963ffffffff82160161409f575f5f85858581811061400a5761400a615242565b905060200281019061401c919061558e565b61402a9060408101906155cf565b81019061403791906151da565b9150915085858581811061404d5761404d615242565b905060200281019061405f919061558e565b6140709060408101906020016149f6565b6001600160a01b03166347ba7ad18884846040518463ffffffff1660e01b8152600401613a759392919061531e565b60c81963ffffffff82160161413b575f5f8585858181106140c2576140c2615242565b90506020028101906140d4919061558e565b6140e29060408101906155cf565b8101906140ef91906156bf565b915091506141338787878781811061410957614109615242565b905060200281019061411b919061558e565b61412c9060408101906020016149f6565b8484613198565b5050506143fa565b60c91963ffffffff8216016141f5576141ef8585858581811061416057614160615242565b9050602002810190614172919061558e565b6141839060408101906020016149f6565b4787878781811061419657614196615242565b90506020028101906141a8919061558e565b6141b69060408101906155cf565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612f6092505050565b506143fa565b61012c1963ffffffff821601614318575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322bee4944788888881811061424957614249615242565b905060200281019061425b919061558e565b61426c9060408101906020016149f6565b89898981811061427e5761427e615242565b9050602002810190614290919061558e565b61429e9060408101906155cf565b6040518563ffffffff1660e01b81526004016142bc93929190615734565b5f6040518083038185885af11580156142d7573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526142ff9190810190615758565b9150915081614311576143118161354f565b50506143fa565b61012d1963ffffffff8216016143e1575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663177ec5944788888881811061436c5761436c615242565b905060200281019061437e919061558e565b61438f9060408101906020016149f6565b8a8a8a8a8181106143a2576143a2615242565b90506020028101906143b4919061558e565b6143c29060408101906155cf565b6040518663ffffffff1660e01b81526004016142bc949392919061578f565b60405163b477011560e01b815260040160405180910390fd5b50600101613981565b5047156127c5576040516001600160a01b038416904780156108fc02915f818181858888f1935050505015801561443c573d5f5f3e3d5ffd5b50505050565b604051632474521560e21b81527f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8460048201526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906391d1485490604401602060405180830381865afa1580156144cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906144f09190615303565b156144f9575050565b5f6145048284614949565b5f805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba91614540913091879060040161531e565b602060405180830381865afa15801561455b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061457f9190615204565b10156127c557604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff1981161515806145b5575060ff8116155b806145c35750618000811615155b156145e157604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b0382165f9081526004602052604090205415614617576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b0385165f81815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b5f6004825110156146be5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c4461746100000000006044820152606401611192565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b038316918101919091525f9060c0016138fb565b815180830151606091908015614768576040516367e9985b60e01b815260040160405180910390fd5b50601f198101845282518490848161477f816148db565b614789919061522f565b6001600160401b038111156147a0576147a0614b72565b6040519080825280601f01601f1916602001820160405280156147ca576020820181803683370190505b506040516020016147de94939291906157bb565b60405160208183030381529060405291505092915050565b5f5f60605f5a9050866001600160a01b031685876040516148179190615583565b5f604051808303815f8787f1925050503d805f8114614851576040519150601f19603f3d011682016040523d82523d5f602084013e614856565b606091505b509094509150836148775761486c6040826157df565b5a1161487757600192505b5093509350939050565b5f5f60605f5a9050866001600160a01b031685876040516148a29190615583565b5f604051808303818686fa925050503d805f8114614851576040519150601f19603f3d011682016040523d82523d5f602084013e614856565b5f5f82601f16116148ec575f6148ef565b60015b60ff166148fd6020846157df565b61490791906153ed565b6112a49060206157fe565b5f6001600160801b03821115614945576040516306dfcc6560e41b81526080600482015260248101839052604401611192565b5090565b5f828260405160200161495d929190615815565b60405160208183030381529060405280519060200120905092915050565b6102398061589a83390190565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461177c575f5ffd5b5f60208284031215614a06575f5ffd5b8135614a11816149e2565b9392505050565b5f5f60408385031215614a29575f5ffd5b8235614a34816149e2565b91506020830135614a44816149e2565b809150509250929050565b5f5f83601f840112614a5f575f5ffd5b5081356001600160401b03811115614a75575f5ffd5b602083019150836020828501011115614a8c575f5ffd5b9250929050565b801515811461177c575f5ffd5b5f5f5f5f5f5f60808789031215614ab5575f5ffd5b8635614ac0816149e2565b955060208701356001600160401b03811115614ada575f5ffd5b614ae689828a01614a4f565b9096509450506040870135614afa81614a93565b925060608701356001600160401b03811115614b14575f5ffd5b614b2089828a01614a4f565b979a9699509497509295939492505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6112a16020830184614b32565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614bae57614bae614b72565b604052919050565b5f6001600160401b03821115614bce57614bce614b72565b50601f01601f191660200190565b5f82601f830112614beb575f5ffd5b8135614bfe614bf982614bb6565b614b86565b818152846020838601011115614c12575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215614c3f575f5ffd5b8235614c4a816149e2565b915060208301356001600160401b03811115614c64575f5ffd5b614c7085828601614bdc565b9150509250929050565b5f5f5f60608486031215614c8c575f5ffd5b8335614c97816149e2565b925060208401356001600160401b03811115614cb1575f5ffd5b614cbd86828701614bdc565b92505060408401356001600160401b03811115614cd8575f5ffd5b614ce486828701614bdc565b9150509250925092565b5f60208284031215614cfe575f5ffd5b81356001600160401b03811115614d13575f5ffd5b61146a84828501614bdc565b60208152614d3360208201835160ff169052565b5f6020830151614d48604084018260ff169052565b50604083015160608301526060830151614d6d60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a083015161016060c0840152614d9f610180840182614b32565b905060c084015160e084015260e0840151610100840152610100840151610120840152610120840151614dde6101408501826001600160a01b03169052565b506101408401516001600160a01b038116610160850152509392505050565b5f5f5f5f5f5f5f6080888a031215614e13575f5ffd5b8735614e1e816149e2565b965060208801356001600160401b03811115614e38575f5ffd5b614e448a828b01614a4f565b90975095505060408801356001600160401b03811115614e62575f5ffd5b614e6e8a828b01614a4f565b90955093505060608801356001600160401b03811115614e8c575f5ffd5b614e988a828b01614a4f565b989b979a50959850939692959293505050565b604081525f614ebd6040830185614b32565b828103602084015261217e8185614b32565b5f5f5f60408486031215614ee1575f5ffd5b83356001600160401b03811115614ef6575f5ffd5b614f0286828701614a4f565b909790965060209590950135949350505050565b5f5f60208385031215614f27575f5ffd5b82356001600160401b03811115614f3c575f5ffd5b8301601f81018513614f4c575f5ffd5b80356001600160401b03811115614f61575f5ffd5b8560208260051b8401011115614f75575f5ffd5b6020919091019590945092505050565b5f5f5f5f5f5f60a08789031215614f9a575f5ffd5b86356001600160401b03811115614faf575f5ffd5b614fbb89828a01614a4f565b9097509550506020870135614fcf816149e2565b935060408701359250606087013591506080870135614fed816149e2565b809150509295509295509295565b5f5f6040838503121561500c575f5ffd5b50508035926020909101359150565b5f6020828403121561502b575f5ffd5b5035919050565b5f5f5f5f60608587031215615045575f5ffd5b84356001600160401b0381111561505a575f5ffd5b61506687828801614a4f565b909550935050602085013561507a816149e2565b9396929550929360400135925050565b5f5f5f5f5f6060868803121561509e575f5ffd5b85356150a9816149e2565b945060208601356001600160401b038111156150c3575f5ffd5b6150cf88828901614a4f565b90955093505060408601356001600160401b038111156150ed575f5ffd5b6150f988828901614a4f565b969995985093965092949392505050565b5f5f5f6040848603121561511c575f5ffd5b8335925060208401356001600160401b03811115615138575f5ffd5b61514486828701614a4f565b9497909650939450505050565b5f5f60208385031215615162575f5ffd5b82356001600160401b03811115615177575f5ffd5b61518385828601614a4f565b90969095509350505050565b602080825282518282018190525f918401906040840190835b818110156151cf5783516001600160a01b03168352602093840193909201916001016151a8565b509095945050505050565b5f5f604083850312156151eb575f5ffd5b82356151f6816149e2565b946020939093013593505050565b5f60208284031215615214575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156112a4576112a461521b565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52600160045260245ffd5b5f82601f830112615279575f5ffd5b8151615287614bf982614bb6565b81815284602083860101111561529b575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f602082840312156152c7575f5ffd5b81516001600160401b038111156152dc575f5ffd5b61146a8482850161526a565b5f602082840312156152f8575f5ffd5b8151614a11816149e2565b5f60208284031215615313575f5ffd5b8151614a1181614a93565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281125f8312801582168215821617156153615761536161521b565b505092915050565b5f60ff821660ff810361537e5761537e61521b565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b5f600182016153e6576153e661521b565b5060010190565b808201808211156112a4576112a461521b565b5f5f60408385031215615411575f5ffd5b82516001600160401b03811115615426575f5ffd5b6154328582860161526a565b92505060208301516001600160401b0381111561544d575f5ffd5b614c708582860161526a565b5f5f5f5f5f60a0868803121561546d575f5ffd5b8551602087015160408801519196509450615487816149e2565b60608701519093506001600160e01b0319811681146154a4575f5ffd5b60808701519092506001600160401b038111156154bf575f5ffd5b6154cb8882890161526a565b9150509295509295909350565b5f5f5f5f608085870312156154eb575f5ffd5b8451602086015160408701519195509350615505816149e2565b6060860151909250615516816149e2565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a0608082018190525f9061556190830184614b32565b979650505050505050565b5f81518060208401855e5f93019283525090919050565b5f6112a1828461556c565b5f8235605e198336030181126155a2575f5ffd5b9190910192915050565b5f602082840312156155bc575f5ffd5b813563ffffffff81168114614a11575f5ffd5b5f5f8335601e198436030181126155e4575f5ffd5b8301803591506001600160401b038211156155fd575f5ffd5b602001915036819003821315614a8c575f5ffd5b5f5f5f60608486031215615623575f5ffd5b833561562e816149e2565b9250602084013561563e816149e2565b929592945050506040919091013590565b5f5f5f60608486031215615661575f5ffd5b833561566c816149e2565b92506020840135915060408401356001600160401b03811115614cd8575f5ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90611c4290830184614b32565b5f5f604083850312156156d0575f5ffd5b82356001600160401b038111156156e5575f5ffd5b6156f185828601614bdc565b92505060208301356001600160401b03811115614c64575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190525f9061217e908301848661570c565b5f5f60408385031215615769575f5ffd5b825161577481614a93565b60208401519092506001600160401b0381111561544d575f5ffd5b6001600160a01b038581168252841660208201526060604082018190525f90611c42908301848661570c565b5f6157c6828761556c565b8581526155616157d9602083018761556c565b8561556c565b5f826157f957634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176112a4576112a461521b565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e060408201525f61146a60e0830184614b3256fe6080604052348015600e575f5ffd5b5061021d8061001c5f395ff3fe608060405260043610610021575f3560e01c80634a0687ef1461003857610030565b366100305761002e610057565b005b61002e610057565b348015610043575f5ffd5b5061002e6100523660046101ba565b610069565b61006761006261016e565b61019c565b565b6001600160a01b0381166100c45760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b5f6100ed7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101435760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bb565b61016b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b5f6101977f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b365f5f375f5f365f845af43d5f5f3e8080156101b6573d5ff35b3d5ffd5b5f602082840312156101ca575f5ffd5b81356001600160a01b03811681146101e0575f5ffd5b939250505056fea26469706673582212201ceef34221f29609fe3cb365ba700d7fa6020b5209e83935d790e10a64a8f31764736f6c63430008230033a26469706673582212207742d056cd690e85c59ad59ac08f889e1aa8328e9e349d5c3a06f4e971518cfe64736f6c63430008230033";
|
|
15
|
+
static readonly bytecode = "0x610140604052348015610010575f5ffd5b50604051615cc1380380615cc183398101604081905261002f91610092565b94151560805292151560a0526001600160401b0390911660c0526001600160a01b0390811660e052908116610100521661012052610110565b80518015158114610077575f5ffd5b919050565b80516001600160a01b0381168114610077575f5ffd5b5f5f5f5f5f5f60c087890312156100a7575f5ffd5b6100b087610068565b95506100be60208801610068565b60408801519095506001600160401b03811681146100da575f5ffd5b93506100e86060880161007c565b92506100f66080880161007c565b915061010460a0880161007c565b90509295509295509295565b60805160a05160c05160e0516101005161012051615b086101b95f395f818161053e015261448701525f81816104a2015261432c01525f8181610b3d015261420901525f81816104f60152612dfb01525f81816108a80152818161228701528181612757015281816129f30152612b3501525f8181610aaa01528181610bec01528181610ef6015281816116b8015281816117ef0152818161193f0152612a610152615b085ff3fe608060405260043610610366575f3560e01c806374041e02116101c8578063bbe4fd50116100fd578063c60944a61161009d578063f37330521161006d578063f373305214610b0d578063f85263b914610b2c578063f9f522f414610b5f578063fa6e0cfe14610b9b575f5ffd5b8063c60944a614610a7a578063cd312ec414610a99578063e8dccb7d14610acc578063f2e55caf14610af9575f5ffd5b8063bd3252c8116100d8578063bd3252c8146109fc578063bf42873414610a10578063c4d66de814610a2f578063c56a069d14610a4e575f5ffd5b8063bbe4fd50146109ac578063bced3ddc146109be578063bd1c448b146109dd575f5ffd5b80639d297e3011610168578063b6d200de11610143578063b6d200de14610908578063b724211e14610927578063ba48b5f814610946578063bb84cfa114610965575f5ffd5b80639d297e3014610897578063a5dbbbcd146108ca578063ad3915c8146108e9575f5ffd5b80638ceddd7a116101a35780638ceddd7a146108095780639378fa1314610833578063989b0c3e146108645780639903ad3814610883575f5ffd5b806374041e02146107ac578063768fabb0146107cb5780638ca48484146107ea575f5ffd5b80634329d2931161029e578063572b6c051161023e5780636ad3ca7d116102195780636ad3ca7d1461073e5780636b4f3335146107515780637283100c14610770578063731aed6e1461078f575f5ffd5b8063572b6c05146106ed57806359a291411461070c578063670e77e31461072b575f5ffd5b806350d75d251161027957806350d75d251461066957806352d1902d1461067d57806354fbc493146106af57806357121e0c146106ce575f5ffd5b80634329d293146105f35780634695195414610620578063486ff0cd1461063f575f5ffd5b80632ecfbda21161030957806336b3e52d116102e457806336b3e52d1461053057806339255d5b146105625780633ca3ad4e146105815780633f6c923a146105c7575f5ffd5b80632ecfbda2146104945780632f89bf89146104c657806333d608f1146104e5575f5ffd5b80631e6d0a84116103445780631e6d0a84146103c95780631e855cf3146103fe5780632368335a1461041d578063289b3c0d1461045e575f5ffd5b806306cecba81461036a5780630c5650751461038b57806315a024e1146103aa575b5f5ffd5b348015610375575f5ffd5b506103896103843660046149f6565b610bba565b005b348015610396575f5ffd5b506103896103a5366004614a18565b610d85565b3480156103b5575f5ffd5b506103896103c43660046149f6565b610e0f565b3480156103d4575f5ffd5b506103e86103e3366004614aa0565b61104f565b6040516103f59190614b60565b60405180910390f35b348015610409575f5ffd5b506103e8610418366004614c2e565b611293565b348015610428575f5ffd5b506104507f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8481565b6040519081526020016103f5565b348015610469575f5ffd5b505f546201000090046001600160a01b03165b6040516001600160a01b0390911681526020016103f5565b34801561049f575f5ffd5b507f000000000000000000000000000000000000000000000000000000000000000061047c565b3480156104d1575f5ffd5b506103896104e03660046149f6565b6112aa565b3480156104f0575f5ffd5b506105187f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b0390911681526020016103f5565b34801561053b575f5ffd5b507f000000000000000000000000000000000000000000000000000000000000000061047c565b34801561056d575f5ffd5b506103e861057c366004614c7a565b61145c565b34801561058c575f5ffd5b506105b761059b3660046149f6565b6001600160a01b03165f90815260046020526040902054151590565b60405190151581526020016103f5565b3480156105d2575f5ffd5b506105e66105e1366004614cee565b611472565b6040516103f59190614d1f565b3480156105fe575f5ffd5b5061061261060d366004614dfd565b611483565b6040516103f5929190614eab565b34801561062b575f5ffd5b5061038961063a3660046149f6565b611686565b34801561064a575f5ffd5b50604080518082019091526002815261763160f01b60208201526103e8565b348015610674575f5ffd5b5061047c61177f565b348015610688575f5ffd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74610450565b3480156106ba575f5ffd5b506103896106c93660046149f6565b6117ad565b3480156106d9575f5ffd5b506103896106e83660046149f6565b611a1b565b3480156106f8575f5ffd5b506105b76107073660046149f6565b611ae6565b348015610717575f5ffd5b506103e8610726366004614ecf565b611b6d565b610389610739366004614f16565b611c4c565b61038961074c366004614f16565b611c62565b34801561075c575f5ffd5b506105b761076b3660046149f6565b611c6d565b34801561077b575f5ffd5b5061038961078a3660046149f6565b611c90565b34801561079a575f5ffd5b506003546001600160a01b031661047c565b3480156107b7575f5ffd5b506103e86107c6366004614aa0565b611d35565b3480156107d6575f5ffd5b506103e86107e5366004614f85565b611e80565b3480156107f5575f5ffd5b506105b76108043660046149f6565b612016565b348015610814575f5ffd5b5061081e61010081565b60405163ffffffff90911681526020016103f5565b34801561083e575f5ffd5b5061085261084d3660046149f6565b6120d6565b60405160ff90911681526020016103f5565b34801561086f575f5ffd5b506103e861087e366004614ecf565b6120f6565b34801561088e575f5ffd5b50610389612187565b3480156108a2575f5ffd5b506105b77f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d5575f5ffd5b506104506108e4366004614ffb565b61223c565b3480156108f4575f5ffd5b5061038961090336600461501b565b612285565b348015610913575f5ffd5b5061047c61092236600461501b565b6122d9565b348015610932575f5ffd5b506103e8610941366004615032565b61233e565b348015610951575f5ffd5b506103e861096036600461508a565b6123fd565b348015610970575f5ffd5b506105b761097f366004614a18565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b3480156109b7575f5ffd5b5042610450565b3480156109c9575f5ffd5b506104506109d8366004614ffb565b61270d565b3480156109e8575f5ffd5b506103896109f736600461510a565b612755565b348015610a07575f5ffd5b50610450600181565b348015610a1b575f5ffd5b506105b7610a2a366004615151565b6127ca565b348015610a3a575f5ffd5b50610389610a493660046149f6565b612809565b348015610a59575f5ffd5b50610a6d610a6836600461501b565b6128e6565b6040516103f5919061518f565b348015610a85575f5ffd5b50610389610a943660046151da565b6129c7565b348015610aa4575f5ffd5b506105b77f000000000000000000000000000000000000000000000000000000000000000081565b348015610ad7575f5ffd5b506105b7610ae636600461501b565b5f90815260026020526040902054151590565b348015610b04575f5ffd5b5061047c612a45565b348015610b18575f5ffd5b50610389610b273660046151da565b612b09565b348015610b37575f5ffd5b5061047c7f000000000000000000000000000000000000000000000000000000000000000081565b348015610b6a575f5ffd5b50610b7e610b793660046149f6565b612c0f565b6040805193151584529115156020840152908201526060016103f5565b348015610ba6575f5ffd5b50610389610bb5366004614a18565b612c5d565b5f546201000090046001600160a01b03163314610bea576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610c29576040516314f72c9f60e01b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c66573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8a9190615204565b5f81815260026020526040812054919250819003610cbb57604051630e4f4df560e11b815260040160405180910390fd5b5f6001610cc8818461522f565b81548110610cd857610cd8615242565b5f918252602090912001546040516311a5465560e21b81526001600160a01b038681166004830152909116915081906346951954906024015f604051808303815f87803b158015610d27575f5ffd5b505af1158015610d39573d5f5f3e3d5ffd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b5f546201000090046001600160a01b03163314610db5576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015f604051808303815f87803b158015610df5575f5ffd5b505af1158015610e07573d5f5f3e3d5ffd5b505050505050565b5f546201000090046001600160a01b03163314610e3f576040516362e9152760e11b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea09190615204565b5f8181526002602052604090205490915015610ecf57604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610ef357604051630f85034f60e31b815260040160405180910390fd5b5f7f0000000000000000000000000000000000000000000000000000000000000000610fa3575f604051610f269061497b565b604051809103905ff080158015610f3f573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef906024015f604051808303815f87803b158015610f84575f5ffd5b505af1158015610f96573d5f5f3e3d5ffd5b5050505080915050610fa6565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055545f838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d19061104290849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b606061105a33612016565b6110775760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506110b89250839150612dae9050565b6110c4576110c4615256565b5f5f61113a8a5f898c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284375f92019190915250612dcc92505050565b91509150811561124d5761114d81612e91565b156111e6578080602001905181019061116691906152b7565b935061117184612dae565b6111e1578661119b5760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296506111e192508c915060149050612ee1565b611286565b866112075760405163a85ba64f60e01b815260166004820152602401611192565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296506111e192508c915060169050612ee1565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296505050505b5050509695505050505050565b60606112a133845f85612f60565b90505b92915050565b5f546201000090046001600160a01b031633146112da576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a94660048201525f90309063b6d200de90602401602060405180830381865afa158015611335573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135991906152e8565b90505f816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa158015611398573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113bc91906152e8565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe6906024015f604051808303815f87803b158015611400575f5ffd5b505af1158015611412573d5f5f3e3d5ffd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b606061146a33858585613198565b949350505050565b61147a614988565b6112a48261329f565b60608083838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114c79250839150612dae9050565b6114e75760405163a85ba64f60e01b815260146004820152602401611192565b896114f181612016565b61150e5760405163619c535960e01b815260040160405180910390fd5b5f61154d87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061147292505050565b6101208101519091506001600160a01b0316331461157e5760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b90819084018382808284375f9201919091525050505060a08301526115c982613368565b95505f61160d8e8e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508c91506134999050565b96509050801561166c578580602001905181019061162b91906152b7565b965061163687612dae565b61164257611642615256565b61164b87611472565b6001600160a01b0383166060820152925061166583613368565b9650611675565b6116758661354f565b505050505097509795505050505050565b5f546201000090046001600160a01b031633146116b6576040516362e9152760e11b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156116f5576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611731573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117559190615303565b156117735760405163474e764160e01b815260040160405180910390fd5b61177c8161365a565b50565b5f6117a87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b5f546201000090046001600160a01b031633146117dd576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b031661193d577f00000000000000000000000000000000000000000000000000000000000000006118ba575f60405161181f9061497b565b604051809103905ff080158015611838573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef906024015f604051808303815f87803b15801561187d575f5ffd5b505af115801561188f573d5f5f3e3d5ffd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506118d69050565b600380546001600160a01b0319166001600160a01b0383161790555b60035f9054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611922575f5ffd5b505af1158015611934573d5f5f3e3d5ffd5b505050506119d7565b7f00000000000000000000000000000000000000000000000000000000000000001561197c576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b038381166004830152909116906346951954906024015f604051808303815f87803b1580156119c0575f5ffd5b505af11580156119d2573d5f5f3e3d5ffd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b335f81815260046020526040902054611a47576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382165f90815260046020526040902054611a7c57604051634b5518af60e11b815260040160405180910390fd5b611a85826120d6565b60ff16611a91826120d6565b60ff1611611ab257604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081165f908152600560209081526040808320949093168252929092529020805460ff19166001179055565b5f80546201000090046001600160a01b03166380f70cba3083611b0886613891565b6040518463ffffffff1660e01b8152600401611b269392919061531e565b602060405180830381865afa158015611b41573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b659190615204565b151592915050565b6060611b7833612016565b611b955760405163619c535960e01b815260040160405180910390fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611bd69250839150612dae9050565b611be257611be2615256565b5f611c2186868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061147292505050565b9050838161010001818151611c369190615342565b905250611c4281613368565b9695505050505050565b611c5e611c57613918565b838361397f565b5050565b611c5e33838361397f565b6001600160a01b0381165f908152600460205260408120546180001615156112a4565b5f546201000090046001600160a01b03163314611cc0576040516362e9152760e11b815260040160405180910390fd5b5f54604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a15f80546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611d4033612016565b611d5d5760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611d9e9250839150612dae9050565b611daa57611daa615256565b5f5f611e218a6001898c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284375f92019190915250612dcc92505050565b91509150811561128657611e3481612e91565b15611e545780806020019051810190611e4d91906152b7565b9350611286565b86611e755760405163a85ba64f60e01b815260166004820152602401611192565b6112868a6016612ee1565b6060611e8b33612016565b611ea85760405163619c535960e01b815260040160405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611ee99250839150612dae9050565b611ef557611ef5615256565b5f611f3489898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061147292505050565b9050611f5a81606001516001600160a01b03165f90815260046020526040902054151590565b8015611f6d57506001815f015160ff1610155b15611fbf5760608101516001600160a01b039081165f908152600560209081526040808320938b168352929052205460ff16611fbf5760405163a85ba64f60e01b8152601e6004820152602401611192565b805181611fcb82615369565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b03808816610120830152841661014082015261200981613368565b9998505050505050505050565b5f5f826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612054573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120789190615204565b5f81815260026020526040902054909150801580159061146a57506001600160a01b03841660016120a9818461522f565b815481106120b9576120b9615242565b5f918252602090912001546001600160a01b031614949350505050565b6001600160a01b0381165f9081526004602052604081205460ff166112a4565b606061210133612016565b61211e5760405163619c535960e01b815260040160405180910390fd5b5f61215d85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061147292505050565b90508281610100018181516121729190615342565b90525061217e81613368565b95945050505050565b5f54610100900460ff16158080156121a557505f54600160ff909116105b806121be5750303b1580156121be57505f5460ff166001145b6121da5760405162461bcd60e51b815260040161119290615387565b5f805460ff1916600117905580156121fb575f805461ff0019166101001790555b801561177c575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611a10565b5f8181526002602052604081205480820361226a57604051630e4f4df560e11b815260040160405180910390fd5b61227560018261522f565b6001901b19841691505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156122cf576122cf604051806040016040528060028152602001616b3160f01b81525032614442565b61177c338261459e565b5f8181526002602052604081205480820361230757604051630e4f4df560e11b815260040160405180910390fd5b6001612313818361522f565b8154811061232357612323615242565b5f918252602090912001546001600160a01b03169392505050565b606061234933612016565b6123665760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506123a79250839150612dae9050565b6123b3576123b3615256565b6123bd8484612ee1565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506124409250839150612dae9050565b6124605760405163a85ba64f60e01b815260146004820152602401611192565b6001600160a01b0387165f90815260046020526040812054889181900361249a5760405163163cbe4360e01b815260040160405180910390fd5b6180008116156124bc57604051628e12d960e21b815260040160405180910390fd5b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092506124fc915083905061466b565b90506001600160e01b031981166330d9c91560e01b148061252d57506001600160e01b0319811663d86ed3e560e01b145b8061254857506001600160e01b03198116630221347d60e61b145b8061256357506001600160e01b0319811663230dbd2960e01b145b8061257e57506001600160e01b03198116635f9e7d7760e01b145b8061259957506001600160e01b031981166353c11f9960e01b145b156125b7576040516377a14afb60e11b815260040160405180910390fd5b5f6125f689898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061147292505050565b6101208101519091506001600160a01b03163314612627576040516311cfdef560e21b815260040160405180910390fd5b6060810180513390915261263a82613368565b97505f5f61267f8f8f8f8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508f91506134999050565b9150915081156126f2578080602001905181019061269d91906152b7565b99506126a88a612dae565b6126c85760405163a85ba64f60e01b815260146004820152602401611192565b6126d18a611472565b6001600160a01b038416606082015293506126eb84613368565b99506126fb565b6126fb8161354f565b50505050505050505095945050505050565b5f8181526002602052604081205480820361273b57604051630e4f4df560e11b815260040160405180910390fd5b61274660018261522f565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156127bb576127bb82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250329250614442915050565b6127c5338461459e565b505050565b5f6112a183838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612dae92505050565b5f54610100900460ff161580801561282757505f54600160ff909116105b806128405750303b15801561284057505f5460ff166001145b61285c5760405162461bcd60e51b815260040161119290615387565b5f805460ff19166001179055801561287d575f805461ff0019166101001790555b5f805462010000600160b01b031916620100006001600160a01b038516021790558015611c5e575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60605f5f6001805490506001600160401b0381111561290757612907614b72565b604051908082528060200260200182016040528015612930578160200160208202803683370190505b5092505f90505f91505b6001548210156129bf576001821b8416156129b4576001828154811061296257612962615242565b5f918252602090912001546001600160a01b03168382612981816153d5565b93508151811061299357612993615242565b60200260200101906001600160a01b031690816001600160a01b0316815250505b81600101915061293a565b825250919050565b816001600160a01b03163b5f036129f15760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a3b57612a3b604051806040016040528060028152602001616b3160f01b81525033614442565b611c5e828261459e565b6003545f906001600160a01b0316612a5f57612a5f615256565b7f000000000000000000000000000000000000000000000000000000000000000015612a9557506003546001600160a01b031690565b60035f9054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ae5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a891906152e8565b816001600160a01b03163b5f03612b335760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a3b575f612b63336146c6565b5f805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612ba19030908590879060040161531e565b602060405180830381865afa158015612bbc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612be09190615204565b600114905080612c0357604051630b56455f60e41b815260040160405180910390fd5b5050611c5e828261459e565b6001600160a01b0381165f90815260046020908152604080832081519283019091525480825215801592918291612c5557805161800081161515935064ff000000001691505b509193909250565b5f546201000090046001600160a01b03163314612c8d576040516362e9152760e11b815260040160405180910390fd5b5f6001600160a01b038216612d155760035f9054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cec573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d1091906152e8565b612d17565b815b6040516311a5465560e21b81526001600160a01b038083166004830152919250908416906346951954906024015f604051808303815f87803b158015612d5b575f5ffd5b505af1158015612d6d573d5f5f3e3d5ffd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200161144f565b5f81515f141580156112a45750600654825160208401201492915050565b5f60606001600160a01b038716612de557612de5615256565b612def848461473f565b93506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000165f87612e3157612e2c8987846147f6565b612e3c565b612e3c898784614881565b919550909350905083612e855780612e6c5786612e6157612e5c8361354f565b612e85565b612e5c89600a612ee1565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b5f604082511015612ea357505f919050565b602082810151905f908214612ebb57505f9392505050565b506040830151612eca816148db565b612ed59060406153ed565b84511492505050919050565b6001600160a01b0382165f90815260046020526040812054618000169003611c5e576001600160a01b0382165f81815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612f549084815260200190565b60405180910390a25050565b60065460609015612f875760405163a85ba64f60e01b815260156004820152602401611192565b6001600160a01b0384165f908152600460205260408120548591819003612fc15760405163163cbe4360e01b815260040160405180910390fd5b618000811615612fe357604051628e12d960e21b815260040160405180910390fd5b835f612fee8261466b565b90506001600160e01b031981166330d9c91560e01b148061301f57506001600160e01b0319811663d86ed3e560e01b145b8061303a57506001600160e01b03198116630221347d60e61b145b8061305557506001600160e01b0319811663230dbd2960e01b145b8061307057506001600160e01b03198116635f9e7d7760e01b145b8061308b57506001600160e01b031981166353c11f9960e01b145b156130a9576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182525f808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a16610120820152610140810182905261311f90613368565b90505f61312e8a898b85613499565b97509050801561317c578680602001905181019061314c91906152b7565b915061315782612dae565b6131775760405163a85ba64f60e01b815260146004820152602401611192565b613185565b6131858761354f565b50505f6006555092979650505050505050565b600654606090156131bf5760405163a85ba64f60e01b815260156004820152602401611192565b836131c981612016565b6131e65760405163619c535960e01b815260040160405180910390fd5b5f6131f08561466b565b60408051610160810182525f8082526001602083015292935061326d9181014281526020018a6001600160a01b03168152602001846001600160e01b03191681526020018781526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b0316815250613368565b90505f61327c88885f85613499565b955090508061328e5761328e8561354f565b50505f600655509095945050505050565b6132a7614988565b606080838060200190518101906132be9190615400565b815191935091505f906132da9084016020908101908501615459565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff909116855282515f925061332a9190840181019084016154d8565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001825f015160ff1611156133955760405163a85ba64f60e01b815260286004820152602401611192565b81516020808401515f9260ff1664ff000000009190921b161790505f60806133c08560e00151614912565b6001600160801b0316901b6133d88560c00151614912565b6001600160801b0316179050818460400151856060015186608001518760a0015160405160200161340d959493929190615521565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526134779291602001614eab565b60408051601f1981840301815291905280516020820120600655949350505050565b5f60606001600160a01b0386166134b2576134b2615256565b6134bc858461473f565b9450856001600160a01b031684866040516134d79190615583565b5f6040518083038185875af1925050503d805f8114613511576040519150601f19603f3d011682016040523d82523d5f602084013e613516565b606091505b50909250905081156135465780515f036135465760405163a85ba64f60e01b815260166004820152602401611192565b94509492505050565b6004815110156135a15760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611192565b602081015163b1b7848f60e01b6001600160e01b03198216016136515760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161119291849101614b60565b81518060208401fd5b5f6136837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036136d95760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611192565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613715573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137399190615204565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146137b35760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611192565b6001600160a01b038116300361380b5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611192565b613833817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611a10565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b038316918101919091525f9060c0015b604051602081830303815290604052805190602001209050919050565b5f6018361080159061392e575061392e33611ae6565b6139725760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b6044820152606401611192565b5060131936013560601c90565b5f5b81811015614403575f83838381811061399c5761399c615242565b90506020028101906139ae919061558e565b6139bc9060208101906155ac565b90505f1963ffffffff821601613aa9575f5f8585858181106139e0576139e0615242565b90506020028101906139f2919061558e565b613a009060408101906155cf565b810190613a0d91906151da565b91509150858585818110613a2357613a23615242565b9050602002810190613a35919061558e565b613a469060408101906020016149f6565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b8152600401613a759392919061531e565b5f604051808303815f87803b158015613a8c575f5ffd5b505af1158015613a9e573d5f5f3e3d5ffd5b5050505050506143fa565b60011963ffffffff821601613bad575f5f5f868686818110613acd57613acd615242565b9050602002810190613adf919061558e565b613aed9060408101906155cf565b810190613afa9190615611565b925092509250868686818110613b1257613b12615242565b9050602002810190613b24919061558e565b613b359060408101906020016149f6565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b5f604051808303815f87803b158015613b8f575f5ffd5b505af1158015613ba1573d5f5f3e3d5ffd5b505050505050506143fa565b60021963ffffffff821601613c6a575f5f5f868686818110613bd157613bd1615242565b9050602002810190613be3919061558e565b613bf19060408101906155cf565b810190613bfe919061564f565b925092509250868686818110613c1657613c16615242565b9050602002810190613c28919061558e565b613c399060408101906020016149f6565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b8152600401613b78949392919061568d565b60031963ffffffff821601613d22575f5f858585818110613c8d57613c8d615242565b9050602002810190613c9f919061558e565b613cad9060408101906155cf565b810190613cba91906151da565b91509150858585818110613cd057613cd0615242565b9050602002810190613ce2919061558e565b613cf39060408101906020016149f6565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b8152600401613a759392919061531e565b60041963ffffffff821601613dda575f5f858585818110613d4557613d45615242565b9050602002810190613d57919061558e565b613d659060408101906155cf565b810190613d7291906151da565b91509150858585818110613d8857613d88615242565b9050602002810190613d9a919061558e565b613dab9060408101906020016149f6565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b8152600401613a759392919061531e565b60641963ffffffff821601613eca57838383818110613dfb57613dfb615242565b9050602002810190613e0d919061558e565b613e1e9060408101906020016149f6565b6001600160a01b031663ca78946486868686818110613e3f57613e3f615242565b9050602002810190613e51919061558e565b613e5f9060408101906155cf565b810190613e6c919061501b565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b158015613eaf575f5ffd5b505af1158015613ec1573d5f5f3e3d5ffd5b505050506143fa565b60651963ffffffff821601613f2f57838383818110613eeb57613eeb615242565b9050602002810190613efd919061558e565b613f0e9060408101906020016149f6565b6001600160a01b031663245887fc86868686818110613e3f57613e3f615242565b60661963ffffffff821601613fe7575f5f858585818110613f5257613f52615242565b9050602002810190613f64919061558e565b613f729060408101906155cf565b810190613f7f91906151da565b91509150858585818110613f9557613f95615242565b9050602002810190613fa7919061558e565b613fb89060408101906020016149f6565b6001600160a01b0316631ae88ffc8884846040518463ffffffff1660e01b8152600401613a759392919061531e565b60671963ffffffff82160161409f575f5f85858581811061400a5761400a615242565b905060200281019061401c919061558e565b61402a9060408101906155cf565b81019061403791906151da565b9150915085858581811061404d5761404d615242565b905060200281019061405f919061558e565b6140709060408101906020016149f6565b6001600160a01b03166347ba7ad18884846040518463ffffffff1660e01b8152600401613a759392919061531e565b60c81963ffffffff82160161413b575f5f8585858181106140c2576140c2615242565b90506020028101906140d4919061558e565b6140e29060408101906155cf565b8101906140ef91906156bf565b915091506141338787878781811061410957614109615242565b905060200281019061411b919061558e565b61412c9060408101906020016149f6565b8484613198565b5050506143fa565b60c91963ffffffff8216016141f5576141ef8585858581811061416057614160615242565b9050602002810190614172919061558e565b6141839060408101906020016149f6565b4787878781811061419657614196615242565b90506020028101906141a8919061558e565b6141b69060408101906155cf565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612f6092505050565b506143fa565b61012c1963ffffffff821601614318575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322bee4944788888881811061424957614249615242565b905060200281019061425b919061558e565b61426c9060408101906020016149f6565b89898981811061427e5761427e615242565b9050602002810190614290919061558e565b61429e9060408101906155cf565b6040518563ffffffff1660e01b81526004016142bc93929190615734565b5f6040518083038185885af11580156142d7573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526142ff9190810190615758565b9150915081614311576143118161354f565b50506143fa565b61012d1963ffffffff8216016143e1575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663177ec5944788888881811061436c5761436c615242565b905060200281019061437e919061558e565b61438f9060408101906020016149f6565b8a8a8a8a8181106143a2576143a2615242565b90506020028101906143b4919061558e565b6143c29060408101906155cf565b6040518663ffffffff1660e01b81526004016142bc949392919061578f565b60405163b477011560e01b815260040160405180910390fd5b50600101613981565b5047156127c5576040516001600160a01b038416904780156108fc02915f818181858888f1935050505015801561443c573d5f5f3e3d5ffd5b50505050565b604051632474521560e21b81527f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8460048201526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906391d1485490604401602060405180830381865afa1580156144cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906144f09190615303565b156144f9575050565b5f6145048284614949565b5f805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba91614540913091879060040161531e565b602060405180830381865afa15801561455b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061457f9190615204565b10156127c557604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff1981161515806145b5575060ff8116155b806145c35750618000811615155b156145e157604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b0382165f9081526004602052604090205415614617576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b0385165f81815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b5f6004825110156146be5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c4461746100000000006044820152606401611192565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b038316918101919091525f9060c0016138fb565b815180830151606091908015614768576040516367e9985b60e01b815260040160405180910390fd5b50601f198101845282518490848161477f816148db565b614789919061522f565b6001600160401b038111156147a0576147a0614b72565b6040519080825280601f01601f1916602001820160405280156147ca576020820181803683370190505b506040516020016147de94939291906157bb565b60405160208183030381529060405291505092915050565b5f5f60605f5a9050866001600160a01b031685876040516148179190615583565b5f604051808303815f8787f1925050503d805f8114614851576040519150601f19603f3d011682016040523d82523d5f602084013e614856565b606091505b509094509150836148775761486c6040826157df565b5a1161487757600192505b5093509350939050565b5f5f60605f5a9050866001600160a01b031685876040516148a29190615583565b5f604051808303818686fa925050503d805f8114614851576040519150601f19603f3d011682016040523d82523d5f602084013e614856565b5f5f82601f16116148ec575f6148ef565b60015b60ff166148fd6020846157df565b61490791906153ed565b6112a49060206157fe565b5f6001600160801b03821115614945576040516306dfcc6560e41b81526080600482015260248101839052604401611192565b5090565b5f828260405160200161495d929190615815565b60405160208183030381529060405280519060200120905092915050565b6102398061589a83390190565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461177c575f5ffd5b5f60208284031215614a06575f5ffd5b8135614a11816149e2565b9392505050565b5f5f60408385031215614a29575f5ffd5b8235614a34816149e2565b91506020830135614a44816149e2565b809150509250929050565b5f5f83601f840112614a5f575f5ffd5b5081356001600160401b03811115614a75575f5ffd5b602083019150836020828501011115614a8c575f5ffd5b9250929050565b801515811461177c575f5ffd5b5f5f5f5f5f5f60808789031215614ab5575f5ffd5b8635614ac0816149e2565b955060208701356001600160401b03811115614ada575f5ffd5b614ae689828a01614a4f565b9096509450506040870135614afa81614a93565b925060608701356001600160401b03811115614b14575f5ffd5b614b2089828a01614a4f565b979a9699509497509295939492505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6112a16020830184614b32565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614bae57614bae614b72565b604052919050565b5f6001600160401b03821115614bce57614bce614b72565b50601f01601f191660200190565b5f82601f830112614beb575f5ffd5b8135614bfe614bf982614bb6565b614b86565b818152846020838601011115614c12575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215614c3f575f5ffd5b8235614c4a816149e2565b915060208301356001600160401b03811115614c64575f5ffd5b614c7085828601614bdc565b9150509250929050565b5f5f5f60608486031215614c8c575f5ffd5b8335614c97816149e2565b925060208401356001600160401b03811115614cb1575f5ffd5b614cbd86828701614bdc565b92505060408401356001600160401b03811115614cd8575f5ffd5b614ce486828701614bdc565b9150509250925092565b5f60208284031215614cfe575f5ffd5b81356001600160401b03811115614d13575f5ffd5b61146a84828501614bdc565b60208152614d3360208201835160ff169052565b5f6020830151614d48604084018260ff169052565b50604083015160608301526060830151614d6d60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a083015161016060c0840152614d9f610180840182614b32565b905060c084015160e084015260e0840151610100840152610100840151610120840152610120840151614dde6101408501826001600160a01b03169052565b506101408401516001600160a01b038116610160850152509392505050565b5f5f5f5f5f5f5f6080888a031215614e13575f5ffd5b8735614e1e816149e2565b965060208801356001600160401b03811115614e38575f5ffd5b614e448a828b01614a4f565b90975095505060408801356001600160401b03811115614e62575f5ffd5b614e6e8a828b01614a4f565b90955093505060608801356001600160401b03811115614e8c575f5ffd5b614e988a828b01614a4f565b989b979a50959850939692959293505050565b604081525f614ebd6040830185614b32565b828103602084015261217e8185614b32565b5f5f5f60408486031215614ee1575f5ffd5b83356001600160401b03811115614ef6575f5ffd5b614f0286828701614a4f565b909790965060209590950135949350505050565b5f5f60208385031215614f27575f5ffd5b82356001600160401b03811115614f3c575f5ffd5b8301601f81018513614f4c575f5ffd5b80356001600160401b03811115614f61575f5ffd5b8560208260051b8401011115614f75575f5ffd5b6020919091019590945092505050565b5f5f5f5f5f5f60a08789031215614f9a575f5ffd5b86356001600160401b03811115614faf575f5ffd5b614fbb89828a01614a4f565b9097509550506020870135614fcf816149e2565b935060408701359250606087013591506080870135614fed816149e2565b809150509295509295509295565b5f5f6040838503121561500c575f5ffd5b50508035926020909101359150565b5f6020828403121561502b575f5ffd5b5035919050565b5f5f5f5f60608587031215615045575f5ffd5b84356001600160401b0381111561505a575f5ffd5b61506687828801614a4f565b909550935050602085013561507a816149e2565b9396929550929360400135925050565b5f5f5f5f5f6060868803121561509e575f5ffd5b85356150a9816149e2565b945060208601356001600160401b038111156150c3575f5ffd5b6150cf88828901614a4f565b90955093505060408601356001600160401b038111156150ed575f5ffd5b6150f988828901614a4f565b969995985093965092949392505050565b5f5f5f6040848603121561511c575f5ffd5b8335925060208401356001600160401b03811115615138575f5ffd5b61514486828701614a4f565b9497909650939450505050565b5f5f60208385031215615162575f5ffd5b82356001600160401b03811115615177575f5ffd5b61518385828601614a4f565b90969095509350505050565b602080825282518282018190525f918401906040840190835b818110156151cf5783516001600160a01b03168352602093840193909201916001016151a8565b509095945050505050565b5f5f604083850312156151eb575f5ffd5b82356151f6816149e2565b946020939093013593505050565b5f60208284031215615214575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156112a4576112a461521b565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52600160045260245ffd5b5f82601f830112615279575f5ffd5b8151615287614bf982614bb6565b81815284602083860101111561529b575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f602082840312156152c7575f5ffd5b81516001600160401b038111156152dc575f5ffd5b61146a8482850161526a565b5f602082840312156152f8575f5ffd5b8151614a11816149e2565b5f60208284031215615313575f5ffd5b8151614a1181614a93565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281125f8312801582168215821617156153615761536161521b565b505092915050565b5f60ff821660ff810361537e5761537e61521b565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b5f600182016153e6576153e661521b565b5060010190565b808201808211156112a4576112a461521b565b5f5f60408385031215615411575f5ffd5b82516001600160401b03811115615426575f5ffd5b6154328582860161526a565b92505060208301516001600160401b0381111561544d575f5ffd5b614c708582860161526a565b5f5f5f5f5f60a0868803121561546d575f5ffd5b8551602087015160408801519196509450615487816149e2565b60608701519093506001600160e01b0319811681146154a4575f5ffd5b60808701519092506001600160401b038111156154bf575f5ffd5b6154cb8882890161526a565b9150509295509295909350565b5f5f5f5f608085870312156154eb575f5ffd5b8451602086015160408701519195509350615505816149e2565b6060860151909250615516816149e2565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a0608082018190525f9061556190830184614b32565b979650505050505050565b5f81518060208401855e5f93019283525090919050565b5f6112a1828461556c565b5f8235605e198336030181126155a2575f5ffd5b9190910192915050565b5f602082840312156155bc575f5ffd5b813563ffffffff81168114614a11575f5ffd5b5f5f8335601e198436030181126155e4575f5ffd5b8301803591506001600160401b038211156155fd575f5ffd5b602001915036819003821315614a8c575f5ffd5b5f5f5f60608486031215615623575f5ffd5b833561562e816149e2565b9250602084013561563e816149e2565b929592945050506040919091013590565b5f5f5f60608486031215615661575f5ffd5b833561566c816149e2565b92506020840135915060408401356001600160401b03811115614cd8575f5ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90611c4290830184614b32565b5f5f604083850312156156d0575f5ffd5b82356001600160401b038111156156e5575f5ffd5b6156f185828601614bdc565b92505060208301356001600160401b03811115614c64575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190525f9061217e908301848661570c565b5f5f60408385031215615769575f5ffd5b825161577481614a93565b60208401519092506001600160401b0381111561544d575f5ffd5b6001600160a01b038581168252841660208201526060604082018190525f90611c42908301848661570c565b5f6157c6828761556c565b8581526155616157d9602083018761556c565b8561556c565b5f826157f957634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176112a4576112a461521b565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e060408201525f61146a60e0830184614b3256fe6080604052348015600e575f5ffd5b5061021d8061001c5f395ff3fe608060405260043610610021575f3560e01c80634a0687ef1461003857610030565b366100305761002e610057565b005b61002e610057565b348015610043575f5ffd5b5061002e6100523660046101ba565b610069565b61006761006261016e565b61019c565b565b6001600160a01b0381166100c45760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b5f6100ed7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101435760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bb565b61016b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b5f6101977f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b365f5f375f5f365f845af43d5f5f3e8080156101b6573d5ff35b3d5ffd5b5f602082840312156101ca575f5ffd5b81356001600160a01b03811681146101e0575f5ffd5b939250505056fea26469706673582212201ceef34221f29609fe3cb365ba700d7fa6020b5209e83935d790e10a64a8f31764736f6c63430008230033a2646970667358221220cb5436dcc9620a7d98cd43e866f0ca4e6ec9242b2e10152c462071e74323a4e364736f6c63430008230033";
|
|
16
16
|
static readonly abi: readonly [{
|
|
17
17
|
readonly inputs: readonly [{
|
|
18
18
|
readonly internalType: "bool";
|