[ { "inputs": [ { "internalType": "address", "name": "ownerAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "EnforceMintBlocked", "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": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "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": "address", "name": "account", "type": "address" } ], "name": "UnauthorizedAdminAction", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "UnauthorizedUserAction", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "expiry", "type": "uint256" } ], "name": "VotesExpiredSignature", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "blockedAddress", "type": "address" } ], "name": "AddressBlocked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "unblockedAddress", "type": "address" } ], "name": "AddressUnblocked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldAdmin", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "AdminChanged", "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": [], "name": "MintBlocked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "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" }, { "inputs": [], "name": "CLOCK_MODE", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": "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": "address", "name": "addressToBeBlocked", "type": "address" } ], "name": "blockAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "name": "blockListAt", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "blockListLength", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "blockMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "changeAdmin", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintBlocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "numCheckpoints", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addressToBeUnblocked", "type": "address" } ], "name": "unblockAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6101606040523480156200001257600080fd5b5060405162002a2538038062002a258339810160408190526200003591620002b4565b8060405180604001604052806005815260200164524461746160d81b81525080604051806040016040528060018152602001603160f81b81525060405180604001604052806005815260200164524461746160d81b815250604051806040016040528060048152602001631491105560e21b8152508160039081620000bb91906200038d565b506004620000ca82826200038d565b50620000dc91508390506005620001c8565b61012052620000ed816006620001c8565b61014052815160208084019190912060e052815190820120610100524660a0526200017b60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b038116620001b557604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620001c08162000201565b5050620004cf565b6000602083511015620001e857620001e0836200021f565b9050620001fb565b81620001f584826200038d565b5060ff90505b92915050565b600c80546001600160a01b03191690556200021c8162000262565b50565b600080829050601f815111156200024d578260405163305a27a960e01b8152600401620001ac919062000459565b80516200025a82620004aa565b179392505050565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208284031215620002c757600080fd5b81516001600160a01b0381168114620002df57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200031157607f821691505b6020821081036200033257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000388576000816000526020600020601f850160051c81016020861015620003635750805b601f850160051c820191505b8181101562000384578281556001016200036f565b5050505b505050565b81516001600160401b03811115620003a957620003a9620002e6565b620003c181620003ba8454620002fc565b8462000338565b602080601f831160018114620003f95760008415620003e05750858301515b600019600386901b1c1916600185901b17855562000384565b600085815260208120601f198616915b828110156200042a5788860151825594840194600190910190840162000409565b5085821015620004495787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808352835180602085015260005b8181101562000489578581018301518582016040015282016200046b565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620003325760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516124fb6200052a600039600061117b0152600061114e01526000610f0801526000610ee001526000610e3b01526000610e6501526000610e8f01526124fb6000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c8063715018a6116101305780639ab24eb0116100b8578063dd62ed3e1161007c578063dd62ed3e146104df578063e30c397814610518578063f1127ed814610529578063f2fde38b14610568578063f851a4401461057b57600080fd5b80639ab24eb014610480578063a9059cbb14610493578063ad2bb1b3146104a6578063c3cda520146104b9578063d505accf146104cc57600080fd5b80638da5cb5b116100ff5780638da5cb5b1461042b5780638e539e8c1461043c5780638f2839701461044f57806391ddadf41461046257806395d89b411461047857600080fd5b8063715018a6146103ed57806379ba5097146103f55780637ecebe00146103fd57806384b0196e1461041057600080fd5b80633644e515116101b35780634bf5d7e9116101825780634bf5d7e914610333578063587cde1e1461035d5780635c19a95c146103895780636fcfff451461039c57806370a08231146103c457600080fd5b80633644e515146102f15780633a46b1a8146102f957806340c10f191461030c57806342263f811461031f57600080fd5b806319084810116101fa57806319084810146102945780632176da441461029c57806322ba2e86146102c757806323b872dd146102cf578063313ce567146102e257600080fd5b806306fdde031461022c578063095ea7b31461024a57806318160ddd1461026d578063186d9d881461027f575b600080fd5b61023461058e565b60405161024191906120ed565b60405180910390f35b61025d61025836600461211c565b610620565b6040519015158152602001610241565b6002545b604051908152602001610241565b61029261028d366004612146565b61063a565b005b6102716106af565b6102af6102aa366004612161565b6106c0565b6040516001600160a01b039091168152602001610241565b6102926106cd565b61025d6102dd36600461217a565b61073e565b60405160128152602001610241565b610271610762565b61027161030736600461211c565b61076c565b61029261031a36600461211c565b6107e3565b600d5461025d90600160a01b900460ff1681565b60408051808201909152600e81526d06d6f64653d74696d657374616d760941b6020820152610234565b6102af61036b366004612146565b6001600160a01b039081166000908152600860205260409020541690565b610292610397366004612146565b610824565b6103af6103aa366004612146565b61082f565b60405163ffffffff9091168152602001610241565b6102716103d2366004612146565b6001600160a01b031660009081526020819052604090205490565b61029261083a565b61029261084e565b61027161040b366004612146565b610892565b61041861089d565b60405161024197969594939291906121b6565b600b546001600160a01b03166102af565b61027161044a366004612161565b6108e3565b61029261045d366004612146565b610943565b60405165ffffffffffff42168152602001610241565b61023461099d565b61027161048e366004612146565b6109ac565b61025d6104a136600461211c565b6109dc565b6102926104b4366004612146565b6109ea565b6102926104c7366004612260565b610a5a565b6102926104da3660046122b8565b610b17565b6102716104ed366004612322565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600c546001600160a01b03166102af565b61053c610537366004612355565b610c51565b60408051825165ffffffffffff1681526020928301516001600160d01b03169281019290925201610241565b610292610576366004612146565b610c76565b600d546102af906001600160a01b031681565b60606003805461059d90612395565b80601f01602080910402602001604051908101604052809291908181526020018280546105c990612395565b80156106165780601f106105eb57610100808354040283529160200191610616565b820191906000526020600020905b8154815290600101906020018083116105f957829003601f168201915b5050505050905090565b60003361062e818585610ce7565b60019150505b92915050565b600d546001600160a01b0316331461066c5760405163041419e360e31b81523360048201526024015b60405180910390fd5b610677600e82610cf9565b506040516001600160a01b038216907f385b21b54e2348e690dec29e9741026142b02eaabfcc2fcb676cebcb7cd1653490600090a250565b60006106bb600e610d0e565b905090565b6000610634600e83610d18565b6106d5610d24565b600d54600160a01b900460ff161561070057604051630c2dd00960e11b815260040160405180910390fd5b600d805460ff60a01b1916600160a01b1790556040517f76105f3d3faca68ca603a3efd3506b75d4e40177c31eb1054ded728be1cae22f90600090a1565b60003361074c858285610d51565b610757858585610dcf565b506001949350505050565b60006106bb610e2e565b60004265ffffffffffff811683106107a857604051637669fc0f60e11b81526004810184905265ffffffffffff82166024820152604401610663565b6107d26107b484610f59565b6001600160a01b038616600090815260096020526040902090610f90565b6001600160d01b0316949350505050565b6107eb610d24565b600d54600160a01b900460ff161561081657604051630c2dd00960e11b815260040160405180910390fd5b6108208282611046565b5050565b33610820818361107c565b6000610634826110ee565b610842610d24565b61084c6000611110565b565b600c5433906001600160a01b031681146108865760405163118cdaa760e01b81526001600160a01b0382166004820152602401610663565b61088f81611110565b50565b600061063482611129565b6000606080600080600060606108b1611147565b6108b9611174565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60004265ffffffffffff8116831061091f57604051637669fc0f60e11b81526004810184905265ffffffffffff82166024820152604401610663565b61093361092b84610f59565b600a90610f90565b6001600160d01b03169392505050565b61094b610d24565b600d80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f90600090a35050565b60606004805461059d90612395565b6001600160a01b03811660009081526009602052604081206109cd906111a1565b6001600160d01b031692915050565b60003361062e818585610dcf565b600d546001600160a01b03163314610a175760405163041419e360e31b8152336004820152602401610663565b610a22600e826111da565b506040516001600160a01b038216907f71fa9c99da9552de60a9ccf693f5a91456cbb8c205c8e532b1f55339903543cf90600090a250565b83421115610a7e57604051632341d78760e11b815260048101859052602401610663565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610af890610af09060a001604051602081830303815290604052805190602001206111ef565b85858561121c565b9050610b04818761124a565b610b0e818861107c565b50505050505050565b83421115610b3b5760405163313c898160e11b815260048101859052602401610663565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610b888c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610be3826111ef565b90506000610bf38287878761121c565b9050896001600160a01b0316816001600160a01b031614610c3a576040516325c0072360e11b81526001600160a01b0380831660048301528b166024820152604401610663565b610c458a8a8a610ce7565b50505050505050505050565b6040805180820190915260008082526020820152610c6f838361129d565b9392505050565b610c7e610d24565b600c80546001600160a01b0383166001600160a01b03199091168117909155610caf600b546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b610cf483838360016112d3565b505050565b6000610c6f836001600160a01b0384166113a8565b6000610634825490565b6000610c6f83836114a2565b600b546001600160a01b0316331461084c5760405163118cdaa760e01b8152336004820152602401610663565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610dc95781811015610dba57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610663565b610dc9848484840360006112d3565b50505050565b6001600160a01b038316610df957604051634b637e8f60e11b815260006004820152602401610663565b6001600160a01b038216610e235760405163ec442f0560e01b815260006004820152602401610663565b610cf48383836114cc565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610e8757507f000000000000000000000000000000000000000000000000000000000000000046145b15610eb157507f000000000000000000000000000000000000000000000000000000000000000090565b6106bb604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600065ffffffffffff821115610f8c576040516306dfcc6560e41b81526030600482015260248101839052604401610663565b5090565b815460009081816005811115610fef576000610fab84611503565b610fb590856123e5565b60008881526020902090915081015465ffffffffffff9081169087161015610fdf57809150610fed565b610fea8160016123f8565b92505b505b6000610ffd878785856115eb565b9050801561103857611022876110146001846123e5565b600091825260209091200190565b54600160301b90046001600160d01b031661103b565b60005b979650505050505050565b6001600160a01b0382166110705760405163ec442f0560e01b815260006004820152602401610663565b610820600083836114cc565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610cf481836110e98661164d565b61166b565b6001600160a01b038116600090815260096020526040812054610634906117d7565b600c80546001600160a01b031916905561088f81611808565b6001600160a01b038116600090815260076020526040812054610634565b60606106bb7f0000000000000000000000000000000000000000000000000000000000000000600561185a565b60606106bb7f0000000000000000000000000000000000000000000000000000000000000000600661185a565b805460009080156111d1576111bb836110146001846123e5565b54600160301b90046001600160d01b0316610c6f565b60009392505050565b6000610c6f836001600160a01b038416611905565b60006106346111fc610e2e565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061122e88888888611954565b92509250925061123e8282611a23565b50909695505050505050565b6001600160a01b0382166000908152600760205260409020805460018101909155818114610cf4576040516301d4b62360e61b81526001600160a01b038416600482015260248101829052604401610663565b60408051808201909152600080825260208201526001600160a01b0383166000908152600960205260409020610c6f9083611adc565b6001600160a01b0384166112fd5760405163e602df0560e01b815260006004820152602401610663565b6001600160a01b03831661132757604051634a1406b160e11b815260006004820152602401610663565b6001600160a01b0380851660009081526001602090815260408083209387168352929052208290558015610dc957826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161139a91815260200190565b60405180910390a350505050565b600081815260018301602052604081205480156114915760006113cc6001836123e5565b85549091506000906113e0906001906123e5565b90508082146114455760008660000182815481106114005761140061240b565b90600052602060002001549050808760000184815481106114235761142361240b565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061145657611456612421565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610634565b6000915050610634565b5092915050565b60008260000182815481106114b9576114b961240b565b9060005260206000200154905092915050565b826114d8600e82611b4c565b156114f857604051630877776160e11b8152336004820152602401610663565b610dc9848484611b6e565b60008160000361151557506000919050565b6000600161152284611bd5565b901c6001901b9050600181848161153b5761153b612437565b048201901c9050600181848161155357611553612437565b048201901c9050600181848161156b5761156b612437565b048201901c9050600181848161158357611583612437565b048201901c9050600181848161159b5761159b612437565b048201901c905060018184816115b3576115b3612437565b048201901c905060018184816115cb576115cb612437565b048201901c9050610c6f818285816115e5576115e5612437565b04611c69565b60005b818310156116455760006116028484611c7f565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156116315780925061163f565b61163c8160016123f8565b93505b506115ee565b509392505050565b6001600160a01b038116600090815260208190526040812054610634565b816001600160a01b0316836001600160a01b03161415801561168d5750600081115b15610cf4576001600160a01b03831615611735576001600160a01b038316600090815260096020526040812081906116d090611c9a6116cb86611ca6565b611cda565b6001600160d01b031691506001600160d01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161172a929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610cf4576001600160a01b0382166000908152600960205260408120819061176e90611d0c6116cb86611ca6565b6001600160d01b031691506001600160d01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516117c8929190918252602082015260400190565b60405180910390a25050505050565b600063ffffffff821115610f8c576040516306dfcc6560e41b81526020600482015260248101839052604401610663565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146118745761186d83611d18565b9050610634565b81805461188090612395565b80601f01602080910402602001604051908101604052809291908181526020018280546118ac90612395565b80156118f95780601f106118ce576101008083540402835291602001916118f9565b820191906000526020600020905b8154815290600101906020018083116118dc57829003601f168201915b50505050509050610634565b600081815260018301602052604081205461194c57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610634565b506000610634565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561198f5750600091506003905082611a19565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156119e3573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611a0f57506000925060019150829050611a19565b9250600091508190505b9450945094915050565b6000826003811115611a3757611a3761244d565b03611a40575050565b6001826003811115611a5457611a5461244d565b03611a725760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115611a8657611a8661244d565b03611aa75760405163fce698f760e01b815260048101829052602401610663565b6003826003811115611abb57611abb61244d565b03610820576040516335e2f38360e21b815260048101829052602401610663565b6040805180820190915260008082526020820152826000018263ffffffff1681548110611b0b57611b0b61240b565b60009182526020918290206040805180820190915291015465ffffffffffff81168252600160301b90046001600160d01b0316918101919091529392505050565b6001600160a01b03811660009081526001830160205260408120541515610c6f565b611b79838383611d57565b6001600160a01b038316611bca576000611b9260025490565b90506001600160d01b0380821115611bc757604051630e58ae9360e11b81526004810183905260248101829052604401610663565b50505b610cf4838383611e81565b600080608083901c15611bea57608092831c92015b604083901c15611bfc57604092831c92015b602083901c15611c0e57602092831c92015b601083901c15611c2057601092831c92015b600883901c15611c3257600892831c92015b600483901c15611c4457600492831c92015b600283901c15611c5657600292831c92015b600183901c156106345760010192915050565b6000818310611c785781610c6f565b5090919050565b6000611c8e6002848418612463565b610c6f908484166123f8565b6000610c6f8284612485565b60006001600160d01b03821115610f8c576040516306dfcc6560e41b815260d0600482015260248101839052604401610663565b600080611cff42611cf7611ced886111a1565b868863ffffffff16565b879190611ef7565b915091505b935093915050565b6000610c6f82846124a5565b60606000611d2583611f05565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038316611d82578060026000828254611d7791906123f8565b90915550611df49050565b6001600160a01b03831660009081526020819052604090205481811015611dd55760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610663565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216611e1057600280548290039055611e2f565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e7491815260200190565b60405180910390a3505050565b6001600160a01b038316611ea357611ea0600a611d0c6116cb84611ca6565b50505b6001600160a01b038216611ec557611ec2600a611c9a6116cb84611ca6565b50505b6001600160a01b03838116600090815260086020526040808220548584168352912054610cf49291821691168361166b565b600080611cff858585611f2d565b600060ff8216601f81111561063457604051632cd44ac360e21b815260040160405180910390fd5b82546000908190801561204c576000611f4b876110146001856123e5565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015611f9f57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603611feb5784611fc2886110146001866123e5565b80546001600160d01b0392909216600160301b0265ffffffffffff90921691909117905561203c565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150611d049050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081611d04565b6000815180845260005b818110156120cd576020818501810151868301820152016120b1565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610c6f60208301846120a7565b80356001600160a01b038116811461211757600080fd5b919050565b6000806040838503121561212f57600080fd5b61213883612100565b946020939093013593505050565b60006020828403121561215857600080fd5b610c6f82612100565b60006020828403121561217357600080fd5b5035919050565b60008060006060848603121561218f57600080fd5b61219884612100565b92506121a660208501612100565b9150604084013590509250925092565b60ff60f81b881681526000602060e060208401526121d760e084018a6120a7565b83810360408501526121e9818a6120a7565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b8181101561223d57835183529284019291840191600101612221565b50909c9b505050505050505050505050565b803560ff8116811461211757600080fd5b60008060008060008060c0878903121561227957600080fd5b61228287612100565b9550602087013594506040870135935061229e6060880161224f565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a0312156122d357600080fd5b6122dc88612100565b96506122ea60208901612100565b955060408801359450606088013593506123066080890161224f565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561233557600080fd5b61233e83612100565b915061234c60208401612100565b90509250929050565b6000806040838503121561236857600080fd5b61237183612100565b9150602083013563ffffffff8116811461238a57600080fd5b809150509250929050565b600181811c908216806123a957607f821691505b6020821081036123c957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610634576106346123cf565b80820180821115610634576106346123cf565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60008261248057634e487b7160e01b600052601260045260246000fd5b500490565b6001600160d01b0382811682821603908082111561149b5761149b6123cf565b6001600160d01b0381811683821601908082111561149b5761149b6123cf56fea2646970667358221220931c60a31ba82369367c05a35f5531f64cdc0ed189fbd4f2ff889db5e3074e4864736f6c634300081800330000000000000000000000007ec35ba4391555be65131345dee6c1275ed1e648
0x0000000000000000000000007ec35ba4391555be65131345dee6c1275ed1e648
----Decoded View------------Arg [0] : ownerAddress (address): 0x7EC35BA4391555BE65131345DeE6c1275Ed1E648
----Encoded View------------Arg [0] : 0x0000000000000000000000007ec35ba4391555be65131345dee6c1275ed1e648