[ { "inputs": [ { "internalType": "uint256", "name": "mintingAllowedAfter_", "type": "uint256" }, { "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": "EnforcedPause", "type": "error" }, { "inputs": [], "name": "EnjoyMintCapExceeded", "type": "error" }, { "inputs": [], "name": "ExpectedPause", "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": "uint256", "name": "blockTimestamp", "type": "uint256" }, { "internalType": "uint256", "name": "mintingAllowedAfter", "type": "uint256" } ], "name": "MintAllowedAfterDeployOnly", "type": "error" }, { "inputs": [], "name": "MintToZeroAddressBlocked", "type": "error" }, { "inputs": [], "name": "MintingDateNotReached", "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": "uint256", "name": "expiry", "type": "uint256" } ], "name": "VotesExpiredSignature", "type": "error" }, { "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": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "CLOCK_MODE", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINIMUM_TIME_BETWEEN_MINTS", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_CAP", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TOKEN_INITIAL_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TOKEN_NAME", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TOKEN_SYMBOL", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "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": "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": "uint96", "name": "amount", "type": "uint96" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintingAllowedAfter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6101606040523480156200001257600080fd5b50604051620061393803806200613983398181016040528101906200003891906200140d565b806040518060400160405280600581526020017f456e6a6f79000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f456e6a6f790000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f454e4a4f590000000000000000000000000000000000000000000000000000008152508160039081620001239190620016c4565b508060049081620001359190620016c4565b5050506000600560006101000a81548160ff021916908315150217905550620001696006836200032560201b90919060201c565b6101208181525050620001876007826200032560201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001c66200037d60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620002795760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620002709190620017bc565b60405180910390fd5b6200028a81620003da60201b60201c565b5042821015620002d55742826040517fa4fa5a90000000000000000000000000000000000000000000000000000000008152600401620002cc929190620017ea565b60405180910390fd5b6200031681620002ea620004a060201b60201c565b600a620002f89190620019a7565b6419debd01c76200030a9190620019f8565b620004a960201b60201c565b81600d81905550505062001e90565b60006020835110156200034b5762000343836200053660201b60201c565b905062000377565b826200035d83620005a360201b60201c565b60000190816200036e9190620016c4565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620003bf95949392919062001a5e565b60405160208183030381529060405280519060200120905090565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200051e5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620005159190620017bc565b60405180910390fd5b6200053260008383620005ad60201b60201c565b5050565b600080829050601f815111156200058657826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200057d919062001b4a565b60405180910390fd5b805181620005949062001ba0565b60001c1760001b915050919050565b6000819050919050565b620005c0838383620005c560201b60201c565b505050565b620005d88383836200069a60201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620006825760006200061f620006c260201b60201c565b9050600062000633620006cc60201b60201c565b9050808211156200067f5781816040517f1cb15d2600000000000000000000000000000000000000000000000000000000815260040162000676929190620017ea565b60405180910390fd5b50505b62000695838383620006f060201b60201c565b505050565b620006aa620007f660201b60201c565b620006bd8383836200084060201b60201c565b505050565b6000600254905090565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620007575762000754600b62000a7060201b620012d217620007488462000a8860201b60201c565b62000af960201b60201c565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007be57620007bb600b62000b4960201b620012e817620007af8462000a8860201b60201c565b62000af960201b60201c565b50505b620007f1620007d38462000b6160201b60201c565b620007e48462000b6160201b60201c565b8362000bca60201b60201c565b505050565b6200080662000e7d60201b60201c565b156200083e576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200089657806002600082825462000889919062001c10565b925050819055506200096c565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101562000925578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016200091c9392919062001c4b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009b7578060026000828254039250508190555062000a04565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a63919062001c88565b60405180910390a3505050565b6000818362000a80919062001ccb565b905092915050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000af15760d0826040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260040162000ae892919062001d63565b60405180910390fd5b819050919050565b60008062000b3d62000b1062000e9460201b60201c565b62000b2c62000b258862000eab60201b60201c565b868860201c565b8762000f1f60201b9092919060201c565b91509150935093915050565b6000818362000b59919062001d90565b905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000c075750600081115b1562000e7857600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000d425760008062000cb1600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000b4960201b620012e81762000ca58662000a8860201b60201c565b62000af960201b60201c565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000d37929190620017ea565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000e775760008062000de6600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000a7060201b620012d21762000dda8662000a8860201b60201c565b62000af960201b60201c565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000e6c929190620017ea565b60405180910390a250505b5b505050565b6000600560009054906101000a900460ff16905090565b600062000ea662000f4460201b60201c565b905090565b600080826000018054905090506000811462000f145762000ee48360000160018362000ed8919062001de5565b62000f5c60201b60201c565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1662000f17565b60005b915050919050565b60008062000f3885600001858562000f7160201b60201c565b91509150935093915050565b600062000f57436200130b60201b60201c565b905090565b60008260005281602060002001905092915050565b60008060008580549050905060008111156200121b57600062000fa98760018462000f9d919062001de5565b62000f5c60201b60201c565b6040518060400160405290816000820160009054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020016000820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508565ffffffffffff16816000015165ffffffffffff16111562001099576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8565ffffffffffff16816000015165ffffffffffff1603620011295784620010d688600185620010ca919062001de5565b62000f5c60201b60201c565b60000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555062001209565b8660405180604001604052808865ffffffffffff1681526020018779ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b80602001518593509350505062001303565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b600065ffffffffffff801682111562001360576030826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016200135792919062001e63565b60405180910390fd5b819050919050565b600080fd5b6000819050919050565b62001382816200136d565b81146200138e57600080fd5b50565b600081519050620013a28162001377565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620013d582620013a8565b9050919050565b620013e781620013c8565b8114620013f357600080fd5b50565b6000815190506200140781620013dc565b92915050565b6000806040838503121562001427576200142662001368565b5b6000620014378582860162001391565b92505060206200144a85828601620013f6565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620014d657607f821691505b602082108103620014ec57620014eb6200148e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620015567fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001517565b62001562868362001517565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620015a56200159f62001599846200136d565b6200157a565b6200136d565b9050919050565b6000819050919050565b620015c18362001584565b620015d9620015d082620015ac565b84845462001524565b825550505050565b600090565b620015f0620015e1565b620015fd818484620015b6565b505050565b5b81811015620016255762001619600082620015e6565b60018101905062001603565b5050565b601f82111562001674576200163e81620014f2565b620016498462001507565b8101602085101562001659578190505b62001671620016688562001507565b83018262001602565b50505b505050565b600082821c905092915050565b6000620016996000198460080262001679565b1980831691505092915050565b6000620016b4838362001686565b9150826002028217905092915050565b620016cf8262001454565b67ffffffffffffffff811115620016eb57620016ea6200145f565b5b620016f78254620014bd565b6200170482828562001629565b600060209050601f8311600181146200173c576000841562001727578287015190505b620017338582620016a6565b865550620017a3565b601f1984166200174c86620014f2565b60005b8281101562001776578489015182556001820191506020850194506020810190506200174f565b8683101562001796578489015162001792601f89168262001686565b8355505b6001600288020188555050505b505050505050565b620017b681620013c8565b82525050565b6000602082019050620017d36000830184620017ab565b92915050565b620017e4816200136d565b82525050565b6000604082019050620018016000830185620017d9565b620018106020830184620017d9565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620018a5578086048111156200187d576200187c62001817565b5b60018516156200188d5780820291505b80810290506200189d8562001846565b94506200185d565b94509492505050565b600082620018c0576001905062001993565b81620018d0576000905062001993565b8160018114620018e95760028114620018f4576200192a565b600191505062001993565b60ff84111562001909576200190862001817565b5b8360020a91508482111562001923576200192262001817565b5b5062001993565b5060208310610133831016604e8410600b8410161715620019645782820a9050838111156200195e576200195d62001817565b5b62001993565b62001973848484600162001853565b925090508184048111156200198d576200198c62001817565b5b81810290505b9392505050565b600060ff82169050919050565b6000620019b4826200136d565b9150620019c1836200199a565b9250620019f07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620018ae565b905092915050565b600062001a05826200136d565b915062001a12836200136d565b925082820262001a22816200136d565b9150828204841483151762001a3c5762001a3b62001817565b5b5092915050565b6000819050919050565b62001a588162001a43565b82525050565b600060a08201905062001a75600083018862001a4d565b62001a84602083018762001a4d565b62001a93604083018662001a4d565b62001aa26060830185620017d9565b62001ab16080830184620017ab565b9695505050505050565b600082825260208201905092915050565b60005b8381101562001aec57808201518184015260208101905062001acf565b60008484015250505050565b6000601f19601f8301169050919050565b600062001b168262001454565b62001b22818562001abb565b935062001b3481856020860162001acc565b62001b3f8162001af8565b840191505092915050565b6000602082019050818103600083015262001b66818462001b09565b905092915050565b600081519050919050565b6000819050602082019050919050565b600062001b97825162001a43565b80915050919050565b600062001bad8262001b6e565b8262001bb98462001b79565b905062001bc68162001b89565b9250602082101562001c095762001c047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262001517565b831692505b5050919050565b600062001c1d826200136d565b915062001c2a836200136d565b925082820190508082111562001c455762001c4462001817565b5b92915050565b600060608201905062001c626000830186620017ab565b62001c716020830185620017d9565b62001c806040830184620017d9565b949350505050565b600060208201905062001c9f6000830184620017d9565b92915050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b600062001cd88262001ca5565b915062001ce58362001ca5565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff81111562001d1a5762001d1962001817565b5b92915050565b6000819050919050565b600062001d4b62001d4562001d3f8462001d20565b6200157a565b6200199a565b9050919050565b62001d5d8162001d2a565b82525050565b600060408201905062001d7a600083018562001d52565b62001d896020830184620017d9565b9392505050565b600062001d9d8262001ca5565b915062001daa8362001ca5565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff81111562001ddf5762001dde62001817565b5b92915050565b600062001df2826200136d565b915062001dff836200136d565b925082820390508181111562001e1a5762001e1962001817565b5b92915050565b6000819050919050565b600062001e4b62001e4562001e3f8462001e20565b6200157a565b6200199a565b9050919050565b62001e5d8162001e2a565b82525050565b600060408201905062001e7a600083018562001e52565b62001e896020830184620017d9565b9392505050565b60805160a05160c05160e05161010051610120516101405161424e62001eeb6000396000611b9401526000611b5901526000611fb501526000611f94015260006115ad015260006116030152600061162c015261424e6000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c80636fcfff451161013057806391ddadf4116100b8578063c3cda5201161007c578063c3cda5201461068b578063d505accf146106a7578063dd62ed3e146106c3578063f1127ed8146106f3578063f2fde38b1461072357610232565b806391ddadf4146105d157806395d89b41146105ef57806398f1312e1461060d5780639ab24eb01461062b578063a9059cbb1461065b57610232565b80637ecebe00116100ff5780637ecebe00146105255780638456cb591461055557806384b0196e1461055f5780638da5cb5b146105835780638e539e8c146105a157610232565b80636fcfff451461049f57806370a08231146104cf578063715018a6146104ff57806379cc67901461050957610232565b8063313ce567116101be57806342966c681161018257806342966c68146103fb5780634bf5d7e914610417578063587cde1e146104355780635c19a95c146104655780635c975abb1461048157610232565b8063313ce567146103675780633644e5151461038557806336c20dcf146103a35780633a46b1a8146103c15780633f4ba83a146103f157610232565b8063188214001161020557806318821400146102c15780631b025a40146102df57806323b872dd146102fb5780632a9053181461032b57806330b36cef1461034957610232565b806306fdde0314610237578063095ea7b3146102555780630d8c02051461028557806318160ddd146102a3575b600080fd5b61023f61073f565b60405161024c9190613432565b60405180910390f35b61026f600480360381019061026a91906134ed565b6107d1565b60405161027c9190613548565b60405180910390f35b61028d6107f4565b60405161029a9190613582565b60405180910390f35b6102ab6107fc565b6040516102b891906135ac565b60405180910390f35b6102c9610806565b6040516102d69190613432565b60405180910390f35b6102f960048036038101906102f4919061360b565b61083f565b005b6103156004803603810190610310919061364b565b61098b565b6040516103229190613548565b60405180910390f35b6103336109ba565b6040516103409190613432565b60405180910390f35b6103516109f3565b60405161035e91906135ac565b60405180910390f35b61036f6109f9565b60405161037c91906136ba565b60405180910390f35b61038d610a02565b60405161039a91906136ee565b60405180910390f35b6103ab610a11565b6040516103b891906135ac565b60405180910390f35b6103db60048036038101906103d691906134ed565b610a1a565b6040516103e891906135ac565b60405180910390f35b6103f9610af3565b005b61041560048036038101906104109190613709565b610b05565b005b61041f610b19565b60405161042c9190613432565b60405180910390f35b61044f600480360381019061044a9190613736565b610bad565b60405161045c9190613772565b60405180910390f35b61047f600480360381019061047a9190613736565b610c16565b005b610489610c30565b6040516104969190613548565b60405180910390f35b6104b960048036038101906104b49190613736565b610c47565b6040516104c69190613582565b60405180910390f35b6104e960048036038101906104e49190613736565b610c59565b6040516104f691906135ac565b60405180910390f35b610507610ca1565b005b610523600480360381019061051e91906134ed565b610cb5565b005b61053f600480360381019061053a9190613736565b610cd5565b60405161054c91906135ac565b60405180910390f35b61055d610ce7565b005b610567610cf9565b60405161057a9796959493929190613886565b60405180910390f35b61058b610da3565b6040516105989190613772565b60405180910390f35b6105bb60048036038101906105b69190613709565b610dcd565b6040516105c891906135ac565b60405180910390f35b6105d9610e68565b6040516105e6919061392b565b60405180910390f35b6105f7610e77565b6040516106049190613432565b60405180910390f35b610615610f09565b60405161062291906136ba565b60405180910390f35b61064560048036038101906106409190613736565b610f0e565b60405161065291906135ac565b60405180910390f35b610675600480360381019061067091906134ed565b610f7a565b6040516106829190613548565b60405180910390f35b6106a560048036038101906106a0919061399e565b610f9d565b005b6106c160048036038101906106bc9190613a2b565b611063565b005b6106dd60048036038101906106d89190613acd565b6111ab565b6040516106ea91906135ac565b60405180910390f35b61070d60048036038101906107089190613b39565b611232565b60405161071a9190613bec565b60405180910390f35b61073d60048036038101906107389190613736565b61124c565b005b60606003805461074e90613c36565b80601f016020809104026020016040519081016040528092919081815260200182805461077a90613c36565b80156107c75780601f1061079c576101008083540402835291602001916107c7565b820191906000526020600020905b8154815290600101906020018083116107aa57829003601f168201915b5050505050905090565b6000806107dc6112fe565b90506107e9818585611306565b600191505092915050565b6301e1338081565b6000600254905090565b6040518060400160405280600581526020017f456e6a6f7900000000000000000000000000000000000000000000000000000081525081565b610847611318565b600d54421015610883576040517f5515cbd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108e9576040517ffa7b55d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6301e1338063ffffffff16426108ff9190613c96565b600d819055506064600160ff166109146107fc565b61091e9190613cca565b6109289190613d3b565b816bffffffffffffffffffffffff16111561096f576040517f291d6e8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61098782826bffffffffffffffffffffffff1661139f565b5050565b6000806109966112fe565b90506109a3858285611421565b6109ae8585856114b5565b60019150509392505050565b6040518060400160405280600581526020017f454e4a4f5900000000000000000000000000000000000000000000000000000081525081565b600d5481565b60006012905090565b6000610a0c6115a9565b905090565b6419debd01c781565b600080610a25610e68565b90508065ffffffffffff168310610a755782816040517fecd3f81e000000000000000000000000000000000000000000000000000000008152600401610a6c929190613d6c565b60405180910390fd5b610ace610a8184611660565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206116ba90919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1691505092915050565b610afb611318565b610b036117b4565b565b610b16610b106112fe565b82611817565b50565b6060610b23611899565b65ffffffffffff16610b33610e68565b65ffffffffffff1614610b72576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610c206112fe565b9050610c2c81836118a9565b5050565b6000600560009054906101000a900460ff16905090565b6000610c52826119bd565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ca9611318565b610cb36000611a15565b565b610cc782610cc16112fe565b83611421565b610cd18282611817565b5050565b6000610ce082611adb565b9050919050565b610cef611318565b610cf7611aed565b565b600060608060008060006060610d0d611b50565b610d15611b8b565b46306000801b600067ffffffffffffffff811115610d3657610d35613d95565b5b604051908082528060200260200182016040528015610d645781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080610dd8610e68565b90508065ffffffffffff168310610e285782816040517fecd3f81e000000000000000000000000000000000000000000000000000000008152600401610e1f929190613d6c565b60405180910390fd5b610e44610e3484611660565b600b6116ba90919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b6000610e72611899565b905090565b606060048054610e8690613c36565b80601f0160208091040260200160405190810160405280929190818152602001828054610eb290613c36565b8015610eff5780601f10610ed457610100808354040283529160200191610eff565b820191906000526020600020905b815481529060010190602001808311610ee257829003601f168201915b5050505050905090565b600181565b6000610f57600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611bc6565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b600080610f856112fe565b9050610f928185856114b5565b600191505092915050565b83421115610fe257836040517f4683af0e000000000000000000000000000000000000000000000000000000008152600401610fd991906135ac565b60405180910390fd5b600061104461103c7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016110219493929190613dc4565b60405160208183030381529060405280519060200120611c2e565b858585611c48565b90506110508187611c78565b61105a81886118a9565b50505050505050565b834211156110a857836040517f6279130200000000000000000000000000000000000000000000000000000000815260040161109f91906135ac565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110d78c611cd0565b896040516020016110ed96959493929190613e09565b604051602081830303815290604052805190602001209050600061111082611c2e565b9050600061112082878787611c48565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461119457808a6040517f4b800e4600000000000000000000000000000000000000000000000000000000815260040161118b929190613e6a565b60405180910390fd5b61119f8a8a8a611306565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61123a613364565b6112448383611d27565b905092915050565b611254611318565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112c65760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016112bd9190613772565b60405180910390fd5b6112cf81611a15565b50565b600081836112e09190613e93565b905092915050565b600081836112f69190613ee1565b905092915050565b600033905090565b6113138383836001611d88565b505050565b6113206112fe565b73ffffffffffffffffffffffffffffffffffffffff1661133e610da3565b73ffffffffffffffffffffffffffffffffffffffff161461139d576113616112fe565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016113949190613772565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114115760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016114089190613772565b60405180910390fd5b61141d60008383611f5f565b5050565b600061142d84846111ab565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146114af578181101561149f578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161149693929190613f2f565b60405180910390fd5b6114ae84848484036000611d88565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115275760006040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161151e9190613772565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115995760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016115909190613772565b60405180910390fd5b6115a4838383611f5f565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561162557507f000000000000000000000000000000000000000000000000000000000000000046145b15611652577f0000000000000000000000000000000000000000000000000000000000000000905061165d565b61165a611f6f565b90505b90565b600065ffffffffffff80168211156116b2576030826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016116a9929190613fab565b60405180910390fd5b819050919050565b6000808360000180549050905060008082905060058311156117425760006116e184612005565b846116ec9190613fd4565b90506116fb87600001826120fe565b60000160009054906101000a900465ffffffffffff1665ffffffffffff168665ffffffffffff16101561173057809150611740565b60018161173d9190613c96565b92505b505b600061175387600001878585612113565b9050600081146117a557611776876000016001836117719190613fd4565b6120fe565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff166117a8565b60005b94505050505092915050565b6117bc61218c565b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6118006112fe565b60405161180d9190613772565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118895760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016118809190613772565b60405180910390fd5b61189582600083611f5f565b5050565b60006118a443611660565b905090565b60006118b483610bad565b905081600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46119b881836119b3866121cc565b6121de565b505050565b6000611a0e611a09600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612457565b612468565b9050919050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611ae6826124c0565b9050919050565b611af5612509565b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611b396112fe565b604051611b469190613772565b60405180910390a1565b6060611b8660067f000000000000000000000000000000000000000000000000000000000000000061254a90919063ffffffff16565b905090565b6060611bc160077f000000000000000000000000000000000000000000000000000000000000000061254a90919063ffffffff16565b905090565b6000808260000180549050905060008114611c2357611bf483600001600183611bef9190613fd4565b6120fe565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611c26565b60005b915050919050565b6000611c41611c3b6115a9565b836125fa565b9050919050565b600080600080611c5a8888888861263b565b925092509250611c6a828261272f565b829350505050949350505050565b6000611c8383611cd0565b9050808214611ccb5782816040517f752d88c0000000000000000000000000000000000000000000000000000000008152600401611cc2929190614008565b60405180910390fd5b505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b611d2f613364565b611d8082600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061289390919063ffffffff16565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611dfa5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611df19190613772565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e6c5760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611e639190613772565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015611f59578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611f5091906135ac565b60405180910390a35b50505050565b611f6a838383612968565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001611fea959493929190614031565b60405160208183030381529060405280519060200120905090565b600080820361201757600090506120f9565b6000600161202484612a19565b901c6001901b9050600181848161203e5761203d613d0c565b5b048201901c9050600181848161205757612056613d0c565b5b048201901c905060018184816120705761206f613d0c565b5b048201901c9050600181848161208957612088613d0c565b5b048201901c905060018184816120a2576120a1613d0c565b5b048201901c905060018184816120bb576120ba613d0c565b5b048201901c905060018184816120d4576120d3613d0c565b5b048201901c90506120f5818285816120ef576120ee613d0c565b5b04612afa565b9150505b919050565b60008260005281602060002001905092915050565b60005b8183101561218157600061212a8484612b13565b90508465ffffffffffff1661213f87836120fe565b60000160009054906101000a900465ffffffffffff1665ffffffffffff16111561216b5780925061217b565b6001816121789190613c96565b93505b50612116565b819050949350505050565b612194610c30565b6121ca576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60006121d782610c59565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561221a5750600081115b1561245257600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612338576000806122a9600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206112e86122a486612b39565b612ba7565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161232d929190614084565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612451576000806123c2600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206112d26123bd86612b39565b612ba7565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612446929190614084565b60405180910390a250505b5b505050565b600081600001805490509050919050565b600063ffffffff80168211156124b8576020826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016124af9291906140e8565b60405180910390fd5b819050919050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b612511610c30565b15612548576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b606060ff60001b83146125675761256083612be7565b90506125f4565b81805461257390613c36565b80601f016020809104026020016040519081016040528092919081815260200182805461259f90613c36565b80156125ec5780601f106125c1576101008083540402835291602001916125ec565b820191906000526020600020905b8154815290600101906020018083116125cf57829003601f168201915b505050505090505b92915050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c111561267b576000600385925092509250612725565b6000600188888888604051600081526020016040526040516126a09493929190614111565b6020604051602081039080840390855afa1580156126c2573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361271657600060016000801b93509350935050612725565b8060008060001b935093509350505b9450945094915050565b6000600381111561274357612742614156565b5b82600381111561275657612755614156565b5b031561288f57600160038111156127705761276f614156565b5b82600381111561278357612782614156565b5b036127ba576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156127ce576127cd614156565b5b8260038111156127e1576127e0614156565b5b03612826578060001c6040517ffce698f700000000000000000000000000000000000000000000000000000000815260040161281d91906135ac565b60405180910390fd5b60038081111561283957612838614156565b5b82600381111561284c5761284b614156565b5b0361288e57806040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260040161288591906136ee565b60405180910390fd5b5b5050565b61289b613364565b826000018263ffffffff16815481106128b7576128b6614185565b5b906000526020600020016040518060400160405290816000820160009054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020016000820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b612973838383612c5b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a095760006129b16107fc565b905060006129bd612c73565b905080821115612a065781816040517f1cb15d260000000000000000000000000000000000000000000000000000000081526004016129fd929190614084565b60405180910390fd5b50505b612a14838383612c97565b505050565b600080600090506000608084901c1115612a3b57608083901c92506080810190505b6000604084901c1115612a5657604083901c92506040810190505b6000602084901c1115612a7157602083901c92506020810190505b6000601084901c1115612a8c57601083901c92506010810190505b6000600884901c1115612aa757600883901c92506008810190505b6000600484901c1115612ac257600483901c92506004810190505b6000600284901c1115612add57600283901c92506002810190505b6000600184901c1115612af1576001810190505b80915050919050565b6000818310612b095781612b0b565b825b905092915050565b60006002828418612b249190613d3b565b828416612b319190613c96565b905092915050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115612b9f5760d0826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401612b969291906141ef565b60405180910390fd5b819050919050565b600080612bdb612bb5610e68565b612bcb612bc188611bc6565b868863ffffffff16565b87612d519092919063ffffffff16565b91509150935093915050565b60606000612bf483612d6e565b90506000602067ffffffffffffffff811115612c1357612c12613d95565b5b6040519080825280601f01601f191660200182016040528015612c455781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b612c63612509565b612c6e838383612dbe565b505050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612ce457612ce1600b6112d2612cdc84612b39565b612ba7565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d3157612d2e600b6112e8612d2984612b39565b612ba7565b50505b612d4c612d3d84610bad565b612d4684610bad565b836121de565b505050565b600080612d62856000018585612fe3565b91509150935093915050565b60008060ff8360001c169050601f811115612db5576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612e10578060026000828254612e049190613c96565b92505081905550612ee3565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612e9c578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401612e9393929190613f2f565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612f2c5780600260008282540392505081905550612f79565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fd691906135ac565b60405180910390a3505050565b60008060008580549050905060008111156132745760006130108760018461300b9190613fd4565b6120fe565b6040518060400160405290816000820160009054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020016000820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508565ffffffffffff16816000015165ffffffffffff1611156130ff576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8565ffffffffffff16816000015165ffffffffffff160361318357846131318860018561312c9190613fd4565b6120fe565b60000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550613263565b8660405180604001604052808865ffffffffffff1681526020018779ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b80602001518593509350505061335c565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b6040518060400160405280600065ffffffffffff168152602001600079ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b838110156133dc5780820151818401526020810190506133c1565b60008484015250505050565b6000601f19601f8301169050919050565b6000613404826133a2565b61340e81856133ad565b935061341e8185602086016133be565b613427816133e8565b840191505092915050565b6000602082019050818103600083015261344c81846133f9565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061348482613459565b9050919050565b61349481613479565b811461349f57600080fd5b50565b6000813590506134b18161348b565b92915050565b6000819050919050565b6134ca816134b7565b81146134d557600080fd5b50565b6000813590506134e7816134c1565b92915050565b6000806040838503121561350457613503613454565b5b6000613512858286016134a2565b9250506020613523858286016134d8565b9150509250929050565b60008115159050919050565b6135428161352d565b82525050565b600060208201905061355d6000830184613539565b92915050565b600063ffffffff82169050919050565b61357c81613563565b82525050565b60006020820190506135976000830184613573565b92915050565b6135a6816134b7565b82525050565b60006020820190506135c1600083018461359d565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6135e8816135c7565b81146135f357600080fd5b50565b600081359050613605816135df565b92915050565b6000806040838503121561362257613621613454565b5b6000613630858286016134a2565b9250506020613641858286016135f6565b9150509250929050565b60008060006060848603121561366457613663613454565b5b6000613672868287016134a2565b9350506020613683868287016134a2565b9250506040613694868287016134d8565b9150509250925092565b600060ff82169050919050565b6136b48161369e565b82525050565b60006020820190506136cf60008301846136ab565b92915050565b6000819050919050565b6136e8816136d5565b82525050565b600060208201905061370360008301846136df565b92915050565b60006020828403121561371f5761371e613454565b5b600061372d848285016134d8565b91505092915050565b60006020828403121561374c5761374b613454565b5b600061375a848285016134a2565b91505092915050565b61376c81613479565b82525050565b60006020820190506137876000830184613763565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6137c28161378d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6137fd816134b7565b82525050565b600061380f83836137f4565b60208301905092915050565b6000602082019050919050565b6000613833826137c8565b61383d81856137d3565b9350613848836137e4565b8060005b838110156138795781516138608882613803565b975061386b8361381b565b92505060018101905061384c565b5085935050505092915050565b600060e08201905061389b600083018a6137b9565b81810360208301526138ad81896133f9565b905081810360408301526138c181886133f9565b90506138d0606083018761359d565b6138dd6080830186613763565b6138ea60a08301856136df565b81810360c08301526138fc8184613828565b905098975050505050505050565b600065ffffffffffff82169050919050565b6139258161390a565b82525050565b6000602082019050613940600083018461391c565b92915050565b61394f8161369e565b811461395a57600080fd5b50565b60008135905061396c81613946565b92915050565b61397b816136d5565b811461398657600080fd5b50565b60008135905061399881613972565b92915050565b60008060008060008060c087890312156139bb576139ba613454565b5b60006139c989828a016134a2565b96505060206139da89828a016134d8565b95505060406139eb89828a016134d8565b94505060606139fc89828a0161395d565b9350506080613a0d89828a01613989565b92505060a0613a1e89828a01613989565b9150509295509295509295565b600080600080600080600060e0888a031215613a4a57613a49613454565b5b6000613a588a828b016134a2565b9750506020613a698a828b016134a2565b9650506040613a7a8a828b016134d8565b9550506060613a8b8a828b016134d8565b9450506080613a9c8a828b0161395d565b93505060a0613aad8a828b01613989565b92505060c0613abe8a828b01613989565b91505092959891949750929550565b60008060408385031215613ae457613ae3613454565b5b6000613af2858286016134a2565b9250506020613b03858286016134a2565b9150509250929050565b613b1681613563565b8114613b2157600080fd5b50565b600081359050613b3381613b0d565b92915050565b60008060408385031215613b5057613b4f613454565b5b6000613b5e858286016134a2565b9250506020613b6f85828601613b24565b9150509250929050565b613b828161390a565b82525050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613bb781613b88565b82525050565b604082016000820151613bd36000850182613b79565b506020820151613be66020850182613bae565b50505050565b6000604082019050613c016000830184613bbd565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c4e57607f821691505b602082108103613c6157613c60613c07565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ca1826134b7565b9150613cac836134b7565b9250828201905080821115613cc457613cc3613c67565b5b92915050565b6000613cd5826134b7565b9150613ce0836134b7565b9250828202613cee816134b7565b91508282048414831517613d0557613d04613c67565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d46826134b7565b9150613d51836134b7565b925082613d6157613d60613d0c565b5b828204905092915050565b6000604082019050613d81600083018561359d565b613d8e602083018461391c565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000608082019050613dd960008301876136df565b613de66020830186613763565b613df3604083018561359d565b613e00606083018461359d565b95945050505050565b600060c082019050613e1e60008301896136df565b613e2b6020830188613763565b613e386040830187613763565b613e45606083018661359d565b613e52608083018561359d565b613e5f60a083018461359d565b979650505050505050565b6000604082019050613e7f6000830185613763565b613e8c6020830184613763565b9392505050565b6000613e9e82613b88565b9150613ea983613b88565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613edb57613eda613c67565b5b92915050565b6000613eec82613b88565b9150613ef783613b88565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613f2957613f28613c67565b5b92915050565b6000606082019050613f446000830186613763565b613f51602083018561359d565b613f5e604083018461359d565b949350505050565b6000819050919050565b6000819050919050565b6000613f95613f90613f8b84613f66565b613f70565b61369e565b9050919050565b613fa581613f7a565b82525050565b6000604082019050613fc06000830185613f9c565b613fcd602083018461359d565b9392505050565b6000613fdf826134b7565b9150613fea836134b7565b925082820390508181111561400257614001613c67565b5b92915050565b600060408201905061401d6000830185613763565b61402a602083018461359d565b9392505050565b600060a08201905061404660008301886136df565b61405360208301876136df565b61406060408301866136df565b61406d606083018561359d565b61407a6080830184613763565b9695505050505050565b6000604082019050614099600083018561359d565b6140a6602083018461359d565b9392505050565b6000819050919050565b60006140d26140cd6140c8846140ad565b613f70565b61369e565b9050919050565b6140e2816140b7565b82525050565b60006040820190506140fd60008301856140d9565b61410a602083018461359d565b9392505050565b600060808201905061412660008301876136df565b61413360208301866136ab565b61414060408301856136df565b61414d60608301846136df565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b60006141d96141d46141cf846141b4565b613f70565b61369e565b9050919050565b6141e9816141be565b82525050565b600060408201905061420460008301856141e0565b614211602083018461359d565b939250505056fea26469706673582212201c0bc0b05bf09059602fe347f5a3234f8a3cb1279f205dd5274987fa5ab8da3164736f6c634300081800330000000000000000000000000000000000000000000000000000000067bbb680000000000000000000000000b6b701878a1f80197df2c209d0bdd292ea73164d
0x0000000000000000000000000000000000000000000000000000000067bbb680000000000000000000000000b6b701878a1f80197df2c209d0bdd292ea73164d
----Decoded View------------Arg [0] : mintingAllowedAfter_ (uint256): 1740355200Arg [1] : ownerAddress (address): 0xb6b701878a1f80197dF2c209D0BDd292EA73164D
----Encoded View------------Arg [0] : 0x0000000000000000000000000000000000000000000000000000000067bbb680Arg [1] : 0x000000000000000000000000b6b701878a1f80197df2c209d0bdd292ea73164d