[ { "inputs": [ { "internalType": "address", "name": "initialMintDestination", "type": "address" }, { "internalType": "address", "name": "initialDefaultAdmin", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AccessControlBadConfirmation", "type": "error" }, { "inputs": [ { "internalType": "uint48", "name": "schedule", "type": "uint48" } ], "name": "AccessControlEnforcedDefaultAdminDelay", "type": "error" }, { "inputs": [], "name": "AccessControlEnforcedDefaultAdminRules", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "defaultAdmin", "type": "address" } ], "name": "AccessControlInvalidDefaultAdmin", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bytes32", "name": "neededRole", "type": "bytes32" } ], "name": "AccessControlUnauthorizedAccount", "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": "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": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [ { "internalType": "uint72", "name": "maxMintCap", "type": "uint72" }, { "internalType": "uint72", "name": "mintCapRequested", "type": "uint72" } ], "name": "MaxMintCapExceeded", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "maxMint", "type": "uint256" }, { "internalType": "uint256", "name": "mintRequested", "type": "uint256" } ], "name": "MaxMintExceeded", "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" }, { "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": [], "name": "DefaultAdminDelayChangeCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint48", "name": "newDelay", "type": "uint48" }, { "indexed": false, "internalType": "uint48", "name": "effectSchedule", "type": "uint48" } ], "name": "DefaultAdminDelayChangeScheduled", "type": "event" }, { "anonymous": false, "inputs": [], "name": "DefaultAdminTransferCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAdmin", "type": "address" }, { "indexed": false, "internalType": "uint48", "name": "acceptSchedule", "type": "uint48" } ], "name": "DefaultAdminTransferScheduled", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint72", "name": "oldCap", "type": "uint72" }, { "indexed": false, "internalType": "uint72", "name": "newCap", "type": "uint72" } ], "name": "MintCapUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "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": "CAP_MANAGER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "INITIAL_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_MINT_CAP", "outputs": [ { "internalType": "uint72", "name": "", "type": "uint72" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "acceptDefaultAdminTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "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": "newAdmin", "type": "address" } ], "name": "beginDefaultAdminTransfer", "outputs": [], "stateMutability": "nonpayable", "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": [], "name": "cancelDefaultAdminTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint48", "name": "newDelay", "type": "uint48" } ], "name": "changeDefaultAdminDelay", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "defaultAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "defaultAdminDelay", "outputs": [ { "internalType": "uint48", "name": "", "type": "uint48" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "defaultAdminDelayIncreaseWait", "outputs": [ { "internalType": "uint48", "name": "", "type": "uint48" } ], "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": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastMint", "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": "mintPerSecondCap", "outputs": [ { "internalType": "uint72", "name": "", "type": "uint72" } ], "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": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingDefaultAdmin", "outputs": [ { "internalType": "address", "name": "newAdmin", "type": "address" }, { "internalType": "uint48", "name": "schedule", "type": "uint48" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingDefaultAdminDelay", "outputs": [ { "internalType": "uint48", "name": "newDelay", "type": "uint48" }, { "internalType": "uint48", "name": "schedule", "type": "uint48" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rollbackDefaultAdminDelay", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "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": "uint72", "name": "newCap", "type": "uint72" } ], "name": "updateMintCap", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6101606040525f600b5f6101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff16021790555034801561003a575f5ffd5b506040516145a43803806145a4833981810160405281019061005c919061094a565b62069780816040518060400160405280600a81526020017f446163786920436f696e00000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600a81526020017f446163786920436f696e000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f445849000000000000000000000000000000000000000000000000000000000081525081600390816101499190610bc5565b5080600490816101599190610bc5565b5050506101706005836102db60201b90919060201c565b610120818152505061018c6006826102db60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506101c961032860201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610277575f6040517fc22c802200000000000000000000000000000000000000000000000000000000815260040161026e9190610ca3565b60405180910390fd5b816009601a6101000a81548165ffffffffffff021916908365ffffffffffff1602179055506102ae5f5f1b8261038260201b60201c565b5050506102cd826b204fce5e3e2502611000000061045760201b60201c565b42600c819055505050610efb565b5f6020835110156102fc576102f5836104dc60201b60201c565b9050610322565b8261030c8361054160201b60201c565b5f01908161031a9190610bc5565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001610367959493929190610ce3565b60405160208183030381529060405280519060200120905090565b5f5f5f1b830361043f575f73ffffffffffffffffffffffffffffffffffffffff166103b161054a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146103fe576040517f3fc3c27a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b61044f838361057260201b60201c565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036104c7575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016104be9190610ca3565b60405180910390fd5b6104d85f838361066860201b60201c565b5050565b5f5f829050601f8151111561052857826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161051f9190610d9a565b60405180910390fd5b80518161053490610de7565b5f1c175f1b915050919050565b5f819050919050565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f610583838361088160201b60201c565b61065e57600160085f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506105fb6108e560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610662565b5f90505b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106b8578060025f8282546106ac9190610e7a565b92505081905550610786565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610741578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161073893929190610ead565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107cd578060025f8282540392505081905550610817565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108749190610ee2565b60405180910390a3505050565b5f60085f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610919826108f0565b9050919050565b6109298161090f565b8114610933575f5ffd5b50565b5f8151905061094481610920565b92915050565b5f5f604083850312156109605761095f6108ec565b5b5f61096d85828601610936565b925050602061097e85828601610936565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610a0357607f821691505b602082108103610a1657610a156109bf565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610a787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610a3d565b610a828683610a3d565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610ac6610ac1610abc84610a9a565b610aa3565b610a9a565b9050919050565b5f819050919050565b610adf83610aac565b610af3610aeb82610acd565b848454610a49565b825550505050565b5f5f905090565b610b0a610afb565b610b15818484610ad6565b505050565b5b81811015610b3857610b2d5f82610b02565b600181019050610b1b565b5050565b601f821115610b7d57610b4e81610a1c565b610b5784610a2e565b81016020851015610b66578190505b610b7a610b7285610a2e565b830182610b1a565b50505b505050565b5f82821c905092915050565b5f610b9d5f1984600802610b82565b1980831691505092915050565b5f610bb58383610b8e565b9150826002028217905092915050565b610bce82610988565b67ffffffffffffffff811115610be757610be6610992565b5b610bf182546109ec565b610bfc828285610b3c565b5f60209050601f831160018114610c2d575f8415610c1b578287015190505b610c258582610baa565b865550610c8c565b601f198416610c3b86610a1c565b5f5b82811015610c6257848901518255600182019150602085019450602081019050610c3d565b86831015610c7f5784890151610c7b601f891682610b8e565b8355505b6001600288020188555050505b505050505050565b610c9d8161090f565b82525050565b5f602082019050610cb65f830184610c94565b92915050565b5f819050919050565b610cce81610cbc565b82525050565b610cdd81610a9a565b82525050565b5f60a082019050610cf65f830188610cc5565b610d036020830187610cc5565b610d106040830186610cc5565b610d1d6060830185610cd4565b610d2a6080830184610c94565b9695505050505050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610d6c82610988565b610d768185610d34565b9350610d86818560208601610d44565b610d8f81610d52565b840191505092915050565b5f6020820190508181035f830152610db28184610d62565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f610dde8251610cbc565b80915050919050565b5f610df182610dba565b82610dfb84610dc4565b9050610e0681610dd3565b92506020821015610e4657610e417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802610a3d565b831692505b5050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610e8482610a9a565b9150610e8f83610a9a565b9250828201905080821115610ea757610ea6610e4d565b5b92915050565b5f606082019050610ec05f830186610c94565b610ecd6020830185610cd4565b610eda6040830184610cd4565b949350505050565b5f602082019050610ef55f830184610cd4565b92915050565b60805160a05160c05160e051610100516101205161014051613658610f4c5f395f61194f01525f61191401525f6121b301525f61219201525f6115c701525f61161d01525f61164601526136585ff3fe608060405234801561000f575f5ffd5b5060043610610251575f3560e01c806379cc679011610144578063a217fddf116100c1578063cf6eefb711610085578063cf6eefb7146106ce578063d505accf146106ed578063d539139314610709578063d547741f14610727578063d602b9fd14610743578063dd62ed3e1461074d57610251565b8063a217fddf1461063a578063a9059cbb14610658578063c1cd2e8214610688578063cc8463c8146106a6578063cefc1429146106c457610251565b80638e141c75116101085780638e141c75146105915780638eb66d6a146105af57806391d14854146105cd57806395d89b41146105fd578063a1eda53c1461061b57610251565b806379cc6790146104e55780637ecebe001461050157806384b0196e1461053157806384ef8ffc146105555780638da5cb5b1461057357610251565b80632ff2e9dc116101d257806342966c681161019657806342966c6814610443578063586fc5b51461045f578063634e93da1461047d578063649a5ec71461049957806370a08231146104b557610251565b80632ff2e9dc146103b1578063313ce567146103cf5780633644e515146103ed57806336568abe1461040b57806340c10f191461042757610251565b806314db65311161021957806314db6531146102fb57806318160ddd1461031757806323b872dd14610335578063248a9ca3146103655780632f2ff15d1461039557610251565b806301ffc9a714610255578063022d63fb1461028557806306fdde03146102a3578063095ea7b3146102c15780630aa6220b146102f1575b5f5ffd5b61026f600480360381019061026a9190612a6c565b61077d565b60405161027c9190612ab1565b60405180910390f35b61028d6107f6565b60405161029a9190612aea565b60405180910390f35b6102ab610800565b6040516102b89190612b73565b60405180910390f35b6102db60048036038101906102d69190612c20565b610890565b6040516102e89190612ab1565b60405180910390f35b6102f96108b2565b005b61031560048036038101906103109190612c9c565b6108c9565b005b61031f6109df565b60405161032c9190612cd6565b60405180910390f35b61034f600480360381019061034a9190612cef565b6109e8565b60405161035c9190612ab1565b60405180910390f35b61037f600480360381019061037a9190612d72565b610a16565b60405161038c9190612dac565b60405180910390f35b6103af60048036038101906103aa9190612dc5565b610a33565b005b6103b9610a7c565b6040516103c69190612cd6565b60405180910390f35b6103d7610a8c565b6040516103e49190612e1e565b60405180910390f35b6103f5610a94565b6040516104029190612dac565b60405180910390f35b61042560048036038101906104209190612dc5565b610aa2565b005b610441600480360381019061043c9190612c20565b610bb4565b005b61045d60048036038101906104589190612e37565b610c7e565b005b610467610c92565b6040516104749190612cd6565b60405180910390f35b61049760048036038101906104929190612e62565b610c98565b005b6104b360048036038101906104ae9190612eb7565b610cb1565b005b6104cf60048036038101906104ca9190612e62565b610cca565b6040516104dc9190612cd6565b60405180910390f35b6104ff60048036038101906104fa9190612c20565b610d0f565b005b61051b60048036038101906105169190612e62565b610d2f565b6040516105289190612cd6565b60405180910390f35b610539610d40565b60405161054c9796959493929190612fe2565b60405180910390f35b61055d610de5565b60405161056a9190613064565b60405180910390f35b61057b610e0d565b6040516105889190613064565b60405180910390f35b610599610e1b565b6040516105a69190612dac565b60405180910390f35b6105b7610e3f565b6040516105c4919061308c565b60405180910390f35b6105e760048036038101906105e29190612dc5565b610e59565b6040516105f49190612ab1565b60405180910390f35b610605610ebd565b6040516106129190612b73565b60405180910390f35b610623610f4d565b6040516106319291906130a5565b60405180910390f35b610642610fab565b60405161064f9190612dac565b60405180910390f35b610672600480360381019061066d9190612c20565b610fb1565b60405161067f9190612ab1565b60405180910390f35b610690610fd3565b60405161069d919061308c565b60405180910390f35b6106ae610fe0565b6040516106bb9190612aea565b60405180910390f35b6106cc61104d565b005b6106d66110e2565b6040516106e49291906130cc565b60405180910390f35b6107076004803603810190610702919061311d565b611123565b005b610711611268565b60405161071e9190612dac565b60405180910390f35b610741600480360381019061073c9190612dc5565b61128c565b005b61074b6112d5565b005b610767600480360381019061076291906131ba565b6112ec565b6040516107749190612cd6565b60405180910390f35b5f7f31498786000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107ef57506107ee8261136e565b5b9050919050565b5f62069780905090565b60606003805461080f90613225565b80601f016020809104026020016040519081016040528092919081815260200182805461083b90613225565b80156108865780601f1061085d57610100808354040283529160200191610886565b820191905f5260205f20905b81548152906001019060200180831161086957829003601f168201915b5050505050905090565b5f5f61089a6113e7565b90506108a78185856113ee565b600191505092915050565b5f5f1b6108be81611400565b6108c6611414565b50565b7f027f9f680a0c6704fd9796b55c67fe885252243966ecb05a88f3e7873c845d9a6108f381611400565b680270801d946c94000068ffffffffffffffffff168268ffffffffffffffffff16111561096257680270801d946c940000826040517f5da3b26b000000000000000000000000000000000000000000000000000000008152600401610959929190613255565b60405180910390fd5b7f0561b13cd1b0aa6506c6174122e7c5b90ed9b63bd2c0d4a5a664cd91d8ca7499600b5f9054906101000a900468ffffffffffffffffff16836040516109a9929190613255565b60405180910390a181600b5f6101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff1602179055505050565b5f600254905090565b5f5f6109f26113e7565b90506109ff858285611420565b610a0a8585856114b2565b60019150509392505050565b5f60085f8381526020019081526020015f20600101549050919050565b5f5f1b8203610a6e576040517f3fc3c27a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a7882826115a2565b5050565b6b204fce5e3e2502611000000081565b5f6012905090565b5f610a9d6115c4565b905090565b5f5f1b82148015610ae55750610ab6610de5565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610ba6575f5f610af46110e2565b915091505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580610b395750610b378161167a565b155b80610b4a5750610b488161168e565b155b15610b8c57806040517f19ca5ebb000000000000000000000000000000000000000000000000000000008152600401610b839190612aea565b60405180910390fd5b600960146101000a81549065ffffffffffff021916905550505b610bb082826116a1565b5050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610bde81611400565b5f600c5442610bed91906132a9565b90505f600b5f9054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1682610c1d91906132dc565b905080841115610c665780846040517f5bdd08f5000000000000000000000000000000000000000000000000000000008152600401610c5d92919061331d565b60405180910390fd5b42600c81905550610c77858561171c565b5050505050565b610c8f610c896113e7565b8261179b565b50565b600c5481565b5f5f1b610ca481611400565b610cad8261181a565b5050565b5f5f1b610cbd81611400565b610cc682611894565b5050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d2182610d1b6113e7565b83611420565b610d2b828261179b565b5050565b5f610d39826118fa565b9050919050565b5f6060805f5f5f6060610d5161190b565b610d59611946565b46305f5f1b5f67ffffffffffffffff811115610d7857610d77613344565b5b604051908082528060200260200182016040528015610da65781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f610e16610de5565b905090565b7f027f9f680a0c6704fd9796b55c67fe885252243966ecb05a88f3e7873c845d9a81565b600b5f9054906101000a900468ffffffffffffffffff1681565b5f60085f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060048054610ecc90613225565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef890613225565b8015610f435780601f10610f1a57610100808354040283529160200191610f43565b820191905f5260205f20905b815481529060010190602001808311610f2657829003601f168201915b5050505050905090565b5f5f600a601a9054906101000a900465ffffffffffff169050610f6f8161167a565b8015610f815750610f7f8161168e565b155b610f8c575f5f610fa3565b600a60149054906101000a900465ffffffffffff16815b915091509091565b5f5f1b81565b5f5f610fbb6113e7565b9050610fc88185856114b2565b600191505092915050565b680270801d946c94000081565b5f5f600a601a9054906101000a900465ffffffffffff1690506110028161167a565b801561101357506110128161168e565b5b611031576009601a9054906101000a900465ffffffffffff16611047565b600a60149054906101000a900465ffffffffffff165b91505090565b5f6110566110e2565b5090508073ffffffffffffffffffffffffffffffffffffffff166110786113e7565b73ffffffffffffffffffffffffffffffffffffffff16146110d75761109b6113e7565b6040517fc22c80220000000000000000000000000000000000000000000000000000000081526004016110ce9190613064565b60405180910390fd5b6110df611981565b50565b5f5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600960149054906101000a900465ffffffffffff16915091509091565b8342111561116857836040517f6279130200000000000000000000000000000000000000000000000000000000815260040161115f9190612cd6565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886111968c611a4c565b896040516020016111ac96959493929190613371565b6040516020818303038152906040528051906020012090505f6111ce82611a9f565b90505f6111dd82878787611ab8565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461125157808a6040517f4b800e460000000000000000000000000000000000000000000000000000000081526004016112489291906133d0565b60405180910390fd5b61125c8a8a8a6113ee565b50505050505050505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b5f5f1b82036112c7576040517f3fc3c27a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112d18282611ae6565b5050565b5f5f1b6112e181611400565b6112e9611b08565b50565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806113e057506113df82611b14565b5b9050919050565b5f33905090565b6113fb8383836001611b7d565b505050565b6114118161140c6113e7565b611d4c565b50565b61141e5f5f611d9d565b565b5f61142b84846112ec565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146114ac578181101561149d578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401611494939291906133f7565b60405180910390fd5b6114ab84848484035f611b7d565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611522575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016115199190613064565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611592575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016115899190613064565b60405180910390fd5b61159d838383611e8c565b505050565b6115ab82610a16565b6115b481611400565b6115be83836120a5565b50505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561163f57507f000000000000000000000000000000000000000000000000000000000000000046145b1561166c577f00000000000000000000000000000000000000000000000000000000000000009050611677565b61167461216e565b90505b90565b5f5f8265ffffffffffff1614159050919050565b5f428265ffffffffffff16109050919050565b6116a96113e7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461170d576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117178282612203565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361178c575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016117839190613064565b60405180910390fd5b6117975f8383611e8c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361180b575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016118029190613064565b60405180910390fd5b611816825f83611e8c565b5050565b5f611823610fe0565b61182c42612283565b611836919061342c565b905061184282826122dc565b8173ffffffffffffffffffffffffffffffffffffffff167f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed6826040516118889190612aea565b60405180910390a25050565b5f61189e8261238d565b6118a742612283565b6118b1919061342c565b90506118bd8282611d9d565b7ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b82826040516118ee9291906130a5565b60405180910390a15050565b5f611904826123eb565b9050919050565b606061194160057f000000000000000000000000000000000000000000000000000000000000000061243190919063ffffffff16565b905090565b606061197c60067f000000000000000000000000000000000000000000000000000000000000000061243190919063ffffffff16565b905090565b5f5f61198b6110e2565b915091506119988161167a565b15806119aa57506119a88161168e565b155b156119ec57806040517f19ca5ebb0000000000000000000000000000000000000000000000000000000081526004016119e39190612aea565b60405180910390fd5b6119ff5f5f1b6119fa610de5565b612203565b50611a0c5f5f1b836120a5565b5060095f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600960146101000a81549065ffffffffffff02191690555050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f611ab1611aab6115c4565b836124de565b9050919050565b5f5f5f5f611ac88888888861251e565b925092509250611ad88282612605565b829350505050949350505050565b611aef82610a16565b611af881611400565b611b028383612203565b50505050565b611b125f5f6122dc565b565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611bed575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611be49190613064565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c5d575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611c549190613064565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611d46578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611d3d9190612cd6565b60405180910390a35b50505050565b611d568282610e59565b611d995780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401611d90929190613465565b60405180910390fd5b5050565b5f600a601a9054906101000a900465ffffffffffff169050611dbe8161167a565b15611e3d57611dcc8161168e565b15611e0f57600a60149054906101000a900465ffffffffffff166009601a6101000a81548165ffffffffffff021916908365ffffffffffff160217905550611e3c565b7f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec560405160405180910390a15b5b82600a60146101000a81548165ffffffffffff021916908365ffffffffffff16021790555081600a601a6101000a81548165ffffffffffff021916908365ffffffffffff160217905550505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611edc578060025f828254611ed0919061348c565b92505081905550611faa565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611f65578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611f5c939291906133f7565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ff1578060025f828254039250508190555061203b565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120989190612cd6565b60405180910390a3505050565b5f5f5f1b830361215c575f73ffffffffffffffffffffffffffffffffffffffff166120ce610de5565b73ffffffffffffffffffffffffffffffffffffffff161461211b576040517f3fc3c27a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6121668383612767565b905092915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000046306040516020016121e89594939291906134bf565b60405160208183030381529060405280519060200120905090565b5f5f5f1b831480156122475750612218610de5565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561227157600a5f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b61227b8383612851565b905092915050565b5f65ffffffffffff80168211156122d4576030826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016122cb929190613552565b60405180910390fd5b819050919050565b5f6122e56110e2565b9150508260095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600960146101000a81548165ffffffffffff021916908365ffffffffffff1602179055506123568161167a565b15612388577f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a960510960405160405180910390a15b505050565b5f5f612397610fe0565b90508065ffffffffffff168365ffffffffffff16116123c15782816123bc9190613579565b6123e3565b6123e28365ffffffffffff166123d56107f6565b65ffffffffffff1661293b565b5b915050919050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b606060ff5f1b831461244d5761244683612953565b90506124d8565b81805461245990613225565b80601f016020809104026020016040519081016040528092919081815260200182805461248590613225565b80156124d05780601f106124a7576101008083540402835291602001916124d0565b820191905f5260205f20905b8154815290600101906020018083116124b357829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c111561255a575f6003859250925092506125fb565b5f6001888888886040515f815260200160405260405161257d94939291906135b2565b6020604051602081039080840390855afa15801561259d573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036125ee575f60015f5f1b935093509350506125fb565b805f5f5f1b935093509350505b9450945094915050565b5f6003811115612618576126176135f5565b5b82600381111561262b5761262a6135f5565b5b03156127635760016003811115612645576126446135f5565b5b826003811115612658576126576135f5565b5b0361268f576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156126a3576126a26135f5565b5b8260038111156126b6576126b56135f5565b5b036126fa57805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016126f19190612cd6565b60405180910390fd5b60038081111561270d5761270c6135f5565b5b8260038111156127205761271f6135f5565b5b0361276257806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016127599190612dac565b60405180910390fd5b5b5050565b5f6127728383610e59565b61284757600160085f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506127e46113e7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905061284b565b5f90505b92915050565b5f61285c8383610e59565b15612931575f60085f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506128ce6113e7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050612935565b5f90505b92915050565b5f818310612949578161294b565b825b905092915050565b60605f61295f836129c5565b90505f602067ffffffffffffffff81111561297d5761297c613344565b5b6040519080825280601f01601f1916602001820160405280156129af5781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f5f60ff835f1c169050601f811115612a0a576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612a4b81612a17565b8114612a55575f5ffd5b50565b5f81359050612a6681612a42565b92915050565b5f60208284031215612a8157612a80612a13565b5b5f612a8e84828501612a58565b91505092915050565b5f8115159050919050565b612aab81612a97565b82525050565b5f602082019050612ac45f830184612aa2565b92915050565b5f65ffffffffffff82169050919050565b612ae481612aca565b82525050565b5f602082019050612afd5f830184612adb565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612b4582612b03565b612b4f8185612b0d565b9350612b5f818560208601612b1d565b612b6881612b2b565b840191505092915050565b5f6020820190508181035f830152612b8b8184612b3b565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612bbc82612b93565b9050919050565b612bcc81612bb2565b8114612bd6575f5ffd5b50565b5f81359050612be781612bc3565b92915050565b5f819050919050565b612bff81612bed565b8114612c09575f5ffd5b50565b5f81359050612c1a81612bf6565b92915050565b5f5f60408385031215612c3657612c35612a13565b5b5f612c4385828601612bd9565b9250506020612c5485828601612c0c565b9150509250929050565b5f68ffffffffffffffffff82169050919050565b612c7b81612c5e565b8114612c85575f5ffd5b50565b5f81359050612c9681612c72565b92915050565b5f60208284031215612cb157612cb0612a13565b5b5f612cbe84828501612c88565b91505092915050565b612cd081612bed565b82525050565b5f602082019050612ce95f830184612cc7565b92915050565b5f5f5f60608486031215612d0657612d05612a13565b5b5f612d1386828701612bd9565b9350506020612d2486828701612bd9565b9250506040612d3586828701612c0c565b9150509250925092565b5f819050919050565b612d5181612d3f565b8114612d5b575f5ffd5b50565b5f81359050612d6c81612d48565b92915050565b5f60208284031215612d8757612d86612a13565b5b5f612d9484828501612d5e565b91505092915050565b612da681612d3f565b82525050565b5f602082019050612dbf5f830184612d9d565b92915050565b5f5f60408385031215612ddb57612dda612a13565b5b5f612de885828601612d5e565b9250506020612df985828601612bd9565b9150509250929050565b5f60ff82169050919050565b612e1881612e03565b82525050565b5f602082019050612e315f830184612e0f565b92915050565b5f60208284031215612e4c57612e4b612a13565b5b5f612e5984828501612c0c565b91505092915050565b5f60208284031215612e7757612e76612a13565b5b5f612e8484828501612bd9565b91505092915050565b612e9681612aca565b8114612ea0575f5ffd5b50565b5f81359050612eb181612e8d565b92915050565b5f60208284031215612ecc57612ecb612a13565b5b5f612ed984828501612ea3565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612f1681612ee2565b82525050565b612f2581612bb2565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f5d81612bed565b82525050565b5f612f6e8383612f54565b60208301905092915050565b5f602082019050919050565b5f612f9082612f2b565b612f9a8185612f35565b9350612fa583612f45565b805f5b83811015612fd5578151612fbc8882612f63565b9750612fc783612f7a565b925050600181019050612fa8565b5085935050505092915050565b5f60e082019050612ff55f83018a612f0d565b81810360208301526130078189612b3b565b9050818103604083015261301b8188612b3b565b905061302a6060830187612cc7565b6130376080830186612f1c565b61304460a0830185612d9d565b81810360c08301526130568184612f86565b905098975050505050505050565b5f6020820190506130775f830184612f1c565b92915050565b61308681612c5e565b82525050565b5f60208201905061309f5f83018461307d565b92915050565b5f6040820190506130b85f830185612adb565b6130c56020830184612adb565b9392505050565b5f6040820190506130df5f830185612f1c565b6130ec6020830184612adb565b9392505050565b6130fc81612e03565b8114613106575f5ffd5b50565b5f81359050613117816130f3565b92915050565b5f5f5f5f5f5f5f60e0888a03121561313857613137612a13565b5b5f6131458a828b01612bd9565b97505060206131568a828b01612bd9565b96505060406131678a828b01612c0c565b95505060606131788a828b01612c0c565b94505060806131898a828b01613109565b93505060a061319a8a828b01612d5e565b92505060c06131ab8a828b01612d5e565b91505092959891949750929550565b5f5f604083850312156131d0576131cf612a13565b5b5f6131dd85828601612bd9565b92505060206131ee85828601612bd9565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061323c57607f821691505b60208210810361324f5761324e6131f8565b5b50919050565b5f6040820190506132685f83018561307d565b613275602083018461307d565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6132b382612bed565b91506132be83612bed565b92508282039050818111156132d6576132d561327c565b5b92915050565b5f6132e682612bed565b91506132f183612bed565b92508282026132ff81612bed565b915082820484148315176133165761331561327c565b5b5092915050565b5f6040820190506133305f830185612cc7565b61333d6020830184612cc7565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f60c0820190506133845f830189612d9d565b6133916020830188612f1c565b61339e6040830187612f1c565b6133ab6060830186612cc7565b6133b86080830185612cc7565b6133c560a0830184612cc7565b979650505050505050565b5f6040820190506133e35f830185612f1c565b6133f06020830184612f1c565b9392505050565b5f60608201905061340a5f830186612f1c565b6134176020830185612cc7565b6134246040830184612cc7565b949350505050565b5f61343682612aca565b915061344183612aca565b9250828201905065ffffffffffff81111561345f5761345e61327c565b5b92915050565b5f6040820190506134785f830185612f1c565b6134856020830184612d9d565b9392505050565b5f61349682612bed565b91506134a183612bed565b92508282019050808211156134b9576134b861327c565b5b92915050565b5f60a0820190506134d25f830188612d9d565b6134df6020830187612d9d565b6134ec6040830186612d9d565b6134f96060830185612cc7565b6135066080830184612f1c565b9695505050505050565b5f819050919050565b5f819050919050565b5f61353c61353761353284613510565b613519565b612e03565b9050919050565b61354c81613522565b82525050565b5f6040820190506135655f830185613543565b6135726020830184612cc7565b9392505050565b5f61358382612aca565b915061358e83612aca565b9250828203905065ffffffffffff8111156135ac576135ab61327c565b5b92915050565b5f6080820190506135c55f830187612d9d565b6135d26020830186612e0f565b6135df6040830185612d9d565b6135ec6060830184612d9d565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea264697066735822122014a8769967290710f4579c0ec38d5765be1972bada102fd6d77a2ab1f0eebd1864736f6c634300081b003300000000000000000000000013966c62f23c79f7b27cfbd90f427c4ace575dbb000000000000000000000000130d1ead4a710ff498431163ce82fd82f65726f2
0x00000000000000000000000013966c62f23c79f7b27cfbd90f427c4ace575dbb000000000000000000000000130d1ead4a710ff498431163ce82fd82f65726f2
----Decoded View------------Arg [0] : initialMintDestination (address): 0x13966c62F23c79f7B27cFBd90f427C4ACe575DbbArg [1] : initialDefaultAdmin (address): 0x130D1eAD4A710ff498431163ce82Fd82F65726F2
----Encoded View------------Arg [0] : 0x00000000000000000000000013966c62f23c79f7b27cfbd90f427c4ace575dbbArg [1] : 0x000000000000000000000000130d1ead4a710ff498431163ce82fd82f65726f2