[ { "inputs": [ { "internalType": "address", "name": "admin_", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AccessControlBadConfirmation", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bytes32", "name": "neededRole", "type": "bytes32" } ], "name": "AccessControlUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "CX__TransfersDisabled", "type": "error" }, { "inputs": [], "name": "CX__TransfersEnabled", "type": "error" }, { "inputs": [], "name": "CheckpointUnorderedInsertion", "type": "error" }, { "inputs": [], "name": "ECDSAInvalidSignature", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "ECDSAInvalidSignatureLength", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "ECDSAInvalidSignatureS", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "increasedSupply", "type": "uint256" }, { "internalType": "uint256", "name": "cap", "type": "uint256" } ], "name": "ERC20ExceededSafeSupply", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "ERC2612ExpiredSignature", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC2612InvalidSigner", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "timepoint", "type": "uint256" }, { "internalType": "uint48", "name": "clock", "type": "uint48" } ], "name": "ERC5805FutureLookup", "type": "error" }, { "inputs": [], "name": "ERC6372InconsistentClock", "type": "error" }, { "inputs": [], "name": "Freezable__AlreadyFrozen", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "requiredResponses", "type": "uint256" }, { "internalType": "uint256", "name": "optimisticSeconds", "type": "uint256" } ], "name": "InterchainApp__AppConfigInvalid", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "minRequired", "type": "uint256" } ], "name": "InterchainApp__BalanceBelowMin", "type": "error" }, { "inputs": [ { "internalType": "uint64", "name": "chainId", "type": "uint64" } ], "name": "InterchainApp__ChainIdNotRemote", "type": "error" }, { "inputs": [], "name": "InterchainApp__GovernorActionFrozen", "type": "error" }, { "inputs": [], "name": "InterchainApp__GuardConfigInvalid", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "client", "type": "address" } ], "name": "InterchainApp__InterchainClientAlreadyAdded", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "client", "type": "address" } ], "name": "InterchainApp__InterchainClientAlreadyLatest", "type": "error" }, { "inputs": [], "name": "InterchainApp__InterchainClientZeroAddress", "type": "error" }, { "inputs": [], "name": "InterchainApp__LinkedAppFrozen", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "linkedApp", "type": "bytes32" } ], "name": "InterchainApp__LinkedAppNotEVM", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "module", "type": "address" } ], "name": "InterchainApp__ModuleAlreadyAdded", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "module", "type": "address" } ], "name": "InterchainApp__ModuleNotAdded", "type": "error" }, { "inputs": [], "name": "InterchainApp__ModuleZeroAddress", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "InterchainApp__NotInterchainClient", "type": "error" }, { "inputs": [ { "internalType": "uint64", "name": "chainId", "type": "uint64" } ], "name": "InterchainApp__ReceiverZeroAddress", "type": "error" }, { "inputs": [], "name": "InterchainApp__RemoteAppZeroAddress", "type": "error" }, { "inputs": [], "name": "InterchainApp__RequestedGasLimitBelowMin", "type": "error" }, { "inputs": [ { "internalType": "uint64", "name": "srcChainId", "type": "uint64" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" } ], "name": "InterchainApp__SrcSenderNotAllowed", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [ { "internalType": "uint8", "name": "bits", "type": "uint8" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "SafeCastOverflowedUintDowncast", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "type": "error" }, { "inputs": [ { "internalType": "uint16", "name": "version", "type": "uint16" } ], "name": "TokenMessageLib__UnsupportedVersion", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "versionedPayload", "type": "bytes" } ], "name": "VersionedPayload__PayloadTooShort", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "expiry", "type": "uint256" } ], "name": "VotesExpiredSignature", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isAllowed", "type": "bool" } ], "name": "AllowListToggled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "requiredResponses", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "optimisticSeconds", "type": "uint256" } ], "name": "AppConfigV1Set", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "chainId", "type": "uint64" }, { "indexed": false, "internalType": "bytes32", "name": "remoteApp", "type": "bytes32" } ], "name": "AppLinked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "fromDelegate", "type": "address" }, { "indexed": true, "internalType": "address", "name": "toDelegate", "type": "address" } ], "name": "DelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "previousVotes", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newVotes", "type": "uint256" } ], "name": "DelegateVotesChanged", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "executionService", "type": "address" } ], "name": "ExecutionServiceSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "chainId", "type": "uint64" }, { "indexed": false, "internalType": "uint256", "name": "gasLimit", "type": "uint256" } ], "name": "GasLimitSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "action", "type": "uint256" } ], "name": "GovernorActionFrozen", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "guardFlag", "type": "uint8" }, { "indexed": false, "internalType": "address", "name": "guard", "type": "address" }, { "indexed": false, "internalType": "uint48", "name": "optimisticSeconds", "type": "uint48" } ], "name": "GuardConfigSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "client", "type": "address" } ], "name": "InterchainClientAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "client", "type": "address" } ], "name": "InterchainClientRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "client", "type": "address" } ], "name": "LatestClientSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "chainId", "type": "uint64" } ], "name": "LinkedAppFrozen", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "requiredResponses", "type": "uint8" } ], "name": "RequiredResponsesSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint64", "name": "srcChainId", "type": "uint64" }, { "indexed": true, "internalType": "uint64", "name": "dbNonce", "type": "uint64" }, { "indexed": true, "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TokenReceived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint64", "name": "dstChainId", "type": "uint64" }, { "indexed": true, "internalType": "uint64", "name": "dbNonce", "type": "uint64" }, { "indexed": true, "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TokenSent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [], "name": "TransfersEnabled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "module", "type": "address" } ], "name": "TrustedModuleAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "module", "type": "address" } ], "name": "TrustedModuleRemoved", "type": "event" }, { "inputs": [], "name": "CLOCK_MODE", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "GOVERNANCE_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "IC_GOVERNOR_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "client", "type": "address" }, { "internalType": "bool", "name": "updateLatest", "type": "bool" } ], "name": "addInterchainClient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "module", "type": "address" } ], "name": "addTrustedModule", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "srcChainId", "type": "uint64" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" }, { "internalType": "uint64", "name": "dbNonce", "type": "uint64" }, { "internalType": "bytes", "name": "message", "type": "bytes" } ], "name": "appReceive", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnAllocation", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "chainId", "type": "uint64" } ], "name": "chainGasLimit", "outputs": [ { "internalType": "uint256", "name": "gasLimit", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint32", "name": "pos", "type": "uint32" } ], "name": "checkpoints", "outputs": [ { "components": [ { "internalType": "uint48", "name": "_key", "type": "uint48" }, { "internalType": "uint208", "name": "_value", "type": "uint208" } ], "internalType": "struct Checkpoints.Checkpoint208", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "clock", "outputs": [ { "internalType": "uint48", "name": "", "type": "uint48" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "delegateBySig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "delegates", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTransfers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "enum IInterchainAppV1.GovernorAction", "name": "action", "type": "uint8" } ], "name": "freezeGovernorAction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "chainId", "type": "uint64" } ], "name": "freezeLinkedApp", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getAppConfigV1", "outputs": [ { "components": [ { "internalType": "uint8", "name": "requiredResponses", "type": "uint8" }, { "internalType": "uint48", "name": "optimisticSeconds", "type": "uint48" }, { "internalType": "uint8", "name": "guardFlag", "type": "uint8" }, { "internalType": "address", "name": "guard", "type": "address" } ], "internalType": "struct AppConfigV1", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getExecutionService", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getInterchainClients", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLatestInterchainClient", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "chainId", "type": "uint64" } ], "name": "getLinkedApp", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "chainId", "type": "uint64" } ], "name": "getLinkedAppEVM", "outputs": [ { "internalType": "address", "name": "linkedAppEVM", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "chainId", "type": "uint64" } ], "name": "getMinGasLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getModules", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getReceivingConfig", "outputs": [ { "internalType": "bytes", "name": "appConfig", "type": "bytes" }, { "internalType": "address[]", "name": "modules", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "dstChainId", "type": "uint64" } ], "name": "getRemoteSendFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "dstChainId", "type": "uint64" }, { "internalType": "uint256", "name": "hookGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "hookDataLength", "type": "uint256" } ], "name": "getRemoteSendWithHookFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getRoleMember", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleMemberCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isAllowListed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "enum IInterchainAppV1.GovernorAction", "name": "action", "type": "uint8" } ], "name": "isGovernorActionFrozen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "chainId", "type": "uint64" } ], "name": "isLinkedAppFrozen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "chainId", "type": "uint64" }, { "internalType": "bytes32", "name": "remoteApp", "type": "bytes32" } ], "name": "linkRemoteApp", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "chainId", "type": "uint64" }, { "internalType": "address", "name": "remoteApp", "type": "address" } ], "name": "linkRemoteAppEVM", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "numCheckpoints", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "dstChainId", "type": "uint64" }, { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "remoteSend", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "dstChainId", "type": "uint64" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "remoteSendEVM", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "dstChainId", "type": "uint64" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "hookGasLimit", "type": "uint256" }, { "internalType": "bytes", "name": "hookData", "type": "bytes" } ], "name": "remoteSendEVMWithHook", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "dstChainId", "type": "uint64" }, { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "hookGasLimit", "type": "uint256" }, { "internalType": "bytes", "name": "hookData", "type": "bytes" } ], "name": "remoteSendWithHook", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "client", "type": "address" } ], "name": "removeInterchainClient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "module", "type": "address" } ], "name": "removeTrustedModule", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "callerConfirmation", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "executionService", "type": "address" } ], "name": "setExecutionService", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "chainId", "type": "uint64" }, { "internalType": "uint256", "name": "gasLimit", "type": "uint256" } ], "name": "setGasLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "guardFlag", "type": "uint8" }, { "internalType": "address", "name": "guard", "type": "address" }, { "internalType": "uint48", "name": "optimisticSeconds", "type": "uint48" } ], "name": "setGuardConfig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "client", "type": "address" } ], "name": "setLatestInterchainClient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "requiredResponses", "type": "uint8" } ], "name": "setRequiredResponses", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "isAllowed", "type": "bool" } ], "name": "toggleAllowList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "token", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
6101a06040523480156200001257600080fd5b506040516200622338038062006223833981016040819052620000359162000391565b60405180604001604052806006815260200165086dee4e8caf60d31b81525080604051806040016040528060018152602001603160f81b81525060405180604001604052806006815260200165086dee4e8caf60d31b81525060405180604001604052806002815260200161086b60f31b8152506012866000818086868160039081620000c3919062000463565b506004620000d2828262000463565b50620000e491506000905082620001be565b5050506001600160a01b03166080525060ff1660a052506200010a9050826012620001fb565b610160526200011b816013620001fb565b61018052815160208084019190912061012052815190820120610140524660e052620001ab6101205161014051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60c0525050306101005250620005a59050565b600080620001cd848462000233565b90508015620001f2576000848152600660205260409020620001f09084620002e5565b505b90505b92915050565b60006020835110156200021b576200021383620002fc565b9050620001f5565b8162000228848262000463565b5060ff9050620001f5565b60008281526005602090815260408083206001600160a01b038516845290915281205460ff16620002dc5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055620002933390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001620001f5565b506000620001f5565b6000620001f2836001600160a01b03841662000348565b600080829050601f8151111562000333578260405163305a27a960e01b81526004016200032a91906200052f565b60405180910390fd5b8051620003408262000580565b179392505050565b6000818152600183016020526040812054620002dc57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620001f5565b600060208284031215620003a457600080fd5b81516001600160a01b0381168114620001f257600080fd5b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620003e757607f821691505b6020821081036200040857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200045e576000816000526020600020601f850160051c81016020861015620004395750805b601f850160051c820191505b818110156200045a5782815560010162000445565b5050505b505050565b81516001600160401b038111156200047f576200047f620003bc565b6200049781620004908454620003d2565b846200040e565b602080601f831160018114620004cf5760008415620004b65750858301515b600019600386901b1c1916600185901b1785556200045a565b600085815260208120601f198616915b828110156200050057888601518255948401946001909101908401620004df565b50858210156200051f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808352835180602085015260005b818110156200055f5785810183015185820160400152820162000541565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620004085760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161018051615c106200061360003960006132ef015260006132c201526000612dc301526000612d9b01526000612cf601526000612d2001526000612d4a01526000610757015260005050615c106000f3fe6080604052600436106104ec5760003560e01c80637717a64711610294578063b70c40b31161015e578063dc250dbb116100d6578063f1127ed81161008a578063f36c8f5c1161006f578063f36c8f5c14610ffa578063f6b266fd1461102e578063fc0c546a1461104e57600080fd5b8063f1127ed814610f7b578063f22ba23d14610fda57600080fd5b8063dd674922116100bb578063dd67492214610f1b578063eb53b44e14610f3b578063f0e15b8014610f5b57600080fd5b8063dc250dbb14610eb5578063dd62ed3e14610ed557600080fd5b8063ca15c8731161012d578063d505accf11610112578063d505accf14610e41578063d539139314610e61578063d547741f14610e9557600080fd5b8063ca15c87314610e01578063cb5038fb14610e2157600080fd5b8063b70c40b314610d85578063bc0d912c14610da5578063c313c80714610dc3578063c3cda52014610de157600080fd5b806391d148541161020c578063a217fddf116101c0578063a9059cbb116101a5578063a9059cbb14610d3b578063af35c6c714610d5b578063b2494df314610d7057600080fd5b8063a217fddf14610d04578063a75c83d314610d1957600080fd5b806395d89b41116101f157806395d89b4114610cad5780639ab24eb014610cc2578063a1aa5d6814610ce257600080fd5b806391d1485414610c3b57806391ddadf414610c8157600080fd5b8063856a7787116102635780638e539e8c116102485780638e539e8c14610bdb5780639010d07c14610bfb57806390a92c1614610c1b57600080fd5b8063856a778714610ba85780638ce3c1a414610bbb57600080fd5b80637717a64714610a6557806379cc679014610b405780637ecebe0014610b6057806384b0196e14610b8057600080fd5b806335f5ae50116103d55780634bf5d7e91161034d5780635c19a95c116103015780636fcfff45116102e65780636fcfff45146109ca57806370a08231146109ff57806370dd8d2e14610a3557600080fd5b80635c19a95c1461099757806362f457b1146109b757600080fd5b8063587cde1e11610332578063587cde1e1461091357806358cc00d8146109645780635b9f88011461097757600080fd5b80634bf5d7e9146108965780634e6427e7146108dc57600080fd5b80633d8491da116103a457806342966c681161038957806342966c68146108295780634796bd5d14610849578063496774b11461087657600080fd5b80633d8491da146107f657806340c10f191461080957600080fd5b806335f5ae50146107815780633644e515146107a157806336568abe146107b65780633a46b1a8146107d657600080fd5b80631969665b11610468578063248a9ca311610437578063287bc0571161041c578063287bc057146107005780632f2ff15d14610723578063313ce5671461074357600080fd5b8063248a9ca3146106b057806325276053146106e057600080fd5b80631969665b1461061c5780631b97bebf1461063c5780631c489e4f1461065c57806323b872dd1461069057600080fd5b806309874d49116104bf578063151778ea116104a4578063151778ea146105bd57806318160ddd146105dd5780631856ddfe146105fc57600080fd5b806309874d491461057d5780630fb591561461059d57600080fd5b806301ffc9a7146104f15780630421a1f01461052657806306fdde031461053b578063095ea7b31461055d575b600080fd5b3480156104fd57600080fd5b5061051161050c366004614f8d565b611061565b60405190151581526020015b60405180910390f35b610539610534366004614fe5565b6110bd565b005b34801561054757600080fd5b506105506111cb565b60405161051d91906150f2565b34801561056957600080fd5b5061051161057836600461511c565b61125d565b34801561058957600080fd5b50610539610598366004615146565b611275565b3480156105a957600080fd5b506105396105b8366004615182565b61131d565b3480156105c957600080fd5b506105396105d83660046151ae565b61139e565b3480156105e957600080fd5b506002545b60405190815260200161051d565b34801561060857600080fd5b50610539610617366004615200565b6115ca565b34801561062857600080fd5b50610539610637366004615235565b611696565b34801561064857600080fd5b50610539610657366004615256565b61172d565b34801561066857600080fd5b506105ee7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c8481565b34801561069c57600080fd5b506105116106ab366004615271565b611802565b3480156106bc57600080fd5b506105ee6106cb3660046152ad565b60009081526005602052604090206001015490565b3480156106ec57600080fd5b506105116106fb366004615235565b611826565b34801561070c57600080fd5b5061071561183d565b60405161051d92919061530b565b34801561072f57600080fd5b5061053961073e366004615330565b611858565b34801561074f57600080fd5b5060405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161051d565b34801561078d57600080fd5b5061053961079c366004615353565b611888565b3480156107ad57600080fd5b506105ee611995565b3480156107c257600080fd5b506105396107d1366004615330565b61199f565b3480156107e257600080fd5b506105ee6107f136600461511c565b6119eb565b610539610804366004615370565b611a98565b34801561081557600080fd5b5061053961082436600461511c565b611aa3565b34801561083557600080fd5b506105396108443660046152ad565b611ad7565b34801561085557600080fd5b506105ee610864366004615353565b60116020526000908152604090205481565b34801561088257600080fd5b50610539610891366004615182565b611ae4565b3480156108a257600080fd5b5060408051808201909152600e81527f6d6f64653d74696d657374616d700000000000000000000000000000000000006020820152610550565b3480156108e857600080fd5b506105ee6108f7366004615353565b67ffffffffffffffff1660009081526008602052604090205490565b34801561091f57600080fd5b5061094c61092e366004615182565b6001600160a01b039081166000908152601560205260409020541690565b6040516001600160a01b03909116815260200161051d565b61053961097236600461547f565b611bb6565b34801561098357600080fd5b506105ee610992366004615370565b611bc3565b3480156109a357600080fd5b506105396109b2366004615182565b611c08565b6105396109c53660046154ec565b611c17565b3480156109d657600080fd5b506109ea6109e5366004615182565b611c2d565b60405163ffffffff909116815260200161051d565b348015610a0b57600080fd5b506105ee610a1a366004615182565b6001600160a01b031660009081526020819052604090205490565b348015610a4157600080fd5b50610511610a50366004615182565b60196020526000908152604090205460ff1681565b348015610a7157600080fd5b50610af1604080516080810182526000808252602082018190529181018290526060810191909152506040805160808101825260075460ff8082168352610100820465ffffffffffff16602084015267010000000000000082041692820192909252680100000000000000009091046001600160a01b0316606082015290565b60405161051d9190600060808201905060ff835116825265ffffffffffff602084015116602083015260ff60408401511660408301526001600160a01b03606084015116606083015292915050565b348015610b4c57600080fd5b50610539610b5b36600461511c565b611c38565b348015610b6c57600080fd5b506105ee610b7b366004615182565b611c4d565b348015610b8c57600080fd5b50610b95611c58565b60405161051d9796959493929190615547565b610539610bb63660046155fc565b611cba565b348015610bc757600080fd5b50610511610bd6366004615353565b611cce565b348015610be757600080fd5b506105ee610bf63660046152ad565b611ce5565b348015610c0757600080fd5b5061094c610c1636600461561c565b611d7b565b348015610c2757600080fd5b5061094c610c36366004615353565b611d9a565b348015610c4757600080fd5b50610511610c56366004615330565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b348015610c8d57600080fd5b50610c96611e00565b60405165ffffffffffff909116815260200161051d565b348015610cb957600080fd5b50610550611e0a565b348015610cce57600080fd5b506105ee610cdd366004615182565b611e19565b348015610cee57600080fd5b50610cf7611e5c565b60405161051d919061563e565b348015610d1057600080fd5b506105ee600081565b348015610d2557600080fd5b506105ee610d34366004615353565b5061c35090565b348015610d4757600080fd5b50610511610d5636600461511c565b611e68565b348015610d6757600080fd5b50610539611e76565b348015610d7c57600080fd5b50610cf7611f34565b348015610d9157600080fd5b50610539610da0366004615182565b611f40565b348015610db157600080fd5b50600c546001600160a01b031661094c565b348015610dcf57600080fd5b50600f546001600160a01b031661094c565b348015610ded57600080fd5b50610539610dfc366004615651565b612040565b348015610e0d57600080fd5b506105ee610e1c3660046152ad565b612116565b348015610e2d57600080fd5b50610539610e3c366004615182565b61212d565b348015610e4d57600080fd5b50610539610e5c3660046156a9565b612263565b348015610e6d57600080fd5b506105ee7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b348015610ea157600080fd5b50610539610eb0366004615330565b6123cf565b348015610ec157600080fd5b50610539610ed0366004615713565b6123f4565b348015610ee157600080fd5b506105ee610ef0366004615731565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610f2757600080fd5b50610539610f3636600461511c565b612470565b348015610f4757600080fd5b50610539610f56366004615182565b6124e1565b348015610f6757600080fd5b506105ee610f76366004615353565b612556565b348015610f8757600080fd5b50610f9b610f9636600461574d565b612584565b60408051825165ffffffffffff16815260209283015179ffffffffffffffffffffffffffffffffffffffffffffffffffff16928101929092520161051d565b348015610fe657600080fd5b50610539610ff5366004615146565b6125a2565b34801561100657600080fd5b506105ee7f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb181565b34801561103a57600080fd5b50610539611049366004615713565b612618565b34801561105a57600080fd5b503061094c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f0000000000000000000000000000000000000000000000000000000014806110b757506110b7826126db565b92915050565b6110c633612772565b611103576040517f0578f6950000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b468567ffffffffffffffff1603611152576040517f584c5b9200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff861660048201526024016110fa565b67ffffffffffffffff851660009081526008602052604090205484146111b7576040517f77df34df00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff86166004820152602481018590526044016110fa565b6111c4858585858561277f565b5050505050565b6060600380546111da90615782565b80601f016020809104026020016040519081016040528092919081815260200182805461120690615782565b80156112535780601f1061122857610100808354040283529160200191611253565b820191906000526020600020905b81548152906001019060200180831161123657829003601f168201915b5050505050905090565b60003361126b8185856128b2565b5060019392505050565b7f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb161129f816128bf565b6001600160a01b03831660008181526019602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527fe8a448531b3d2ea2bbe55adc607e2f0772c73176e3a61314b6db38df296aef33910160405180910390a2505050565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c84611347816128bf565b6001611359815b60109060ff166128c9565b15611390576040517fefc8e86600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611399836128ec565b505050565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c846113c8816128bf565b60066113d38161134e565b1561140a576040517fefc8e86600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ff8616158061141f575060ff86166001145b90506001600160a01b0385161581151514611466576040517fd120e60900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff861615801561147e575065ffffffffffff841615155b156114b5576040517fd120e60900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182526007805460ff80821680855265ffffffffffff8a166020808701829052928d168688018190526001600160a01b038d1660608089018290527fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009096169093176101008302177fffffffff000000000000000000000000000000000000000000ffffffffffffff1667010000000000000082027fffffffff0000000000000000000000000000000000000000ffffffffffffffff1617680100000000000000008402179095558651948552918401529382019390935290917f47b82ae8864c6de48fdd58ee55ed66e5c4fc4df4b49b28a2bca7eb59d2dcb0ef910160405180910390a150505050505050565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c846115f4816128bf565b60076115ff8161134e565b15611636576040517fefc8e86600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361164c600967ffffffffffffffff83166128c9565b15611683576040517f5214c64c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111c4856001600160a01b0386166129ab565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c846116c0816128bf565b6116e08260088111156116d5576116d56157cf565b60109060ff16612a87565b7f65840c8b382352386060f3362f518d70a3790366f3ff9af03f887e6926bc1c6f826008811115611713576117136157cf565b60405160ff90911681526020015b60405180910390a15050565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c84611757816128bf565b60056117628161134e565b15611799576040517fefc8e86600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff85169081179091556040519081527f5c20111b4bcf5d08e18bb70101145657707fddb47f62f4229f64847e78d4faf4906020015b60405180910390a1505050565b600033611810858285612aeb565b61181b858585612b9a565b506001949350505050565b60006110b782600881111561134e5761134e6157cf565b606080611848612c2b565b9150611852611f34565b90509091565b600082815260056020526040902060010154611873816128bf565b61187d8383612cb4565b50505050565b905090565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c846118b2816128bf565b60076118bd8161134e565b156118f4576040517fefc8e86600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff83166000908152600860205260408120549003611946576040517fa72ac69d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61195b600967ffffffffffffffff8516612a87565b60405167ffffffffffffffff841681527fb8cbced7b060aa2cc7439d8e2dae953b6e104f2a4c72a77001db8a8d0fe57189906020016117f5565b6000611883612ce9565b6001600160a01b03811633146119e1576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113998282612e14565b6000806119f6611e00565b90508065ffffffffffff168310611a4a576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810184905265ffffffffffff821660248201526044016110fa565b611a74611a5684612e41565b6001600160a01b038616600090815260166020526040902090612e91565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16949350505050565b611399838383612f5d565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6611acd816128bf565b6113998383612fff565b611ae1338261304e565b50565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c84611b0e816128bf565b6008611b198161134e565b15611b50576040517fefc8e86600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0385169081179091556040519081527f56f2046f579030345e1c12cfd7e2d297e4059c24d30ac1a5cb27a8ee1d53526e906020016117f5565b6111c4858585858561309d565b6000611c0084604051806040016040528086611bde89613148565b611be8919061582d565b81526020016000815250611bfb85613178565b613191565b949350505050565b33611c1381836131f1565b5050565b6111c4856001600160a01b03861685858561309d565b60006110b78261327b565b611c43823383612aeb565b611c13828261304e565b60006110b78261329d565b600060608060008060006060611c6c6132bb565b611c746132e8565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b611399836001600160a01b03841683612f5d565b60006110b7600967ffffffffffffffff84166128c9565b600080611cf0611e00565b90508065ffffffffffff168310611d44576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810184905265ffffffffffff821660248201526044016110fa565b611d58611d5084612e41565b601790612e91565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169392505050565b6000828152600660205260408120611d939083613315565b9392505050565b67ffffffffffffffff8116600090815260086020526040902054806001600160a01b0381168114611dfa576040517f82a4102b000000000000000000000000000000000000000000000000000000008152600481018290526024016110fa565b50919050565b6000611883613321565b6060600480546111da90615782565b6001600160a01b0381166000908152601660205260408120611e3a9061332c565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6060611883600a61337b565b60003361126b818585612b9a565b7f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1611ea0816128bf565b60185460ff1615611edd576040517f520282db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517feadb24812ab3c9a55c774958184293ebdb6c7f6a2dbab11f397d80c86feb65d390600090a150565b6060611883600d61337b565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c84611f6a816128bf565b6004611f758161134e565b15611fac576040517fefc8e86600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611fb9600d85613388565b905080611ffd576040517fb12a48e60000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016110fa565b6040516001600160a01b03851681527f91071153b5721fdadecd5ab74cedca9c0faa62c94f02ef659df2241602698385906020015b60405180910390a150505050565b8342111561207d576040517f4683af0e000000000000000000000000000000000000000000000000000000008152600481018590526024016110fa565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590526000906120f7906120ef9060a0016040516020818303038152906040528051906020012061339d565b8585856133e5565b90506121038187613413565b61210d81886131f1565b50505050505050565b60008181526006602052604081206110b79061347f565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c84612157816128bf565b60036121628161134e565b15612199576040517fefc8e86600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0383166121d9576040517fa8ce0c2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006121e6600d85613489565b90508061222a576040517f856e38ac0000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016110fa565b6040516001600160a01b03851681527f0f92a0308a1fb283891a96a4cf077b8499cca0159d8e6ccc8d12096a5011750990602001612032565b834211156122a0576040517f62791302000000000000000000000000000000000000000000000000000000008152600481018590526024016110fa565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886122ed8c6001600160a01b0316600090815260146020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006123488261339d565b90506000612358828787876133e5565b9050896001600160a01b0316816001600160a01b0316146123b8576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b1660248201526044016110fa565b6123c38a8a8a6128b2565b50505050505050505050565b6000828152600560205260409020600101546123ea816128bf565b61187d8383612e14565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c8461241e816128bf565b67ffffffffffffffff8316600081815260116020908152604091829020859055815192835282018490527f92cf3fbb447f2729b357d4e0ab3781c426b83f3a2e5329a4b394ea5718ae0bc491016117f5565b7f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb161249a816128bf565b60185460ff16156124d7576040517f520282db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611399838361304e565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c8461250b816128bf565b60026125168161134e565b1561254d576040517fefc8e86600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113998361349e565b60006110b782604051806040016040528061257086613148565b81526020016000815250611bfb6000613178565b6040805180820190915260008082526020820152611d9383836135d1565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c846125cc816128bf565b60006125d78161134e565b1561260e576040517fefc8e86600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61187d8484613607565b7f67458b9c8206fd7556afadce1bc8e28c7a8942ecb92d9d9fad69bb6c8cf75c84612642816128bf565b600761264d8161134e565b15612684576040517fefc8e86600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361269a600967ffffffffffffffff83166128c9565b156126d1576040517f5214c64c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111c485856129ab565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806110b757507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146110b7565b60006110b7600a836136e8565b6000806000366000612791878761370a565b9450945094509450945060006127a48590565b905060006127b2828661379d565b9050858a67ffffffffffffffff168d67ffffffffffffffff167fe2549255b47b9e8d0ad745d7fafab58e7f762730a3a128ebdf9e5df67950577e846040516127fc91815260200190565b60405180910390a461ffff8716600114801561282157506001600160a01b0382163b15155b156128a4576040517f5ddce16b0000000000000000000000000000000000000000000000000000000081526001600160a01b03831690635ddce16b90612871903090859089908990600401615889565b600060405180830381600087803b15801561288b57600080fd5b505af115801561289f573d6000803e3d6000fd5b505050505b505050505050505050505050565b61139983838360016137e6565b611ae181336138ed565b600881901c600090815260208390526040812054600160ff84161b161515611d93565b6128f581612772565b612936576040517f0578f6950000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024016110fa565b61294181600061395b565b6040516001600160a01b03821681527fc0d64f9e088893f1e4aea6d42c0e815f158ca62962029260f3c2b079d97feccc9060200160405180910390a1600c546001600160a01b03166001600160a01b0316816001600160a01b031603611ae157611ae1600061349e565b468267ffffffffffffffff16036129fa576040517f584c5b9200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff831660048201526024016110fa565b6000819003612a35576040517fa72ac69d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff8216600081815260086020908152604091829020849055815192835282018390527f8991328923b5fe27cc7262398cb29b1b735f93970fd36a5a62a8a47545c9c5f79101611721565b612a9182826128c9565b15612ac8576040517fcab8db6900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881901c60009081526020839052604090208054600160ff84161b1790555050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461187d5781811015612b8b576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604481018390526064016110fa565b61187d848484840360006137e6565b6001600160a01b038316612bdd576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016110fa565b6001600160a01b038216612c20576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016110fa565b611399838383613977565b6060611883612caf604080516080810182526000808252602082018190529181018290526060810191909152506040805160808101825260075460ff8082168352610100820465ffffffffffff16602084015267010000000000000082041692820192909252680100000000000000009091046001600160a01b0316606082015290565b613a32565b600080612cc18484613aa0565b90508015611d93576000848152600660205260409020612ce19084613489565b509392505050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612d4257507f000000000000000000000000000000000000000000000000000000000000000046145b15612d6c57507f000000000000000000000000000000000000000000000000000000000000000090565b611883604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600080612e218484613b6c565b90508015611d93576000848152600660205260409020612ce19084613388565b600065ffffffffffff821115612e8d576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260306004820152602481018390526044016110fa565b5090565b815460009081816005811115612ef0576000612eac84613c11565b612eb690856158b2565b60008881526020902090915081015465ffffffffffff9081169087161015612ee057809150612eee565b612eeb81600161582d565b92505b505b6000612efe87878585613cf9565b90508015612f4f57612f2387612f156001846158b2565b600091825260209091200190565b546601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16612f52565b60005b979650505050505050565b600080612f6983613d53565b915091506000612fa186836040518060400160405280612f888b613148565b81526020016000815250612f9c8988613da6565b613dc9565b905084816020015167ffffffffffffffff168767ffffffffffffffff167f52f032ac1cef06d65ea5fe31f5156eaebe743b6cc7ac120bb94ba6755f83eda186604051612fef91815260200190565b60405180910390a4505050505050565b6001600160a01b038216613042576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016110fa565b611c1360008383613977565b6001600160a01b038216613091576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016110fa565b611c1382600083613977565b6000806130a985613d53565b9150915060006130e888836040518060400160405280896130c98e613148565b6130d3919061582d565b81526020016000815250612f9c8b888a613e5a565b905086816020015167ffffffffffffffff168967ffffffffffffffff167f52f032ac1cef06d65ea5fe31f5156eaebe743b6cc7ac120bb94ba6755f83eda18660405161313691815260200190565b60405180910390a45050505050505050565b67ffffffffffffffff81166000908152601160205260408120549081900361317357620249f06110b7565b919050565b6000816131876040600261582d565b6110b7919061582d565b600061c350835110156131d0576040517f55dd4ee800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006131db84613e76565b90506131e8858285613ea0565b95945050505050565b6001600160a01b0382811660008181526015602052604080822080548686167fffffffffffffffffffffffff0000000000000000000000000000000000000000821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4611399818361327686613f84565b613fa2565b6001600160a01b0381166000908152601660205260408120546110b79061415a565b6001600160a01b0381166000908152601460205260408120546110b7565b60606118837f000000000000000000000000000000000000000000000000000000000000000060126141a4565b60606118837f000000000000000000000000000000000000000000000000000000000000000060136141a4565b6000611d93838361424f565b600061188342612e41565b805460009080156133725761334683612f156001846158b2565b546601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611d93565b60009392505050565b60606000611d9383614279565b6000611d93836001600160a01b0384166142d5565b60006110b76133aa612ce9565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000806133f7888888886143cf565b92509250925061340782826144bc565b50909695505050505050565b6001600160a01b0382166000908152601460205260409020805460018101909155818114611399576040517f752d88c00000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602481018290526044016110fa565b60006110b7825490565b6000611d93836001600160a01b0384166145c0565b6134a781612772565b1580156134bc57506001600160a01b03811615155b156134fe576040517f0578f6950000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024016110fa565b600c546001600160a01b03166001600160a01b0316816001600160a01b03160361355f576040517f8a855b7e0000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024016110fa565b600c80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383161790556040516001600160a01b03821681527fd6c4ff3ce819d1fe47a30bb776376d847d8085a73ebf92dbf4058c36fdd5c1699060200160405180910390a150565b60408051808201909152600080825260208201526001600160a01b0383166000908152601660205260409020611d939083614607565b6001600160a01b038216613647576040517f6be4ac5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61365082612772565b15613692576040517fd497fddf0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024016110fa565b61369d82600161395b565b6040516001600160a01b03831681527f9963c5d146abd18838e0638ea82ec86b9a726e15fd852cab94aeebcd8bf438d19060200160405180910390a18015611c1357611c138261349e565b6001600160a01b03811660009081526001830160205260408120541515611d93565b600080600036600061371c878761468d565b9450600161ffff86161115613763576040517fa248330c00000000000000000000000000000000000000000000000000000000815261ffff861660048201526024016110fa565b36600061377089896146d7565b8135975060208201359650909250905061378d81604081856158c5565b9350935050509295509295909350565b60185460009060ff166137dc576040517fa091e4ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d938383614731565b6001600160a01b038416613829576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016110fa565b6001600160a01b03831661386c576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016110fa565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561187d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516138df91815260200190565b60405180910390a350505050565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff16611c13576040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602481018390526044016110fa565b801561396c57611399600a83613489565b611399600a83613388565b60185460ff1615801561399257506001600160a01b03821615155b80156139a657506001600160a01b03831615155b80156139cb57506001600160a01b03821660009081526019602052604090205460ff16155b80156139f057506001600160a01b03831660009081526019602052604090205460ff16155b15613a27576040517fa091e4ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61139983838361473d565b60606110b7600183604051602001613a8c9190600060808201905060ff835116825265ffffffffffff602084015116602083015260ff60408401511660408301526001600160a01b03606084015116606083015292915050565b6040516020818303038152906040526147d0565b60008281526005602090815260408083206001600160a01b038516845290915281205460ff16613b645760008381526005602090815260408083206001600160a01b0386168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055613b1c3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016110b7565b5060006110b7565b60008281526005602090815260408083206001600160a01b038516845290915281205460ff1615613b645760008381526005602090815260408083206001600160a01b038616808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016110b7565b600081600003613c2357506000919050565b60006001613c30846147fc565b901c6001901b90506001818481613c4957613c496158ef565b048201901c90506001818481613c6157613c616158ef565b048201901c90506001818481613c7957613c796158ef565b048201901c90506001818481613c9157613c916158ef565b048201901c90506001818481613ca957613ca96158ef565b048201901c90506001818481613cc157613cc16158ef565b048201901c90506001818481613cd957613cd96158ef565b048201901c9050611d9381828581613cf357613cf36158ef565b04614890565b60005b81831015612ce1576000613d1084846148a6565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613d3f57809250613d4d565b613d4a81600161582d565b93505b50613cfc565b601854600090819060ff16613d94576040517fa091e4ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d9d836148c1565b91509150915091565b6060611d9360008484604051602001613a8c929190918252602082015260400190565b604080518082019091526000808252602082015261c35083511015613e1a576040517f55dd4ee800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613e2584613e76565b67ffffffffffffffff8716600090815260086020526040902054909150613e509087908784876148d6565b9695505050505050565b6060611c006001858585604051602001613a8c9392919061591e565b60606110b7600183604051602001613a8c9190815181526020918201519181019190915260400190565b600080613eb5600c546001600160a01b031690565b90506001600160a01b038116613ef7576040517f6be4ac5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806001600160a01b031663cbb3c63186613f19600f546001600160a01b031690565b613f21611f34565b88886040518663ffffffff1660e01b8152600401613f4395949392919061594b565b602060405180830381865afa158015613f60573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e891906159a2565b6001600160a01b0381166000908152602081905260408120546110b7565b816001600160a01b0316836001600160a01b031614158015613fc45750600081115b15611399576001600160a01b03831615614092576001600160a01b0383166000908152601660205260408120819061400790614aaa61400286614ab6565b614b16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051614087929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615611399576001600160a01b038216600090815260166020526040812081906140cb90614b4f61400286614ab6565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161414b929190918252602082015260400190565b60405180910390a25050505050565b600063ffffffff821115612e8d576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260206004820152602481018390526044016110fa565b606060ff83146141be576141b783614b5b565b90506110b7565b8180546141ca90615782565b80601f01602080910402602001604051908101604052809291908181526020018280546141f690615782565b80156142435780601f1061421857610100808354040283529160200191614243565b820191906000526020600020905b81548152906001019060200180831161422657829003601f168201915b505050505090506110b7565b6000826000018281548110614266576142666159bb565b9060005260206000200154905092915050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156142c957602002820191906000526020600020905b8154815260200190600101908083116142b5575b50505050509050919050565b600081815260018301602052604081205480156143be5760006142f96001836158b2565b855490915060009061430d906001906158b2565b905080821461437257600086600001828154811061432d5761432d6159bb565b9060005260206000200154905080876000018481548110614350576143506159bb565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080614383576143836159ea565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506110b7565b60009150506110b7565b5092915050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561440a57506000915060039050826144b2565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561445e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166144a8575060009250600191508290506144b2565b9250600091508190505b9450945094915050565b60008260038111156144d0576144d06157cf565b036144d9575050565b60018260038111156144ed576144ed6157cf565b03614524576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614538576145386157cf565b03614572576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016110fa565b6003826003811115614586576145866157cf565b03611c13576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016110fa565b6000818152600183016020526040812054613b64575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556110b7565b6040805180820190915260008082526020820152826000018263ffffffff1681548110614636576146366159bb565b60009182526020918290206040805180820190915291015465ffffffffffff811682526601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16918101919091529392505050565b600060028210156146ce5782826040517fb0818b620000000000000000000000000000000000000000000000000000000081526004016110fa929190615a19565b50503560f01c90565b36600060028310156147195783836040517fb0818b620000000000000000000000000000000000000000000000000000000081526004016110fa929190615a19565b61472683600281876158c5565b915091509250929050565b6000611dfa8383612fff565b614748838383614b9a565b6001600160a01b0383166147c557600061476160025490565b905079ffffffffffffffffffffffffffffffffffffffffffffffffffff808211156147c2576040517f1cb15d2600000000000000000000000000000000000000000000000000000000815260048101839052602481018290526044016110fa565b50505b611399838383614cdd565b606082826040516020016147e5929190615a2d565b604051602081830303815290604052905092915050565b600080608083901c1561481157608092831c92015b604083901c1561482357604092831c92015b602083901c1561483557602092831c92015b601083901c1561484757601092831c92015b600883901c1561485957600892831c92015b600483901c1561486b57600492831c92015b600283901c1561487d57600292831c92015b600183901c156110b75760010192915050565b600081831061489f5781611d93565b5090919050565b60006148b56002848418615a78565b611d939084841661582d565b6000806148ce338461304e565b509091349150565b604080518082019091526000808252602082015260006148fe600c546001600160a01b031690565b90506001600160a01b038116614940576040517f6be4ac5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b468767ffffffffffffffff160361498f576040517f584c5b9200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff881660048201526024016110fa565b60008690036149d6576040517fcd256fe700000000000000000000000000000000000000000000000000000000815267ffffffffffffffff881660048201526024016110fa565b84471015614a19576040517f42483858000000000000000000000000000000000000000000000000000000008152476004820152602481018690526044016110fa565b806001600160a01b031663547efb84868989614a3d600f546001600160a01b031690565b614a45611f34565b8a8a6040518863ffffffff1660e01b8152600401614a6896959493929190615ab3565b604080518083038185885af1158015614a85573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f529190615b1e565b6000611d938284615b74565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff821115612e8d576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260d06004820152602481018390526044016110fa565b600080614b42614b24611e00565b614b3a614b308861332c565b868863ffffffff16565b879190614d53565b915091505b935093915050565b6000611d938284615ba7565b60606000614b6883614d61565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038316614bc5578060026000828254614bba919061582d565b90915550614c509050565b6001600160a01b03831660009081526020819052604090205481811015614c31576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101829052604481018390526064016110fa565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216614c6c57600280548290039055614c8b565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051614cd091815260200190565b60405180910390a3505050565b6001600160a01b038316614cff57614cfc6017614b4f61400284614ab6565b50505b6001600160a01b038216614d2157614d1e6017614aaa61400284614ab6565b50505b6001600160a01b0383811660009081526015602052604080822054858416835291205461139992918216911683613fa2565b600080614b42858585614da2565b600060ff8216601f8111156110b7576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009081908015614f1c576000614dc087612f156001856158b2565b60408051808201909152905465ffffffffffff808216808452660100000000000090920479ffffffffffffffffffffffffffffffffffffffffffffffffffff1660208401529192509087161015614e43576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805165ffffffffffff808816911603614ea55784614e6688612f156001866158b2565b805479ffffffffffffffffffffffffffffffffffffffffffffffffffff9290921666010000000000000265ffffffffffff909216919091179055614f0c565b6040805180820190915265ffffffffffff808816825279ffffffffffffffffffffffffffffffffffffffffffffffffffff80881660208085019182528b54600181018d5560008d815291909120945191519092166601000000000000029216919091179101555b602001519250839150614b479050565b50506040805180820190915265ffffffffffff808516825279ffffffffffffffffffffffffffffffffffffffffffffffffffff80851660208085019182528854600181018a5560008a8152918220955192519093166601000000000000029190931617920191909155905081614b47565b600060208284031215614f9f57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611d9357600080fd5b67ffffffffffffffff81168114611ae157600080fd5b600080600080600060808688031215614ffd57600080fd5b853561500881614fcf565b945060208601359350604086013561501f81614fcf565b9250606086013567ffffffffffffffff8082111561503c57600080fd5b818801915088601f83011261505057600080fd5b81358181111561505f57600080fd5b89602082850101111561507157600080fd5b9699959850939650602001949392505050565b60005b8381101561509f578181015183820152602001615087565b50506000910152565b600081518084526150c0816020860160208601615084565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611d9360208301846150a8565b80356001600160a01b038116811461317357600080fd5b6000806040838503121561512f57600080fd5b61513883615105565b946020939093013593505050565b6000806040838503121561515957600080fd5b61516283615105565b91506020830135801515811461517757600080fd5b809150509250929050565b60006020828403121561519457600080fd5b611d9382615105565b803560ff8116811461317357600080fd5b6000806000606084860312156151c357600080fd5b6151cc8461519d565b92506151da60208501615105565b9150604084013565ffffffffffff811681146151f557600080fd5b809150509250925092565b6000806040838503121561521357600080fd5b823561521e81614fcf565b915061522c60208401615105565b90509250929050565b60006020828403121561524757600080fd5b813560098110611d9357600080fd5b60006020828403121561526857600080fd5b611d938261519d565b60008060006060848603121561528657600080fd5b61528f84615105565b925061529d60208501615105565b9150604084013590509250925092565b6000602082840312156152bf57600080fd5b5035919050565b60008151808452602080850194506020840160005b838110156153005781516001600160a01b0316875295820195908201906001016152db565b509495945050505050565b60408152600061531e60408301856150a8565b82810360208401526131e881856152c6565b6000806040838503121561534357600080fd5b8235915061522c60208401615105565b60006020828403121561536557600080fd5b8135611d9381614fcf565b60008060006060848603121561538557600080fd5b833561539081614fcf565b95602085013595506040909401359392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126153e557600080fd5b813567ffffffffffffffff80821115615400576154006153a5565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715615446576154466153a5565b8160405283815286602085880101111561545f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a0868803121561549757600080fd5b85356154a281614fcf565b9450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156154d357600080fd5b6154df888289016153d4565b9150509295509295909350565b600080600080600060a0868803121561550457600080fd5b853561550f81614fcf565b945061551d60208701615105565b93506040860135925060608601359150608086013567ffffffffffffffff8111156154d357600080fd5b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0602084015261558460e084018a6150a8565b8381036040850152615596818a6150a8565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156155ea578351835292840192918401916001016155ce565b50909c9b505050505050505050505050565b60008060006060848603121561561157600080fd5b833561528f81614fcf565b6000806040838503121561562f57600080fd5b50508035926020909101359150565b602081526000611d9360208301846152c6565b60008060008060008060c0878903121561566a57600080fd5b61567387615105565b9550602087013594506040870135935061568f6060880161519d565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a0312156156c457600080fd5b6156cd88615105565b96506156db60208901615105565b955060408801359450606088013593506156f76080890161519d565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561572657600080fd5b823561513881614fcf565b6000806040838503121561574457600080fd5b61521e83615105565b6000806040838503121561576057600080fd5b61576983615105565b9150602083013563ffffffff8116811461517757600080fd5b600181811c9082168061579657607f821691505b602082108103611dfa577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156110b7576110b76157fe565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6001600160a01b0385168152836020820152606060408201526000613e50606083018486615840565b818103818111156110b7576110b76157fe565b600080858511156158d557600080fd5b838611156158e257600080fd5b5050820193919092039150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8381528260208201526000825161593c816040850160208701615084565b91909101604001949350505050565b67ffffffffffffffff861681526001600160a01b038516602082015260a06040820152600061597d60a08301866152c6565b828103606084015261598f81866150a8565b9150508260808301529695505050505050565b6000602082840312156159b457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b602081526000611c00602083018486615840565b7fffff0000000000000000000000000000000000000000000000000000000000008360f01b16815260008251615a6a816002850160208701615084565b919091016002019392505050565b600082615aae577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b67ffffffffffffffff871681528560208201526001600160a01b038516604082015260c060608201526000615aeb60c08301866152c6565b8281036080840152615afd81866150a8565b905082810360a0840152615b1181856150a8565b9998505050505050505050565b600060408284031215615b3057600080fd5b6040516040810181811067ffffffffffffffff82111715615b5357615b536153a5565b604052825181526020830151615b6881614fcf565b60208201529392505050565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff8281168282160390808211156143c8576143c86157fe565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff8181168382160190808211156143c8576143c86157fe56fea2646970667358221220e7072de98a79b7f7740d93be3f84553b82d998c246e48ec699e5864320b4d7ef64736f6c634300081800330000000000000000000000006fd8b819bef8a4f81ff22a97690c338d7a819e7f
0x0000000000000000000000006fd8b819bef8a4f81ff22a97690c338d7a819e7f
----Decoded View------------Arg [0] : admin_ (address): 0x6Fd8B819bEf8a4f81FF22A97690c338D7a819E7f
----Encoded View------------Arg [0] : 0x0000000000000000000000006fd8b819bef8a4f81ff22a97690c338d7a819e7f