[ { "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": "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": [ { "internalType": "uint256", "name": "_category", "type": "uint256" } ], "name": "getCategoryName", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": [], "name": "getDiscountPercent", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getListBronzeUsed", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getListGoldUsed", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getListSilverUsed", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getListTransfered", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMaxNumberOfTokens", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNumbersUsed", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwnerContract", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "uint256", "name": "_category", "type": "uint256" } ], "name": "getUrlImage", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_category", "type": "uint256" } ], "name": "getUrlVideo", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "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": "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": "address", "name": "_receiver", "type": "address" }, { "internalType": "uint256", "name": "_percentage", "type": "uint256" } ], "name": "setRoyalties", "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": "uint256", "name": "numberToMint", "type": "uint256" }, { "internalType": "string[]", "name": "listUrlsMetaData", "type": "string[]" }, { "internalType": "uint256[]", "name": "listCategories", "type": "uint256[]" }, { "internalType": "bool", "name": "friendly", "type": "bool" }, { "internalType": "uint256[]", "name": "_tokenIdList", "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" }, { "inputs": [ { "internalType": "uint256", "name": "_category", "type": "uint256" }, { "internalType": "string", "name": "_categoryName", "type": "string" } ], "name": "updateCategoryName", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_discountPercent", "type": "uint256" } ], "name": "updateDiscountPercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxNumber", "type": "uint256" } ], "name": "updateMaxNumberOfTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_category", "type": "uint256" }, { "internalType": "string", "name": "_urlImage", "type": "string" }, { "internalType": "string", "name": "_urlVideo", "type": "string" } ], "name": "updateMetaData", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_ownerContract", "type": "address" } ], "name": "updateOwnerContract", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405267058d15e176280000601b556019601c5562010f2c601d553480156200002957600080fd5b50604080518082018252601b81527f4c75636b7920417065204e4654205765656b6c7920526166666c6500000000006020808301918252835180850190945260088452674c55434b5941504560c01b9084015281519192916200008f9160009162000503565b508051620000a590600190602084019062000503565b505050620000c2620000bc6200042860201b60201c565b6200042c565b601a80546001600160a01b03191673f5beaafb2123cae835808eaf0c0ce0b8ab5d426f1790556200010973946619e9fb09aff776621c69df0587b6c9a6bb27600c6200047e565b60408051808201909152600481526311dbdb1960e21b602080830191825260016000526017905290516200015f917ff36d6bc9642eb6fb6ee9998b09ce990566df752ab06e11f8de7ab633bbd57b8f9162000503565b5060408051808201909152600681526529b4b63b32b960d11b60208083019182526002600052601790529051620001b8917fc52df653038b2ad477d8d97f1ddd63cfd138847b628ad8a7b89c109c3f8782ca9162000503565b5060408051808201909152600681526542726f6e7a6560d01b6020808301918252600360005260179052905162000211917fd8b2bced50346359af71f91110b86cdf684b6ab1c6ca64a7583c044d5c24de5c9162000503565b5060405180606001604052806035815260200162003c4e60359139600160005260186020908152815162000269927ff3794665d3af9b6fb6f858b70185898134f96768ef31c325d52e04f0ac195a4d92019062000503565b5060405180606001604052806035815260200162003cb8603591396002600052601860209081528151620002c1927f2bacf7cca723d030d12aee795132f2c5f2d14ad131f16f3f27eeba3e79d18b8c92019062000503565b5060405180606001604052806035815260200162003d2260359139600360005260186020908152815162000319927f7a6340a7048c03c55288da75abed74d2ce9194201bafb03be53c0a7cca59149592019062000503565b5060405180606001604052806035815260200162003c1960359139600160005260196020908152815162000371927ffc941c3961fb6541da34150022cddf959da0fb2353866a6bfbd249c2da09291492019062000503565b5060405180606001604052806035815260200162003c83603591396002600052601960209081528151620003c9927f6f678ad17c55bce407239525f4bf7f1fe99197d3eb69bfdd9a0db84a9a11b58192019062000503565b5060405180606001604052806035815260200162003ced60359139600360005260196020908152815162000421927f3e323a6e0522b016fa22111dfed945f89456f9f44f69eac00209d92607a5b94092019062000503565b50620005e6565b3390565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600b546001600160a01b03163314620004dd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b601e80546001600160a01b0319166001600160a01b039390931692909217909155601f55565b8280546200051190620005a9565b90600052602060002090601f01602090048101928262000535576000855562000580565b82601f106200055057805160ff191683800117855562000580565b8280016001018555821562000580579182015b828111156200058057825182559160200191906001019062000563565b506200058e92915062000592565b5090565b5b808211156200058e576000815560010162000593565b600181811c90821680620005be57607f821691505b60208210811415620005e057634e487b7160e01b600052602260045260246000fd5b50919050565b61362380620005f66000396000f3fe6080604052600436106102885760003560e01c80638c7ea24b1161015a578063c87b56dd116100c1578063e985e9c51161007a578063e985e9c514610760578063eafe42fd146107a9578063f2fde38b146107c9578063f3052d26146107e9578063f709b55e14610816578063fdf2026a1461083657600080fd5b8063c87b56dd146106c1578063cb712535146106e1578063d1656c1714610701578063d4b2001d14610721578063dbfd4b9814610736578063df64e1611461074b57600080fd5b8063a22cb46511610113578063a22cb4651461060c578063b2b6aecd1461062c578063b821137514610641578063b88d4fde14610661578063b92ae7af14610681578063bf196e16146106a157600080fd5b80638c7ea24b1461057a5780638da5cb5b1461059a5780639091a3f0146105b8578063944b7c3f146105cd57806395d89b41146105e25780639aa5554f146105f757600080fd5b806337a02a8e116101fe5780636352211e116101b75780636352211e146104e85780636be423ce1461050857806370a082311461051b578063715018a61461053b5780637b44965414610550578063813239111461056557600080fd5b806337a02a8e1461043e5780633ba7736a1461045357806342842e0e1461046857806342966c68146104885780634cf09d8b146104a85780634f6ccce7146104c857600080fd5b806316da0a581161025057806316da0a581461036057806318160ddd1461038057806323b872dd1461039f57806328bd4574146103bf5780632a55205a146103df5780632f745c591461041e57600080fd5b806301ffc9a71461028d57806306fdde03146102c2578063081812fc146102e4578063095ea7b31461031c5780630eb4b7f61461033e575b600080fd5b34801561029957600080fd5b506102ad6102a8366004612cfa565b610856565b60405190151581526020015b60405180910390f35b3480156102ce57600080fd5b506102d7610881565b6040516102b991906132dc565b3480156102f057600080fd5b506103046102ff366004612d34565b610913565b6040516001600160a01b0390911681526020016102b9565b34801561032857600080fd5b5061033c610337366004612cce565b6109ad565b005b34801561034a57600080fd5b50610353610ac3565b6040516102b99190613298565b34801561036c57600080fd5b5061033c61037b366004612d34565b610b1a565b34801561038c57600080fd5b506008545b6040519081526020016102b9565b3480156103ab57600080fd5b5061033c6103ba366004612bd8565b610b49565b3480156103cb57600080fd5b5061033c6103da366004612ec7565b610b7b565b3480156103eb57600080fd5b506103ff6103fa366004612f34565b610c04565b604080516001600160a01b0390931683526020830191909152016102b9565b34801561042a57600080fd5b50610391610439366004612cce565b610c3d565b34801561044a57600080fd5b50610353610cd3565b34801561045f57600080fd5b50601b54610391565b34801561047457600080fd5b5061033c610483366004612bd8565b610d29565b34801561049457600080fd5b5061033c6104a3366004612d34565b610d44565b3480156104b457600080fd5b5061033c6104c3366004612d34565b610dbe565b3480156104d457600080fd5b506103916104e3366004612d34565b610ded565b3480156104f457600080fd5b50610304610503366004612d34565b610e80565b6102ad610516366004612d66565b610ef7565b34801561052757600080fd5b50610391610536366004612b82565b6110e7565b34801561054757600080fd5b5061033c61116e565b34801561055c57600080fd5b506103536111a4565b34801561057157600080fd5b506103046111fa565b34801561058657600080fd5b5061033c610595366004612cce565b611237565b3480156105a657600080fd5b50600b546001600160a01b0316610304565b3480156105c457600080fd5b50610353611287565b3480156105d957600080fd5b50601d54610391565b3480156105ee57600080fd5b506102d761131b565b34801561060357600080fd5b50601c54610391565b34801561061857600080fd5b5061033c610627366004612c99565b61132a565b34801561063857600080fd5b50610353611339565b34801561064d57600080fd5b506102d761065c366004612d34565b6113ba565b34801561066d57600080fd5b5061033c61067c366004612c19565b611474565b34801561068d57600080fd5b506102d761069c366004612d34565b6114a6565b3480156106ad57600080fd5b5061033c6106bc366004612e80565b6114db565b3480156106cd57600080fd5b506102d76106dc366004612d34565b61153e565b3480156106ed57600080fd5b506102ad6106fc366004612bd8565b6115c8565b34801561070d57600080fd5b506102d761071c366004612d34565b61171a565b34801561072d57600080fd5b5061039161174f565b34801561074257600080fd5b5061039161175f565b34801561075757600080fd5b5061035361176a565b34801561076c57600080fd5b506102ad61077b366004612b9f565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156107b557600080fd5b5061033c6107c4366004612d34565b6117c0565b3480156107d557600080fd5b5061033c6107e4366004612b82565b6117ef565b3480156107f557600080fd5b50610391610804366004612d34565b60009081526016602052604090205490565b34801561082257600080fd5b5061033c610831366004612b82565b611887565b34801561084257600080fd5b50610391610851366004612b9f565b6118d3565b60006001600160e01b0319821663152a902d60e11b148061087b575061087b82611957565b92915050565b606060008054610890906134aa565b80601f01602080910402602001604051908101604052809291908181526020018280546108bc906134aa565b80156109095780601f106108de57610100808354040283529160200191610909565b820191906000526020600020905b8154815290600101906020018083116108ec57829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166109915760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006109b882610e80565b9050806001600160a01b0316836001600160a01b03161415610a265760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610988565b336001600160a01b0382161480610a425750610a42813361077b565b610ab45760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610988565b610abe838361197c565b505050565b6060601480548060200260200160405190810160405280929190818152602001828054801561090957602002820191906000526020600020905b815481526020019060010190808311610afd575050505050905090565b600b546001600160a01b03163314610b445760405162461bcd60e51b815260040161098890613341565b601b55565b610b54335b826119ea565b610b705760405162461bcd60e51b815260040161098890613376565b610abe838383611ae1565b600b546001600160a01b03163314610ba55760405162461bcd60e51b815260040161098890613341565b600083118015610bb6575060038311155b610bbf57600080fd5b60008381526018602090815260409091208351610bde928501906129b4565b5060008381526019602090815260409091208251610bfe928401906129b4565b50505050565b601e54601f5460009182916001600160a01b0390911690606490610c289086613448565b610c329190613434565b915091509250929050565b6000610c48836110e7565b8210610caa5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610988565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b606060158054806020026020016040519081016040528092919081815260200182805480156109095760200282019190600052602060002090815481526020019060010190808311610afd575050505050905090565b610abe83838360405180602001604052806000815250611474565b610d4d33610b4e565b610db25760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610988565b610dbb81611c88565b50565b600b546001600160a01b03163314610de85760405162461bcd60e51b815260040161098890613341565b601d55565b6000610df860085490565b8210610e5b5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610988565b60088281548110610e6e57610e6e613556565b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b03168061087b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610988565b60008086601b54610f089190613448565b905060006064601c5483610f1c9190613448565b610f269190613434565b90506000610f348284613467565b9050600186151514610f555788601b54610f4e9190613448565b3414610f59565b8034145b610f965760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606401610988565b88610fa0600c5490565b610faa919061341c565b601d541015610ffb5760405162461bcd60e51b815260206004820152601c60248201527f4d6178206e756d626572206f6620746f6b656e732072656163686564000000006044820152606401610988565b6000341161103e5760405162461bcd60e51b815260206004820152601060248201526f0496e76616c696420616d6f756e7420360841b6044820152606401610988565b8885511461108e5760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964206e756d626572206f6620746f6b656e7300000000000000006044820152606401610988565b601a546040516001600160a01b03909116903480156108fc02916000818181858888f193505050501580156110c7573d6000803e3d6000fd5b506110d5338a8a8a89611cbb565b50600193505050505b95945050505050565b60006001600160a01b0382166111525760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610988565b506001600160a01b031660009081526003602052604090205490565b600b546001600160a01b031633146111985760405162461bcd60e51b815260040161098890613341565b6111a26000611f42565b565b606060138054806020026020016040519081016040528092919081815260200182805480156109095760200282019190600052602060002090815481526020019060010190808311610afd575050505050905090565b600b546000906001600160a01b031633146112275760405162461bcd60e51b815260040161098890613341565b50601a546001600160a01b031690565b600b546001600160a01b031633146112615760405162461bcd60e51b815260040161098890613341565b601e80546001600160a01b0319166001600160a01b039390931692909217909155601f55565b60408051600380825260808201909252606091600091906020820184803683370190505090506112b6600e5490565b816000815181106112c9576112c9613556565b6020908102919091010152600f54816001815181106112ea576112ea613556565b60209081029190910101526010548160028151811061130b5761130b613556565b6020908102919091010152919050565b606060018054610890906134aa565b611335338383611f94565b5050565b600b546060906001600160a01b031633146113665760405162461bcd60e51b815260040161098890613341565b60128054806020026020016040519081016040528092919081815260200182805480156109095760200282019190600052602060002090815481526020019060010190808311610afd575050505050905090565b60606000821180156113cd575060038211155b6113d657600080fd5b600082815260196020526040902080546113ef906134aa565b80601f016020809104026020016040519081016040528092919081815260200182805461141b906134aa565b80156114685780601f1061143d57610100808354040283529160200191611468565b820191906000526020600020905b81548152906001019060200180831161144b57829003601f168201915b50505050509050919050565b61147e33836119ea565b61149a5760405162461bcd60e51b815260040161098890613376565b610bfe84848484612063565b60606000821180156114b9575060038211155b6114c257600080fd5b600082815260186020526040902080546113ef906134aa565b600b546001600160a01b031633146115055760405162461bcd60e51b815260040161098890613341565b600082118015611516575060038211155b61151f57600080fd5b60008281526017602090815260409091208251610abe928401906129b4565b6060600061154b83612096565b6000848152601660209081526040808320548352601882528083206019835281842060178452938290209151611587959491939192910161301c565b60405160208183030381529060405290506115a181612194565b6040516020016115b19190613216565b604051602081830303815290604052915050919050565b600b546000906001600160a01b031633146115f55760405162461bcd60e51b815260040161098890613341565b6001600160a01b03831661160857600080fd5b6000821161161557600080fd5b600c54821061162357600080fd5b836001600160a01b031661163683610e80565b6001600160a01b03161461164957600080fd5b6116548484846122e8565b61165f848484610d29565b61166d600d80546001019055565b6011805460018181019092557f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680183905560008381526016602052604090205414156116c6576116c1600e80546001019055565b611710565b600082815260166020526040902054600214156116eb576116c1600f80546001019055565b6000828152601660205260409020546003141561171057611710601080546001019055565b5060019392505050565b606060008211801561172d575060038211155b61173657600080fd5b600082815260176020526040902080546113ef906134aa565b600061175a600d5490565b905090565b600061175a600c5490565b606060118054806020026020016040519081016040528092919081815260200182805480156109095760200282019190600052602060002090815481526020019060010190808311610afd575050505050905090565b600b546001600160a01b031633146117ea5760405162461bcd60e51b815260040161098890613341565b601c55565b600b546001600160a01b031633146118195760405162461bcd60e51b815260040161098890613341565b6001600160a01b03811661187e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610988565b610dbb81611f42565b600b546001600160a01b031633146118b15760405162461bcd60e51b815260040161098890613341565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6040516370a0823160e01b81526001600160a01b038381166004830152600091908316906370a082319060240160206040518083038186803b15801561191857600080fd5b505afa15801561192c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119509190612d4d565b9392505050565b60006001600160e01b0319821663780e9d6360e01b148061087b575061087b826122f3565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906119b182610e80565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b0316611a635760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610988565b6000611a6e83610e80565b9050806001600160a01b0316846001600160a01b03161480611aa95750836001600160a01b0316611a9e84610913565b6001600160a01b0316145b80611ad957506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316611af482610e80565b6001600160a01b031614611b585760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610988565b6001600160a01b038216611bba5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610988565b611bc58383836122e8565b611bd060008261197c565b6001600160a01b0383166000908152600360205260408120805460019290611bf9908490613467565b90915550506001600160a01b0382166000908152600360205260408120805460019290611c2790849061341c565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600b546001600160a01b03163314611cb25760405162461bcd60e51b815260040161098890613341565b610dbb81612343565b6000805b85811015611f3557611cd5600c80546001019055565b6000838281518110611ce957611ce9613556565b6020908102919091010151601280546001810182556000919091527fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344401819055601d549091508111611f1757848281518110611d4757611d47613556565b602002602001015160011415611dde57600081815260166020526040902060019055611d738882612383565b611d9681878481518110611d8957611d89613556565b602002602001015161239d565b611da4600e80546001019055565b601380546001810182556000919091527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09001819055611f22565b848281518110611df057611df0613556565b602002602001015160021415611e7a57600081815260166020526040902060029055611e1c8882612383565b611e3281878481518110611d8957611d89613556565b611e40600f80546001019055565b601480546001810182556000919091527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec01819055611f22565b848281518110611e8c57611e8c613556565b602002602001015160031415611f1257600081815260166020526040902060039055611eb88882612383565b611ece81878481518110611d8957611d89613556565b611edc601080546001019055565b601580546001810182556000919091527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475018190555b611f22565b6000925050506110de565b5080611f2d816134e5565b915050611cbf565b5060019695505050505050565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03161415611ff65760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610988565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61206e848484611ae1565b61207a84848484612437565b610bfe5760405162461bcd60e51b8152600401610988906132ef565b6060816120ba5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156120e457806120ce816134e5565b91506120dd9050600a83613434565b91506120be565b60008167ffffffffffffffff8111156120ff576120ff61356c565b6040519080825280601f01601f191660200182016040528015612129576020820181803683370190505b5090505b8415611ad95761213e600183613467565b915061214b600a86613500565b61215690603061341c565b60f81b81838151811061216b5761216b613556565b60200101906001600160f81b031916908160001a90535061218d600a86613434565b945061212d565b60608151600014156121b457505060408051602081019091526000815290565b60006040518060600160405280604081526020016135ae60409139905060006003845160026121e3919061341c565b6121ed9190613434565b6121f8906004613448565b67ffffffffffffffff8111156122105761221061356c565b6040519080825280601f01601f19166020018201604052801561223a576020820181803683370190505b509050600182016020820185865187015b808210156122a6576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061224b565b50506003865106600181146122c257600281146122d5576122dd565b603d6001830353603d60028303536122dd565b603d60018303535b509195945050505050565b610abe838383612544565b60006001600160e01b031982166380ac58cd60e01b148061232457506001600160e01b03198216635b5e139f60e01b145b8061087b57506301ffc9a760e01b6001600160e01b031983161461087b565b61234c816125fc565b6000818152600a602052604090208054612365906134aa565b159050610dbb576000818152600a60205260408120610dbb91612a38565b6113358282604051806020016040528060008152506126a3565b6000828152600260205260409020546001600160a01b03166124185760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610988565b6000828152600a602090815260409091208251610abe928401906129b4565b60006001600160a01b0384163b1561253957604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061247b90339089908890889060040161325b565b602060405180830381600087803b15801561249557600080fd5b505af19250505080156124c5575060408051601f3d908101601f191682019092526124c291810190612d17565b60015b61251f573d8080156124f3576040519150601f19603f3d011682016040523d82523d6000602084013e6124f8565b606091505b5080516125175760405162461bcd60e51b8152600401610988906132ef565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611ad9565b506001949350505050565b6001600160a01b03831661259f5761259a81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6125c2565b816001600160a01b0316836001600160a01b0316146125c2576125c283826126d6565b6001600160a01b0382166125d957610abe81612773565b826001600160a01b0316826001600160a01b031614610abe57610abe8282612822565b600061260782610e80565b9050612615816000846122e8565b61262060008361197c565b6001600160a01b0381166000908152600360205260408120805460019290612649908490613467565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6126ad8383612866565b6126ba6000848484612437565b610abe5760405162461bcd60e51b8152600401610988906132ef565b600060016126e3846110e7565b6126ed9190613467565b600083815260076020526040902054909150808214612740576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061278590600190613467565b600083815260096020526040812054600880549394509092849081106127ad576127ad613556565b9060005260206000200154905080600883815481106127ce576127ce613556565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061280657612806613540565b6001900381819060005260206000200160009055905550505050565b600061282d836110e7565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160a01b0382166128bc5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610988565b6000818152600260205260409020546001600160a01b0316156129215760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610988565b61292d600083836122e8565b6001600160a01b038216600090815260036020526040812080546001929061295690849061341c565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8280546129c0906134aa565b90600052602060002090601f0160209004810192826129e25760008555612a28565b82601f106129fb57805160ff1916838001178555612a28565b82800160010185558215612a28579182015b82811115612a28578251825591602001919060010190612a0d565b50612a34929150612a6e565b5090565b508054612a44906134aa565b6000825580601f10612a54575050565b601f016020900490600052602060002090810190610dbb91905b5b80821115612a345760008155600101612a6f565b600067ffffffffffffffff831115612a9d57612a9d61356c565b612ab0601f8401601f19166020016133c7565b9050828152838383011115612ac457600080fd5b828260208301376000602084830101529392505050565b600082601f830112612aec57600080fd5b81356020612b01612afc836133f8565b6133c7565b80838252828201915082860187848660051b8901011115612b2157600080fd5b60005b85811015612b4057813584529284019290840190600101612b24565b5090979650505050505050565b80358015158114612b5d57600080fd5b919050565b600082601f830112612b7357600080fd5b61195083833560208501612a83565b600060208284031215612b9457600080fd5b813561195081613582565b60008060408385031215612bb257600080fd5b8235612bbd81613582565b91506020830135612bcd81613582565b809150509250929050565b600080600060608486031215612bed57600080fd5b8335612bf881613582565b92506020840135612c0881613582565b929592945050506040919091013590565b60008060008060808587031215612c2f57600080fd5b8435612c3a81613582565b93506020850135612c4a81613582565b925060408501359150606085013567ffffffffffffffff811115612c6d57600080fd5b8501601f81018713612c7e57600080fd5b612c8d87823560208401612a83565b91505092959194509250565b60008060408385031215612cac57600080fd5b8235612cb781613582565b9150612cc560208401612b4d565b90509250929050565b60008060408385031215612ce157600080fd5b8235612cec81613582565b946020939093013593505050565b600060208284031215612d0c57600080fd5b813561195081613597565b600060208284031215612d2957600080fd5b815161195081613597565b600060208284031215612d4657600080fd5b5035919050565b600060208284031215612d5f57600080fd5b5051919050565b600080600080600060a08688031215612d7e57600080fd5b8535945060208087013567ffffffffffffffff80821115612d9e57600080fd5b818901915089601f830112612db257600080fd5b8135612dc0612afc826133f8565b8082825285820191508585018d878560051b8801011115612de057600080fd5b60005b84811015612e1a578582351115612df957600080fd5b612e088f8984358a0101612b62565b84529287019290870190600101612de3565b509099505050506040890135925080831115612e3557600080fd5b612e418a848b01612adb565b9550612e4f60608a01612b4d565b94506080890135925080831115612e6557600080fd5b5050612e7388828901612adb565b9150509295509295909350565b60008060408385031215612e9357600080fd5b82359150602083013567ffffffffffffffff811115612eb157600080fd5b612ebd85828601612b62565b9150509250929050565b600080600060608486031215612edc57600080fd5b83359250602084013567ffffffffffffffff80821115612efb57600080fd5b612f0787838801612b62565b93506040860135915080821115612f1d57600080fd5b50612f2a86828701612b62565b9150509250925092565b60008060408385031215612f4757600080fd5b50508035926020909101359150565b60008151808452612f6e81602086016020860161347e565b601f01601f19169290920160200192915050565b8054600090600181811c9080831680612f9c57607f831692505b6020808410821415612fbe57634e487b7160e01b600052602260045260246000fd5b818015612fd25760018114612fe357613010565b60ff19861689528489019650613010565b60008881526020902060005b868110156130085781548b820152908501908301612fef565b505084890196505b50505050505092915050565b607b60f81b81527f226e616d65223a20224c75636b7920417065205469636b65742023000000000060018201526000855161305e81601c850160208a0161347e565b61088b60f21b601c918401918201527f226465736372697074696f6e223a202236392c343230207469636b6574732067601e8201527f72616e74696e67206c69666574696d652061636365737320746f2061204e4654603e8201527f207765656b6c7920726166666c65206f6e204176616c616e6368652e20303720605e8201527f6e756d6265727320647261776e2065766572792073756e6461792e205374616b607e8201527f6520616e64206561726e20244c55434b20666f72206d6f7265207072697a6573609e820152620b888b60ea1b60be82015261320b6131fe6131ef6131e96131a561317361319f6131818261316d60c18b01691134b6b0b3b2911d101160b11b8152600a0190565b8f612f82565b61088b60f21b815260020190565b711130b734b6b0ba34b7b72fbab936111d101160711b815260120190565b8b612f82565b7f2261747472696275746573223a205b7b2274726169745f74797065223a20225281527120a924aa2c911610113b30b63ab2911d101160711b602082015260320190565b87612f82565b62227d5d60e81b815260030190565b607d60f81b815260010190565b979650505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161324e81601d85016020870161347e565b91909101601d0192915050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061328e90830184612f56565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b818110156132d0578351835292840192918401916001016132b4565b50909695505050505050565b6020815260006119506020830184612f56565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b604051601f8201601f1916810167ffffffffffffffff811182821017156133f0576133f061356c565b604052919050565b600067ffffffffffffffff8211156134125761341261356c565b5060051b60200190565b6000821982111561342f5761342f613514565b500190565b6000826134435761344361352a565b500490565b600081600019048311821515161561346257613462613514565b500290565b60008282101561347957613479613514565b500390565b60005b83811015613499578181015183820152602001613481565b83811115610bfe5750506000910152565b600181811c908216806134be57607f821691505b602082108114156134df57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156134f9576134f9613514565b5060010190565b60008261350f5761350f61352a565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610dbb57600080fd5b6001600160e01b031981168114610dbb57600080fdfe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122009b535f09c55f3b64d4fc6c1cd76efba5cca4cfd0b3b0b326c04320908ad1b0364736f6c63430008070033697066733a2f2f516d58537965354c65665a507375376a613745464e516b4839684c314c7a6932706357646a46417561466b4e5347697066733a2f2f516d534e617445575541483741425053614878354659484c7457665746333662773976543541594548714442746f697066733a2f2f516d53665348365879337263414559324e684277447158577a5551624750526743464876667451343438554b7935697066733a2f2f516d50584b517576754b4a47483462624b586d3267726b5153455a744b684b3754734d6b347866797a6e37577076697066733a2f2f516d5072537943424c743556664d5067534c796854556848714c6d726e6673455179677869315a777241786f615a697066733a2f2f516d64517346346d6e6979717434697a66536e4b33547773597673746642364a74476876666d5a50555150756861