ETH Price: $2,224.11 (-2.58%)

NINFA (NINFA)
 

Overview

TokenID

223

Transfers

-
1 ( 100.00%)

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume
Source Code Verified Exact Match

Contract Name

NinfaERC721

Compiler Version
v0.8.13+commit.abaa5c0e
Optimization Enabled
No with 200 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"baseTokenURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"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":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"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":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"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":[{"internalType":"bytes32","name":"_tokenURI","type":"bytes32"},{"internalType":"address","name":"_to","type":"address"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","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":"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"}]
60806040523480156200001157600080fd5b5060405162004a5b38038062004a5b83398181016040528101906200003791906200046b565b82828160029080519060200190620000519291906200021e565b5080600390805190602001906200006a9291906200021e565b50505080600c9080519060200190620000859291906200021e565b506200009b6000801b33620000a460201b60201c565b50505062000588565b620000b68282620000ba60201b60201c565b5050565b620000cc8282620001ab60201b60201c565b620001a757600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200014c6200021660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b8280546200022c9062000553565b90600052602060002090601f0160209004810192826200025057600085556200029c565b82601f106200026b57805160ff19168380011785556200029c565b828001600101855582156200029c579182015b828111156200029b5782518255916020019190600101906200027e565b5b509050620002ab9190620002af565b5090565b5b80821115620002ca576000816000905550600101620002b0565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200033782620002ec565b810181811067ffffffffffffffff82111715620003595762000358620002fd565b5b80604052505050565b60006200036e620002ce565b90506200037c82826200032c565b919050565b600067ffffffffffffffff8211156200039f576200039e620002fd565b5b620003aa82620002ec565b9050602081019050919050565b60005b83811015620003d7578082015181840152602081019050620003ba565b83811115620003e7576000848401525b50505050565b600062000404620003fe8462000381565b62000362565b905082815260208101848484011115620004235762000422620002e7565b5b62000430848285620003b7565b509392505050565b600082601f83011262000450576200044f620002e2565b5b815162000462848260208601620003ed565b91505092915050565b600080600060608486031215620004875762000486620002d8565b5b600084015167ffffffffffffffff811115620004a857620004a7620002dd565b5b620004b68682870162000438565b935050602084015167ffffffffffffffff811115620004da57620004d9620002dd565b5b620004e88682870162000438565b925050604084015167ffffffffffffffff8111156200050c576200050b620002dd565b5b6200051a8682870162000438565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200056c57607f821691505b60208210810362000582576200058162000524565b5b50919050565b6144c380620005986000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806342842e0e116100de57806395d89b4111610097578063b88d4fde11610071578063b88d4fde14610481578063c87b56dd1461049d578063d547741f146104cd578063e985e9c5146104e957610173565b806395d89b4114610429578063a217fddf14610447578063a22cb4651461046557610173565b806342842e0e146103315780634f6ccce71461034d57806355f804b31461037d5780636352211e1461039957806370a08231146103c957806391d14854146103f957610173565b8063248a9ca311610130578063248a9ca31461024c578063293c6a3a1461027c5780632a55205a146102985780632f2ff15d146102c95780632f745c59146102e557806336568abe1461031557610173565b806301ffc9a71461017857806306fdde03146101a8578063081812fc146101c6578063095ea7b3146101f657806318160ddd1461021257806323b872dd14610230575b600080fd5b610192600480360381019061018d9190612bf6565b610519565b60405161019f9190612c3e565b60405180910390f35b6101b061052b565b6040516101bd9190612cf2565b60405180910390f35b6101e060048036038101906101db9190612d4a565b6105bd565b6040516101ed9190612db8565b60405180910390f35b610210600480360381019061020b9190612dff565b610642565b005b61021a610759565b6040516102279190612e4e565b60405180910390f35b61024a60048036038101906102459190612e69565b610766565b005b61026660048036038101906102619190612ef2565b6107c6565b6040516102739190612f2e565b60405180910390f35b61029660048036038101906102919190612f49565b6107e6565b005b6102b260048036038101906102ad9190612f89565b6108dc565b6040516102c0929190612fc9565b60405180910390f35b6102e360048036038101906102de9190612f49565b61093d565b005b6102ff60048036038101906102fa9190612dff565b610966565b60405161030c9190612e4e565b60405180910390f35b61032f600480360381019061032a9190612f49565b610a0b565b005b61034b60048036038101906103469190612e69565b610a8e565b005b61036760048036038101906103629190612d4a565b610aae565b6040516103749190612e4e565b60405180910390f35b61039760048036038101906103929190613127565b610b1f565b005b6103b360048036038101906103ae9190612d4a565b610b85565b6040516103c09190612db8565b60405180910390f35b6103e360048036038101906103de9190613170565b610c36565b6040516103f09190612e4e565b60405180910390f35b610413600480360381019061040e9190612f49565b610ced565b6040516104209190612c3e565b60405180910390f35b610431610d58565b60405161043e9190612cf2565b60405180910390f35b61044f610dea565b60405161045c9190612f2e565b60405180910390f35b61047f600480360381019061047a91906131c9565b610df1565b005b61049b600480360381019061049691906132aa565b610e07565b005b6104b760048036038101906104b29190612d4a565b610e69565b6040516104c49190612cf2565b60405180910390f35b6104e760048036038101906104e29190612f49565b610f1e565b005b61050360048036038101906104fe919061332d565b610f47565b6040516105109190612c3e565b60405180910390f35b600061052482610fdb565b9050919050565b60606002805461053a9061339c565b80601f01602080910402602001604051908101604052809291908181526020018280546105669061339c565b80156105b35780601f10610588576101008083540402835291602001916105b3565b820191906000526020600020905b81548152906001019060200180831161059657829003601f168201915b5050505050905090565b60006105c882611055565b610607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fe9061343f565b60405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061064d82610b85565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b4906134d1565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166106dc6110c1565b73ffffffffffffffffffffffffffffffffffffffff16148061070b575061070a816107056110c1565b610f47565b5b61074a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074190613563565b60405180910390fd5b61075483836110c9565b505050565b6000600a80549050905090565b6107776107716110c1565b82611182565b6107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad906135f5565b60405180910390fd5b6107c1838383611260565b505050565b600060016000838152602001908152602001600020600101549050919050565b6108137f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a660001b33610ced565b610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990613661565b60405180910390fd5b8060008061085e610759565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108bb816108b6610759565b6114c6565b6108d860016108c8610759565b6108d291906136b0565b836114e4565b5050565b60008060008085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506127106103e862ffffff168461092a91906136e4565b610934919061376d565b90509250929050565b610946826107c6565b610957816109526110c1565b611548565b61096183836115e5565b505050565b600061097183610c36565b82106109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990613810565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610a136110c1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a77906138a2565b60405180910390fd5b610a8a82826116c5565b5050565b610aa983838360405180602001604052806000815250610e07565b505050565b6000610ab8610759565b8210610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af090613934565b60405180910390fd5b600a8281548110610b0d57610b0c613954565b5b90600052602060002001549050919050565b610b2c6000801b33610ced565b610b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b62906139cf565b60405180910390fd5b80600c9080519060200190610b81929190612ae7565b5050565b6000806004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2490613a61565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d90613af3565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060038054610d679061339c565b80601f0160208091040260200160405190810160405280929190818152602001828054610d939061339c565b8015610de05780601f10610db557610100808354040283529160200191610de0565b820191906000526020600020905b815481529060010190602001808311610dc357829003601f168201915b5050505050905090565b6000801b81565b610e03610dfc6110c1565b83836117a7565b5050565b610e18610e126110c1565b83611182565b610e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4e906135f5565b60405180910390fd5b610e6384848484611913565b50505050565b6060610e7482611055565b610eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaa90613b5f565b60405180910390fd5b600c610ef761122060f01b600d600086815260200190815260200160002054604051602001610ee3929190613bed565b60405160208183030381529060405261196f565b604051602001610f08929190613cff565b6040516020818303038152906040529050919050565b610f27826107c6565b610f3881610f336110c1565b611548565b610f4283836116c5565b505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061104e575061104d82611bb6565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661113c83610b85565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061118d82611055565b6111cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c390613d95565b60405180910390fd5b60006111d783610b85565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061124657508373ffffffffffffffffffffffffffffffffffffffff1661122e846105bd565b73ffffffffffffffffffffffffffffffffffffffff16145b8061125757506112568185610f47565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661128082610b85565b73ffffffffffffffffffffffffffffffffffffffff16146112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd90613e27565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133c90613eb9565b60405180910390fd5b611350838383611c98565b61135b6000826110c9565b6001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113ab91906136b0565b925050819055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114029190613ed9565b92505081905550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46114c1838383611ca8565b505050565b6114e0828260405180602001604052806000815250611cad565b5050565b6114ed82611055565b61152c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152390613b5f565b60405180910390fd5b80600d6000848152602001908152602001600020819055505050565b6115528282610ced565b6115e1576115778173ffffffffffffffffffffffffffffffffffffffff166014611d08565b6115858360001c6020611d08565b604051602001611596929190613ff8565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d89190612cf2565b60405180910390fd5b5050565b6115ef8282610ced565b6116c157600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506116666110c1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6116cf8282610ced565b156117a35760006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506117486110c1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180c9061407e565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516119069190612c3e565b60405180910390a3505050565b61191e848484611260565b61192a84848484611f44565b611969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196090614110565b60405180910390fd5b50505050565b606060008251036119cf57600067ffffffffffffffff81111561199557611994612ffc565b5b6040519080825280601f01601f1916602001820160405280156119c75781602001600182028036833780820191505090505b509050611bb1565b6000604067ffffffffffffffff8111156119ec576119eb612ffc565b5b604051908082528060200260200182016040528015611a1a5781602001602082028036833780820191505090505b509050600081600081518110611a3357611a32613954565b5b602002602001019060ff16908160ff168152505060006001905060005b8451811015611b91576000858281518110611a6e57611a6d613954565b5b602001015160f81c60f81b60f81c60ff16905060005b8360ff16811015611b1b57610100858281518110611aa557611aa4613954565b5b602002602001015160ff16611aba91906136e4565b82611ac59190613ed9565b9150603a82611ad49190614130565b858281518110611ae757611ae6613954565b5b602002602001019060ff16908160ff1681525050603a82611b08919061376d565b915080611b1490614161565b9050611a84565b505b6000811115611b7f57603a81611b339190614130565b848460ff1681518110611b4957611b48613954565b5b602002602001019060ff16908160ff16815250508280611b68906141b6565b935050603a81611b78919061376d565b9050611b1d565b5080611b8a90614161565b9050611a50565b50611bac611ba7611ba284846120cb565b61218b565b61225e565b925050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611c8157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611c915750611c9082612370565b5b9050919050565b611ca38383836123ea565b505050565b505050565b611cb783836124fc565b611cc46000848484611f44565b611d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfa90614110565b60405180910390fd5b505050565b606060006002836002611d1b91906136e4565b611d259190613ed9565b67ffffffffffffffff811115611d3e57611d3d612ffc565b5b6040519080825280601f01601f191660200182016040528015611d705781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611da857611da7613954565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611e0c57611e0b613954565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611e4c91906136e4565b611e569190613ed9565b90505b6001811115611ef6577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611e9857611e97613954565b5b1a60f81b828281518110611eaf57611eae613954565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611eef906141df565b9050611e59565b5060008414611f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3190614254565b60405180910390fd5b8091505092915050565b6000611f658473ffffffffffffffffffffffffffffffffffffffff166126d5565b156120be578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611f8e6110c1565b8786866040518563ffffffff1660e01b8152600401611fb094939291906142be565b6020604051808303816000875af1925050508015611fec57506040513d601f19601f82011682018060405250810190611fe9919061431f565b60015b61206e573d806000811461201c576040519150601f19603f3d011682016040523d82523d6000602084013e612021565b606091505b506000815103612066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205d90614110565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506120c3565b600190505b949350505050565b606060008260ff1667ffffffffffffffff8111156120ec576120eb612ffc565b5b60405190808252806020026020018201604052801561211a5781602001602082028036833780820191505090505b50905060005b8360ff168110156121805784818151811061213e5761213d613954565b5b602002602001015182828151811061215957612158613954565b5b602002602001019060ff16908160ff1681525050808061217890614161565b915050612120565b508091505092915050565b60606000825167ffffffffffffffff8111156121aa576121a9612ffc565b5b6040519080825280602002602001820160405280156121d85781602001602082028036833780820191505090505b50905060005b8351811015612254578381600186516121f791906136b0565b61220191906136b0565b8151811061221257612211613954565b5b602002602001015182828151811061222d5761222c613954565b5b602002602001019060ff16908160ff1681525050808061224c90614161565b9150506121de565b5080915050919050565b60606000825167ffffffffffffffff81111561227d5761227c612ffc565b5b6040519080825280601f01601f1916602001820160405280156122af5781602001600182028036833780820191505090505b50905060005b8351811015612366576040518060600160405280603a8152602001614454603a91398482815181106122ea576122e9613954565b5b602002602001015160ff168151811061230657612305613954565b5b602001015160f81c60f81b82828151811061232457612323613954565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061235e90614161565b9150506122b5565b5080915050919050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806123e357506123e2826126f8565b5b9050919050565b6123f5838383612772565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124375761243281612777565b612476565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146124755761247483826127c0565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124b8576124b38161292d565b6124f7565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146124f6576124f582826129fe565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361256b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256290614398565b60405180910390fd5b61257481611055565b156125b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ab90614404565b60405180910390fd5b6125c060008383611c98565b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126109190613ed9565b92505081905550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46126d160008383611ca8565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061276b575061276a82612a7d565b5b9050919050565b505050565b600a80549050600b600083815260200190815260200160002081905550600a81908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016127cd84610c36565b6127d791906136b0565b90506000600960008481526020019081526020016000205490508181146128bc576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816009600083815260200190815260200160002081905550505b6009600084815260200190815260200160002060009055600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600a8054905061294191906136b0565b90506000600b60008481526020019081526020016000205490506000600a838154811061297157612970613954565b5b9060005260206000200154905080600a838154811061299357612992613954565b5b906000526020600020018190555081600b600083815260200190815260200160002081905550600b600085815260200190815260200160002060009055600a8054806129e2576129e1614424565b5b6001900381819060005260206000200160009055905550505050565b6000612a0983610c36565b905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806009600084815260200190815260200160002081905550505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b828054612af39061339c565b90600052602060002090601f016020900481019282612b155760008555612b5c565b82601f10612b2e57805160ff1916838001178555612b5c565b82800160010185558215612b5c579182015b82811115612b5b578251825591602001919060010190612b40565b5b509050612b699190612b6d565b5090565b5b80821115612b86576000816000905550600101612b6e565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612bd381612b9e565b8114612bde57600080fd5b50565b600081359050612bf081612bca565b92915050565b600060208284031215612c0c57612c0b612b94565b5b6000612c1a84828501612be1565b91505092915050565b60008115159050919050565b612c3881612c23565b82525050565b6000602082019050612c536000830184612c2f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c93578082015181840152602081019050612c78565b83811115612ca2576000848401525b50505050565b6000601f19601f8301169050919050565b6000612cc482612c59565b612cce8185612c64565b9350612cde818560208601612c75565b612ce781612ca8565b840191505092915050565b60006020820190508181036000830152612d0c8184612cb9565b905092915050565b6000819050919050565b612d2781612d14565b8114612d3257600080fd5b50565b600081359050612d4481612d1e565b92915050565b600060208284031215612d6057612d5f612b94565b5b6000612d6e84828501612d35565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612da282612d77565b9050919050565b612db281612d97565b82525050565b6000602082019050612dcd6000830184612da9565b92915050565b612ddc81612d97565b8114612de757600080fd5b50565b600081359050612df981612dd3565b92915050565b60008060408385031215612e1657612e15612b94565b5b6000612e2485828601612dea565b9250506020612e3585828601612d35565b9150509250929050565b612e4881612d14565b82525050565b6000602082019050612e636000830184612e3f565b92915050565b600080600060608486031215612e8257612e81612b94565b5b6000612e9086828701612dea565b9350506020612ea186828701612dea565b9250506040612eb286828701612d35565b9150509250925092565b6000819050919050565b612ecf81612ebc565b8114612eda57600080fd5b50565b600081359050612eec81612ec6565b92915050565b600060208284031215612f0857612f07612b94565b5b6000612f1684828501612edd565b91505092915050565b612f2881612ebc565b82525050565b6000602082019050612f436000830184612f1f565b92915050565b60008060408385031215612f6057612f5f612b94565b5b6000612f6e85828601612edd565b9250506020612f7f85828601612dea565b9150509250929050565b60008060408385031215612fa057612f9f612b94565b5b6000612fae85828601612d35565b9250506020612fbf85828601612d35565b9150509250929050565b6000604082019050612fde6000830185612da9565b612feb6020830184612e3f565b9392505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61303482612ca8565b810181811067ffffffffffffffff8211171561305357613052612ffc565b5b80604052505050565b6000613066612b8a565b9050613072828261302b565b919050565b600067ffffffffffffffff82111561309257613091612ffc565b5b61309b82612ca8565b9050602081019050919050565b82818337600083830152505050565b60006130ca6130c584613077565b61305c565b9050828152602081018484840111156130e6576130e5612ff7565b5b6130f18482856130a8565b509392505050565b600082601f83011261310e5761310d612ff2565b5b813561311e8482602086016130b7565b91505092915050565b60006020828403121561313d5761313c612b94565b5b600082013567ffffffffffffffff81111561315b5761315a612b99565b5b613167848285016130f9565b91505092915050565b60006020828403121561318657613185612b94565b5b600061319484828501612dea565b91505092915050565b6131a681612c23565b81146131b157600080fd5b50565b6000813590506131c38161319d565b92915050565b600080604083850312156131e0576131df612b94565b5b60006131ee85828601612dea565b92505060206131ff858286016131b4565b9150509250929050565b600067ffffffffffffffff82111561322457613223612ffc565b5b61322d82612ca8565b9050602081019050919050565b600061324d61324884613209565b61305c565b90508281526020810184848401111561326957613268612ff7565b5b6132748482856130a8565b509392505050565b600082601f83011261329157613290612ff2565b5b81356132a184826020860161323a565b91505092915050565b600080600080608085870312156132c4576132c3612b94565b5b60006132d287828801612dea565b94505060206132e387828801612dea565b93505060406132f487828801612d35565b925050606085013567ffffffffffffffff81111561331557613314612b99565b5b6133218782880161327c565b91505092959194509250565b6000806040838503121561334457613343612b94565b5b600061335285828601612dea565b925050602061336385828601612dea565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806133b457607f821691505b6020821081036133c7576133c661336d565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613429602c83612c64565b9150613434826133cd565b604082019050919050565b600060208201905081810360008301526134588161341c565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006134bb602183612c64565b91506134c68261345f565b604082019050919050565b600060208201905081810360008301526134ea816134ae565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b600061354d603883612c64565b9150613558826134f1565b604082019050919050565b6000602082019050818103600083015261357c81613540565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b60006135df603183612c64565b91506135ea82613583565b604082019050919050565b6000602082019050818103600083015261360e816135d2565b9050919050565b7f4e696e66614552433732313a206d757374206265206d696e7465720000000000600082015250565b600061364b601b83612c64565b915061365682613615565b602082019050919050565b6000602082019050818103600083015261367a8161363e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006136bb82612d14565b91506136c683612d14565b9250828210156136d9576136d8613681565b5b828203905092915050565b60006136ef82612d14565b91506136fa83612d14565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561373357613732613681565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061377882612d14565b915061378383612d14565b9250826137935761379261373e565b5b828204905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006137fa602b83612c64565b91506138058261379e565b604082019050919050565b60006020820190508181036000830152613829816137ed565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061388c602f83612c64565b915061389782613830565b604082019050919050565b600060208201905081810360008301526138bb8161387f565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b600061391e602c83612c64565b9150613929826138c2565b604082019050919050565b6000602082019050818103600083015261394d81613911565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e696e66614552433732313a206d7573742062652061646d696e000000000000600082015250565b60006139b9601a83612c64565b91506139c482613983565b602082019050919050565b600060208201905081810360008301526139e8816139ac565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000613a4b602983612c64565b9150613a56826139ef565b604082019050919050565b60006020820190508181036000830152613a7a81613a3e565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000613add602a83612c64565b9150613ae882613a81565b604082019050919050565b60006020820190508181036000830152613b0c81613ad0565b9050919050565b7f4e696e66614552433732313a206e6f6e6578697374656e7420746f6b656e0000600082015250565b6000613b49601e83612c64565b9150613b5482613b13565b602082019050919050565b60006020820190508181036000830152613b7881613b3c565b9050919050565b60007fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b613bc6613bc182613b7f565b613bab565b82525050565b6000819050919050565b613be7613be282612ebc565b613bcc565b82525050565b6000613bf98285613bb5565b600282019150613c098284613bd6565b6020820191508190509392505050565b600081905092915050565b60008190508160005260206000209050919050565b60008154613c468161339c565b613c508186613c19565b94506001821660008114613c6b5760018114613c7c57613caf565b60ff19831686528186019350613caf565b613c8585613c24565b60005b83811015613ca757815481890152600182019150602081019050613c88565b838801955050505b50505092915050565b600081519050919050565b600081905092915050565b6000613cd982613cb8565b613ce38185613cc3565b9350613cf3818560208601612c75565b80840191505092915050565b6000613d0b8285613c39565b9150613d178284613cce565b91508190509392505050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613d7f602c83612c64565b9150613d8a82613d23565b604082019050919050565b60006020820190508181036000830152613dae81613d72565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613e11602583612c64565b9150613e1c82613db5565b604082019050919050565b60006020820190508181036000830152613e4081613e04565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ea3602483612c64565b9150613eae82613e47565b604082019050919050565b60006020820190508181036000830152613ed281613e96565b9050919050565b6000613ee482612d14565b9150613eef83612d14565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f2457613f23613681565b5b828201905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000613f65601783613c19565b9150613f7082613f2f565b601782019050919050565b6000613f8682612c59565b613f908185613c19565b9350613fa0818560208601612c75565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000613fe2601183613c19565b9150613fed82613fac565b601182019050919050565b600061400382613f58565b915061400f8285613f7b565b915061401a82613fd5565b91506140268284613f7b565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614068601983612c64565b915061407382614032565b602082019050919050565b600060208201905081810360008301526140978161405b565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006140fa603283612c64565b91506141058261409e565b604082019050919050565b60006020820190508181036000830152614129816140ed565b9050919050565b600061413b82612d14565b915061414683612d14565b9250826141565761415561373e565b5b828206905092915050565b600061416c82612d14565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361419e5761419d613681565b5b600182019050919050565b600060ff82169050919050565b60006141c1826141a9565b915060ff82036141d4576141d3613681565b5b600182019050919050565b60006141ea82612d14565b9150600082036141fd576141fc613681565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061423e602083612c64565b915061424982614208565b602082019050919050565b6000602082019050818103600083015261426d81614231565b9050919050565b600082825260208201905092915050565b600061429082613cb8565b61429a8185614274565b93506142aa818560208601612c75565b6142b381612ca8565b840191505092915050565b60006080820190506142d36000830187612da9565b6142e06020830186612da9565b6142ed6040830185612e3f565b81810360608301526142ff8184614285565b905095945050505050565b60008151905061431981612bca565b92915050565b60006020828403121561433557614334612b94565b5b60006143438482850161430a565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614382602083612c64565b915061438d8261434c565b602082019050919050565b600060208201905081810360008301526143b181614375565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006143ee601c83612c64565b91506143f9826143b8565b602082019050919050565b6000602082019050818103600083015261441d816143e1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212202c0141d99aafd847df83920c1691f5c79e706a328051b9a5f277d4983c8df04e64736f6c634300080d0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000054e494e464100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054e494e46410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007697066733a2f2f00000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101735760003560e01c806342842e0e116100de57806395d89b4111610097578063b88d4fde11610071578063b88d4fde14610481578063c87b56dd1461049d578063d547741f146104cd578063e985e9c5146104e957610173565b806395d89b4114610429578063a217fddf14610447578063a22cb4651461046557610173565b806342842e0e146103315780634f6ccce71461034d57806355f804b31461037d5780636352211e1461039957806370a08231146103c957806391d14854146103f957610173565b8063248a9ca311610130578063248a9ca31461024c578063293c6a3a1461027c5780632a55205a146102985780632f2ff15d146102c95780632f745c59146102e557806336568abe1461031557610173565b806301ffc9a71461017857806306fdde03146101a8578063081812fc146101c6578063095ea7b3146101f657806318160ddd1461021257806323b872dd14610230575b600080fd5b610192600480360381019061018d9190612bf6565b610519565b60405161019f9190612c3e565b60405180910390f35b6101b061052b565b6040516101bd9190612cf2565b60405180910390f35b6101e060048036038101906101db9190612d4a565b6105bd565b6040516101ed9190612db8565b60405180910390f35b610210600480360381019061020b9190612dff565b610642565b005b61021a610759565b6040516102279190612e4e565b60405180910390f35b61024a60048036038101906102459190612e69565b610766565b005b61026660048036038101906102619190612ef2565b6107c6565b6040516102739190612f2e565b60405180910390f35b61029660048036038101906102919190612f49565b6107e6565b005b6102b260048036038101906102ad9190612f89565b6108dc565b6040516102c0929190612fc9565b60405180910390f35b6102e360048036038101906102de9190612f49565b61093d565b005b6102ff60048036038101906102fa9190612dff565b610966565b60405161030c9190612e4e565b60405180910390f35b61032f600480360381019061032a9190612f49565b610a0b565b005b61034b60048036038101906103469190612e69565b610a8e565b005b61036760048036038101906103629190612d4a565b610aae565b6040516103749190612e4e565b60405180910390f35b61039760048036038101906103929190613127565b610b1f565b005b6103b360048036038101906103ae9190612d4a565b610b85565b6040516103c09190612db8565b60405180910390f35b6103e360048036038101906103de9190613170565b610c36565b6040516103f09190612e4e565b60405180910390f35b610413600480360381019061040e9190612f49565b610ced565b6040516104209190612c3e565b60405180910390f35b610431610d58565b60405161043e9190612cf2565b60405180910390f35b61044f610dea565b60405161045c9190612f2e565b60405180910390f35b61047f600480360381019061047a91906131c9565b610df1565b005b61049b600480360381019061049691906132aa565b610e07565b005b6104b760048036038101906104b29190612d4a565b610e69565b6040516104c49190612cf2565b60405180910390f35b6104e760048036038101906104e29190612f49565b610f1e565b005b61050360048036038101906104fe919061332d565b610f47565b6040516105109190612c3e565b60405180910390f35b600061052482610fdb565b9050919050565b60606002805461053a9061339c565b80601f01602080910402602001604051908101604052809291908181526020018280546105669061339c565b80156105b35780601f10610588576101008083540402835291602001916105b3565b820191906000526020600020905b81548152906001019060200180831161059657829003601f168201915b5050505050905090565b60006105c882611055565b610607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fe9061343f565b60405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061064d82610b85565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b4906134d1565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166106dc6110c1565b73ffffffffffffffffffffffffffffffffffffffff16148061070b575061070a816107056110c1565b610f47565b5b61074a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074190613563565b60405180910390fd5b61075483836110c9565b505050565b6000600a80549050905090565b6107776107716110c1565b82611182565b6107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad906135f5565b60405180910390fd5b6107c1838383611260565b505050565b600060016000838152602001908152602001600020600101549050919050565b6108137f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a660001b33610ced565b610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990613661565b60405180910390fd5b8060008061085e610759565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108bb816108b6610759565b6114c6565b6108d860016108c8610759565b6108d291906136b0565b836114e4565b5050565b60008060008085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506127106103e862ffffff168461092a91906136e4565b610934919061376d565b90509250929050565b610946826107c6565b610957816109526110c1565b611548565b61096183836115e5565b505050565b600061097183610c36565b82106109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990613810565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610a136110c1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a77906138a2565b60405180910390fd5b610a8a82826116c5565b5050565b610aa983838360405180602001604052806000815250610e07565b505050565b6000610ab8610759565b8210610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af090613934565b60405180910390fd5b600a8281548110610b0d57610b0c613954565b5b90600052602060002001549050919050565b610b2c6000801b33610ced565b610b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b62906139cf565b60405180910390fd5b80600c9080519060200190610b81929190612ae7565b5050565b6000806004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2490613a61565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d90613af3565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060038054610d679061339c565b80601f0160208091040260200160405190810160405280929190818152602001828054610d939061339c565b8015610de05780601f10610db557610100808354040283529160200191610de0565b820191906000526020600020905b815481529060010190602001808311610dc357829003601f168201915b5050505050905090565b6000801b81565b610e03610dfc6110c1565b83836117a7565b5050565b610e18610e126110c1565b83611182565b610e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4e906135f5565b60405180910390fd5b610e6384848484611913565b50505050565b6060610e7482611055565b610eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaa90613b5f565b60405180910390fd5b600c610ef761122060f01b600d600086815260200190815260200160002054604051602001610ee3929190613bed565b60405160208183030381529060405261196f565b604051602001610f08929190613cff565b6040516020818303038152906040529050919050565b610f27826107c6565b610f3881610f336110c1565b611548565b610f4283836116c5565b505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061104e575061104d82611bb6565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661113c83610b85565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061118d82611055565b6111cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c390613d95565b60405180910390fd5b60006111d783610b85565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061124657508373ffffffffffffffffffffffffffffffffffffffff1661122e846105bd565b73ffffffffffffffffffffffffffffffffffffffff16145b8061125757506112568185610f47565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661128082610b85565b73ffffffffffffffffffffffffffffffffffffffff16146112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd90613e27565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133c90613eb9565b60405180910390fd5b611350838383611c98565b61135b6000826110c9565b6001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113ab91906136b0565b925050819055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114029190613ed9565b92505081905550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46114c1838383611ca8565b505050565b6114e0828260405180602001604052806000815250611cad565b5050565b6114ed82611055565b61152c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152390613b5f565b60405180910390fd5b80600d6000848152602001908152602001600020819055505050565b6115528282610ced565b6115e1576115778173ffffffffffffffffffffffffffffffffffffffff166014611d08565b6115858360001c6020611d08565b604051602001611596929190613ff8565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d89190612cf2565b60405180910390fd5b5050565b6115ef8282610ced565b6116c157600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506116666110c1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6116cf8282610ced565b156117a35760006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506117486110c1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180c9061407e565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516119069190612c3e565b60405180910390a3505050565b61191e848484611260565b61192a84848484611f44565b611969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196090614110565b60405180910390fd5b50505050565b606060008251036119cf57600067ffffffffffffffff81111561199557611994612ffc565b5b6040519080825280601f01601f1916602001820160405280156119c75781602001600182028036833780820191505090505b509050611bb1565b6000604067ffffffffffffffff8111156119ec576119eb612ffc565b5b604051908082528060200260200182016040528015611a1a5781602001602082028036833780820191505090505b509050600081600081518110611a3357611a32613954565b5b602002602001019060ff16908160ff168152505060006001905060005b8451811015611b91576000858281518110611a6e57611a6d613954565b5b602001015160f81c60f81b60f81c60ff16905060005b8360ff16811015611b1b57610100858281518110611aa557611aa4613954565b5b602002602001015160ff16611aba91906136e4565b82611ac59190613ed9565b9150603a82611ad49190614130565b858281518110611ae757611ae6613954565b5b602002602001019060ff16908160ff1681525050603a82611b08919061376d565b915080611b1490614161565b9050611a84565b505b6000811115611b7f57603a81611b339190614130565b848460ff1681518110611b4957611b48613954565b5b602002602001019060ff16908160ff16815250508280611b68906141b6565b935050603a81611b78919061376d565b9050611b1d565b5080611b8a90614161565b9050611a50565b50611bac611ba7611ba284846120cb565b61218b565b61225e565b925050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611c8157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611c915750611c9082612370565b5b9050919050565b611ca38383836123ea565b505050565b505050565b611cb783836124fc565b611cc46000848484611f44565b611d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfa90614110565b60405180910390fd5b505050565b606060006002836002611d1b91906136e4565b611d259190613ed9565b67ffffffffffffffff811115611d3e57611d3d612ffc565b5b6040519080825280601f01601f191660200182016040528015611d705781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611da857611da7613954565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611e0c57611e0b613954565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611e4c91906136e4565b611e569190613ed9565b90505b6001811115611ef6577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611e9857611e97613954565b5b1a60f81b828281518110611eaf57611eae613954565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611eef906141df565b9050611e59565b5060008414611f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3190614254565b60405180910390fd5b8091505092915050565b6000611f658473ffffffffffffffffffffffffffffffffffffffff166126d5565b156120be578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611f8e6110c1565b8786866040518563ffffffff1660e01b8152600401611fb094939291906142be565b6020604051808303816000875af1925050508015611fec57506040513d601f19601f82011682018060405250810190611fe9919061431f565b60015b61206e573d806000811461201c576040519150601f19603f3d011682016040523d82523d6000602084013e612021565b606091505b506000815103612066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205d90614110565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506120c3565b600190505b949350505050565b606060008260ff1667ffffffffffffffff8111156120ec576120eb612ffc565b5b60405190808252806020026020018201604052801561211a5781602001602082028036833780820191505090505b50905060005b8360ff168110156121805784818151811061213e5761213d613954565b5b602002602001015182828151811061215957612158613954565b5b602002602001019060ff16908160ff1681525050808061217890614161565b915050612120565b508091505092915050565b60606000825167ffffffffffffffff8111156121aa576121a9612ffc565b5b6040519080825280602002602001820160405280156121d85781602001602082028036833780820191505090505b50905060005b8351811015612254578381600186516121f791906136b0565b61220191906136b0565b8151811061221257612211613954565b5b602002602001015182828151811061222d5761222c613954565b5b602002602001019060ff16908160ff1681525050808061224c90614161565b9150506121de565b5080915050919050565b60606000825167ffffffffffffffff81111561227d5761227c612ffc565b5b6040519080825280601f01601f1916602001820160405280156122af5781602001600182028036833780820191505090505b50905060005b8351811015612366576040518060600160405280603a8152602001614454603a91398482815181106122ea576122e9613954565b5b602002602001015160ff168151811061230657612305613954565b5b602001015160f81c60f81b82828151811061232457612323613954565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061235e90614161565b9150506122b5565b5080915050919050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806123e357506123e2826126f8565b5b9050919050565b6123f5838383612772565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124375761243281612777565b612476565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146124755761247483826127c0565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124b8576124b38161292d565b6124f7565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146124f6576124f582826129fe565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361256b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256290614398565b60405180910390fd5b61257481611055565b156125b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ab90614404565b60405180910390fd5b6125c060008383611c98565b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126109190613ed9565b92505081905550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46126d160008383611ca8565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061276b575061276a82612a7d565b5b9050919050565b505050565b600a80549050600b600083815260200190815260200160002081905550600a81908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016127cd84610c36565b6127d791906136b0565b90506000600960008481526020019081526020016000205490508181146128bc576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816009600083815260200190815260200160002081905550505b6009600084815260200190815260200160002060009055600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600a8054905061294191906136b0565b90506000600b60008481526020019081526020016000205490506000600a838154811061297157612970613954565b5b9060005260206000200154905080600a838154811061299357612992613954565b5b906000526020600020018190555081600b600083815260200190815260200160002081905550600b600085815260200190815260200160002060009055600a8054806129e2576129e1614424565b5b6001900381819060005260206000200160009055905550505050565b6000612a0983610c36565b905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806009600084815260200190815260200160002081905550505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b828054612af39061339c565b90600052602060002090601f016020900481019282612b155760008555612b5c565b82601f10612b2e57805160ff1916838001178555612b5c565b82800160010185558215612b5c579182015b82811115612b5b578251825591602001919060010190612b40565b5b509050612b699190612b6d565b5090565b5b80821115612b86576000816000905550600101612b6e565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612bd381612b9e565b8114612bde57600080fd5b50565b600081359050612bf081612bca565b92915050565b600060208284031215612c0c57612c0b612b94565b5b6000612c1a84828501612be1565b91505092915050565b60008115159050919050565b612c3881612c23565b82525050565b6000602082019050612c536000830184612c2f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c93578082015181840152602081019050612c78565b83811115612ca2576000848401525b50505050565b6000601f19601f8301169050919050565b6000612cc482612c59565b612cce8185612c64565b9350612cde818560208601612c75565b612ce781612ca8565b840191505092915050565b60006020820190508181036000830152612d0c8184612cb9565b905092915050565b6000819050919050565b612d2781612d14565b8114612d3257600080fd5b50565b600081359050612d4481612d1e565b92915050565b600060208284031215612d6057612d5f612b94565b5b6000612d6e84828501612d35565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612da282612d77565b9050919050565b612db281612d97565b82525050565b6000602082019050612dcd6000830184612da9565b92915050565b612ddc81612d97565b8114612de757600080fd5b50565b600081359050612df981612dd3565b92915050565b60008060408385031215612e1657612e15612b94565b5b6000612e2485828601612dea565b9250506020612e3585828601612d35565b9150509250929050565b612e4881612d14565b82525050565b6000602082019050612e636000830184612e3f565b92915050565b600080600060608486031215612e8257612e81612b94565b5b6000612e9086828701612dea565b9350506020612ea186828701612dea565b9250506040612eb286828701612d35565b9150509250925092565b6000819050919050565b612ecf81612ebc565b8114612eda57600080fd5b50565b600081359050612eec81612ec6565b92915050565b600060208284031215612f0857612f07612b94565b5b6000612f1684828501612edd565b91505092915050565b612f2881612ebc565b82525050565b6000602082019050612f436000830184612f1f565b92915050565b60008060408385031215612f6057612f5f612b94565b5b6000612f6e85828601612edd565b9250506020612f7f85828601612dea565b9150509250929050565b60008060408385031215612fa057612f9f612b94565b5b6000612fae85828601612d35565b9250506020612fbf85828601612d35565b9150509250929050565b6000604082019050612fde6000830185612da9565b612feb6020830184612e3f565b9392505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61303482612ca8565b810181811067ffffffffffffffff8211171561305357613052612ffc565b5b80604052505050565b6000613066612b8a565b9050613072828261302b565b919050565b600067ffffffffffffffff82111561309257613091612ffc565b5b61309b82612ca8565b9050602081019050919050565b82818337600083830152505050565b60006130ca6130c584613077565b61305c565b9050828152602081018484840111156130e6576130e5612ff7565b5b6130f18482856130a8565b509392505050565b600082601f83011261310e5761310d612ff2565b5b813561311e8482602086016130b7565b91505092915050565b60006020828403121561313d5761313c612b94565b5b600082013567ffffffffffffffff81111561315b5761315a612b99565b5b613167848285016130f9565b91505092915050565b60006020828403121561318657613185612b94565b5b600061319484828501612dea565b91505092915050565b6131a681612c23565b81146131b157600080fd5b50565b6000813590506131c38161319d565b92915050565b600080604083850312156131e0576131df612b94565b5b60006131ee85828601612dea565b92505060206131ff858286016131b4565b9150509250929050565b600067ffffffffffffffff82111561322457613223612ffc565b5b61322d82612ca8565b9050602081019050919050565b600061324d61324884613209565b61305c565b90508281526020810184848401111561326957613268612ff7565b5b6132748482856130a8565b509392505050565b600082601f83011261329157613290612ff2565b5b81356132a184826020860161323a565b91505092915050565b600080600080608085870312156132c4576132c3612b94565b5b60006132d287828801612dea565b94505060206132e387828801612dea565b93505060406132f487828801612d35565b925050606085013567ffffffffffffffff81111561331557613314612b99565b5b6133218782880161327c565b91505092959194509250565b6000806040838503121561334457613343612b94565b5b600061335285828601612dea565b925050602061336385828601612dea565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806133b457607f821691505b6020821081036133c7576133c661336d565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613429602c83612c64565b9150613434826133cd565b604082019050919050565b600060208201905081810360008301526134588161341c565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006134bb602183612c64565b91506134c68261345f565b604082019050919050565b600060208201905081810360008301526134ea816134ae565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b600061354d603883612c64565b9150613558826134f1565b604082019050919050565b6000602082019050818103600083015261357c81613540565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b60006135df603183612c64565b91506135ea82613583565b604082019050919050565b6000602082019050818103600083015261360e816135d2565b9050919050565b7f4e696e66614552433732313a206d757374206265206d696e7465720000000000600082015250565b600061364b601b83612c64565b915061365682613615565b602082019050919050565b6000602082019050818103600083015261367a8161363e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006136bb82612d14565b91506136c683612d14565b9250828210156136d9576136d8613681565b5b828203905092915050565b60006136ef82612d14565b91506136fa83612d14565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561373357613732613681565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061377882612d14565b915061378383612d14565b9250826137935761379261373e565b5b828204905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006137fa602b83612c64565b91506138058261379e565b604082019050919050565b60006020820190508181036000830152613829816137ed565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061388c602f83612c64565b915061389782613830565b604082019050919050565b600060208201905081810360008301526138bb8161387f565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b600061391e602c83612c64565b9150613929826138c2565b604082019050919050565b6000602082019050818103600083015261394d81613911565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e696e66614552433732313a206d7573742062652061646d696e000000000000600082015250565b60006139b9601a83612c64565b91506139c482613983565b602082019050919050565b600060208201905081810360008301526139e8816139ac565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000613a4b602983612c64565b9150613a56826139ef565b604082019050919050565b60006020820190508181036000830152613a7a81613a3e565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000613add602a83612c64565b9150613ae882613a81565b604082019050919050565b60006020820190508181036000830152613b0c81613ad0565b9050919050565b7f4e696e66614552433732313a206e6f6e6578697374656e7420746f6b656e0000600082015250565b6000613b49601e83612c64565b9150613b5482613b13565b602082019050919050565b60006020820190508181036000830152613b7881613b3c565b9050919050565b60007fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b613bc6613bc182613b7f565b613bab565b82525050565b6000819050919050565b613be7613be282612ebc565b613bcc565b82525050565b6000613bf98285613bb5565b600282019150613c098284613bd6565b6020820191508190509392505050565b600081905092915050565b60008190508160005260206000209050919050565b60008154613c468161339c565b613c508186613c19565b94506001821660008114613c6b5760018114613c7c57613caf565b60ff19831686528186019350613caf565b613c8585613c24565b60005b83811015613ca757815481890152600182019150602081019050613c88565b838801955050505b50505092915050565b600081519050919050565b600081905092915050565b6000613cd982613cb8565b613ce38185613cc3565b9350613cf3818560208601612c75565b80840191505092915050565b6000613d0b8285613c39565b9150613d178284613cce565b91508190509392505050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613d7f602c83612c64565b9150613d8a82613d23565b604082019050919050565b60006020820190508181036000830152613dae81613d72565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613e11602583612c64565b9150613e1c82613db5565b604082019050919050565b60006020820190508181036000830152613e4081613e04565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ea3602483612c64565b9150613eae82613e47565b604082019050919050565b60006020820190508181036000830152613ed281613e96565b9050919050565b6000613ee482612d14565b9150613eef83612d14565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f2457613f23613681565b5b828201905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000613f65601783613c19565b9150613f7082613f2f565b601782019050919050565b6000613f8682612c59565b613f908185613c19565b9350613fa0818560208601612c75565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000613fe2601183613c19565b9150613fed82613fac565b601182019050919050565b600061400382613f58565b915061400f8285613f7b565b915061401a82613fd5565b91506140268284613f7b565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614068601983612c64565b915061407382614032565b602082019050919050565b600060208201905081810360008301526140978161405b565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006140fa603283612c64565b91506141058261409e565b604082019050919050565b60006020820190508181036000830152614129816140ed565b9050919050565b600061413b82612d14565b915061414683612d14565b9250826141565761415561373e565b5b828206905092915050565b600061416c82612d14565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361419e5761419d613681565b5b600182019050919050565b600060ff82169050919050565b60006141c1826141a9565b915060ff82036141d4576141d3613681565b5b600182019050919050565b60006141ea82612d14565b9150600082036141fd576141fc613681565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061423e602083612c64565b915061424982614208565b602082019050919050565b6000602082019050818103600083015261426d81614231565b9050919050565b600082825260208201905092915050565b600061429082613cb8565b61429a8185614274565b93506142aa818560208601612c75565b6142b381612ca8565b840191505092915050565b60006080820190506142d36000830187612da9565b6142e06020830186612da9565b6142ed6040830185612e3f565b81810360608301526142ff8184614285565b905095945050505050565b60008151905061431981612bca565b92915050565b60006020828403121561433557614334612b94565b5b60006143438482850161430a565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614382602083612c64565b915061438d8261434c565b602082019050919050565b600060208201905081810360008301526143b181614375565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006143ee601c83612c64565b91506143f9826143b8565b602082019050919050565b6000602082019050818103600083015261441d816143e1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212202c0141d99aafd847df83920c1691f5c79e706a328051b9a5f277d4983c8df04e64736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000054e494e464100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054e494e46410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007697066733a2f2f00000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): NINFA
Arg [1] : symbol (string): NINFA
Arg [2] : baseTokenURI (string): ipfs://

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [4] : 4e494e4641000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 4e494e4641000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [8] : 697066733a2f2f00000000000000000000000000000000000000000000000000

🤖 Code Reader Beta

Generate instant answers for your smart contract questions using Al Models. Read more.

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.