[ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "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": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseTokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "exchangeAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "string", "name": "_tokenURI", "type": "string" }, { "internalType": "string", "name": "_contractURI", "type": "string" }, { "internalType": "address", "name": "_proxyRegistryAddress", "type": "address" }, { "internalType": "address", "name": "_exchangeAddress", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "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": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "string", "name": "_metadataURI", "type": "string" } ], "name": "mintTo", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "extendedTokenURI_", "type": "string" } ], "name": "modifyExtendedURI", "outputs": [], "stateMutability": "nonpayable", "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": [], "name": "proxyRegistryAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "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": "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": "_tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "string", "name": "_metadataURI", "type": "string" } ], "name": "transfer", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
608060405234801561001057600080fd5b50612e19806100206000396000f3fe608060405234801561001057600080fd5b50600436106101815760003560e01c8063a22cb465116100d8578063d547cfb71161008c578063e985e9c511610066578063e985e9c5146102e3578063f242432a146102f6578063f2fde38b1461030957610181565b8063d547cfb7146102c0578063e8a3d485146102c8578063e8a568db146102d057610181565b8063baea0063116100bd578063baea006314610292578063c87b56dd146102a5578063cd7c0326146102b857610181565b8063a22cb4651461026c578063aba300371461027f57610181565b80632eb2c2d61161013a5780638da5cb5b116101145780638da5cb5b1461024757806395d89b411461025c5780639cd016051461026457610181565b80632eb2c2d61461020c5780634e1273f41461021f578063715018a61461023f57610181565b806306fdde031161016b57806306fdde03146101cf5780630e89341c146101e45780631c99c150146101f757610181565b8062fdd58e1461018657806301ffc9a7146101af575b600080fd5b61019961019436600461269f565b61031c565b6040516101a69190612a7a565b60405180910390f35b6101c26101bd366004612801565b61038e565b6040516101a691906129df565b6101d76103b1565b6040516101a691906129ea565b6101d76101f2366004612940565b610448565b61020a610205366004612845565b6104e0565b005b61020a61021a3660046124c9565b61056b565b61023261022d366004612722565b610869565b6040516101a6919061299b565b61020a610955565b61024f610a13565b6040516101a69190612987565b6101d7610a22565b61024f610a83565b61020a61027a366004612672565b610a92565b61019961028d3660046125da565b610b81565b61020a6102a0366004612878565b610e20565b6101d76102b3366004612940565b610f68565b61024f61108a565b6101d7611099565b6101d76110fa565b6101996102de3660046126ca565b61115b565b6101c26102f1366004612491565b61125f565b61020a610304366004612573565b61132c565b61020a610317366004612475565b6114f7565b60006001600160a01b0383166103635760405162461bcd60e51b815260040180806020018281038252602b815260200180612c20602b913960400191505060405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b6001600160e01b0319811660009081526033602052604090205460ff165b919050565b60c98054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561043d5780601f106104125761010080835404028352916020019161043d565b820191906000526020600020905b81548152906001019060200180831161042057829003601f168201915b505050505090505b90565b60678054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104d45780601f106104a9576101008083540402835291602001916104d4565b820191906000526020600020905b8154815290600101906020018083116104b757829003601f168201915b50505050509050919050565b6104e861160c565b6001600160a01b03166104f9610a13565b6001600160a01b031614610554576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b80516105679060cd9060208401906122f4565b5050565b81518351146105ab5760405162461bcd60e51b8152600401808060200182810382526028815260200180612d9b6028913960400191505060405180910390fd5b6001600160a01b0384166105f05760405162461bcd60e51b8152600401808060200182810382526025815260200180612c9a6025913960400191505060405180910390fd5b6105f861160c565b6001600160a01b0316856001600160a01b0316148061061e575061061e856102f161160c565b6106595760405162461bcd60e51b8152600401808060200182810382526032815260200180612cbf6032913960400191505060405180910390fd5b600061066361160c565b9050610673818787878787610861565b60005b845181101561077957600085828151811061068d57fe5b6020026020010151905060008583815181106106a557fe5b60200260200101519050610712816040518060600160405280602a8152602001612d1f602a91396065600086815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546116109092919063ffffffff16565b60008381526065602090815260408083206001600160a01b038e811685529252808320939093558a168152205461074990826116a7565b60009283526065602090815260408085206001600160a01b038c1686529091529092209190915550600101610676565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156107ff5781810151838201526020016107e7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561083e578181015183820152602001610826565b5050505090500194505050505060405180910390a4610861818787878787611708565b505050505050565b606081518351146108ab5760405162461bcd60e51b8152600401808060200182810382526029815260200180612d726029913960400191505060405180910390fd5b6060835167ffffffffffffffff811180156108c557600080fd5b506040519080825280602002602001820160405280156108ef578160200160208202803683370190505b50905060005b845181101561094d5761092e85828151811061090d57fe5b602002602001015185838151811061092157fe5b602002602001015161031c565b82828151811061093a57fe5b60209081029190910101526001016108f5565b509392505050565b61095d61160c565b6001600160a01b031661096e610a13565b6001600160a01b0316146109c9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6097546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3609780546001600160a01b0319169055565b6097546001600160a01b031690565b60ca8054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561043d5780601f106104125761010080835404028352916020019161043d565b60cb546001600160a01b031681565b816001600160a01b0316610aa461160c565b6001600160a01b03161415610aea5760405162461bcd60e51b8152600401808060200182810382526029815260200180612d496029913960400191505060405180910390fd5b8060666000610af761160c565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155610b3b61160c565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b600080610b8e888761031c565b9050848115610bb5578580831015610ba35750815b610bb08a8a8a848a61132c565b860390505b8015610e135760cc546000906001600160a01b031663c4552791610bd7610a13565b6040518263ffffffff1660e01b8152600401610bf39190612987565b60206040518083038186803b158015610c0b57600080fd5b505afa158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c439190612829565b60cc549091506001600160a01b03166369dc9ff3610c5f61160c565b6040518263ffffffff1660e01b8152600401610c7b9190612987565b60206040518083038186803b158015610c9357600080fd5b505afa158015610ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccb91906127e5565b80610cf55750610cd9610a13565b6001600160a01b0316610cea61160c565b6001600160a01b0316145b80610d185750806001600160a01b0316610d0d61160c565b6001600160a01b0316145b610d3d5760405162461bcd60e51b8152600401610d3490612a1d565b60405180910390fd5b610d4989898489611997565b600088815260cf602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610dde5780601f10610db357610100808354040283529160200191610dde565b820191906000526020600020905b815481529060010190602001808311610dc157829003601f168201915b50505050509050805160001415610e1057600089815260cf602090815260409091208751610e0e928901906122f4565b505b50505b5094979650505050505050565b600054610100900460ff1680610e395750610e39611a9f565b80610e47575060005460ff16155b610e825760405162461bcd60e51b815260040180806020018281038252602e815260200180612cf1602e913960400191505060405180910390fd5b600054610100900460ff16158015610ead576000805460ff1961ff0019909116610100171660011790555b610eb5611ab0565b610ebe85611b62565b8651610ed19060c99060208a01906122f4565b508551610ee59060ca9060208901906122f4565b5060cc80546001600160a01b0319166001600160a01b0385161790558451610f149060cd9060208801906122f4565b5060cb80546001600160a01b0319166001600160a01b0384161790558351610f439060ce9060208701906122f4565b50610f4d326114f7565b8015610f5f576000805461ff00191690555b50505050505050565b600081815260cf60209081526040918290208054835160026001831615610100026000190190921691909104601f810184900484028201840190945283815260609384939192918301828280156110005780601f10610fd557610100808354040283529160200191611000565b820191906000526020600020905b815481529060010190602001808311610fe357829003601f168201915b505050505090506060611011611099565b9050805160001415611025575090506103ac565b81511561105757808260405160200161103f929190612958565b604051602081830303815290604052925050506103ac565b8061106185611c1d565b604051602001611072929190612958565b60405160208183030381529060405292505050919050565b60cc546001600160a01b031681565b60cd8054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561043d5780601f106104125761010080835404028352916020019161043d565b60ce8054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561043d5780601f106104125761010080835404028352916020019161043d565b60cc546000906001600160a01b03166369dc9ff361117761160c565b6040518263ffffffff1660e01b81526004016111939190612987565b60206040518083038186803b1580156111ab57600080fd5b505afa1580156111bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e391906127e5565b8061120d57506111f1610a13565b6001600160a01b031661120261160c565b6001600160a01b0316145b6112295760405162461bcd60e51b8152600401610d3490612a1d565b61123586868686611997565b600085815260cf602090815260409091208351611254928501906122f4565b509395945050505050565b60cc546040517fc45527910000000000000000000000000000000000000000000000000000000081526000916001600160a01b039081169190841690829063c4552791906112b1908890600401612987565b60206040518083038186803b1580156112c957600080fd5b505afa1580156112dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113019190612829565b6001600160a01b0316141561131a576001915050610388565b6113248484611d2c565b949350505050565b6001600160a01b0384166113715760405162461bcd60e51b8152600401808060200182810382526025815260200180612c9a6025913960400191505060405180910390fd5b61137961160c565b6001600160a01b0316856001600160a01b0316148061139f575061139f856102f161160c565b6113da5760405162461bcd60e51b8152600401808060200182810382526029815260200180612c716029913960400191505060405180910390fd5b60006113e461160c565b90506114048187876113f588611d5a565b6113fe88611d5a565b87610861565b61144b836040518060600160405280602a8152602001612d1f602a913960008781526065602090815260408083206001600160a01b038d1684529091529020549190611610565b60008581526065602090815260408083206001600160a01b038b8116855292528083209390935587168152205461148290846116a7565b60008581526065602090815260408083206001600160a01b03808b168086529184529382902094909455805188815291820187905280518a8416938616927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6292908290030190a4610861818787878787611d9e565b6114ff61160c565b6001600160a01b0316611510610a13565b6001600160a01b03161461156b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166115b05760405162461bcd60e51b8152600401808060200182810382526026815260200180612c4b6026913960400191505060405180910390fd5b6097546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3609780546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6000818484111561169f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561166457818101518382015260200161164c565b50505050905090810190601f1680156116915780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611701576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b61171a846001600160a01b0316611f28565b1561086157836001600160a01b031663bc197c8187878686866040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b03168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156117a8578181015183820152602001611790565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156117e75781810151838201526020016117cf565b50505050905001848103825285818151815260200191508051906020019080838360005b8381101561182357818101518382015260200161180b565b50505050905090810190601f1680156118505780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b15801561187557600080fd5b505af192505050801561189a57506040513d602081101561189557600080fd5b505160015b61192f576118a6612afb565b806118b157506118f8565b60405162461bcd60e51b815260206004820181815283516024840152835184939192839260440191908501908083836000831561166457818101518382015260200161164c565b60405162461bcd60e51b8152600401808060200182810382526034815260200180612bc46034913960400191505060405180910390fd5b6001600160e01b031981167fbc197c810000000000000000000000000000000000000000000000000000000014610f5f5760405162461bcd60e51b8152600401808060200182810382526028815260200180612bf86028913960400191505060405180910390fd5b6001600160a01b0384166119dc5760405162461bcd60e51b8152600401808060200182810382526021815260200180612dc36021913960400191505060405180910390fd5b60006119e661160c565b90506119f8816000876113f588611d5a565b60008481526065602090815260408083206001600160a01b0389168452909152902054611a2590846116a7565b60008581526065602090815260408083206001600160a01b03808b16808652918452828520959095558151898152928301889052815190948616927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6292908290030190a4611a9881600087878787611d9e565b5050505050565b6000611aaa30611f28565b15905090565b600054610100900460ff1680611ac95750611ac9611a9f565b80611ad7575060005460ff16155b611b125760405162461bcd60e51b815260040180806020018281038252602e815260200180612cf1602e913960400191505060405180910390fd5b600054610100900460ff16158015611b3d576000805460ff1961ff0019909116610100171660011790555b611b45611f2e565b611b4d611fce565b8015611b5f576000805461ff00191690555b50565b600054610100900460ff1680611b7b5750611b7b611a9f565b80611b89575060005460ff16155b611bc45760405162461bcd60e51b815260040180806020018281038252602e815260200180612cf1602e913960400191505060405180910390fd5b600054610100900460ff16158015611bef576000805460ff1961ff0019909116610100171660011790555b611bf7611f2e565b611bff6120c7565b611c088261217d565b8015610567576000805461ff00191690555050565b606081611c5e575060408051808201909152600181527f300000000000000000000000000000000000000000000000000000000000000060208201526103ac565b8160005b8115611c7657600101600a82049150611c62565b60608167ffffffffffffffff81118015611c8f57600080fd5b506040519080825280601f01601f191660200182016040528015611cba576020820181803683370190505b50859350905060001982015b8315611d2357600a840660300160f81b82828060019003935081518110611ce957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84049350611cc6565b50949350505050565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b604080516001808252818301909252606091829190602080830190803683370190505090508281600081518110611d8d57fe5b602090810291909101015292915050565b611db0846001600160a01b0316611f28565b1561086157836001600160a01b031663f23a6e6187878686866040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611e3f578181015183820152602001611e27565b50505050905090810190601f168015611e6c5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b158015611e8f57600080fd5b505af1925050508015611eb457506040513d6020811015611eaf57600080fd5b505160015b611ec0576118a6612afb565b6001600160e01b031981167ff23a6e610000000000000000000000000000000000000000000000000000000014610f5f5760405162461bcd60e51b8152600401808060200182810382526028815260200180612bf86028913960400191505060405180910390fd5b3b151590565b600054610100900460ff1680611f475750611f47611a9f565b80611f55575060005460ff16155b611f905760405162461bcd60e51b815260040180806020018281038252602e815260200180612cf1602e913960400191505060405180910390fd5b600054610100900460ff16158015611b4d576000805460ff1961ff0019909116610100171660011790558015611b5f576000805461ff001916905550565b600054610100900460ff1680611fe75750611fe7611a9f565b80611ff5575060005460ff16155b6120305760405162461bcd60e51b815260040180806020018281038252602e815260200180612cf1602e913960400191505060405180910390fd5b600054610100900460ff1615801561205b576000805460ff1961ff0019909116610100171660011790555b600061206561160c565b609780546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015611b5f576000805461ff001916905550565b600054610100900460ff16806120e057506120e0611a9f565b806120ee575060005460ff16155b6121295760405162461bcd60e51b815260040180806020018281038252602e815260200180612cf1602e913960400191505060405180910390fd5b600054610100900460ff16158015612154576000805460ff1961ff0019909116610100171660011790555b611b4d7f01ffc9a700000000000000000000000000000000000000000000000000000000612261565b600054610100900460ff16806121965750612196611a9f565b806121a4575060005460ff16155b6121df5760405162461bcd60e51b815260040180806020018281038252602e815260200180612cf1602e913960400191505060405180910390fd5b600054610100900460ff1615801561220a576000805460ff1961ff0019909116610100171660011790555b612213826122e5565b61223c7fd9b67a2600000000000000000000000000000000000000000000000000000000612261565b611c087f0e89341c000000000000000000000000000000000000000000000000000000005b6001600160e01b031980821614156122c0576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152603360205260409020805460ff19166001179055565b80516105679060679060208401905b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261232a5760008555612370565b82601f1061234357805160ff1916838001178555612370565b82800160010185558215612370579182015b82811115612370578251825591602001919060010190612355565b5061237c929150612380565b5090565b5b8082111561237c5760008155600101612381565b80356103ac81612ba0565b600082601f8301126123b0578081fd5b81356123c36123be82612aa7565b612a83565b8181529150602080830190848101818402860182018710156123e457600080fd5b60005b84811015612403578135845292820192908201906001016123e7565b505050505092915050565b600082601f83011261241e578081fd5b813567ffffffffffffffff81111561243257fe5b612445601f8201601f1916602001612a83565b915080825283602082850101111561245c57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612486578081fd5b813561170181612ba0565b600080604083850312156124a3578081fd5b82356124ae81612ba0565b915060208301356124be81612ba0565b809150509250929050565b600080600080600060a086880312156124e0578081fd5b85356124eb81612ba0565b945060208601356124fb81612ba0565b9350604086013567ffffffffffffffff80821115612517578283fd5b61252389838a016123a0565b94506060880135915080821115612538578283fd5b61254489838a016123a0565b93506080880135915080821115612559578283fd5b506125668882890161240e565b9150509295509295909350565b600080600080600060a0868803121561258a578081fd5b853561259581612ba0565b945060208601356125a581612ba0565b93506040860135925060608601359150608086013567ffffffffffffffff8111156125ce578182fd5b6125668882890161240e565b60008060008060008060c087890312156125f2578081fd5b86356125fd81612ba0565b9550602087013561260d81612ba0565b94506040870135935060608701359250608087013567ffffffffffffffff80821115612637578283fd5b6126438a838b0161240e565b935060a0890135915080821115612658578283fd5b5061266589828a0161240e565b9150509295509295509295565b60008060408385031215612684578182fd5b823561268f81612ba0565b915060208301356124be81612bb5565b600080604083850312156126b1578182fd5b82356126bc81612ba0565b946020939093013593505050565b600080600080600060a086880312156126e1578081fd5b85356126ec81612ba0565b94506020860135935060408601359250606086013567ffffffffffffffff80821115612716578283fd5b61254489838a0161240e565b60008060408385031215612734578182fd5b823567ffffffffffffffff8082111561274b578384fd5b818501915085601f83011261275e578384fd5b813561276c6123be82612aa7565b80828252602080830192508086018a82838702890101111561278c578889fd5b8896505b848710156127b75780356127a381612ba0565b845260019690960195928101928101612790565b5090965087013593505050808211156127ce578283fd5b506127db858286016123a0565b9150509250929050565b6000602082840312156127f6578081fd5b815161170181612bb5565b600060208284031215612812578081fd5b81356001600160e01b031981168114611701578182fd5b60006020828403121561283a578081fd5b815161170181612ba0565b600060208284031215612856578081fd5b813567ffffffffffffffff81111561286c578182fd5b6113248482850161240e565b60008060008060008060c08789031215612890578384fd5b863567ffffffffffffffff808211156128a7578586fd5b6128b38a838b0161240e565b975060208901359150808211156128c8578586fd5b6128d48a838b0161240e565b965060408901359150808211156128e9578586fd5b6128f58a838b0161240e565b9550606089013591508082111561290a578384fd5b5061291789828a0161240e565b93505061292660808801612395565b915061293460a08801612395565b90509295509295509295565b600060208284031215612951578081fd5b5035919050565b6000835161296a818460208801612ac5565b83519083019061297e818360208801612ac5565b01949350505050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b818110156129d3578351835292840192918401916001016129b7565b50909695505050505050565b901515815260200190565b6000602082528251806020840152612a09816040850160208701612ac5565b601f01601f19169190910160400192915050565b60208082526031908201527f455243313135355472616461626c653a3a73656e646572206973206e6f74206f60408201527f776e6572206f7220617070726f76656421000000000000000000000000000000606082015260800190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612a9f57fe5b604052919050565b600067ffffffffffffffff821115612abb57fe5b5060209081020190565b60005b83811015612ae0578181015183820152602001612ac8565b83811115612aef576000848401525b50505050565b60e01c90565b600060443d1015612b0b57610445565b600481823e6308c379a0612b1f8251612af5565b14612b2957610445565b6040513d600319016004823e80513d67ffffffffffffffff8160248401118184111715612b595750505050610445565b82840192508251915080821115612b735750505050610445565b503d83016020828401011115612b8b57505050610445565b601f01601f1916810160200160405291505090565b6001600160a01b0381168114611b5f57600080fd5b8015158114611b5f57600080fdfe455243313135353a207472616e7366657220746f206e6f6e2045524331313535526563656976657220696d706c656d656e746572455243313135353a204552433131353552656365697665722072656a656374656420746f6b656e73455243313135353a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243313135353a207472616e7366657220746f20746865207a65726f2061646472657373455243313135353a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564455243313135353a20696e73756666696369656e742062616c616e636520666f72207472616e73666572455243313135353a2073657474696e6720617070726f76616c2073746174757320666f722073656c66455243313135353a206163636f756e747320616e6420696473206c656e677468206d69736d61746368455243313135353a2069647320616e6420616d6f756e7473206c656e677468206d69736d61746368455243313135353a206d696e7420746f20746865207a65726f2061646472657373a264697066735822122054519dcce5c1e83d80b416730393632e6659ca98cc4dc0e8fd4253688706b3fd64736f6c63430007050033