[ { "inputs": [ { "internalType": "contract ISettingsStore", "name": "_settings", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "string", "name": "_signerDomainName", "type": "string" }, { "internalType": "string", "name": "_baseUri", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "ownerId", "type": "address" }, { "indexed": false, "internalType": "uint32", "name": "version", "type": "uint32" }, { "indexed": false, "internalType": "uint32", "name": "nftType", "type": "uint32" } ], "name": "Destroyed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "ownerId", "type": "address" }, { "indexed": false, "internalType": "uint32", "name": "version", "type": "uint32" }, { "indexed": false, "internalType": "uint32", "name": "nftType", "type": "uint32" }, { "indexed": false, "internalType": "string", "name": "metadata", "type": "string" } ], "name": "Detached", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "MetadataUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "ownerId", "type": "address" }, { "indexed": false, "internalType": "uint32", "name": "version", "type": "uint32" }, { "indexed": false, "internalType": "uint32", "name": "nftType", "type": "uint32" }, { "indexed": false, "internalType": "string", "name": "metadata", "type": "string" } ], "name": "Minted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint32", "name": "version", "type": "uint32" }, { "indexed": false, "internalType": "uint32", "name": "nftType", "type": "uint32" }, { "indexed": false, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "address", "name": "to", "type": "address" } ], "name": "OwnerChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "ownerId", "type": "address" }, { "indexed": false, "internalType": "uint32", "name": "version", "type": "uint32" }, { "indexed": false, "internalType": "uint32", "name": "nftType", "type": "uint32" }, { "indexed": false, "internalType": "string", "name": "metadata", "type": "string" } ], "name": "Updated", "type": "event" }, { "inputs": [], "name": "MINT_SIG_HASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "blockDeployed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "fromVersion", "type": "uint32" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "destroy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "fromVersion", "type": "uint32" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "internalType": "struct GameNftV2.Destroy[]", "name": "destroys", "type": "tuple[]" } ], "name": "destroyMany", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "fromVersion", "type": "uint32" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "detach", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "fromVersion", "type": "uint32" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "internalType": "struct GameNftV2.Detach[]", "name": "detachments", "type": "tuple[]" } ], "name": "detachMany", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "version", "type": "uint32" }, { "internalType": "uint32", "name": "nftType", "type": "uint32" }, { "internalType": "string", "name": "metadata", "type": "string" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "version", "type": "uint32" }, { "internalType": "uint32", "name": "nftType", "type": "uint32" }, { "internalType": "string", "name": "metadata", "type": "string" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "internalType": "struct GameNftV2.Mint[]", "name": "options", "type": "tuple[]" } ], "name": "mintMany", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "read", "outputs": [ { "internalType": "address", "name": "ownerId", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "version", "type": "uint32" }, { "internalType": "uint32", "name": "nftType", "type": "uint32" }, { "internalType": "string", "name": "metadata", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "requestMetadataUpdate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "rows", "outputs": [ { "internalType": "uint32", "name": "__version", "type": "uint32" }, { "internalType": "uint32", "name": "nftType", "type": "uint32" }, { "internalType": "string", "name": "metadata", "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" } ], "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": [], "name": "settings", "outputs": [ { "internalType": "contract ISettingsStore", "name": "", "type": "address" } ], "stateMutability": "view", "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" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "fromVersion", "type": "uint32" } ], "name": "trustedDestroy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "fromVersion", "type": "uint32" } ], "internalType": "struct GameNftV2.TrustedDestroy[]", "name": "destroys", "type": "tuple[]" } ], "name": "trustedDestroyMany", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "fromVersion", "type": "uint32" } ], "name": "trustedDetach", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "fromVersion", "type": "uint32" } ], "internalType": "struct GameNftV2.TrustedDetach[]", "name": "detachments", "type": "tuple[]" } ], "name": "trustedDetachMany", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "version", "type": "uint32" }, { "internalType": "uint32", "name": "nftType", "type": "uint32" }, { "internalType": "string", "name": "metadata", "type": "string" } ], "name": "trustedMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "version", "type": "uint32" }, { "internalType": "uint32", "name": "nftType", "type": "uint32" }, { "internalType": "string", "name": "metadata", "type": "string" } ], "internalType": "struct GameNftV2.TrustedMint[]", "name": "options", "type": "tuple[]" } ], "name": "trustedMintMany", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "fromVersion", "type": "uint32" }, { "internalType": "string", "name": "metadata", "type": "string" } ], "name": "trustedUpdate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint32", "name": "fromVersion", "type": "uint32" }, { "internalType": "string", "name": "metadata", "type": "string" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "update", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "versionOf", "outputs": [ { "internalType": "uint32", "name": "version", "type": "uint32" } ], "stateMutability": "view", "type": "function" } ]
61014060405243610120527f3df4a93f22018e99b5ca17873d575bfd8d021934f7648c7cf906ce093f31f58e6009557fad316553868e814b40d9c1f1628f7b59c552a8a4d26fce5996daeab1f1293735600a557fa474ca1352a32d9695a785c5b4d660beaa3ee3b504c8a8a288588b8c0e11a103600b553480156200008357600080fd5b50604051620040f4380380620040f4833981016040819052620000a69162000328565b81604051806040016040528060018152602001603160f81b81525085858160009080519060200190620000db929190620001b5565b508051620000f1906001906020840190620001b5565b5050825160209384012082519284019290922060c083815260e08290524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818a018190528183019890985260608101959095526080808601939093523085830152805180860390920182529390920190925280519085012090525061010052600780546001600160a01b0319166001600160a01b0388161790558151620001a99160089190840190620001b5565b5050505050506200043f565b828054620001c39062000402565b90600052602060002090601f016020900481019282620001e7576000855562000232565b82601f106200020257805160ff191683800117855562000232565b8280016001018555821562000232579182015b828111156200023257825182559160200191906001019062000215565b506200024092915062000244565b5090565b5b8082111562000240576000815560010162000245565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200028357600080fd5b81516001600160401b0380821115620002a057620002a06200025b565b604051601f8301601f19908116603f01168101908282118183101715620002cb57620002cb6200025b565b81604052838152602092508683858801011115620002e857600080fd5b600091505b838210156200030c5785820183015181830184015290820190620002ed565b838211156200031e5760008385830101525b9695505050505050565b600080600080600060a086880312156200034157600080fd5b85516001600160a01b03811681146200035957600080fd5b60208701519095506001600160401b03808211156200037757600080fd5b6200038589838a0162000271565b955060408801519150808211156200039c57600080fd5b620003aa89838a0162000271565b94506060880151915080821115620003c157600080fd5b620003cf89838a0162000271565b93506080880151915080821115620003e657600080fd5b50620003f58882890162000271565b9150509295509295909350565b600181811c908216806200041757607f821691505b602082108114156200043957634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e0516101005161012051613c656200048f60003960006102d9015260006128a8015260006128f7015260006128d2015260006128560152600061287f0152613c656000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c8063917e96ca1161011a578063b2685859116100ad578063e3212d9c1161007c578063e3212d9c146104ba578063e5004149146104cd578063e985e9c5146104e0578063ed2e5a971461051c578063f24f1a8d1461054057600080fd5b8063b26858591461046e578063b88d4fde14610481578063c87b56dd14610494578063e06174e4146104a757600080fd5b80639eb9719f116100e95780639eb9719f146103fa578063a22cb4651461040d578063a469c8c014610420578063a563b4501461043357600080fd5b8063917e96ca146103aa57806392382652146103bd57806395d89b41146103d05780639625bf98146103d857600080fd5b806335ae39421161019d5780636352211e1161016c5780636352211e1461035657806366a1857c1461036957806366d707b91461037157806370a08231146103845780639089cfb71461039757600080fd5b806335ae3942146102d457806342842e0e14610309578063540255af1461031c578063546547e41461034357600080fd5b80630d6ee5a7116101d95780630d6ee5a71461028857806318f31a1a1461029b578063193e9df9146102ae57806323b872dd146102c157600080fd5b806301ffc9a71461020b57806306fdde0314610233578063081812fc14610248578063095ea7b314610273575b600080fd5b61021e610219366004612eb3565b610553565b60405190151581526020015b60405180910390f35b61023b6105a5565b60405161022a9190612f28565b61025b610256366004612f3b565b610637565b6040516001600160a01b03909116815260200161022a565b610286610281366004612f70565b6106c4565b005b610286610296366004612ff0565b6107da565b6102866102a936600461306f565b610884565b6102866102bc3660046130e0565b610926565b6102866102cf366004613122565b610af9565b6102fb7f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161022a565b610286610317366004613122565b610b2a565b6102fb7fa642567d9fa697512b1e35fa13a4e4079cc2f69f190eee6d599981860b04038f81565b6102866103513660046130e0565b610b45565b61025b610364366004612f3b565b610c09565b610286610c80565b61028661037f3660046131a3565b610d3f565b6102fb6103923660046131d9565b610e50565b6102866103a53660046131f4565b610ed7565b6102866103b83660046130e0565b610ef4565b6102866103cb36600461306f565b61102b565b61023b6110c9565b6103eb6103e6366004612f3b565b6110d8565b60405161022a9392919061324e565b6102866104083660046131f4565b61118f565b61028661041b36600461328e565b6111a6565b61028661042e3660046132c5565b61126b565b610459610441366004612f3b565b60009081526006602052604090205463ffffffff1690565b60405163ffffffff909116815260200161022a565b61028661047c36600461333d565b611286565b61028661048f3660046133ee565b6112ad565b61023b6104a2366004612f3b565b6112df565b60075461025b906001600160a01b031681565b6102866104c83660046131f4565b6113aa565b6102866104db3660046130e0565b61144a565b61021e6104ee3660046134ca565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61052f61052a366004612f3b565b61150e565b60405161022a9594939291906134f4565b61028661054e3660046131a3565b61160e565b60006001600160e01b031982166380ac58cd60e01b148061058457506001600160e01b03198216635b5e139f60e01b145b8061059f57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546105b49061353e565b80601f01602080910402602001604051908101604052809291908181526020018280546105e09061353e565b801561062d5780601f106106025761010080835404028352916020019161062d565b820191906000526020600020905b81548152906001019060200180831161061057829003601f168201915b5050505050905090565b60006106428261171f565b6106a85760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006106cf82610c09565b9050806001600160a01b0316836001600160a01b0316141561073d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161069f565b336001600160a01b0382161480610759575061075981336104ee565b6107cb5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161069f565b6107d5838361173c565b505050565b6007546001600160a01b031663802fbe4e336107f46110c9565b6040518363ffffffff1660e01b8152600401610811929190613579565b602060405180830381865afa15801561082e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085291906135c9565b61086e5760405162461bcd60e51b815260040161069f906135e6565b61087c8686868686866117aa565b505050505050565b6007546001600160a01b031663802fbe4e3361089e6110c9565b6040518363ffffffff1660e01b81526004016108bb929190613603565b602060405180830381865afa1580156108d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fc91906135c9565b6109185760405162461bcd60e51b815260040161069f906135e6565b61092282826118d0565b5050565b6007546001600160a01b031663802fbe4e336109406110c9565b6040518363ffffffff1660e01b815260040161095d929190613579565b602060405180830381865afa15801561097a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099e91906135c9565b6109ba5760405162461bcd60e51b815260040161069f906135e6565b60005b63ffffffff81168211156107d557610ae783838363ffffffff168181106109e6576109e6613656565b90506020028101906109f8919061366c565b610a069060208101906131d9565b84848463ffffffff16818110610a1e57610a1e613656565b9050602002810190610a30919061366c565b6020013585858563ffffffff16818110610a4c57610a4c613656565b9050602002810190610a5e919061366c565b610a6f90606081019060400161368c565b86868663ffffffff16818110610a8757610a87613656565b9050602002810190610a99919061366c565b610aaa90608081019060600161368c565b87878763ffffffff16818110610ac257610ac2613656565b9050602002810190610ad4919061366c565b610ae29060808101906136a7565b6117aa565b80610af181613704565b9150506109bd565b610b0333826119f4565b610b1f5760405162461bcd60e51b815260040161069f90613728565b6107d5838383611ade565b6107d5838383604051806020016040528060008152506112ad565b60005b63ffffffff81168211156107d557610bf783838363ffffffff16818110610b7157610b71613656565b9050602002810190610b839190613779565b35848463ffffffff8516818110610b9c57610b9c613656565b9050602002810190610bae9190613779565b610bbf90604081019060200161368c565b85858563ffffffff16818110610bd757610bd7613656565b9050602002810190610be99190613779565b6104089060408101906136a7565b80610c0181613704565b915050610b48565b6000818152600260205260408120546001600160a01b03168061059f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161069f565b600754604051630935e01b60e21b81523360048201526001600160a01b03909116906324d7806c90602401602060405180830381865afa158015610cc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cec91906135c9565b610d085760405162461bcd60e51b815260040161069f906135e6565b60405160001981527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1565b6007546001600160a01b031663802fbe4e33610d596110c9565b6040518363ffffffff1660e01b8152600401610d76929190613603565b602060405180830381865afa158015610d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db791906135c9565b610dd35760405162461bcd60e51b815260040161069f906135e6565b60005b63ffffffff81168211156107d557610e3e83838363ffffffff16818110610dff57610dff613656565b9050604002016000013584848463ffffffff16818110610e2157610e21613656565b9050604002016020016020810190610e39919061368c565b6118d0565b80610e4881613704565b915050610dd6565b60006001600160a01b038216610ebb5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b606482015260840161069f565b506001600160a01b031660009081526003602052604090205490565b610ee43385858585611c89565b610eee84846118d0565b50505050565b60005b63ffffffff81168211156107d55761101983838363ffffffff16818110610f2057610f20613656565b9050602002810190610f32919061366c565b35848463ffffffff8516818110610f4b57610f4b613656565b9050602002810190610f5d919061366c565b610f6e90604081019060200161368c565b85858563ffffffff16818110610f8657610f86613656565b9050602002810190610f98919061366c565b610fa990606081019060400161368c565b86868663ffffffff16818110610fc157610fc1613656565b9050602002810190610fd3919061366c565b610fe19060608101906136a7565b88888863ffffffff16818110610ff957610ff9613656565b905060200281019061100b919061366c565b61047c9060808101906136a7565b8061102381613704565b915050610ef7565b6007546001600160a01b031663802fbe4e336110456110c9565b6040518363ffffffff1660e01b815260040161106292919061378f565b602060405180830381865afa15801561107f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a391906135c9565b6110bf5760405162461bcd60e51b815260040161069f906135e6565b6109228282611dba565b6060600180546105b49061353e565b6006602052600090815260409020805460018201805463ffffffff80841694600160201b9094041692919061110c9061353e565b80601f01602080910402602001604051908101604052809291908181526020018280546111389061353e565b80156111855780601f1061115a57610100808354040283529160200191611185565b820191906000526020600020905b81548152906001019060200180831161116857829003601f168201915b5050505050905083565b61119c3385858585611f46565b610eee8484611dba565b6001600160a01b0382163314156111ff5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161069f565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61127a33878787878787612003565b61087c8686868661214a565b6112963388888888888888612289565b6112a43388888888886117aa565b50505050505050565b6112b733836119f4565b6112d35760405162461bcd60e51b815260040161069f90613728565b610eee848484846123f9565b60606112ea8261171f565b61134e5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b606482015260840161069f565b600061135861242c565b9050600081511161137857604051806020016040528060008152506113a3565b806113828461243b565b6040516020016113939291906137e1565b6040516020818303038152906040525b9392505050565b6007546001600160a01b031663802fbe4e336113c46110c9565b6040518363ffffffff1660e01b81526004016113e1929190613810565b602060405180830381865afa1580156113fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142291906135c9565b61143e5760405162461bcd60e51b815260040161069f906135e6565b610eee8484848461214a565b60005b63ffffffff81168211156107d5576114fc83838363ffffffff1681811061147657611476613656565b90506020028101906114889190613779565b35848463ffffffff85168181106114a1576114a1613656565b90506020028101906114b39190613779565b6114c490604081019060200161368c565b85858563ffffffff168181106114dc576114dc613656565b90506020028101906114ee9190613779565b6103a59060408101906136a7565b8061150681613704565b91505061144d565b600080600080606061151f8661171f565b61153b5760405162461bcd60e51b815260040161069f90613862565b61154486610c09565b6000878152600660205260409020805460019091018054899263ffffffff80821693600160201b9092041691819061157b9061353e565b80601f01602080910402602001604051908101604052809291908181526020018280546115a79061353e565b80156115f45780601f106115c9576101008083540402835291602001916115f4565b820191906000526020600020905b8154815290600101906020018083116115d757829003601f168201915b505050505090509450945094509450945091939590929450565b6007546001600160a01b031663802fbe4e336116286110c9565b6040518363ffffffff1660e01b815260040161164592919061378f565b602060405180830381865afa158015611662573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168691906135c9565b6116a25760405162461bcd60e51b815260040161069f906135e6565b60005b63ffffffff81168211156107d55761170d83838363ffffffff168181106116ce576116ce613656565b9050604002016000013584848463ffffffff168181106116f0576116f0613656565b9050604002016020016020810190611708919061368c565b611dba565b8061171781613704565b9150506116a5565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061177182610c09565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008581526006602052604090205463ffffffff8086169116106117e05760405162461bcd60e51b815260040161069f90613862565b6000858152600660205260409020805463ffffffff858116600160201b0267ffffffffffffffff1990921690871617178155611820906001018383612dce565b5061182b8686612539565b847fe4c6b597b2b2280f4a2503ef9ec70747593fa9a0edd9f89d823f35845d3074c661185687610c09565b600088815260066020526040908190208054915161188d939263ffffffff80821693600160201b909204169160019091019061387f565b60405180910390a26040518581527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b60008281526006602052604090205463ffffffff808316911611156119075760405162461bcd60e51b815260040161069f90613862565b600082815260066020526040812054600160201b900463ffffffff169061192d84610c09565b600085815260066020526040812091925061194b9160010190612e52565b611956836001613953565b6000858152600660205260409020805463ffffffff191663ffffffff9290921691909117905561198584612553565b6000848152600660209081526040918290205482516001600160a01b038516815263ffffffff9182169281019290925284169181019190915284907f0a531e38737302f41377b10913987982a91f7a0a31e776dc0a4c701e41c8e5e7906060015b60405180910390a250505050565b60006119ff8261171f565b611a605760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161069f565b6000611a6b83610c09565b9050806001600160a01b0316846001600160a01b03161480611aa65750836001600160a01b0316611a9b84610637565b6001600160a01b0316145b80611ad657506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316611af182610c09565b6001600160a01b031614611b595760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b606482015260840161069f565b6001600160a01b038216611bbb5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161069f565b611bc68383836125fa565b611bd160008261173c565b6001600160a01b0383166000908152600360205260408120805460019290611bfa908490613972565b90915550506001600160a01b0382166000908152600360205260408120805460019290611c28908490613989565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600a546040805160208101929092526001600160a01b038716908201526060810185905263ffffffff84166080820152600090611cdf9060a0015b604051602081830303815290604052805190602001206126af565b90506000611d238285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126fd92505050565b6007549091506001600160a01b031663802fbe4e82611d406110c9565b6040518363ffffffff1660e01b8152600401611d5d9291906139a1565b602060405180830381865afa158015611d7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9e91906135c9565b6112a45760405162461bcd60e51b815260040161069f906135e6565b60008281526006602052604090205463ffffffff80831691161115611df15760405162461bcd60e51b815260040161069f90613862565b60008281526006602052604081206001018054611e0d9061353e565b80601f0160208091040260200160405190810160405280929190818152602001828054611e399061353e565b8015611e865780601f10611e5b57610100808354040283529160200191611e86565b820191906000526020600020905b815481529060010190602001808311611e6957829003601f168201915b505050505090506000611e9884610c09565b6000858152600660205260408120919250611eb69160010190612e52565b611ec1836001613953565b6000858152600660205260409020805463ffffffff191663ffffffff92909216919091179055611ef084612553565b6000848152600660205260409081902054905185917fd36ce1149947f69727a1f8d337a9fc31ae47495ca6b605447bd194ed62bf3c4b916119e691859163ffffffff80831692600160201b9004169088906139ed565b6009546040805160208101929092526001600160a01b038716908201526060810185905263ffffffff84166080820152600090611f859060a001611cc4565b90506000611fc98285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126fd92505050565b6007549091506001600160a01b031663802fbe4e82611fe66110c9565b6040518363ffffffff1660e01b8152600401611d5d929190613a2f565b6000612064600b54898989898960405161201e929190613a7a565b604051908190038120611cc495949392916020019485526001600160a01b03939093166020850152604084019190915263ffffffff166060830152608082015260a00190565b905060006120a88285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126fd92505050565b6007549091506001600160a01b031663802fbe4e826120c56110c9565b6040518363ffffffff1660e01b81526004016120e2929190613a8a565b602060405180830381865afa1580156120ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212391906135c9565b61213f5760405162461bcd60e51b815260040161069f906135e6565b505050505050505050565b6121538461171f565b61216f5760405162461bcd60e51b815260040161069f90613862565b60008481526006602052604090205463ffffffff808516911611156121a65760405162461bcd60e51b815260040161069f90613862565b6121b1836001613953565b6000858152600660205260409020805463ffffffff191663ffffffff929092169190911781556121e5906001018383612dce565b50837f433845e32ad057571e10cb9b0c16ab4d20982475af330a4a68e59b04b31d9f4861221186610c09565b6000878152600660205260409081902080549151612248939263ffffffff80821693600160201b909204169160019091019061387f565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b60006123127fa642567d9fa697512b1e35fa13a4e4079cc2f69f190eee6d599981860b04038f8a8a8a8a8a8a6040516122c3929190613a7a565b604051908190038120611cc49695949392916020019586526001600160a01b03949094166020860152604085019290925263ffffffff908116606085015216608083015260a082015260c00190565b905060006123568285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126fd92505050565b6007549091506001600160a01b031663802fbe4e826123736110c9565b6040518363ffffffff1660e01b8152600401612390929190613ad5565b602060405180830381865afa1580156123ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d191906135c9565b6123ed5760405162461bcd60e51b815260040161069f906135e6565b50505050505050505050565b612404848484611ade565b61241084848484612721565b610eee5760405162461bcd60e51b815260040161069f90613b1e565b6060600880546105b49061353e565b60608161245f5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612489578061247381613b70565b91506124829050600a83613ba1565b9150612463565b60008167ffffffffffffffff8111156124a4576124a46133d8565b6040519080825280601f01601f1916602001820160405280156124ce576020820181803683370190505b5090505b8415611ad6576124e3600183613972565b91506124f0600a86613bb5565b6124fb906030613989565b60f81b81838151811061251057612510613656565b60200101906001600160f81b031916908160001a905350612532600a86613ba1565b94506124d2565b61092282826040518060200160405280600081525061281f565b600061255e82610c09565b905061256c816000846125fa565b61257760008361173c565b6001600160a01b03811660009081526003602052604081208054600192906125a0908490613972565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600081815260066020526040812080546001929061261f90849063ffffffff16613953565b82546101009290920a63ffffffff8181021990931691831602179091556000838152600660209081526040918290205482518185168152600160201b909104909316908301526001600160a01b038681168383015285166060830152518392507f455cc7f4a37fe5496fb736d649323d0a41caec7ebd974bc04c9e02d954b5a4fe916080908290030190a2505050565b600061059f6126bc612852565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b600080600061270c8585612945565b91509150612719816129b5565b509392505050565b60006001600160a01b0384163b1561281457604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612765903390899088908890600401613bc9565b6020604051808303816000875af19250505080156127a0575060408051601f3d908101601f1916820190925261279d91810190613bfc565b60015b6127fa573d8080156127ce576040519150601f19603f3d011682016040523d82523d6000602084013e6127d3565b606091505b5080516127f25760405162461bcd60e51b815260040161069f90613b1e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611ad6565b506001949350505050565b6128298383612b73565b6128366000848484612721565b6107d55760405162461bcd60e51b815260040161069f90613b1e565b60007f00000000000000000000000000000000000000000000000000000000000000004614156128a157507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008082516041141561297c5760208301516040840151606085015160001a61297087828585612cb2565b945094505050506129ae565b8251604014156129a6576020830151604084015161299b868383612d9f565b9350935050506129ae565b506000905060025b9250929050565b60008160048111156129c9576129c9613c19565b14156129d25750565b60018160048111156129e6576129e6613c19565b1415612a345760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161069f565b6002816004811115612a4857612a48613c19565b1415612a965760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161069f565b6003816004811115612aaa57612aaa613c19565b1415612b035760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161069f565b6004816004811115612b1757612b17613c19565b1415612b705760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840161069f565b50565b6001600160a01b038216612bc95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161069f565b612bd28161171f565b15612c1f5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161069f565b612c2b600083836125fa565b6001600160a01b0382166000908152600360205260408120805460019290612c54908490613989565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612ce95750600090506003612d96565b8460ff16601b14158015612d0157508460ff16601c14155b15612d125750600090506004612d96565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612d66573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612d8f57600060019250925050612d96565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01612dc087828885612cb2565b935093505050935093915050565b828054612dda9061353e565b90600052602060002090601f016020900481019282612dfc5760008555612e42565b82601f10612e155782800160ff19823516178555612e42565b82800160010185558215612e42579182015b82811115612e42578235825591602001919060010190612e27565b50612e4e929150612e88565b5090565b508054612e5e9061353e565b6000825580601f10612e6e575050565b601f016020900490600052602060002090810190612b7091905b5b80821115612e4e5760008155600101612e89565b6001600160e01b031981168114612b7057600080fd5b600060208284031215612ec557600080fd5b81356113a381612e9d565b60005b83811015612eeb578181015183820152602001612ed3565b83811115610eee5750506000910152565b60008151808452612f14816020860160208601612ed0565b601f01601f19169290920160200192915050565b6020815260006113a36020830184612efc565b600060208284031215612f4d57600080fd5b5035919050565b80356001600160a01b0381168114612f6b57600080fd5b919050565b60008060408385031215612f8357600080fd5b612f8c83612f54565b946020939093013593505050565b803563ffffffff81168114612f6b57600080fd5b60008083601f840112612fc057600080fd5b50813567ffffffffffffffff811115612fd857600080fd5b6020830191508360208285010111156129ae57600080fd5b60008060008060008060a0878903121561300957600080fd5b61301287612f54565b95506020870135945061302760408801612f9a565b935061303560608801612f9a565b9250608087013567ffffffffffffffff81111561305157600080fd5b61305d89828a01612fae565b979a9699509497509295939492505050565b6000806040838503121561308257600080fd5b8235915061309260208401612f9a565b90509250929050565b60008083601f8401126130ad57600080fd5b50813567ffffffffffffffff8111156130c557600080fd5b6020830191508360208260051b85010111156129ae57600080fd5b600080602083850312156130f357600080fd5b823567ffffffffffffffff81111561310a57600080fd5b6131168582860161309b565b90969095509350505050565b60008060006060848603121561313757600080fd5b61314084612f54565b925061314e60208501612f54565b9150604084013590509250925092565b60008083601f84011261317057600080fd5b50813567ffffffffffffffff81111561318857600080fd5b6020830191508360208260061b85010111156129ae57600080fd5b600080602083850312156131b657600080fd5b823567ffffffffffffffff8111156131cd57600080fd5b6131168582860161315e565b6000602082840312156131eb57600080fd5b6113a382612f54565b6000806000806060858703121561320a57600080fd5b8435935061321a60208601612f9a565b9250604085013567ffffffffffffffff81111561323657600080fd5b61324287828801612fae565b95989497509550505050565b600063ffffffff8086168352808516602084015250606060408301526132776060830184612efc565b95945050505050565b8015158114612b7057600080fd5b600080604083850312156132a157600080fd5b6132aa83612f54565b915060208301356132ba81613280565b809150509250929050565b600080600080600080608087890312156132de57600080fd5b863595506132ee60208801612f9a565b9450604087013567ffffffffffffffff8082111561330b57600080fd5b6133178a838b01612fae565b9096509450606089013591508082111561333057600080fd5b5061305d89828a01612fae565b600080600080600080600060a0888a03121561335857600080fd5b8735965061336860208901612f9a565b955061337660408901612f9a565b9450606088013567ffffffffffffffff8082111561339357600080fd5b61339f8b838c01612fae565b909650945060808a01359150808211156133b857600080fd5b506133c58a828b01612fae565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561340457600080fd5b61340d85612f54565b935061341b60208601612f54565b925060408501359150606085013567ffffffffffffffff8082111561343f57600080fd5b818701915087601f83011261345357600080fd5b813581811115613465576134656133d8565b604051601f8201601f19908116603f0116810190838211818310171561348d5761348d6133d8565b816040528281528a60208487010111156134a657600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156134dd57600080fd5b6134e683612f54565b915061309260208401612f54565b6001600160a01b03861681526020810185905263ffffffff84811660408301528316606082015260a06080820181905260009061353390830184612efc565b979650505050505050565b600181811c9082168061355257607f821691505b6020821081141561357357634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b038316815260606020820181905260009061359d90830184612efc565b828103604093840152600b81526a151c9d5cdd1959135a5b9d60aa1b6020820152919091019392505050565b6000602082840312156135db57600080fd5b81516113a381613280565b60208082526003908201526234303360e81b604082015260600190565b6001600160a01b038316815260606020820181905260009061362790830184612efc565b828103604093840152600e81526d5472757374656444657374726f7960901b6020820152919091019392505050565b634e487b7160e01b600052603260045260246000fd5b60008235609e1983360301811261368257600080fd5b9190910192915050565b60006020828403121561369e57600080fd5b6113a382612f9a565b6000808335601e198436030181126136be57600080fd5b83018035915067ffffffffffffffff8211156136d957600080fd5b6020019150368190038213156129ae57600080fd5b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8083168181141561371e5761371e6136ee565b6001019392505050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008235605e1983360301811261368257600080fd5b6001600160a01b03831681526060602082018190526000906137b390830184612efc565b828103604093840152600d81526c0a8e4eae6e8cac888cae8c2c6d609b1b6020820152919091019392505050565b600083516137f3818460208801612ed0565b835190830190613807818360208801612ed0565b01949350505050565b6001600160a01b038316815260606020820181905260009061383490830184612efc565b828103604093840152600d81526c5472757374656455706461746560981b6020820152919091019392505050565b60208082526003908201526203430360ec1b604082015260600190565b6001600160a01b038516815263ffffffff8481166020808401919091529084166040830152608060608301528254600091908290600181811c90828116806138c857607f831692505b8583108114156138e657634e487b7160e01b85526022600452602485fd5b6080880183905260a08801818015613905576001811461391657613941565b60ff19861682528782019650613941565b60008b81526020902060005b8681101561393b57815484820152908501908901613922565b83019750505b50949c9b505050505050505050505050565b600063ffffffff808316818516808303821115613807576138076136ee565b600082821015613984576139846136ee565b500390565b6000821982111561399c5761399c6136ee565b500190565b6001600160a01b03831681526060602082018190526000906139c590830184612efc565b828103604093840152600781526644657374726f7960c81b6020820152919091019392505050565b6001600160a01b038516815263ffffffff848116602083015283166040820152608060608201819052600090613a2590830184612efc565b9695505050505050565b6001600160a01b0383168152606060208201819052600090613a5390830184612efc565b8281036040938401526006815265088cae8c2c6d60d31b6020820152919091019392505050565b8183823760009101908152919050565b6001600160a01b0383168152606060208201819052600090613aae90830184612efc565b828103604093840152600681526555706461746560d01b6020820152919091019392505050565b6001600160a01b0383168152606060208201819052600090613af990830184612efc565b8281036040938401526004815263135a5b9d60e21b6020820152919091019392505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000600019821415613b8457613b846136ee565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082613bb057613bb0613b8b565b500490565b600082613bc457613bc4613b8b565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613a2590830184612efc565b600060208284031215613c0e57600080fd5b81516113a381612e9d565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220be278dd642d1d4523bf573464990a9fce795199bc98ba273a8e814c6ca68e74764736f6c634300080c0033000000000000000000000000078c4adf3fee52eb77f6018d9805dfc69e911d3900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000f457465726e697479204e465420763200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006454e465456320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f706c6179657465726e6974792e696f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003168747470733a2f2f71756573742e706c6179657465726e6974792e696f2f6170692f746f6b656e2d6d657461646174612f000000000000000000000000000000