[ { "inputs": [ { "internalType": "string", "name": "baseUri", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ERC721EnumerableForbiddenBatchMint", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721IncorrectOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721InsufficientApproval", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC721InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC721InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721InvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC721InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC721InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721NonexistentToken", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "ERC721OutOfBoundsIndex", "type": "error" }, { "inputs": [], "name": "EnforcedPause", "type": "error" }, { "inputs": [], "name": "ExpectedPause", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "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": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "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": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" } ], "name": "safeMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "safeMintBatch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "baseUri", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "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": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "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" } ]
608060405234801562000010575f80fd5b506040516200496e3803806200496e833981810160405281019062000036919062001514565b336040518060400160405280600481526020017f584b6579000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f584b657900000000000000000000000000000000000000000000000000000000815250815f9081620000b391906200179a565b508060019081620000c591906200179a565b5050505f600a5f6101000a81548160ff0219169083151502179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000154575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200014b9190620018c1565b60405180910390fd5b62000165816200019260201b60201c565b5080600c90816200017791906200179a565b506200018b33600a6200025760201b60201c565b5062001b76565b5f600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002676200029660201b60201c565b5f5b81811015620002915762000283836200033860201b60201c565b808060010191505062000269565b505050565b620002a66200037960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620002cc6200038060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200033657620002f86200037960201b60201c565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016200032d9190620018c1565b60405180910390fd5b565b620003486200029660201b60201c565b5f600b5f8154809291906200035d9062001909565b919050559050620003758282620003a960201b60201c565b5050565b5f33905090565b5f600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003ca828260405180602001604052805f815250620003ce60201b60201c565b5050565b620003e08383620003f960201b60201c565b620003f45f848484620004fa60201b60201c565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200046c575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401620004639190620018c1565b60405180910390fd5b5f6200048083835f620006c360201b60201c565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620004f5575f6040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600401620004ec9190620018c1565b60405180910390fd5b505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115620006bd578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02620005466200037960201b60201c565b8685856040518563ffffffff1660e01b81526004016200056a9493929190620019c0565b6020604051808303815f875af1925050508015620005a857506040513d601f19601f82011682018060405250810190620005a5919062001a6c565b60015b6200062f573d805f8114620005d9576040519150601f19603f3d011682016040523d82523d5f602084013e620005de565b606091505b505f8151036200062757836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016200061e9190620018c1565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614620006bb57836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401620006b29190620018c1565b60405180910390fd5b505b50505050565b5f620006d7848484620006e060201b60201c565b90509392505050565b5f620006f16200070d60201b60201c565b620007048484846200075760201b60201c565b90509392505050565b6200071d6200089f60201b60201c565b1562000755576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f806200076c858585620008b460201b60201c565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620007b957620007b38462000ada60201b60201c565b62000801565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146200080057620007ff818562000b1e60201b60201c565b5b5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036200084c57620008468462000c7160201b60201c565b62000894565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620008935762000892858562000d3c60201b60201c565b5b5b809150509392505050565b5f600a5f9054906101000a900460ff16905090565b5f80620008c78462000dca60201b60201c565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000911576200091081848662000e0360201b60201c565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620009a557620009595f855f8062000ed460201b60201c565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161462000a2557600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b60088054905060095f8381526020019081526020015f2081905550600881908060018154018082558091505060019003905f5260205f20015f909190919091505550565b5f62000b3083620010ab60201b60201c565b90505f60075f8481526020019081526020015f2054905081811462000c08575f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205490508060065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f20819055508160075f8381526020019081526020015f2081905550505b60075f8481526020019081526020015f205f905560065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205f905550505050565b5f600160088054905062000c86919062001a9c565b90505f60095f8481526020019081526020015f205490505f6008838154811062000cb55762000cb462001ad6565b5b905f5260205f2001549050806008838154811062000cd85762000cd762001ad6565b5b905f5260205f2001819055508160095f8381526020019081526020015f208190555060095f8581526020019081526020015f205f9055600880548062000d235762000d2262001b03565b5b600190038181905f5260205f20015f9055905550505050565b5f600162000d5084620010ab60201b60201c565b62000d5c919062001a9c565b90508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20819055508060075f8481526020019081526020015f2081905550505050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b62000e168383836200116460201b60201c565b62000ecf575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000e8e57806040517f7e27328900000000000000000000000000000000000000000000000000000000815260040162000e85919062001b30565b60405180910390fd5b81816040517f177e802f00000000000000000000000000000000000000000000000000000000815260040162000ec692919062001b4b565b60405180910390fd5b505050565b808062000f0d57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1562001056575f62000f25846200123760201b60201c565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000f9057508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801562000fac575062000faa8184620012c860201b60201c565b155b1562000ff157826040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815260040162000fe89190620018c1565b60405180910390fd5b81156200105457838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200111f575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401620011169190620018c1565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156200122e57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480620011e65750620011e58484620012c860201b60201c565b5b806200122d57508273ffffffffffffffffffffffffffffffffffffffff1662001215836200135660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f806200124a8362000dca60201b60201c565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620012bf57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401620012b6919062001b30565b60405180910390fd5b80915050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620013f082620013a8565b810181811067ffffffffffffffff82111715620014125762001411620013b8565b5b80604052505050565b5f620014266200138f565b9050620014348282620013e5565b919050565b5f67ffffffffffffffff821115620014565762001455620013b8565b5b6200146182620013a8565b9050602081019050919050565b5f5b838110156200148d57808201518184015260208101905062001470565b5f8484015250505050565b5f620014ae620014a88462001439565b6200141b565b905082815260208101848484011115620014cd57620014cc620013a4565b5b620014da8482856200146e565b509392505050565b5f82601f830112620014f957620014f8620013a0565b5b81516200150b84826020860162001498565b91505092915050565b5f602082840312156200152c576200152b62001398565b5b5f82015167ffffffffffffffff8111156200154c576200154b6200139c565b5b6200155a84828501620014e2565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620015b257607f821691505b602082108103620015c857620015c76200156d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200162c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620015ef565b620016388683620015ef565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620016826200167c620016768462001650565b62001659565b62001650565b9050919050565b5f819050919050565b6200169d8362001662565b620016b5620016ac8262001689565b848454620015fb565b825550505050565b5f90565b620016cb620016bd565b620016d881848462001692565b505050565b5b81811015620016ff57620016f35f82620016c1565b600181019050620016de565b5050565b601f8211156200174e576200171881620015ce565b6200172384620015e0565b8101602085101562001733578190505b6200174b6200174285620015e0565b830182620016dd565b50505b505050565b5f82821c905092915050565b5f620017705f198460080262001753565b1980831691505092915050565b5f6200178a83836200175f565b9150826002028217905092915050565b620017a58262001563565b67ffffffffffffffff811115620017c157620017c0620013b8565b5b620017cd82546200159a565b620017da82828562001703565b5f60209050601f83116001811462001810575f8415620017fb578287015190505b6200180785826200177d565b86555062001876565b601f1984166200182086620015ce565b5f5b82811015620018495784890151825560018201915060208501945060208101905062001822565b8683101562001869578489015162001865601f8916826200175f565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620018a9826200187e565b9050919050565b620018bb816200189d565b82525050565b5f602082019050620018d65f830184620018b0565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620019158262001650565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036200194a5762001949620018dc565b5b600182019050919050565b620019608162001650565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f6200198c8262001966565b62001998818562001970565b9350620019aa8185602086016200146e565b620019b581620013a8565b840191505092915050565b5f608082019050620019d55f830187620018b0565b620019e46020830186620018b0565b620019f3604083018562001955565b818103606083015262001a07818462001980565b905095945050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62001a488162001a12565b811462001a53575f80fd5b50565b5f8151905062001a668162001a3d565b92915050565b5f6020828403121562001a845762001a8362001398565b5b5f62001a938482850162001a56565b91505092915050565b5f62001aa88262001650565b915062001ab58362001650565b925082820390508181111562001ad05762001acf620018dc565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f60208201905062001b455f83018462001955565b92915050565b5f60408201905062001b605f830185620018b0565b62001b6f602083018462001955565b9392505050565b612dea8062001b845f395ff3fe608060405234801561000f575f80fd5b506004361061018c575f3560e01c806355f804b3116100dc5780638da5cb5b11610095578063b88d4fde1161006f578063b88d4fde14610444578063c87b56dd14610460578063e985e9c514610490578063f2fde38b146104c05761018c565b80638da5cb5b146103ec57806395d89b411461040a578063a22cb465146104285761018c565b806355f804b31461033e5780635c975abb1461035a5780636352211e1461037857806370a08231146103a8578063715018a6146103d85780638456cb59146103e25761018c565b80632f745c591161014957806342842e0e1161012357806342842e0e146102ba57806342966c68146102d65780634bc96248146102f25780634f6ccce71461030e5761018c565b80632f745c59146102645780633f4ba83a1461029457806340d097c31461029e5761018c565b806301ffc9a71461019057806306fdde03146101c0578063081812fc146101de578063095ea7b31461020e57806318160ddd1461022a57806323b872dd14610248575b5f80fd5b6101aa60048036038101906101a59190612229565b6104dc565b6040516101b7919061226e565b60405180910390f35b6101c86104ed565b6040516101d59190612311565b60405180910390f35b6101f860048036038101906101f39190612364565b61057c565b60405161020591906123ce565b60405180910390f35b61022860048036038101906102239190612411565b610597565b005b6102326105ad565b60405161023f919061245e565b60405180910390f35b610262600480360381019061025d9190612477565b6105b9565b005b61027e60048036038101906102799190612411565b6106b8565b60405161028b919061245e565b60405180910390f35b61029c61075c565b005b6102b860048036038101906102b391906124c7565b61076e565b005b6102d460048036038101906102cf9190612477565b61079d565b005b6102f060048036038101906102eb9190612364565b6107bc565b005b61030c60048036038101906103079190612411565b6107d2565b005b61032860048036038101906103239190612364565b6107ff565b604051610335919061245e565b60405180910390f35b6103586004803603810190610353919061261e565b610871565b005b61036261088c565b60405161036f919061226e565b60405180910390f35b610392600480360381019061038d9190612364565b6108a1565b60405161039f91906123ce565b60405180910390f35b6103c260048036038101906103bd91906124c7565b6108b2565b6040516103cf919061245e565b60405180910390f35b6103e0610968565b005b6103ea61097b565b005b6103f461098d565b60405161040191906123ce565b60405180910390f35b6104126109b6565b60405161041f9190612311565b60405180910390f35b610442600480360381019061043d919061268f565b610a46565b005b61045e6004803603810190610459919061276b565b610a5c565b005b61047a60048036038101906104759190612364565b610a79565b6040516104879190612311565b60405180910390f35b6104aa60048036038101906104a591906127eb565b610a8b565b6040516104b7919061226e565b60405180910390f35b6104da60048036038101906104d591906124c7565b610b19565b005b5f6104e682610b9d565b9050919050565b60605f80546104fb90612856565b80601f016020809104026020016040519081016040528092919081815260200182805461052790612856565b80156105725780601f1061054957610100808354040283529160200191610572565b820191905f5260205f20905b81548152906001019060200180831161055557829003601f168201915b5050505050905090565b5f61058682610c16565b5061059082610c9c565b9050919050565b6105a982826105a4610cd5565b610cdc565b5050565b5f600880549050905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610629575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161062091906123ce565b60405180910390fd5b5f61063c8383610637610cd5565b610cee565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146106b2578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016106a993929190612886565b60405180910390fd5b50505050565b5f6106c2836108b2565b82106107075782826040517fa57d13dc0000000000000000000000000000000000000000000000000000000081526004016106fe9291906128bb565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b610764610d03565b61076c610d8a565b565b610776610d03565b5f600b5f8154809291906107899061290f565b9190505590506107998282610deb565b5050565b6107b783838360405180602001604052805f815250610a5c565b505050565b6107ce5f826107c9610cd5565b610cee565b5050565b6107da610d03565b5f5b818110156107fa576107ed8361076e565b80806001019150506107dc565b505050565b5f6108086105ad565b821061084d575f826040517fa57d13dc0000000000000000000000000000000000000000000000000000000081526004016108449291906128bb565b60405180910390fd5b6008828154811061086157610860612956565b5b905f5260205f2001549050919050565b610879610d03565b80600c90816108889190612b20565b5050565b5f600a5f9054906101000a900460ff16905090565b5f6108ab82610c16565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610923575f6040517f89c62b6400000000000000000000000000000000000000000000000000000000815260040161091a91906123ce565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610970610d03565b6109795f610e08565b565b610983610d03565b61098b610ecd565b565b5f600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546109c590612856565b80601f01602080910402602001604051908101604052809291908181526020018280546109f190612856565b8015610a3c5780601f10610a1357610100808354040283529160200191610a3c565b820191905f5260205f20905b815481529060010190602001808311610a1f57829003601f168201915b5050505050905090565b610a58610a51610cd5565b8383610f2f565b5050565b610a678484846105b9565b610a7384848484611098565b50505050565b6060610a848261124a565b9050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b610b21610d03565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b91575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610b8891906123ce565b60405180910390fd5b610b9a81610e08565b50565b5f7f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610c0f5750610c0e826112b0565b5b9050919050565b5f80610c2183611391565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c9357826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610c8a919061245e565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610ce983838360016113ca565b505050565b5f610cfa848484611589565b90509392505050565b610d0b610cd5565b73ffffffffffffffffffffffffffffffffffffffff16610d2961098d565b73ffffffffffffffffffffffffffffffffffffffff1614610d8857610d4c610cd5565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610d7f91906123ce565b60405180910390fd5b565b610d926115a6565b5f600a5f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610dd4610cd5565b604051610de191906123ce565b60405180910390a1565b610e04828260405180602001604052805f8152506115e6565b5050565b5f600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610ed5611601565b6001600a5f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f18610cd5565b604051610f2591906123ce565b60405180910390a1565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f9f57816040517f5b08ba18000000000000000000000000000000000000000000000000000000008152600401610f9691906123ce565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161108b919061226e565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115611244578273ffffffffffffffffffffffffffffffffffffffff1663150b7a026110db610cd5565b8685856040518563ffffffff1660e01b81526004016110fd9493929190612c41565b6020604051808303815f875af192505050801561113857506040513d601f19601f820116820180604052508101906111359190612c9f565b60015b6111b9573d805f8114611166576040519150601f19603f3d011682016040523d82523d5f602084013e61116b565b606091505b505f8151036111b157836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016111a891906123ce565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461124257836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161123991906123ce565b60405180910390fd5b505b50505050565b606061125582610c16565b505f61125f611642565b90505f81511161127d5760405180602001604052805f8152506112a8565b80611287846116d2565b604051602001611298929190612d04565b6040516020818303038152906040525b915050919050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061137a57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061138a57506113898261179c565b5b9050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061140257505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611534575f61141184610c16565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561147b57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561148e575061148c8184610a8b565b155b156114d057826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016114c791906123ce565b60405180910390fd5b811561153257838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b5f611592611601565b61159d848484611805565b90509392505050565b6115ae61088c565b6115e4576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6115f0838361191f565b6115fc5f848484611098565b505050565b61160961088c565b15611640576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6060600c805461165190612856565b80601f016020809104026020016040519081016040528092919081815260200182805461167d90612856565b80156116c85780601f1061169f576101008083540402835291602001916116c8565b820191905f5260205f20905b8154815290600101906020018083116116ab57829003601f168201915b5050505050905090565b60605f60016116e084611a12565b0190505f8167ffffffffffffffff8111156116fe576116fd6124fa565b5b6040519080825280601f01601f1916602001820160405280156117305781602001600182028036833780820191505090505b5090505f82602001820190505b600115611791578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161178657611785612d27565b5b0494505f850361173d575b819350505050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f80611812858585611b63565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118555761185084611d6e565b611894565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611893576118928185611db2565b5b5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036118d5576118d084611efc565b611914565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611913576119128585611fbc565b5b5b809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361198f575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161198691906123ce565b60405180910390fd5b5f61199b83835f610cee565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611a0d575f6040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600401611a0491906123ce565b60405180910390fd5b505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611a6e577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611a6457611a63612d27565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611aab576d04ee2d6d415b85acef81000000008381611aa157611aa0612d27565b5b0492506020810190505b662386f26fc100008310611ada57662386f26fc100008381611ad057611acf612d27565b5b0492506010810190505b6305f5e1008310611b03576305f5e1008381611af957611af8612d27565b5b0492506008810190505b6127108310611b28576127108381611b1e57611b1d612d27565b5b0492506004810190505b60648310611b4b5760648381611b4157611b40612d27565b5b0492506002810190505b600a8310611b5a576001810190505b80915050919050565b5f80611b6e84611391565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611baf57611bae818486612040565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611c3a57611bee5f855f806113ca565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611cb957600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b60088054905060095f8381526020019081526020015f2081905550600881908060018154018082558091505060019003905f5260205f20015f909190919091505550565b5f611dbc836108b2565b90505f60075f8481526020019081526020015f20549050818114611e93575f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205490508060065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f20819055508160075f8381526020019081526020015f2081905550505b60075f8481526020019081526020015f205f905560065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205f905550505050565b5f6001600880549050611f0f9190612d54565b90505f60095f8481526020019081526020015f205490505f60088381548110611f3b57611f3a612956565b5b905f5260205f20015490508060088381548110611f5b57611f5a612956565b5b905f5260205f2001819055508160095f8381526020019081526020015f208190555060095f8581526020019081526020015f205f90556008805480611fa357611fa2612d87565b5b600190038181905f5260205f20015f9055905550505050565b5f6001611fc8846108b2565b611fd29190612d54565b90508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20819055508060075f8481526020019081526020015f2081905550505050565b61204b838383612103565b6120fe575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120bf57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016120b6919061245e565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016120f59291906128bb565b60405180910390fd5b505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121ba57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061217b575061217a8484610a8b565b5b806121b957508273ffffffffffffffffffffffffffffffffffffffff166121a183610c9c565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612208816121d4565b8114612212575f80fd5b50565b5f81359050612223816121ff565b92915050565b5f6020828403121561223e5761223d6121cc565b5b5f61224b84828501612215565b91505092915050565b5f8115159050919050565b61226881612254565b82525050565b5f6020820190506122815f83018461225f565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122be5780820151818401526020810190506122a3565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122e382612287565b6122ed8185612291565b93506122fd8185602086016122a1565b612306816122c9565b840191505092915050565b5f6020820190508181035f83015261232981846122d9565b905092915050565b5f819050919050565b61234381612331565b811461234d575f80fd5b50565b5f8135905061235e8161233a565b92915050565b5f60208284031215612379576123786121cc565b5b5f61238684828501612350565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123b88261238f565b9050919050565b6123c8816123ae565b82525050565b5f6020820190506123e15f8301846123bf565b92915050565b6123f0816123ae565b81146123fa575f80fd5b50565b5f8135905061240b816123e7565b92915050565b5f8060408385031215612427576124266121cc565b5b5f612434858286016123fd565b925050602061244585828601612350565b9150509250929050565b61245881612331565b82525050565b5f6020820190506124715f83018461244f565b92915050565b5f805f6060848603121561248e5761248d6121cc565b5b5f61249b868287016123fd565b93505060206124ac868287016123fd565b92505060406124bd86828701612350565b9150509250925092565b5f602082840312156124dc576124db6121cc565b5b5f6124e9848285016123fd565b91505092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612530826122c9565b810181811067ffffffffffffffff8211171561254f5761254e6124fa565b5b80604052505050565b5f6125616121c3565b905061256d8282612527565b919050565b5f67ffffffffffffffff82111561258c5761258b6124fa565b5b612595826122c9565b9050602081019050919050565b828183375f83830152505050565b5f6125c26125bd84612572565b612558565b9050828152602081018484840111156125de576125dd6124f6565b5b6125e98482856125a2565b509392505050565b5f82601f830112612605576126046124f2565b5b81356126158482602086016125b0565b91505092915050565b5f60208284031215612633576126326121cc565b5b5f82013567ffffffffffffffff8111156126505761264f6121d0565b5b61265c848285016125f1565b91505092915050565b61266e81612254565b8114612678575f80fd5b50565b5f8135905061268981612665565b92915050565b5f80604083850312156126a5576126a46121cc565b5b5f6126b2858286016123fd565b92505060206126c38582860161267b565b9150509250929050565b5f67ffffffffffffffff8211156126e7576126e66124fa565b5b6126f0826122c9565b9050602081019050919050565b5f61270f61270a846126cd565b612558565b90508281526020810184848401111561272b5761272a6124f6565b5b6127368482856125a2565b509392505050565b5f82601f830112612752576127516124f2565b5b81356127628482602086016126fd565b91505092915050565b5f805f8060808587031215612783576127826121cc565b5b5f612790878288016123fd565b94505060206127a1878288016123fd565b93505060406127b287828801612350565b925050606085013567ffffffffffffffff8111156127d3576127d26121d0565b5b6127df8782880161273e565b91505092959194509250565b5f8060408385031215612801576128006121cc565b5b5f61280e858286016123fd565b925050602061281f858286016123fd565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061286d57607f821691505b6020821081036128805761287f612829565b5b50919050565b5f6060820190506128995f8301866123bf565b6128a6602083018561244f565b6128b360408301846123bf565b949350505050565b5f6040820190506128ce5f8301856123bf565b6128db602083018461244f565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61291982612331565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361294b5761294a6128e2565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026129df7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826129a4565b6129e986836129a4565b95508019841693508086168417925050509392505050565b5f819050919050565b5f612a24612a1f612a1a84612331565b612a01565b612331565b9050919050565b5f819050919050565b612a3d83612a0a565b612a51612a4982612a2b565b8484546129b0565b825550505050565b5f90565b612a65612a59565b612a70818484612a34565b505050565b5b81811015612a9357612a885f82612a5d565b600181019050612a76565b5050565b601f821115612ad857612aa981612983565b612ab284612995565b81016020851015612ac1578190505b612ad5612acd85612995565b830182612a75565b50505b505050565b5f82821c905092915050565b5f612af85f1984600802612add565b1980831691505092915050565b5f612b108383612ae9565b9150826002028217905092915050565b612b2982612287565b67ffffffffffffffff811115612b4257612b416124fa565b5b612b4c8254612856565b612b57828285612a97565b5f60209050601f831160018114612b88575f8415612b76578287015190505b612b808582612b05565b865550612be7565b601f198416612b9686612983565b5f5b82811015612bbd57848901518255600182019150602085019450602081019050612b98565b86831015612bda5784890151612bd6601f891682612ae9565b8355505b6001600288020188555050505b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f612c1382612bef565b612c1d8185612bf9565b9350612c2d8185602086016122a1565b612c36816122c9565b840191505092915050565b5f608082019050612c545f8301876123bf565b612c6160208301866123bf565b612c6e604083018561244f565b8181036060830152612c808184612c09565b905095945050505050565b5f81519050612c99816121ff565b92915050565b5f60208284031215612cb457612cb36121cc565b5b5f612cc184828501612c8b565b91505092915050565b5f81905092915050565b5f612cde82612287565b612ce88185612cca565b9350612cf88185602086016122a1565b80840191505092915050565b5f612d0f8285612cd4565b9150612d1b8284612cd4565b91508190509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d5e82612331565b9150612d6983612331565b9250828203905081811115612d8157612d806128e2565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea26469706673582212209b2319f2e5d9d70899e4eadbb3d0858f5a1f70800ba8f186ad48bb3b1887688864736f6c634300081800330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003c68747470733a2f2f633237622d38382d3233392d3133362d38362e6e67726f6b2d667265652e6170702f6170692f64756d6d796e66742f786b65792f00000000
0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003c68747470733a2f2f633237622d38382d3233392d3133362d38362e6e67726f6b2d667265652e6170702f6170692f64756d6d796e66742f786b65792f00000000
----Decoded View------------Arg [0] : baseUri (string): https://c27b-88-239-136-86.ngrok-free.app/api/dummynft/xkey/
----Encoded View------------Arg [0] : 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003c68747470733a2f2f633237622d38382d3233392d3133362d38362e6e67726f6b2d667265652e6170702f6170692f64756d6d796e66742f786b65792f00000000