[ { "inputs": [], "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": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "string", "name": "_newOwner", "type": "string" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "_transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "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": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "walletCheck", "type": "address" }, { "internalType": "contract ERC721", "name": "tokenContract", "type": "address" } ], "name": "checkBalanceContract", "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": "uint256", "name": "gc", "type": "uint256" } ], "name": "getCategory", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCostContainer", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCounterCategory", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "number", "type": "uint256" } ], "name": "getCounterSpecificCategory", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getListTransfered", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "go", "type": "uint256" } ], "name": "getOwner", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTokenIdCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTokenTransferedCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "numberOfTokens", "type": "uint256" } ], "name": "replaceApprovalForTokenId", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "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": "uint256", "name": "_costContainer", "type": "uint256" } ], "name": "setCostContainer", "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": "string", "name": "_newOwner", "type": "string" }, { "internalType": "uint256", "name": "numberToMint", "type": "uint256" }, { "internalType": "uint256", "name": "maxNumber", "type": "uint256" }, { "internalType": "string", "name": "meta_gold", "type": "string" }, { "internalType": "string", "name": "meta_silver", "type": "string" }, { "internalType": "string", "name": "meta_bronze", "type": "string" }, { "internalType": "uint256[]", "name": "listCategories", "type": "uint256[]" } ], "name": "tradeNft", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "payable", "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" } ]
6080604052671bc16d674ec800006015553480156200001d57600080fd5b506040518060400160405280601581526020017f4165726f20436f6e7461696e657220464f4c2d563100000000000000000000008152506040518060400160405280601581526020017f4165726f436f6e7461696e657220472f532f42202300000000000000000000008152508160009080519060200190620000a292919062000143565b508051620000b890600190602084019062000143565b505050620000d5620000cf620000ed60201b60201c565b620000f1565b601480546001600160a01b0319163317905562000226565b3390565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200015190620001e9565b90600052602060002090601f016020900481019282620001755760008555620001c0565b82601f106200019057805160ff1916838001178555620001c0565b82800160010185558215620001c0579182015b82811115620001c0578251825591602001919060010190620001a3565b50620001ce929150620001d2565b5090565b5b80821115620001ce5760008155600101620001d3565b600181811c90821680620001fe57607f821691505b602082108114156200022057634e487b7160e01b600052602260045260246000fd5b50919050565b612aa180620002366000396000f3fe6080604052600436106101ee5760003560e01c80638da5cb5b1161010d578063d4b2001d116100a0578063df64e1611161006f578063df64e1611461055f578063e985e9c514610574578063f2fde38b146105bd578063f3052d26146105dd578063fdf2026a1461060a57600080fd5b8063d4b2001d146104f5578063d7ee4b6b1461050a578063dbfd4b981461052a578063dec6d2c21461053f57600080fd5b8063a22cb465116100dc578063a22cb46514610475578063b88d4fde14610495578063c41a360a146104b5578063c87b56dd146104d557600080fd5b80638da5cb5b1461040d5780638ff12dc71461042b5780639091a3f01461043e57806395d89b411461046057600080fd5b80633ba7736a116101855780634f6ccce7116101545780634f6ccce7146103985780636352211e146103b857806370a08231146103d8578063715018a6146103f857600080fd5b80633ba7736a1461032357806342842e0e1461033857806342966c6814610358578063483d56b01461037857600080fd5b806316da0a58116101c157806316da0a58146102a457806318160ddd146102c457806323b872dd146102e35780632f745c591461030357600080fd5b806301ffc9a7146101f357806306fdde0314610228578063081812fc1461024a578063095ea7b314610282575b600080fd5b3480156101ff57600080fd5b5061021361020e366004612591565b61062a565b60405190151581526020015b60405180910390f35b34801561023457600080fd5b5061023d61063b565b60405161021f91906127be565b34801561025657600080fd5b5061026a6102653660046126b0565b6106cd565b6040516001600160a01b03909116815260200161021f565b34801561028e57600080fd5b506102a261029d366004612565565b61075a565b005b3480156102b057600080fd5b506102a26102bf3660046126b0565b610870565b3480156102d057600080fd5b506008545b60405190815260200161021f565b3480156102ef57600080fd5b506102a26102fe366004612471565b61089f565b34801561030f57600080fd5b506102d561031e366004612565565b6108d1565b34801561032f57600080fd5b506015546102d5565b34801561034457600080fd5b506102a2610353366004612471565b610967565b34801561036457600080fd5b506102a26103733660046126b0565b610982565b34801561038457600080fd5b50610213610393366004612407565b6109fc565b3480156103a457600080fd5b506102d56103b33660046126b0565b610b70565b3480156103c457600080fd5b5061026a6103d33660046126b0565b610c03565b3480156103e457600080fd5b506102d56103f33660046123b1565b610c7a565b34801561040457600080fd5b506102a2610d01565b34801561041957600080fd5b50600b546001600160a01b031661026a565b6102136104393660046125cb565b610d37565b34801561044a57600080fd5b50610453610dd0565b60405161021f919061277a565b34801561046c57600080fd5b5061023d610e64565b34801561048157600080fd5b506102a2610490366004612532565b610e73565b3480156104a157600080fd5b506102a26104b03660046124b2565b610e82565b3480156104c157600080fd5b5061023d6104d03660046126b0565b610eba565b3480156104e157600080fd5b5061023d6104f03660046126b0565b610f5c565b34801561050157600080fd5b506102d5610f67565b34801561051657600080fd5b50610213610525366004612565565b610f77565b34801561053657600080fd5b506102d5610fc2565b34801561054b57600080fd5b506102d561055a3660046126b0565b610fcd565b34801561056b57600080fd5b50610453611009565b34801561058057600080fd5b5061021361058f3660046123ce565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156105c957600080fd5b506102a26105d83660046123b1565b611060565b3480156105e957600080fd5b506102d56105f83660046126b0565b60009081526012602052604090205490565b34801561061657600080fd5b506102d56106253660046123ce565b6110f8565b600061063582611175565b92915050565b60606000805461064a90612968565b80601f016020809104026020016040519081016040528092919081815260200182805461067690612968565b80156106c35780601f10610698576101008083540402835291602001916106c3565b820191906000526020600020905b8154815290600101906020018083116106a657829003601f168201915b5050505050905090565b60006106d88261119a565b61073e5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061076582610c03565b9050806001600160a01b0316836001600160a01b031614156107d35760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610735565b336001600160a01b03821614806107ef57506107ef813361058f565b6108615760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610735565b61086b83836111b7565b505050565b600b546001600160a01b0316331461089a5760405162461bcd60e51b815260040161073590612823565b601555565b6108aa335b82611225565b6108c65760405162461bcd60e51b815260040161073590612858565b61086b83838361130b565b60006108dc83610c7a565b821061093e5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610735565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b61086b83838360405180602001604052806000815250610e82565b61098b336108a4565b6109f05760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610735565b6109f9816114b6565b50565b600b546000906001600160a01b03163314610a295760405162461bcd60e51b815260040161073590612823565b6001600160a01b038416610a3c57600080fd5b60008211610a4957600080fd5b600c548210610a5757600080fd5b846001600160a01b0316610a6a83610c03565b6001600160a01b031614610a7d57600080fd5b610a888585846114e9565b610a93858584610967565b610aa1600d80546001019055565b60008281526013602090815260409091208451610ac0928601906121e4565b506011805460018181019092557f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68018390556000838152601260205260409020541415610b1a57610b15600e80546001019055565b610b64565b60008281526012602052604090205460021415610b3f57610b15600f80546001019055565b60008281526012602052604090205460031415610b6457610b64601080546001019055565b5060015b949350505050565b6000610b7b60085490565b8210610bde5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610735565b60088281548110610bf157610bf1612a14565b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806106355760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610735565b60006001600160a01b038216610ce55760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610735565b506001600160a01b031660009081526003602052604090205490565b600b546001600160a01b03163314610d2b5760405162461bcd60e51b815260040161073590612823565b610d3560006114f4565b565b600086601554610d479190612906565b3414610d5257600080fd5b610d5c8787612925565b600c541115610d6a57600080fd5b60003411610d7757600080fd5b6014546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015610db0573d6000803e3d6000fd5b50610dc13389898989898989611546565b50600198975050505050505050565b6040805160038082526080820190925260609160009190602082018480368337019050509050610dff600e5490565b81600081518110610e1257610e12612a14565b6020908102919091010152600f5481600181518110610e3357610e33612a14565b602090810291909101015260105481600281518110610e5457610e54612a14565b6020908102919091010152919050565b60606001805461064a90612968565b610e7e3383836116fe565b5050565b610e8c3383611225565b610ea85760405162461bcd60e51b815260040161073590612858565b610eb4848484846117cd565b50505050565b6000818152601360205260409020805460609190610ed790612968565b80601f0160208091040260200160405190810160405280929190818152602001828054610f0390612968565b8015610f505780601f10610f2557610100808354040283529160200191610f50565b820191906000526020600020905b815481529060010190602001808311610f3357829003601f168201915b50505050509050919050565b606061063582611800565b6000610f72600d5490565b905090565b600b546000906001600160a01b03163314610fa45760405162461bcd60e51b815260040161073590612823565b6001600160a01b038316610fb757600080fd5b6000610b64600c5490565b6000610f72600c5490565b6000808260011415610fe457600e545b9050610635565b8260021415610ff557600f54610fdd565b8260031415610635576010545b9392505050565b606060118054806020026020016040519081016040528092919081815260200182805480156106c357602002820191906000526020600020905b815481526020019060010190808311611043575050505050905090565b600b546001600160a01b0316331461108a5760405162461bcd60e51b815260040161073590612823565b6001600160a01b0381166110ef5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610735565b6109f9816114f4565b6040516370a0823160e01b81526001600160a01b038381166004830152600091908316906370a082319060240160206040518083038186803b15801561113d57600080fd5b505afa158015611151573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100291906126c9565b60006001600160e01b0319821663780e9d6360e01b148061063557506106358261196f565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906111ec82610c03565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006112308261119a565b6112915760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610735565b600061129c83610c03565b9050806001600160a01b0316846001600160a01b031614806112d75750836001600160a01b03166112cc846106cd565b6001600160a01b0316145b80610b6857506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff16610b68565b826001600160a01b031661131e82610c03565b6001600160a01b0316146113865760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610735565b6001600160a01b0382166113e85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610735565b6113f38383836114e9565b6113fe6000826111b7565b6001600160a01b0383166000908152600360205260408120805460019290611427908490612925565b90915550506001600160a01b03821660009081526003602052604081208054600192906114559084906128da565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600b546001600160a01b031633146114e05760405162461bcd60e51b815260040161073590612823565b6109f9816119bf565b61086b8383836119ff565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000805b878110156116ec57611560600c80546001019055565b600061156b600c5490565b60118054600181019091557f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680181905560008181526013602090815260409091208c519293506115bf9290918d01906121e4565b508781116116ce578382815181106115d9576115d9612a14565b602002602001015160011415611622576000818152601260205260409020600190556116058b82611ab7565b61160f8188611ad1565b61161d600e80546001019055565b6116d9565b83828151811061163457611634612a14565b602002602001015160021415611678576000818152601260205260409020600290556116608b82611ab7565b61166a8187611ad1565b61161d600f80546001019055565b83828151811061168a5761168a612a14565b60200260200101516003141561161d576000818152601260205260409020600390556116b68b82611ab7565b6116c08186611ad1565b61161d601080546001019055565b6000925050506116f2565b50806116e4816129a3565b91505061154a565b50600190505b98975050505050505050565b816001600160a01b0316836001600160a01b031614156117605760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610735565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6117d884848461130b565b6117e484848484611b5c565b610eb45760405162461bcd60e51b8152600401610735906127d1565b606061180b8261119a565b6118715760405162461bcd60e51b815260206004820152603160248201527f45524337323155524953746f726167653a2055524920717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b6064820152608401610735565b6000828152600a60205260408120805461188a90612968565b80601f01602080910402602001604051908101604052809291908181526020018280546118b690612968565b80156119035780601f106118d857610100808354040283529160200191611903565b820191906000526020600020905b8154815290600101906020018083116118e657829003601f168201915b50505050509050600061192160408051602081019091526000815290565b9050805160001415611934575092915050565b81511561196657808260405160200161194e92919061270e565b60405160208183030381529060405292505050919050565b610b6884611c66565b60006001600160e01b031982166380ac58cd60e01b14806119a057506001600160e01b03198216635b5e139f60e01b145b8061063557506301ffc9a760e01b6001600160e01b0319831614610635565b6119c881611d3d565b6000818152600a6020526040902080546119e190612968565b1590506109f9576000818152600a602052604081206109f991612268565b6001600160a01b038316611a5a57611a5581600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611a7d565b816001600160a01b0316836001600160a01b031614611a7d57611a7d8382611de4565b6001600160a01b038216611a945761086b81611e81565b826001600160a01b0316826001600160a01b03161461086b5761086b8282611f30565b610e7e828260405180602001604052806000815250611f74565b611ada8261119a565b611b3d5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610735565b6000828152600a60209081526040909120825161086b928401906121e4565b60006001600160a01b0384163b15611c5e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611ba090339089908890889060040161273d565b602060405180830381600087803b158015611bba57600080fd5b505af1925050508015611bea575060408051601f3d908101601f19168201909252611be7918101906125ae565b60015b611c44573d808015611c18576040519150601f19603f3d011682016040523d82523d6000602084013e611c1d565b606091505b508051611c3c5760405162461bcd60e51b8152600401610735906127d1565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610b68565b506001610b68565b6060611c718261119a565b611cd55760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610735565b6000611cec60408051602081019091526000815290565b90506000815111611d0c5760405180602001604052806000815250611002565b80611d1684611fa7565b604051602001611d2792919061270e565b6040516020818303038152906040529392505050565b6000611d4882610c03565b9050611d56816000846114e9565b611d616000836111b7565b6001600160a01b0381166000908152600360205260408120805460019290611d8a908490612925565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001611df184610c7a565b611dfb9190612925565b600083815260076020526040902054909150808214611e4e576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090611e9390600190612925565b60008381526009602052604081205460088054939450909284908110611ebb57611ebb612a14565b906000526020600020015490508060088381548110611edc57611edc612a14565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480611f1457611f146129fe565b6001900381819060005260206000200160009055905550505050565b6000611f3b83610c7a565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b611f7e83836120a5565b611f8b6000848484611b5c565b61086b5760405162461bcd60e51b8152600401610735906127d1565b606081611fcb5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611ff55780611fdf816129a3565b9150611fee9050600a836128f2565b9150611fcf565b60008167ffffffffffffffff81111561201057612010612a2a565b6040519080825280601f01601f19166020018201604052801561203a576020820181803683370190505b5090505b8415610b685761204f600183612925565b915061205c600a866129be565b6120679060306128da565b60f81b81838151811061207c5761207c612a14565b60200101906001600160f81b031916908160001a90535061209e600a866128f2565b945061203e565b6001600160a01b0382166120fb5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610735565b6121048161119a565b156121515760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610735565b61215d600083836114e9565b6001600160a01b03821660009081526003602052604081208054600192906121869084906128da565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8280546121f090612968565b90600052602060002090601f0160209004810192826122125760008555612258565b82601f1061222b57805160ff1916838001178555612258565b82800160010185558215612258579182015b8281111561225857825182559160200191906001019061223d565b5061226492915061229e565b5090565b50805461227490612968565b6000825580601f10612284575050565b601f0160209004906000526020600020908101906109f991905b5b80821115612264576000815560010161229f565b600067ffffffffffffffff8311156122cd576122cd612a2a565b6122e0601f8401601f19166020016128a9565b90508281528383830111156122f457600080fd5b828260208301376000602084830101529392505050565b600082601f83011261231c57600080fd5b8135602067ffffffffffffffff82111561233857612338612a2a565b8160051b6123478282016128a9565b83815282810190868401838801850189101561236257600080fd5b600093505b85841015612385578035835260019390930192918401918401612367565b50979650505050505050565b600082601f8301126123a257600080fd5b611002838335602085016122b3565b6000602082840312156123c357600080fd5b813561100281612a40565b600080604083850312156123e157600080fd5b82356123ec81612a40565b915060208301356123fc81612a40565b809150509250929050565b6000806000806080858703121561241d57600080fd5b843561242881612a40565b9350602085013561243881612a40565b9250604085013567ffffffffffffffff81111561245457600080fd5b61246087828801612391565b949793965093946060013593505050565b60008060006060848603121561248657600080fd5b833561249181612a40565b925060208401356124a181612a40565b929592945050506040919091013590565b600080600080608085870312156124c857600080fd5b84356124d381612a40565b935060208501356124e381612a40565b925060408501359150606085013567ffffffffffffffff81111561250657600080fd5b8501601f8101871361251757600080fd5b612526878235602084016122b3565b91505092959194509250565b6000806040838503121561254557600080fd5b823561255081612a40565b9150602083013580151581146123fc57600080fd5b6000806040838503121561257857600080fd5b823561258381612a40565b946020939093013593505050565b6000602082840312156125a357600080fd5b813561100281612a55565b6000602082840312156125c057600080fd5b815161100281612a55565b600080600080600080600060e0888a0312156125e657600080fd5b873567ffffffffffffffff808211156125fe57600080fd5b61260a8b838c01612391565b985060208a0135975060408a0135965060608a013591508082111561262e57600080fd5b61263a8b838c01612391565b955060808a013591508082111561265057600080fd5b61265c8b838c01612391565b945060a08a013591508082111561267257600080fd5b61267e8b838c01612391565b935060c08a013591508082111561269457600080fd5b506126a18a828b0161230b565b91505092959891949750929550565b6000602082840312156126c257600080fd5b5035919050565b6000602082840312156126db57600080fd5b5051919050565b600081518084526126fa81602086016020860161293c565b601f01601f19169290920160200192915050565b6000835161272081846020880161293c565b83519083019061273481836020880161293c565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612770908301846126e2565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b818110156127b257835183529284019291840191600101612796565b50909695505050505050565b60208152600061100260208301846126e2565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b604051601f8201601f1916810167ffffffffffffffff811182821017156128d2576128d2612a2a565b604052919050565b600082198211156128ed576128ed6129d2565b500190565b600082612901576129016129e8565b500490565b6000816000190483118215151615612920576129206129d2565b500290565b600082821015612937576129376129d2565b500390565b60005b8381101561295757818101518382015260200161293f565b83811115610eb45750506000910152565b600181811c9082168061297c57607f821691505b6020821081141561299d57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156129b7576129b76129d2565b5060010190565b6000826129cd576129cd6129e8565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146109f957600080fd5b6001600160e01b0319811681146109f957600080fdfea2646970667358221220036a144a20944b9a33ae63948c094cd20a02093d042f950700a4d6f1dde654d364736f6c63430008070033