@coti-io/coti-contracts 1.3.0 → 1.3.1
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/contracts/access/DataPrivacyFramework/DataPrivacyFramework.sol +1 -1
- package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +1 -1
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.sol +2 -4
- package/contracts/disperse/disperseToken/MintDisperser.sol +1 -3
- package/contracts/disperse/disperseToken/TokenDisperser.sol +1 -1
- package/contracts/messaging/PrivateMessaging.sol +1 -1
- package/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.sol +1 -1
- package/contracts/mocks/messaging/PrivateMessagingHarness.sol +1 -1
- package/contracts/mocks/oracle/CotiPriceConsumerMock.sol +1 -1
- package/contracts/mocks/token/ERC20DecimalsMock.sol +1 -1
- package/contracts/mocks/token/ERC20Mock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.sol +1 -1
- package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ArithmeticAddTestsContract.sol +196 -0
- package/contracts/mocks/utils/mpc/ArithmeticMulTestsContract.sol +194 -0
- package/contracts/mocks/utils/mpc/ArithmeticSigned128TestsContract.sol +63 -0
- package/contracts/mocks/utils/mpc/ArithmeticSigned256TestsContract.sol +107 -0
- package/contracts/mocks/utils/mpc/ArithmeticSignedNarrowTestsContract.sol +123 -0
- package/contracts/mocks/utils/mpc/ArithmeticSubTestsContract.sol +196 -0
- package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison1TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMaxTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinimalImplementation.sol +1 -1
- package/contracts/mocks/utils/mpc/MinimalProxy.sol +1 -1
- package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MiscellaneousTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +4 -4
- package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyProxy.sol +1 -1
- package/contracts/mocks/utils/mpc/Random128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Random256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/StringTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferScalarTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +2 -2
- package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +1 -1
- package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +1 -1
- package/contracts/node/CotiNodeRewards.sol +3 -3
- package/contracts/node/SoulboundNodeNFT.sol +1 -2
- package/contracts/onboard/AccountOnboard.sol +1 -1
- package/contracts/oracle/ICotiPriceConsumer.sol +1 -1
- package/contracts/pod/IInbox.sol +231 -0
- package/contracts/pod/IInboxMiner.sol +53 -0
- package/contracts/pod/InboxUser.sol +29 -0
- package/contracts/pod/InboxUserCotiTestnet.sol +13 -0
- package/contracts/pod/PodNetworkConstants.sol +30 -0
- package/contracts/pod/examples/MpcAdder.sol +57 -0
- package/contracts/pod/examples/MpcAdderPausable.sol +25 -0
- package/contracts/pod/examples/MpcAdderPausable.sol.bak +25 -0
- package/contracts/pod/examples/it128/PodAdder128.sol +48 -0
- package/contracts/pod/examples/it256/PodAdder256.sol +48 -0
- package/contracts/pod/fee/IInboxFeeManager.sol +40 -0
- package/contracts/pod/manifest.json +52 -0
- package/contracts/pod/mpc/PodLib.sol +10 -0
- package/contracts/pod/mpc/PodLib128.sol +361 -0
- package/contracts/pod/mpc/PodLib256.sol +361 -0
- package/contracts/pod/mpc/PodLib64.sol +385 -0
- package/contracts/pod/mpc/PodLibBase.sol +72 -0
- package/contracts/pod/mpc/PodUser.sol +58 -0
- package/contracts/pod/mpc/PodUserFuji.sol +14 -0
- package/contracts/pod/mpc/PodUserSepolia.sol +13 -0
- package/contracts/pod/mpc/coti-side/IPodExecutorOps.sol +99 -0
- package/contracts/pod/mpccodec/MpcAbiCodec.sol +482 -0
- package/contracts/pod/privacy/IPodPriceOracle.sol +20 -0
- package/contracts/pod/privacy/IPrivacyPortal.sol +248 -0
- package/contracts/pod/privacy/IPrivacyPortalFactory.sol +88 -0
- package/contracts/pod/privacy/PortalFeeOracle.sol +51 -0
- package/contracts/pod/privacy/PrivacyPortal.sol +871 -0
- package/contracts/pod/privacy/PrivacyPortalFactory.sol +492 -0
- package/contracts/pod/privacy/PrivacyPortalFeeLib.sol +98 -0
- package/contracts/pod/privacy/mocks/CloneHelper.sol +14 -0
- package/contracts/pod/privacy/mocks/MockERC20.sol +26 -0
- package/contracts/pod/privacy/mocks/MockPodERC20ForPortal.sol +160 -0
- package/contracts/pod/privacy/mocks/MockPrivacyPortalFactory.sol +125 -0
- package/contracts/pod/privacy/mocks/MockWrappedNative.sol +24 -0
- package/contracts/pod/token/erc7984/Erc7984Constants.sol +9 -0
- package/contracts/pod/token/erc7984/Erc7984Pointers.sol +29 -0
- package/contracts/pod/token/erc7984/IERC7984.sol +69 -0
- package/contracts/pod/token/erc7984/IERC7984PortalWrapper.sol +31 -0
- package/contracts/pod/token/erc7984/PodErc7984Mixin.sol +125 -0
- package/contracts/pod/token/erc7984/README.md +60 -0
- package/contracts/pod/token/perc20/IPodERC20.sol +298 -0
- package/contracts/pod/token/perc20/PodERC20.sol +1021 -0
- package/contracts/pod/token/perc20/PodErc20Mintable.sol +88 -0
- package/contracts/pod/token/perc20/PodErc20MintableInitializable.sol +42 -0
- package/contracts/pod/token/perc20/cotiside/IPodErc20CotiSide.sol +88 -0
- package/contracts/pod/token/perc20/cotiside/PodErc20CotiMother.sol +529 -0
- package/contracts/pod/utils/IWrappedNative.sol +11 -0
- package/contracts/privacyBridge/PrivacyBridge.sol +5 -5
- package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeERC20.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeWADA.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeWETH.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgegCoti.sol +1 -1
- package/contracts/token/PrivateERC20/IPrivateERC20.sol +1 -1
- package/contracts/token/PrivateERC20/ITokenReceiver.sol +1 -1
- package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +1 -1
- package/contracts/token/PrivateERC20/PrivateERC20.sol +5 -5
- package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +1 -1
- package/contracts/token/PrivateERC721/IERC721Errors.sol +1 -1
- package/contracts/token/PrivateERC721/PrivateERC721.sol +1 -1
- package/contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage.sol +1 -1
- package/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.sol +1 -1
- package/contracts/token/points/CotiTokenPoints004.sol +43 -0
- package/contracts/utils/mpc/MpcCore.sol +610 -1
- package/contracts/utils/mpc/MpcInterface.sol +1 -1
- package/hardhat.config.ts +5 -14
- package/package.json +4 -4
- package/scripts/deployCotiTokenPoints004.ts +61 -0
- package/scripts/deployFixedRatioCoinDisperserUnlimitedWindow.ts +68 -0
- package/scripts/verifyCotiTokenPoints004.ts +123 -0
- package/scripts/verifyFixedRatioCoinDisperserUnlimitedWindow.ts +112 -0
- package/test/messaging/PrivateMessaging.test.ts +5 -5
- package/test/pod/privacy/PrivacyPortal.access.test.ts +756 -0
- package/test/pod/privacy/PrivacyPortal.recovery.test.ts +263 -0
- package/test/privacyBridge/UnifiedPrivacyBridges.test.cjs +5 -3
- package/test/utils/mpc/CheckedSignedArithmetic256.test.ts +163 -0
- package/test/utils/mpc/NegativeCases.test.ts +3 -3
- package/test/utils/mpc/Precompile.test.ts +6 -6
- package/typechain-types/@openzeppelin/contracts/access/AccessControl.ts +2 -2
- package/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts +2 -2
- package/typechain-types/@openzeppelin/contracts/access/extensions/AccessControlEnumerable.ts +375 -0
- package/typechain-types/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable.ts +329 -0
- package/typechain-types/@openzeppelin/contracts/access/extensions/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/access/index.ts +2 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.ts +412 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +6 -50
- package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +6 -6
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +313 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.ts +356 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.ts +423 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +6 -6
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +3 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +2 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/utils/Nonces.ts +85 -0
- package/typechain-types/@openzeppelin/contracts/utils/Pausable.ts +150 -0
- package/typechain-types/@openzeppelin/contracts/utils/ReentrancyGuard.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/ShortStrings.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/EIP712.ts +151 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/utils/index.ts +9 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/contracts/mocks/token/ERC20DecimalsMock.ts +6 -50
- package/typechain-types/contracts/mocks/token/ERC20Mock.ts +6 -50
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.ts +16 -2
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.ts +2 -2
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.ts +2 -2
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +2 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridge.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeCotiNative.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDCe.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDT.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWADA.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWBTC.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWETH.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgegCoti.ts +16 -2
- package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTI.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.ts +2 -2
- package/typechain-types/contracts/token/index.ts +2 -0
- package/typechain-types/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004.ts +826 -0
- package/typechain-types/contracts/token/points/CotiTokenPoints004.ts +826 -0
- package/typechain-types/contracts/token/points/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +22 -1
- package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +22 -1
- package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +22 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/AccessControlEnumerable__factory.ts +316 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable__factory.ts +265 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +1 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.ts +393 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts +127 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts +111 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts +128 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +3 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +84 -110
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +3 -3
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +364 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable__factory.ts +382 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit__factory.ts +540 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +3 -3
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +3 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +1 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.ts +96 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +98 -59
- package/typechain-types/factories/@openzeppelin/contracts/utils/Nonces__factory.ts +57 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Pausable__factory.ts +71 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/ReentrancyGuard__factory.ts +30 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.ts +83 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory.ts +87 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +7 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1__factory.ts +12 -1
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow__factory.ts +39 -1
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +12 -1
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +23 -1
- package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +12 -1
- package/typechain-types/factories/contracts/messaging/PrivateMessaging__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/messaging/PrivateMessagingHarness__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/ERC20DecimalsMock__factory.ts +90 -52
- package/typechain-types/factories/contracts/mocks/token/ERC20Mock__factory.ts +90 -52
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock__factory.ts +90 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock__factory.ts +28 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock__factory.ts +28 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +28 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/node/CotiNodeRewards__factory.ts +28 -1
- package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT__factory.ts +126 -1
- package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeCotiNative__factory.ts +79 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20__factory.ts +89 -1
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDCe__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDT__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWADA__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWBTC__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWETH__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridge__factory.ts +78 -1
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgegCoti__factory.ts +90 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +27 -1
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTI__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateTetherUSD__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedADA__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedEther__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/index.ts +1 -0
- package/typechain-types/factories/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004__factory.ts +992 -0
- package/typechain-types/factories/contracts/token/points/CotiTokenPoints004__factory.ts +992 -0
- package/typechain-types/factories/contracts/token/points/index.ts +4 -0
- package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +360 -0
- package/typechain-types/index.ts +36 -4
- package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +0 -408
|
@@ -20,6 +20,27 @@ const _abi = [
|
|
|
20
20
|
stateMutability: "nonpayable",
|
|
21
21
|
type: "constructor",
|
|
22
22
|
},
|
|
23
|
+
{
|
|
24
|
+
inputs: [],
|
|
25
|
+
name: "AccessControlBadConfirmation",
|
|
26
|
+
type: "error",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
inputs: [
|
|
30
|
+
{
|
|
31
|
+
internalType: "address",
|
|
32
|
+
name: "account",
|
|
33
|
+
type: "address",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
internalType: "bytes32",
|
|
37
|
+
name: "neededRole",
|
|
38
|
+
type: "bytes32",
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
name: "AccessControlUnauthorizedAccount",
|
|
42
|
+
type: "error",
|
|
43
|
+
},
|
|
23
44
|
{
|
|
24
45
|
inputs: [
|
|
25
46
|
{
|
|
@@ -90,6 +111,11 @@ const _abi = [
|
|
|
90
111
|
name: "PublicAmountsDisabled",
|
|
91
112
|
type: "error",
|
|
92
113
|
},
|
|
114
|
+
{
|
|
115
|
+
inputs: [],
|
|
116
|
+
name: "ReentrancyGuardReentrantCall",
|
|
117
|
+
type: "error",
|
|
118
|
+
},
|
|
93
119
|
{
|
|
94
120
|
inputs: [
|
|
95
121
|
{
|
|
@@ -1035,7 +1061,7 @@ const _abi = [
|
|
|
1035
1061
|
},
|
|
1036
1062
|
{
|
|
1037
1063
|
internalType: "address",
|
|
1038
|
-
name: "
|
|
1064
|
+
name: "callerConfirmation",
|
|
1039
1065
|
type: "address",
|
|
1040
1066
|
},
|
|
1041
1067
|
],
|
|
@@ -1396,7 +1422,7 @@ const _abi = [
|
|
|
1396
1422
|
] as const;
|
|
1397
1423
|
|
|
1398
1424
|
const _bytecode =
|
|
1399
|
-
"0x608034620003b15760406001600160401b0382820181811184821017620002b25782526015835260207f50726976617465205772617070656420457468657200000000000000000000008185015282519183830183811082821117620002b257845260068352650e05cae8aa8960d31b82840152600192838055855115620003a057805115620003a0578551828111620002b257600854968588811c9816801562000395575b8589101462000291578190601f988981116200033e575b508590898311600114620002d457600092620002c8575b5050600019600383901b1c191690851b176008555b8051918211620002b2576009548481811c91168015620002a7575b84821014620002915786811162000245575b5082958211600114620001dc57948192939495600092620001d0575b5050600019600383901b1c191690831b176009555b60008052600081528260002033600052815260ff8360002054161562000181575b5060ff19600254161760025551613ed19081620003b78239f35b600080526000815282600020903360005252816000208160ff19825416179055333360007f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a43862000167565b01519050388062000131565b601f198216956009600052836000209160005b8881106200022f5750838697989695961062000215575b505050811b0160095562000146565b015160001960f88460031b161c1916905538808062000206565b81830151845592860192918501918501620001ef565b6009600052836000208780850160051c82019286861062000287575b0160051c019085905b8281106200027a57505062000115565b600081550185906200026a565b9250819262000261565b634e487b7160e01b600052602260045260246000fd5b90607f169062000103565b634e487b7160e01b600052604160045260246000fd5b015190503880620000d3565b90879350601f198316916008600052876000209260005b898282106200032757505084116200030d575b505050811b01600855620000e8565b015160001960f88460031b161c19169055388080620002fe565b8385015186558b97909501949384019301620002eb565b9091506008600052856000208980850160051c8201928886106200038b575b918991869594930160051c01915b8281106200037b575050620000bc565b600081558594508991016200036b565b925081926200035d565b97607f1697620000a5565b8451631251828960e31b8152600490fd5b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80620a77ed14611d1c57806301ffc9a714611c46578063043d208514611bdf5780630564c4cf14611b5c57806306fdde0314611a8f578063095ea7b31461197457806318160ddd14610a2457806323b872dd1461188e578063248a9ca31461186557806326a9b3f1146116fe5780632f2ff15d1461162c578063313ce5671461161057806336568abe146115495780633826c5801461141d57806338e071bc146113d157806339509351146113785780633c96e77c146112b45780634000aea01461111a57806340c10f19146110b957806342966c68146110855780634faa7ebf146110615780635d484ff814610f2457806368c7a25d14610ed057806370a0823114610e49578063722713f714610e225780638269bcc314610d2c57806383ae57f414610ce457806384813e9314610c915780638e532c4414610c375780638f770ad014610c1a57806391d1485414610bc957806395d89b4114610a7457806396b2db3814610a3f578063a217fddf14610a24578063a457c2d7146109cb578063a9059cbb14610945578063b485441d146108f6578063b93598091461087b578063c183b7fc14610819578063d1846836146104ff578063d5391393146104c0578063d547741f14610483578063dd62ed3e14610308578063e4f75ce71461028a5763fb2205ca1461020f57600080fd5b346102865761021d36611e30565b919092610228611e83565b61023061251b565b73ffffffffffffffffffffffffffffffffffffffff84161561027057846102698561026361025e368861258a565b613900565b90612c88565b6001805580f35b9084602492519163ec442f0560e01b8352820152fd5b8280fd5b50346102865761029936611e30565b9190926102a461251b565b73ffffffffffffffffffffffffffffffffffffffff8416156102d95784610269856102d261025e368861258a565b9033613277565b908460249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b509034610286578060031936011261028657610322611d42565b9061032b611d6a565b81519261033784612220565b8251936103438561226b565b86855260209487868201528152835161035b8161226b565b878152878682015285820152838051916103748361226b565b8883528887840152015273ffffffffffffffffffffffffffffffffffffffff809116918215610454571690811561042557858492849260c0985260058452828220908252835220916103ef8151956103cb87612220565b6103d485612708565b87526103e260028601612708565b9484880195865201612708565b928186019384528282519651805188520151838701525190815190860152015160608401525180516080840152015160a0820152f35b602485878551917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b602486888651917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b5090346102865780600319360112610286576104bd91356104b860016104a7611d6a565b938387528660205286200154612103565b6122e4565b80f35b5050346104fb57816003193601126104fb57602090517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b5080fd5b509190346104fb57602090816003193601126102865783359081151580920361081557838052838352808420338552835260ff818520541615610595577fd42670144ecdb96470ba224c43350a54c3f4a1890e72b2a470a689962b9f3c4f9394507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006002541660ff83161760025551908152a180f35b849150836105a2336123c4565b90808351906105b082612287565b604282528682019260603685378251156107e957603084538251906001918210156107bd5790607860218501536041915b818311610713575050506106b8576048610671938593610680936106b497519687937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c86015261063c8c8251928391603789019101611d8d565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190611d8d565b010360288101855201836122a3565b519384937f08c379a00000000000000000000000000000000000000000000000000000000085528401526024830190611db0565b0390fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610791577f3031323334353637383961626364656600000000000000000000000000000000901a6107508587612384565b53881c928015610765576000190191906105e1565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b5034610286578160031936011261028657610832611d42565b9161083b61251b565b73ffffffffffffffffffffffffffffffffffffffff83161561086557836102696024358533612811565b9083602492519163ec442f0560e01b8352820152fd5b5034610286578160031936011261028657610894611d42565b9161089d61251b565b73ffffffffffffffffffffffffffffffffffffffff8316156108c7578361026960243585336133a8565b908360249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b50346102865761090536611e30565b91909261091061251b565b73ffffffffffffffffffffffffffffffffffffffff8416156102d957846102698561093e61025e368861258a565b90336133a8565b503461028657816003193601126102865761095e611d42565b9161096761251b565b73ffffffffffffffffffffffffffffffffffffffff8316156108655760ff60025416156109a557836102698461099e602435613bf8565b9033612811565b517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b50346102865781600319360112610286576109e4611d42565b916109ed61251b565b73ffffffffffffffffffffffffffffffffffffffff8316156108c75760ff60025416156109a557836102698461093e602435613bf8565b5050346104fb57816003193601126104fb5751908152602090f35b5050346104fb57806003193601126104fb57602090610a6d610a5f611d42565b610a67611df3565b90612726565b9051908152f35b509134610bc65780600319360112610bc6578151918160095492600184811c91818616958615610bbc575b6020968785108114610b90578899509688969785829a529182600014610b4b575050600114610aef575b505050610aeb9291610adc9103856122a3565b51928284938452830190611db0565b0390f35b9190869350600983527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b828410610b335750505082010181610adc610aeb610ac9565b8054848a018601528895508794909301928101610b1a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610adc9150610aeb9050610ac9565b60248360228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b92607f1692610a9f565b80fd5b50346102865781600319360112610286578160209360ff92610be9611d6a565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b5050346104fb57816003193601126104fb57602090516000198152f35b503461028657610c4636611e30565b919092610c5161251b565b73ffffffffffffffffffffffffffffffffffffffff8416156102d9578461026985610c7f61025e368861258a565b90610c8b82823361312c565b336134de565b5034610286578160031936011261028657610caa611d42565b91610cb3611e83565b610cbb61251b565b73ffffffffffffffffffffffffffffffffffffffff831615610865578361026960243585612c88565b503461028657610cf336611e30565b919092610cfe61251b565b73ffffffffffffffffffffffffffffffffffffffff84161561027057846102698561099e61025e368861258a565b508290346104fb576020928360031936011261028657610d4a611d42565b91610d5361251b565b73ffffffffffffffffffffffffffffffffffffffff8316928315610e0c57610d9390338652828752610d8e610d89858820612708565b613680565b613aa6565b9033855260038652828520847fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905585526003858386209280516002850155015191015551917f60662088d92b75bf198cd91648eaec81fc2278e7a02f3cf02643637be4728c24339180a36001805560018152f35b5083602492519163ec442f0560e01b8352820152fd5b5034610286578260031936011261028657610d8982602094610a6d93338252865220612708565b508290346104fb5760206003193601126104fb5773ffffffffffffffffffffffffffffffffffffffff610e7a611d42565b8360208651610e888161226b565b8281520152168015610eba578252602052819020610ea890600201612708565b60208251918051835201516020820152f35b5090602492519163ec442f0560e01b8352820152fd5b8382346104fb57600319906020823601126102865780359167ffffffffffffffff83116108155760609083360301126102865761025e610f1e9161026993610f1661251b565b36910161258a565b33612ed1565b508290346104fb576003199060608236011261028657610f42611d42565b610f4a611d6a565b916044359367ffffffffffffffff851161105d57606090853603011261105957610f7261251b565b73ffffffffffffffffffffffffffffffffffffffff9384831694851561102a5784161561101457610d896102699697610fb761025e61100f95610fcf9536910161258a565b9689526005602052808920338a526020528820612708565b611006610fdb82613e4d565b610ffc611001610ffc610ff6610ff18b88613d6d565b613895565b846137b7565b613801565b6127ac565b90853385613665565b612811565b6024828789519163ec442f0560e01b8352820152fd5b602483888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8480fd5b8580fd5b5050346104fb57816003193601126104fb5760209060ff6002541690519015158152f35b509034610286576020600319360112610286576110a061251b565b60ff60025416156109a55750610f1e6102699135613bf8565b50346102865781600319360112610286576110d2611d42565b916110db611e83565b6110e361251b565b73ffffffffffffffffffffffffffffffffffffffff8316156108655760ff60025416156109a5578361026984610263602435613bf8565b503461028657606060031936011261028657611134611d42565b6024359060443567ffffffffffffffff811161105d576111579036908501611e02565b92909361116261251b565b73ffffffffffffffffffffffffffffffffffffffff831692831561129e57803b1561126f5760ff60025416156112475782916111a6899261099e6020989796613bf8565b6111f08851978896879586947fbed2554200000000000000000000000000000000000000000000000000000000865233908601526024850152606060448501526064840191612664565b03925af190811561123b576102699250839161120d575b506126a3565b61122e915060203d8111611234575b61122681836122a3565b81019061264c565b38611207565b503d61121c565b505051903d90823e3d90fd5b5085517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602482858951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024828989519163ec442f0560e01b8352820152fd5b508290346104fb5760606003193601126104fb576112d0611d42565b6112d8611d6a565b90604435926112e561251b565b73ffffffffffffffffffffffffffffffffffffffff90818316918215611349578416156113335750610fcf610d89869761100f9361026998526005602052808920338a526020528820612708565b6024908688519163ec442f0560e01b8352820152fd5b602482888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b5034610286578160031936011261028657611391611d42565b9161139a61251b565b73ffffffffffffffffffffffffffffffffffffffff8316156108c75760ff60025416156109a55783610269846102d2602435613bf8565b50346102865781600319360112610286576113ea611d42565b916113f361251b565b73ffffffffffffffffffffffffffffffffffffffff8316156108c757836102696024358533613277565b50346102865760031960608136011261081557611438611d42565b916024359167ffffffffffffffff9081841161154557606090843603011261105d5760443590811161105d576114719036908301611e02565b91909361147c61251b565b73ffffffffffffffffffffffffffffffffffffffff811693841561152f57813b1561150057602094926114bf6111f097959361099e61025e8c953690860161258a565b8751968795869485937f2ac65e4e00000000000000000000000000000000000000000000000000000000855233908501528a60248501526044840191612664565b602483868951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024838989519163ec442f0560e01b8352820152fd5b8680fd5b508290346104fb57826003193601126104fb57611564611d6a565b903373ffffffffffffffffffffffffffffffffffffffff83160361158d57906104bd91356122e4565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b5050346104fb57816003193601126104fb576020905160128152f35b50346102865781600319360112610286573590611647611d6a565b908284528360205261165e60018286200154612103565b8284528360205273ffffffffffffffffffffffffffffffffffffffff81852092169182855260205260ff818520541615611696578380f35b82845283602052808420828552602052832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b508290346104fb57826003193601126104fb57611719611d42565b92611722611df3565b9161172b61251b565b73ffffffffffffffffffffffffffffffffffffffff918286169182156118505761175433612b36565b908482161561183a578697866000146117d65792859392600560208097946117b7857fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e169b989d3398815285855281812089825285522094610d8e610d8987612708565b9081519085015501519101555b51951515865216941692a36001805580f35b9650509260209281927fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e1695339892898b5260058752828b20908b528652600386611829848d2093610d8e610d8986612708565b8051600285015501519101556117c4565b6024908784519163ec442f0560e01b8352820152fd5b85602492519163ec442f0560e01b8352820152fd5b503461028657602060031936011261028657816020936001923581528085522001549051908152f35b508290346104fb5760606003193601126104fb576118aa611d42565b6118b2611d6a565b906118bb61251b565b60ff600254161561194c5773ffffffffffffffffffffffffffffffffffffffff9283821693841561191d57831615611907575061100f610fcf610d896102699697610fb7604435613bf8565b6024908587519163ec442f0560e01b8352820152fd5b602482878951917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8285517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b50903461028657806003193601126102865761198e611d42565b916024359161199b61251b565b73ffffffffffffffffffffffffffffffffffffffff84168015611a605760ff6002541615611a3957836119de575b85610269866119d787613bf8565b90336134de565b3386526005602052818620908652602052611a08610ffc611a03610d89848920612708565b613dd6565b15611a1357806119c9565b517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602483878451917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b509134610bc65780600319360112610bc6578151918160085492600184811c91818616958615611b52575b6020968785108114610b90578899509688969785829a529182600014610b4b575050600114611af657505050610aeb9291610adc9103856122a3565b9190869350600883527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35b828410611b3a5750505082010181610adc610aeb610ac9565b8054848a018601528895508794909301928101611b21565b92607f1692611aba565b508290346104fb57826003193601126104fb57611b77611d42565b60243591611b8361251b565b73ffffffffffffffffffffffffffffffffffffffff821615611bb057509081610c8b82610269943361312c565b602490848651917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b508234610bc6576020600319360112610bc65773ffffffffffffffffffffffffffffffffffffffff9182611c11611d42565b16908115611c3057602085858186868152600385522054169051908152f35b6024908386519163ec442f0560e01b8352820152fd5b50346102865760206003193601126102865735907fffffffff00000000000000000000000000000000000000000000000000000000821680920361028657602092507f479eaff4000000000000000000000000000000000000000000000000000000008214918215611cbc575b50519015158152f35b9091507f7965db0b000000000000000000000000000000000000000000000000000000008114908115611cf2575b509038611cb3565b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501438611cea565b8382346104fb5760206003193601126104fb5761026990611d3b61251b565b3533612ed1565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203611d6557565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203611d6557565b60005b838110611da05750506000910152565b8181015183820152602001611d90565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611dec81518092818752878088019101611d8d565b0116010190565b602435908115158203611d6557565b9181601f84011215611d655782359167ffffffffffffffff8311611d655760208381860195010111611d6557565b90600319604081840112611d655760043573ffffffffffffffffffffffffffffffffffffffff81168103611d6557926024359167ffffffffffffffff8311611d655782606092030112611d655760040190565b3360009081527f0781d7cac9c378efa22a7481e4d4d29704a680ddf504b3bc50b517700ee11e6c602090815260408083205490927f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69160ff1615611ee75750505050565b611ef0336123c4565b91845190611efd82612287565b604282528482019260603685378251156120d657603084538251906001918210156120d65790607860218501536041915b81831161202957505050611fcd5760486106b4938693611f9793611f8898519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a86015261063c815180928c603789019101611d8d565b010360288101875201856122a3565b519283927f08c379a000000000000000000000000000000000000000000000000000000000845260048401526024830190611db0565b6064848651907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156120a9577f3031323334353637383961626364656600000000000000000000000000000000901a6120668587612384565b5360041c92801561207c57600019019190611f2e565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b600090808252602090828252604092838120338252835260ff84822054161561212c5750505050565b612135336123c4565b9184519061214282612287565b604282528482019260603685378251156120d657603084538251906001918210156120d65790607860218501536041915b8183116121cd57505050611fcd5760486106b4938693611f9793611f8898519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a86015261063c815180928c603789019101611d8d565b909192600f811660108110156120a9577f3031323334353637383961626364656600000000000000000000000000000000901a61220a8587612384565b5360041c92801561207c57600019019190612173565b6060810190811067ffffffffffffffff82111761223c57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761223c57604052565b6080810190811067ffffffffffffffff82111761223c57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761223c57604052565b906000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff60408420541661232257505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015612395570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906123d182612220565b602a82526020820160403682378251156123955760309053815160019081101561239557607860218401536029905b80821161246e5750506124105790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156124ed577f3031323334353637383961626364656600000000000000000000000000000000901a6124aa8486612384565b5360041c9180156124bf576000190190612400565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b60026001541461252c576002600155565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b91908281039260608412611d65576040516125a48161226b565b6040819512611d6557604051916125ba8361226b565b8035835260209283820135848201528252604081013567ffffffffffffffff91828211611d65570184601f82011215611d6557803591821161223c576040519461262b857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011601876122a3565b828652848383010111611d6557816000928580930183880137850101520152565b90816020910312611d6557518015158103611d655790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b156126aa57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f43616c6c6261636b206661696c656400000000000000000000000000000000006044820152fd5b906040516127158161226b565b602060018294805484520154910152565b73ffffffffffffffffffffffffffffffffffffffff16908115612794571561276f57600052600560205260406000203360005260205261276c610d896040600020612708565b90565b33600052600560205260406000209060005260205261276c610d896040600020612708565b602460405163ec442f0560e01b815260006004820152fd5b156127b357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b929173ffffffffffffffffffffffffffffffffffffffff908185168015612b055782841690811561279457818114612ad457829660009582875260209660048852604096612863610d89898420612708565b9a86835260048a52612879610d898a8520612708565b978860448b519e8f907f56c72d280000000000000000000000000000000000000000000000000000000082527f060606000000000000000000000000000000000000000000000000000000000060048301526024820152015260648d015260608c6084818660645af1978815612aca5783908490859a612a8a575b6129209b9c9d9e506129058b613801565b9283612a61575b505050612986575b50505050505050613801565b15612929575050565b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f45524332303a20757064617465206661696c65640000000000000000000000006044820152fd5b6129c27f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a395848d8d516129b88161226b565b8281520152612b36565b80831615612a44576129d76129e69183613aa6565b945b848d8d516129b88161226b565b91821615612a29576129f89250613aa6565b905b87518151815260209182015182820152825160408201529101516060820152608090a338808080808080612914565b5050875190612a378261226b565b80825289820152906129fa565b506129e68a51612a538161226b565b848152848d820152946129d9565b612a8292945090612a75612a7b928a612b87565b84613d04565b9286612b87565b38808061290c565b9950505060608c3d8211612ac2575b81612aa6606093836122a3565b81010312610286578b518a8d01519c8a01519b9c8d9c996128f4565b3d9150612a99565b89513d85823e3d90fd5b602490604051907fa26ce2e10000000000000000000000000000000000000000000000000000000082526004820152fd5b60246040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152fd5b73ffffffffffffffffffffffffffffffffffffffff8082168015612b7f57600052600360205260406000205416908115612b6e575090565b8091503b612b795790565b50600090565b505050600090565b90600390612b9483612b36565b73ffffffffffffffffffffffffffffffffffffffff9190828116612c095750612bbc906139e1565b921660009281845260046020526001602060408620928051845501519101556040805193612be98561226b565b808552602085019281845281526004602052209251600284015551910155565b916040805195612c188761226b565b815192612c248461226b565b600091828552612c6260209786858a809901528b52868b01978651612c488161226b565b86815286898201528952612c5b816139e1565b8c52613aa6565b865216815260048352209451805186550151600185015551805160028501550151910155565b91909173ffffffffffffffffffffffffffffffffffffffff90818116801561279457612cdb90600081815260209460048652604094612cd489612ccf610d89898720612708565b613c68565b9590613895565b98612d09612d0282612ccf8a51612cf18161226b565b60065481526007548d820152613680565b9190613895565b8851907f145fca2c0000000000000000000000000000000000000000000000000000000082527f0606020000000000000000000000000000000000000000000000000000000000600483015282602483015260001960448301528a826064818a825af1918215612ec7578792612e96575b508a9b9c612d916129209b9c9493612d9793613757565b90613757565b97612da189613801565b9283612e72575b505050612dba575b5050505050613801565b7f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a392848a8a51612de98161226b565b8281520152612e12895193612dfd8561226b565b868552868c860152868c8c516129b88161226b565b90811615612e5757612e2391613aa6565b905b8751815181526020918201518282015282516040820152910151606082015280608081015b0390a33880808080612db0565b50508651612e648161226b565b838152838982015290612e25565b612e7e612e8e936139e1565b8051600655015160075584612b87565b38808b612da8565b9091508a81813d8311612ec0575b612eae81836122a3565b81010312611545575190612920612d7a565b503d612ea4565b8a513d89823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff90818416908115612b0557809160009080825260209460048652604094612f13610d89878620612708565b98612f1c613b86565b9587519a7f56c72d28000000000000000000000000000000000000000000000000000000008c527f060606000000000000000000000000000000000000000000000000000000000060048d015260248c01528660448c015260648b015260608a6084818860645af19586156131225785908687986130e1575b612920999a9b9c50612fa689613801565b928361308d575b505050612fbe575050505050613801565b612fcf90858a8a516129b88161226b565b91821615613052577f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a39161300291613aa6565b8388885161300f8161226b565b82815201528651906130208261226b565b848252888201859052875181518152602091820151828201528251604082015291015160608201528060808101612e4a565b50507f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a385516130808161226b565b8381528388820152613002565b6130a293955061309d9085612b87565b613d04565b91896130cf6130ca8561309d8d516130b98161226b565b600654815260075486820152613680565b6139e1565b80516006550151600755388080612fad565b5096505060608a3d821161311a575b816130fd606093836122a3565b81010312611059578951888b01519a880151999a8b9a9790612f95565b3d91506130f0565b87513d87823e3d90fd5b91906131a09161313a613b86565b6040517f7c12a1eb0000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201529160209083906064820190565b03928181600095818760645af1801561326c57849061323d575b6131c49150613801565b613237576040610ffc93611a0393610d89936132069773ffffffffffffffffffffffffffffffffffffffff809116845260058252848420921683525220612708565b1561320d57565b60046040517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50505050565b508181813d8311613265575b61325381836122a3565b81010312610815576131c490516131ba565b503d613249565b6040513d86823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff80841690811561337757821690811561334657610ffc936132d8926132d1926000526005602052604060002090600052602052612ccf610d896040600020612708565b9390613895565b156132e8576132e6926134de565b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f45524332303a20616c6c6f77616e6365206f766572666c6f77000000000000006044820152fd5b60246040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152fd5b60246040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152fd5b9092919273ffffffffffffffffffffffffffffffffffffffff9182811692831561337757821692831561334657613465936000918252600560205260409687918284209084526020526133ff610d89838520612708565b825196879283927fce8c713d000000000000000000000000000000000000000000000000000000008452600484016040909392919360608101947f0606000000000000000000000000000000000000000000000000000000000000825260208201520152565b03818460645af19384156134d2576132e695968295613495575b5050611001610ffc61349092613895565b6134de565b610ffc9550613490925061100191816134c292903d106134cb575b6134ba81836122a3565b8101906139cb565b9590925061347f565b503d6134b0565b508551903d90823e3d90fd5b9173ffffffffffffffffffffffffffffffffffffffff80841692831561337757818116948515613346578361362b91600561354261353c7f836b0bdb95065391d1c4c568d3e48559e54d5969d06d7ea87f85869e1ef69dc8986139e1565b92612b36565b9560009361357c6040958651996135588b61226b565b818b5260209a8b018290528085161561364b57613576915083613aa6565b97612b36565b90600092838a885161358d8161226b565b8281520152821615613630576135a39250613aa6565b955b8351926135b184612220565b835280830186815281858501918983528b600052848252866000208d6000528252818760002096518051885501516001870155518051600287015501516003850155518051600485015501519101555192839283909291602060609181608085019680518652015182850152805160408501520151910152565b0390a3565b505083519061363e8261226b565b80825287820152956135a5565b508651906136588261226b565b8082528a82015297612b36565b92909193613237576132e69361367a91613d04565b916134de565b8051158061374b575b6137425760208151910151604051917f2d5831350000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015260448201526020816064816000825af190811561373657600091613708575090565b906020823d821161372e575b81613721602093836122a3565b81010312610bc657505190565b3d9150613714565b6040513d6000823e3d90fd5b5061276c613b86565b50602081015115613689565b6040517ffe9c73d1000000000000000000000000000000000000000000000000000000008152600060048201526024810191909152604481019190915260208180606481015b0381600060645af190811561373657600091613708575090565b6040517ffb7da35f0000000000000000000000000000000000000000000000000000000081526000600482015260248101919091526044810191909152602081806064810161379d565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af1918215613889578092613855575b5050151590565b9091506020823d8211613881575b81613870602093836122a3565b81010312610bc6575051388061384e565b3d9150613863565b604051903d90823e3d90fd5b6040517f1d79e49a00000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af19182156138895780926138e657505090565b9091506020823d821161372e5781613721602093836122a3565b8051908151916020918280809301519101519361398260405195869384937f0135e4660000000000000000000000000000000000000000000000000000000085527f0600000000000000000000000000000000000000000000000000000000000000600486015260248501526044840152608060648401526084830190611db0565b0381600060645af19081156137365760009161399f575b50905090565b82813d83116139c4575b6139b381836122a3565b81010312610bc65750518038613999565b503d6139a9565b9190826040910312611d65576020825192015190565b602090604080516139f18161226b565b600093818580935201528051917f1f4491de0000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015280826044818660645af1918215613a9c578392613a7a575b505191613a708361226b565b8252602082015290565b90809350613a9492503d84116134cb576134ba81836122a3565b909138613a64565b81513d85823e3d90fd5b60408051602093613b66938392613abc8161226b565b600096818880935201527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000083519260601b16602083015260148252613b008261226b565b825194859283927fe5c833130000000000000000000000000000000000000000000000000000000084527f060000000000000000000000000000000000000000000000000000000000000060048501526024840152606060448401526064830190611db0565b03818660645af1918215613a9c578392613a7a57505191613a708361226b565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f060000000000000000000000000000000000000000000000000000000000000060048201526000908160248201526020816044818560645af19182156138895780926138e657505090565b604051907fd9b60b600000000000000000000000000000000000000000000000000000000082527f060000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af190811561373657600091613708575090565b604080517ff581fa200000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201929092529190826064816000825af1918215613736576000908193613ce557509190565b9050613d0091925060403d81116134cb576134ba81836122a3565b9091565b6040517f371d1bf20000000000000000000000000000000000000000000000000000000081527f0606000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152602081806064810161379d565b6040517fdd1486930000000000000000000000000000000000000000000000000000000081527f0606000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152602081806064810161379d565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f06060200000000000000000000000000000000000000000000000000000000006004830152602482015260009081604482015260208160648185825af19182156138895780926138e657505090565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f06060200000000000000000000000000000000000000000000000000000000006004830152602482015260001960448201526020816064816000825af19081156137365760009161370857509056fea164736f6c6343000813000a";
|
|
1425
|
+
"0x6080346200034e5760406001600160401b03828201818111848210176200024f578252601583526020907f507269766174652057726170706564204574686572000000000000000000000082850152825193838501858110838211176200024f57845260068552650e05cae8aa8960d31b838601526001928380558151156200033d578551156200033d5781518381116200024f57600854928584811c9416801562000332575b838510146200022e578190601f94858111620002db575b508390858311600114620002715760009262000265575b5050600019600383901b1c191690851b176008555b85519283116200024f576009548481811c9116801562000244575b828210146200022e57828111620001e2575b5080918311600114620001775750819293946000926200016b575b5050600019600383901b1c191690821b176009555b620001513362000353565b5060ff196002541617600255516137b79081620003e58239f35b01519050388062000131565b90601f19831695600960005282600020926000905b888210620001ca5750508385969710620001b0575b505050811b0160095562000146565b015160001960f88460031b161c19169055388080620001a1565b8087859682949686015181550195019301906200018c565b6009600052816000208380860160051c82019284871062000224575b0160051c019085905b8281106200021757505062000116565b6000815501859062000207565b92508192620001fe565b634e487b7160e01b600052602260045260246000fd5b90607f169062000104565b634e487b7160e01b600052604160045260246000fd5b015190503880620000d4565b90879350601f198316916008600052856000209260005b87828210620002c45750508411620002aa575b505050811b01600855620000e9565b015160001960f88460031b161c191690553880806200029b565b8385015186558b9790950194938401930162000288565b9091506008600052836000208580850160051c82019286861062000328575b918991869594930160051c01915b82811062000318575050620000bd565b6000815585945089910162000308565b92508192620002fa565b93607f1693620000a6565b8451631251828960e31b8152600490fd5b600080fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff16620003e057818052816020526040822081835260205260408220600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b509056fe6040608081526004908136101561001557600080fd5b600091823560e01c80620a77ed146119ee57806301ffc9a714611918578063043d2085146118b15780630564c4cf1461182e57806306fdde0314611761578063095ea7b31461164657806318160ddd146107db57806323b872dd14611560578063248a9ca31461153757806326a9b3f1146113d05780632f2ff15d146113a7578063313ce5671461138b57806336568abe1461131e5780633826c580146111f257806338e071bc146111a6578063395093511461114d5780633c96e77c146110895780634000aea014610eef57806340c10f1914610e8e57806342966c6814610e5a5780634faa7ebf14610e365780635d484ff814610cf957806368c7a25d14610ca557806370a0823114610c1e578063722713f714610bf75780638269bcc314610b0157806383ae57f414610ab957806384813e9314610a665780638e532c4414610a0c5780638f770ad0146109d157806391d148541461098057806395d89b411461082b57806396b2db38146107f6578063a217fddf146107db578063a457c2d714610782578063a9059cbb146106fc578063b485441d146106ad578063b935980914610632578063c183b7fc146105d0578063d184683614610500578063d5391393146104c1578063d547741f14610483578063dd62ed3e14610308578063e4f75ce71461028a5763fb2205ca1461020f57600080fd5b346102865761021d36611afa565b919092610228611b4d565b610230611df9565b73ffffffffffffffffffffffffffffffffffffffff84161561027057846102698561026361025e3688611e34565b6131c8565b90612532565b6001805580f35b9084602492519163ec442f0560e01b8352820152fd5b8280fd5b50346102865761029936611afa565b9190926102a4611df9565b73ffffffffffffffffffffffffffffffffffffffff8416156102d95784610269856102d261025e3688611e34565b9033612b3f565b908460249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b509034610286578060031936011261028657610322611a14565b9061032b611a3c565b81519261033784611d51565b82519361034385611d9c565b86855260209487868201528152835161035b81611d9c565b8781528786820152858201528380519161037483611d9c565b8883528887840152015273ffffffffffffffffffffffffffffffffffffffff809116918215610454571690811561042557858492849260c0985260058452828220908252835220916103ef8151956103cb87611d51565b6103d485611fb2565b87526103e260028601611fb2565b9484880195865201611fb2565b928186019384528282519651805188520151838701525190815190860152015160608401525180516080840152015160a0820152f35b602485878551917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b602486888651917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b5090346102865780600319360112610286576104bd91356104b860016104a7611a3c565b938387528660205286200154611be0565b611cb0565b5080f35b5050346104fc57816003193601126104fc57602090517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b5080fd5b509034610286576020600319360112610286578135918215158093036105cc578380528360205281842033855260205260ff82852054161561059757507fd42670144ecdb96470ba224c43350a54c3f4a1890e72b2a470a689962b9f3c4f916020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006002541660ff83161760025551908152a180f35b8360449251917fe2517d3f00000000000000000000000000000000000000000000000000000000835233908301526024820152fd5b8380fd5b50346102865781600319360112610286576105e9611a14565b916105f2611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561061c578361026960243585336120bb565b9083602492519163ec442f0560e01b8352820152fd5b503461028657816003193601126102865761064b611a14565b91610654611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561067e57836102696024358533612c70565b908360249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b5034610286576106bc36611afa565b9190926106c7611df9565b73ffffffffffffffffffffffffffffffffffffffff8416156102d95784610269856106f561025e3688611e34565b9033612c70565b5034610286578160031936011261028657610715611a14565b9161071e611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561061c5760ff600254161561075c5783610269846107556024356134c0565b90336120bb565b517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b503461028657816003193601126102865761079b611a14565b916107a4611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561067e5760ff600254161561075c5783610269846106f56024356134c0565b5050346104fc57816003193601126104fc5751908152602090f35b5050346104fc57806003193601126104fc57602090610824610816611a14565b61081e611abd565b90611fd0565b9051908152f35b50913461097d578060031936011261097d578151918160095492600184811c91818616958615610973575b6020968785108114610947578899509688969785829a5291826000146109025750506001146108a6575b5050506108a29291610893910385611db8565b51928284938452830190611a5f565b0390f35b9190869350600983527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b8284106108ea57505050820101816108936108a2610880565b8054848a0186015288955087949093019281016108d1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061089391506108a29050610880565b60248360228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b92607f1692610856565b80fd5b50346102865781600319360112610286578160209360ff926109a0611a3c565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b5050346104fc57816003193601126104fc57602090517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8152f35b503461028657610a1b36611afa565b919092610a26611df9565b73ffffffffffffffffffffffffffffffffffffffff8416156102d9578461026985610a5461025e3688611e34565b90610a608282336129f4565b33612da6565b5034610286578160031936011261028657610a7f611a14565b91610a88611b4d565b610a90611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561061c578361026960243585612532565b503461028657610ac836611afa565b919092610ad3611df9565b73ffffffffffffffffffffffffffffffffffffffff84161561027057846102698561075561025e3688611e34565b508290346104fc576020928360031936011261028657610b1f611a14565b91610b28611df9565b73ffffffffffffffffffffffffffffffffffffffff8316928315610be157610b6890338652828752610b63610b5e858820611fb2565b612f48565b61336e565b9033855260038652828520847fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905585526003858386209280516002850155015191015551917f60662088d92b75bf198cd91648eaec81fc2278e7a02f3cf02643637be4728c24339180a36001805560018152f35b5083602492519163ec442f0560e01b8352820152fd5b5034610286578260031936011261028657610b5e8260209461082493338252865220611fb2565b508290346104fc5760206003193601126104fc5773ffffffffffffffffffffffffffffffffffffffff610c4f611a14565b8360208651610c5d81611d9c565b8281520152168015610c8f578252602052819020610c7d90600201611fb2565b60208251918051835201516020820152f35b5090602492519163ec442f0560e01b8352820152fd5b8382346104fc57600319906020823601126102865780359167ffffffffffffffff83116105cc5760609083360301126102865761025e610cf39161026993610ceb611df9565b369101611e34565b33612799565b508290346104fc576003199060608236011261028657610d17611a14565b610d1f611a3c565b916044359367ffffffffffffffff8511610e32576060908536030112610e2e57610d47611df9565b73ffffffffffffffffffffffffffffffffffffffff93848316948515610dff57841615610de957610b5e6102699697610d8c61025e610de495610da495369101611e34565b9689526005602052808920338a526020528820611fb2565b610ddb610db082613715565b610dd1610dd6610dd1610dcb610dc68b88613635565b61315d565b8461307f565b6130c9565b612056565b90853385612f2d565b6120bb565b6024828789519163ec442f0560e01b8352820152fd5b602483888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8480fd5b8580fd5b5050346104fc57816003193601126104fc5760209060ff6002541690519015158152f35b50903461028657602060031936011261028657610e75611df9565b60ff600254161561075c5750610cf361026991356134c0565b5034610286578160031936011261028657610ea7611a14565b91610eb0611b4d565b610eb8611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561061c5760ff600254161561075c5783610269846102636024356134c0565b503461028657606060031936011261028657610f09611a14565b6024359060443567ffffffffffffffff8111610e3257610f2c9036908501611acc565b929093610f37611df9565b73ffffffffffffffffffffffffffffffffffffffff831692831561107357803b156110445760ff600254161561101c578291610f7b899261075560209897966134c0565b610fc58851978896879586947fbed2554200000000000000000000000000000000000000000000000000000000865233908601526024850152606060448501526064840191611f0e565b03925af19081156110105761026992508391610fe2575b50611f4d565b611003915060203d8111611009575b610ffb8183611db8565b810190611ef6565b38610fdc565b503d610ff1565b505051903d90823e3d90fd5b5085517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602482858951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024828989519163ec442f0560e01b8352820152fd5b508290346104fc5760606003193601126104fc576110a5611a14565b6110ad611a3c565b90604435926110ba611df9565b73ffffffffffffffffffffffffffffffffffffffff9081831691821561111e578416156111085750610da4610b5e8697610de49361026998526005602052808920338a526020528820611fb2565b6024908688519163ec442f0560e01b8352820152fd5b602482888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b5034610286578160031936011261028657611166611a14565b9161116f611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561067e5760ff600254161561075c5783610269846102d26024356134c0565b50346102865781600319360112610286576111bf611a14565b916111c8611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561067e57836102696024358533612b3f565b5034610286576003196060813601126105cc5761120d611a14565b916024359167ffffffffffffffff9081841161131a576060908436030112610e3257604435908111610e32576112469036908301611acc565b919093611251611df9565b73ffffffffffffffffffffffffffffffffffffffff811693841561130457813b156112d55760209492611294610fc597959361075561025e8c9536908601611e34565b8751968795869485937f2ac65e4e00000000000000000000000000000000000000000000000000000000855233908501528a60248501526044840191611f0e565b602483868951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024838989519163ec442f0560e01b8352820152fd5b8680fd5b509190346104fc57806003193601126104fc57611339611a3c565b903373ffffffffffffffffffffffffffffffffffffffff83160361136357506104bd919235611cb0565b8390517f6697b232000000000000000000000000000000000000000000000000000000008152fd5b5050346104fc57816003193601126104fc576020905160128152f35b5090346102865780600319360112610286576104bd91356113cb60016104a7611a3c565b611c06565b508290346104fc57826003193601126104fc576113eb611a14565b926113f4611abd565b916113fd611df9565b73ffffffffffffffffffffffffffffffffffffffff9182861691821561152257611426336123e0565b908482161561150c578697866000146114a8579285939260056020809794611489857fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e169b989d3398815285855281812089825285522094610b63610b5e87611fb2565b9081519085015501519101555b51951515865216941692a36001805580f35b9650509260209281927fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e1695339892898b5260058752828b20908b5286526003866114fb848d2093610b63610b5e86611fb2565b805160028501550151910155611496565b6024908784519163ec442f0560e01b8352820152fd5b85602492519163ec442f0560e01b8352820152fd5b503461028657602060031936011261028657816020936001923581528085522001549051908152f35b508290346104fc5760606003193601126104fc5761157c611a14565b611584611a3c565b9061158d611df9565b60ff600254161561161e5773ffffffffffffffffffffffffffffffffffffffff928382169384156115ef578316156115d95750610de4610da4610b5e6102699697610d8c6044356134c0565b6024908587519163ec442f0560e01b8352820152fd5b602482878951917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8285517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b509034610286578060031936011261028657611660611a14565b916024359161166d611df9565b73ffffffffffffffffffffffffffffffffffffffff841680156117325760ff600254161561170b57836116b0575b85610269866116a9876134c0565b9033612da6565b33865260056020528186209086526020526116da610dd16116d5610b5e848920611fb2565b61369e565b156116e5578061169b565b517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602483878451917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b50913461097d578060031936011261097d578151918160085492600184811c91818616958615611824575b6020968785108114610947578899509688969785829a5291826000146109025750506001146117c8575050506108a29291610893910385611db8565b9190869350600883527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35b82841061180c57505050820101816108936108a2610880565b8054848a0186015288955087949093019281016117f3565b92607f169261178c565b508290346104fc57826003193601126104fc57611849611a14565b60243591611855611df9565b73ffffffffffffffffffffffffffffffffffffffff82161561188257509081610a608261026994336129f4565b602490848651917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b50823461097d57602060031936011261097d5773ffffffffffffffffffffffffffffffffffffffff91826118e3611a14565b1690811561190257602085858186868152600385522054169051908152f35b6024908386519163ec442f0560e01b8352820152fd5b50346102865760206003193601126102865735907fffffffff00000000000000000000000000000000000000000000000000000000821680920361028657602092507f479eaff400000000000000000000000000000000000000000000000000000000821491821561198e575b50519015158152f35b9091507f7965db0b0000000000000000000000000000000000000000000000000000000081149081156119c4575b509038611985565b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014386119bc565b8382346104fc5760206003193601126104fc5761026990611a0d611df9565b3533612799565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203611a3757565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203611a3757565b919082519283825260005b848110611aa95750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201611a6a565b602435908115158203611a3757565b9181601f84011215611a375782359167ffffffffffffffff8311611a375760208381860195010111611a3757565b90600319604081840112611a375760043573ffffffffffffffffffffffffffffffffffffffff81168103611a3757926024359167ffffffffffffffff8311611a375782606092030112611a375760040190565b3360009081527f0781d7cac9c378efa22a7481e4d4d29704a680ddf504b3bc50b517700ee11e6c60205260409020547f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69060ff1615611ba95750565b604490604051907fe2517d3f0000000000000000000000000000000000000000000000000000000082523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615611ba95750565b906000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff60408420541615600014611cab5780835282602052604083208284526020526040832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b906000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416600014611cab578083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b6060810190811067ffffffffffffffff821117611d6d57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff821117611d6d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d6d57604052565b600260015414611e0a576002600155565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b91908281039260608412611a3757604051611e4e81611d9c565b6040819512611a375760405191611e6483611d9c565b8035835260209283820135848201528252604081013567ffffffffffffffff91828211611a37570184601f82011215611a37578035918211611d6d5760405194611ed5857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8601160187611db8565b828652848383010111611a3757816000928580930183880137850101520152565b90816020910312611a3757518015158103611a375790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b15611f5457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f43616c6c6261636b206661696c656400000000000000000000000000000000006044820152fd5b90604051611fbf81611d9c565b602060018294805484520154910152565b73ffffffffffffffffffffffffffffffffffffffff1690811561203e5715612019576000526005602052604060002033600052602052612016610b5e6040600020611fb2565b90565b336000526005602052604060002090600052602052612016610b5e6040600020611fb2565b602460405163ec442f0560e01b815260006004820152fd5b1561205d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b929173ffffffffffffffffffffffffffffffffffffffff9081851680156123af5782841690811561203e5781811461237e5782966000958287526020966004885260409661210d610b5e898420611fb2565b9a86835260048a52612123610b5e8a8520611fb2565b978860448b519e8f907f56c72d280000000000000000000000000000000000000000000000000000000082527f060606000000000000000000000000000000000000000000000000000000000060048301526024820152015260648d015260608c6084818660645af19788156123745783908490859a612334575b6121ca9b9c9d9e506121af8b6130c9565b928361230b575b505050612230575b505050505050506130c9565b156121d3575050565b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f45524332303a20757064617465206661696c65640000000000000000000000006044820152fd5b61226c7f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a395848d8d5161226281611d9c565b82815201526123e0565b808316156122ee57612281612290918361336e565b945b848d8d5161226281611d9c565b918216156122d3576122a2925061336e565b905b87518151815260209182015182820152825160408201529101516060820152608090a3388080808080806121be565b50508751906122e182611d9c565b80825289820152906122a4565b506122908a516122fd81611d9c565b848152848d82015294612283565b61232c9294509061231f612325928a612431565b846135cc565b9286612431565b3880806121b6565b9950505060608c3d821161236c575b8161235060609383611db8565b81010312610286578b518a8d01519c8a01519b9c8d9c9961219e565b3d9150612343565b89513d85823e3d90fd5b602490604051907fa26ce2e10000000000000000000000000000000000000000000000000000000082526004820152fd5b60246040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152fd5b73ffffffffffffffffffffffffffffffffffffffff808216801561242957600052600360205260406000205416908115612418575090565b8091503b6124235790565b50600090565b505050600090565b9060039061243e836123e0565b73ffffffffffffffffffffffffffffffffffffffff91908281166124b35750612466906132a9565b92166000928184526004602052600160206040862092805184550151910155604080519361249385611d9c565b808552602085019281845281526004602052209251600284015551910155565b9160408051956124c287611d9c565b8151926124ce84611d9c565b60009182855261250c60209786858a809901528b52868b019786516124f281611d9c565b86815286898201528952612505816132a9565b8c5261336e565b865216815260048352209451805186550151600185015551805160028501550151910155565b91909173ffffffffffffffffffffffffffffffffffffffff90818116801561203e576125859060008181526020946004865260409461257e89612579610b5e898720611fb2565b613530565b959061315d565b986125b36125ac826125798a5161259b81611d9c565b60065481526007548d820152612f48565b919061315d565b8851907f145fca2c0000000000000000000000000000000000000000000000000000000082527f060602000000000000000000000000000000000000000000000000000000000060048301528260248301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448301528a826064818a825af191821561278f57879261275e575b508a9b9c6126596121ca9b9c949361265f9361301f565b9061301f565b97612669896130c9565b928361273a575b505050612682575b50505050506130c9565b7f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a392848a8a516126b181611d9c565b82815201526126da8951936126c585611d9c565b868552868c860152868c8c5161226281611d9c565b9081161561271f576126eb9161336e565b905b8751815181526020918201518282015282516040820152910151606082015280608081015b0390a33880808080612678565b5050865161272c81611d9c565b8381528389820152906126ed565b612746612756936132a9565b8051600655015160075584612431565b38808b612670565b9091508a81813d8311612788575b6127768183611db8565b8101031261131a5751906121ca612642565b503d61276c565b8a513d89823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff908184169081156123af578091600090808252602094600486526040946127db610b5e878620611fb2565b986127e461344e565b9587519a7f56c72d28000000000000000000000000000000000000000000000000000000008c527f060606000000000000000000000000000000000000000000000000000000000060048d015260248c01528660448c015260648b015260608a6084818860645af19586156129ea5785908687986129a9575b6121ca999a9b9c5061286e896130c9565b9283612955575b5050506128865750505050506130c9565b61289790858a8a5161226281611d9c565b9182161561291a577f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a3916128ca9161336e565b838888516128d781611d9c565b82815201528651906128e882611d9c565b848252888201859052875181518152602091820151828201528251604082015291015160608201528060808101612712565b50507f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a3855161294881611d9c565b83815283888201526128ca565b61296a9395506129659085612431565b6135cc565b9189612997612992856129658d5161298181611d9c565b600654815260075486820152612f48565b6132a9565b80516006550151600755388080612875565b5096505060608a3d82116129e2575b816129c560609383611db8565b81010312610e2e578951888b01519a880151999a8b9a979061285d565b3d91506129b8565b87513d87823e3d90fd5b9190612a6891612a0261344e565b6040517f7c12a1eb0000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201529160209083906064820190565b03928181600095818760645af18015612b34578490612b05575b612a8c91506130c9565b612aff576040610dd1936116d593610b5e93612ace9773ffffffffffffffffffffffffffffffffffffffff809116845260058252848420921683525220611fb2565b15612ad557565b60046040517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50505050565b508181813d8311612b2d575b612b1b8183611db8565b810103126105cc57612a8c9051612a82565b503d612b11565b6040513d86823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff808416908115612c3f578216908115612c0e57610dd193612ba092612b99926000526005602052604060002090600052602052612579610b5e6040600020611fb2565b939061315d565b15612bb057612bae92612da6565b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f45524332303a20616c6c6f77616e6365206f766572666c6f77000000000000006044820152fd5b60246040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152fd5b60246040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152fd5b9092919273ffffffffffffffffffffffffffffffffffffffff91828116928315612c3f578216928315612c0e57612d2d93600091825260056020526040968791828420908452602052612cc7610b5e838520611fb2565b825196879283927fce8c713d000000000000000000000000000000000000000000000000000000008452600484016040909392919360608101947f0606000000000000000000000000000000000000000000000000000000000000825260208201520152565b03818460645af1938415612d9a57612bae95968295612d5d575b5050610dd6610dd1612d589261315d565b612da6565b610dd19550612d589250610dd69181612d8a92903d10612d93575b612d828183611db8565b810190613293565b95909250612d47565b503d612d78565b508551903d90823e3d90fd5b9173ffffffffffffffffffffffffffffffffffffffff808416928315612c3f57818116948515612c0e5783612ef3916005612e0a612e047f836b0bdb95065391d1c4c568d3e48559e54d5969d06d7ea87f85869e1ef69dc8986132a9565b926123e0565b95600093612e44604095865199612e208b611d9c565b818b5260209a8b0182905280851615612f1357612e3e91508361336e565b976123e0565b90600092838a8851612e5581611d9c565b8281520152821615612ef857612e6b925061336e565b955b835192612e7984611d51565b835280830186815281858501918983528b600052848252866000208d6000528252818760002096518051885501516001870155518051600287015501516003850155518051600485015501519101555192839283909291602060609181608085019680518652015182850152805160408501520151910152565b0390a3565b5050835190612f0682611d9c565b8082528782015295612e6d565b50865190612f2082611d9c565b8082528a820152976123e0565b92909193612aff57612bae93612f42916135cc565b91612da6565b80511580613013575b61300a5760208151910151604051917f2d5831350000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015260448201526020816064816000825af1908115612ffe57600091612fd0575090565b906020823d8211612ff6575b81612fe960209383611db8565b8101031261097d57505190565b3d9150612fdc565b6040513d6000823e3d90fd5b5061201661344e565b50602081015115612f51565b6040517ffe9c73d1000000000000000000000000000000000000000000000000000000008152600060048201526024810191909152604481019190915260208180606481015b0381600060645af1908115612ffe57600091612fd0575090565b6040517ffb7da35f00000000000000000000000000000000000000000000000000000000815260006004820152602481019190915260448101919091526020818060648101613065565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af191821561315157809261311d575b5050151590565b9091506020823d8211613149575b8161313860209383611db8565b8101031261097d5750513880613116565b3d915061312b565b604051903d90823e3d90fd5b6040517f1d79e49a00000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af19182156131515780926131ae57505090565b9091506020823d8211612ff65781612fe960209383611db8565b8051908151916020918280809301519101519361324a60405195869384937f0135e4660000000000000000000000000000000000000000000000000000000085527f0600000000000000000000000000000000000000000000000000000000000000600486015260248501526044840152608060648401526084830190611a5f565b0381600060645af1908115612ffe57600091613267575b50905090565b82813d831161328c575b61327b8183611db8565b8101031261097d5750518038613261565b503d613271565b9190826040910312611a37576020825192015190565b602090604080516132b981611d9c565b600093818580935201528051917f1f4491de0000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015280826044818660645af1918215613364578392613342575b50519161333883611d9c565b8252602082015290565b9080935061335c92503d8411612d9357612d828183611db8565b90913861332c565b81513d85823e3d90fd5b6040805160209361342e93839261338481611d9c565b600096818880935201527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000083519260601b166020830152601482526133c882611d9c565b825194859283927fe5c833130000000000000000000000000000000000000000000000000000000084527f060000000000000000000000000000000000000000000000000000000000000060048501526024840152606060448401526064830190611a5f565b03818660645af19182156133645783926133425750519161333883611d9c565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f060000000000000000000000000000000000000000000000000000000000000060048201526000908160248201526020816044818560645af19182156131515780926131ae57505090565b604051907fd9b60b600000000000000000000000000000000000000000000000000000000082527f060000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af1908115612ffe57600091612fd0575090565b604080517ff581fa200000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201929092529190826064816000825af1918215612ffe5760009081936135ad57509190565b90506135c891925060403d8111612d9357612d828183611db8565b9091565b6040517f371d1bf20000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020818060648101613065565b6040517fdd1486930000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020818060648101613065565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f06060200000000000000000000000000000000000000000000000000000000006004830152602482015260009081604482015260208160648185825af19182156131515780926131ae57505090565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f0606020000000000000000000000000000000000000000000000000000000000600483015260248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448201526020816064816000825af1908115612ffe57600091612fd057509056fea164736f6c6343000814000a";
|
|
1400
1426
|
|
|
1401
1427
|
type PrivateWrappedEtherConstructorParams =
|
|
1402
1428
|
| [signer?: Signer]
|