0 txs
0 calls
constructor
constructor(string _tokenURI, string _contractURI)
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
contractURI
viewfunction contractURI() view returns (string)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
owner
viewfunction owner() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenURI
viewfunction tokenURI(uint256) view returns (string)
uri
viewfunction uri(uint256 _tokenId) view returns (string)
burn
nonpayablefunction burn(address account, uint256 id, uint256 value)
burnBatch
nonpayablefunction burnBatch(address account, uint256[] ids, uint256[] values)
mint
nonpayablefunction mint(address to, uint256 id, uint256 amount, bytes data)
mintMultiple
nonpayablefunction mintMultiple(address[] to, uint256 id)
removeTokenURI
nonpayablefunction removeTokenURI(uint256 _tokenId)
renounceOwnership
nonpayablefunction renounceOwnership()
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setContractURI
nonpayablefunction setContractURI(string uri_)
setTokenURI
nonpayablefunction setTokenURI(uint256 _tokenId, string uri_)
setURI
nonpayablefunction setURI(string uri_)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
TransferSingle
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
URI
event URI(string value, uint256 indexed id)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162004752380380620047528339818101604052810190620000379190620003c0565b81620000586200004c6200008b60201b60201c565b6200009360201b60201c565b62000069816200015760201b60201c565b5080600490805190602001906200008292919062000173565b505050620004aa565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600390805190602001906200016f92919062000173565b5050565b828054620001819062000474565b90600052602060002090601f016020900481019282620001a55760008555620001f1565b82601f10620001c057805160ff1916838001178555620001f1565b82800160010185558215620001f1579182015b82811115620001f0578251825591602001919060010190620001d3565b5b50905062000200919062000204565b5090565b5b808211156200021f57600081600090555060010162000205565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200028c8262000241565b810181811067ffffffffffffffff82111715620002ae57620002ad62000252565b5b80604052505050565b6000620002c362000223565b9050620002d1828262000281565b919050565b600067ffffffffffffffff821115620002f457620002f362000252565b5b620002ff8262000241565b9050602081019050919050565b60005b838110156200032c5780820151818401526020810190506200030f565b838111156200033c576000848401525b50505050565b6000620003596200035384620002d6565b620002b7565b9050828152602081018484840111156200037857620003776200023c565b5b620003858482856200030c565b509392505050565b600082601f830112620003a557620003a462000237565b5b8151620003b784826020860162000342565b91505092915050565b60008060408385031215620003da57620003d96200022d565b5b600083015167ffffffffffffffff811115620003fb57620003fa62000232565b5b62000409858286016200038d565b925050602083015167ffffffffffffffff8111156200042d576200042c62000232565b5b6200043b858286016200038d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200048d57607f821691505b60208210811415620004a457620004a362000445565b5b50919050565b61429880620004ba6000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c8063715018a6116100b8578063c87b56dd1161007c578063c87b56dd1461031f578063e8a3d4851461034f578063e985e9c51461036d578063f242432a1461039d578063f2fde38b146103b9578063f5298aca146103d557610136565b8063715018a6146102a3578063731133e9146102ad5780638da5cb5b146102c9578063938e3d7b146102e7578063a22cb4651461030357610136565b80632eb2c2d6116100ff5780632eb2c2d6146102035780634e1273f41461021f578063648fb06f1461024f5780636b20c4541461026b5780636e4af0ab1461028757610136565b8062fdd58e1461013b57806301ffc9a71461016b57806302fe53051461019b5780630e89341c146101b7578063162094c4146101e7575b600080fd5b610155600480360381019061015091906128f5565b6103f1565b6040516101629190612944565b60405180910390f35b610185600480360381019061018091906129b7565b6104bb565b60405161019291906129ff565b60405180910390f35b6101b560048036038101906101b09190612a7f565b61059d565b005b6101d160048036038101906101cc9190612acc565b61066a565b6040516101de9190612b92565b60405180910390f35b61020160048036038101906101fc9190612bb4565b61076e565b005b61021d60048036038101906102189190612e07565b610812565b005b61023960048036038101906102349190612f99565b6108b3565b60405161024691906130cf565b60405180910390f35b61026960048036038101906102649190613147565b6109cc565b005b610285600480360381019061028091906131a7565b610ab2565b005b6102a1600480360381019061029c9190612acc565b610b4f565b005b6102ab610bed565b005b6102c760048036038101906102c29190613232565b610c75565b005b6102d1610d03565b6040516102de91906132c4565b60405180910390f35b61030160048036038101906102fc9190612a7f565b610d2c565b005b61031d6004803603810190610318919061330b565b610dbe565b005b61033960048036038101906103349190612acc565b610f3f565b6040516103469190612b92565b60405180910390f35b610357610fdf565b6040516103649190612b92565b60405180910390f35b6103876004803603810190610382919061334b565b61106d565b60405161039491906129ff565b60405180910390f35b6103b760048036038101906103b2919061338b565b611101565b005b6103d360048036038101906103ce9190613422565b6111a2565b005b6103ef60048036038101906103ea919061344f565b61129a565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610462576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045990613514565b60405180910390fd5b6001600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061058657507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610596575061059582611337565b5b9050919050565b6105a56113a1565b73ffffffffffffffffffffffffffffffffffffffff166105c3610d03565b73ffffffffffffffffffffffffffffffffffffffff1614610619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061090613580565b60405180910390fd5b61066682828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506113a9565b5050565b6060600060056000848152602001908152602001600020805461068c906135cf565b905014610734576005600083815260200190815260200160002080546106b1906135cf565b80601f01602080910402602001604051908101604052809291908181526020018280546106dd906135cf565b801561072a5780601f106106ff5761010080835404028352916020019161072a565b820191906000526020600020905b81548152906001019060200180831161070d57829003601f168201915b5050505050610767565b61073d826113c3565b61074683611457565b604051602001610757929190613689565b6040516020818303038152906040525b9050919050565b6107766113a1565b73ffffffffffffffffffffffffffffffffffffffff16610794610d03565b73ffffffffffffffffffffffffffffffffffffffff16146107ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e190613580565b60405180910390fd5b818160056000868152602001908152602001600020919061080c9291906126e4565b50505050565b61081a6113a1565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610860575061085f8561085a6113a1565b61106d565b5b61089f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108969061372a565b60405180910390fd5b6108ac85858585856115b8565b5050505050565b606081518351146108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f0906137bc565b60405180910390fd5b6000835167ffffffffffffffff81111561091657610915612c14565b5b6040519080825280602002602001820160405280156109445781602001602082028036833780820191505090505b50905060005b84518110156109c157610991858281518110610969576109686137dc565b5b6020026020010151858381518110610984576109836137dc565b5b60200260200101516103f1565b8282815181106109a4576109a36137dc565b5b602002602001018181525050806109ba9061383a565b905061094a565b508091505092915050565b6109d46113a1565b73ffffffffffffffffffffffffffffffffffffffff166109f2610d03565b73ffffffffffffffffffffffffffffffffffffffff1614610a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3f90613580565b60405180910390fd5b60005b83839050811015610aac57610a99848483818110610a6c57610a6b6137dc565b5b9050602002016020810190610a819190613422565b836001604051806020016040528060008152506118cf565b8080610aa49061383a565b915050610a4b565b50505050565b610aba6113a1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610b005750610aff83610afa6113a1565b61106d565b5b610b3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b36906138f5565b60405180910390fd5b610b4a838383611a66565b505050565b610b576113a1565b73ffffffffffffffffffffffffffffffffffffffff16610b75610d03565b73ffffffffffffffffffffffffffffffffffffffff1614610bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc290613580565b60405180910390fd5b600560008281526020019081526020016000206000610bea919061276a565b50565b610bf56113a1565b73ffffffffffffffffffffffffffffffffffffffff16610c13610d03565b73ffffffffffffffffffffffffffffffffffffffff1614610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6090613580565b60405180910390fd5b610c736000611d19565b565b610c7d6113a1565b73ffffffffffffffffffffffffffffffffffffffff16610c9b610d03565b73ffffffffffffffffffffffffffffffffffffffff1614610cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce890613580565b60405180910390fd5b610cfd848484846118cf565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d346113a1565b73ffffffffffffffffffffffffffffffffffffffff16610d52610d03565b73ffffffffffffffffffffffffffffffffffffffff1614610da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9f90613580565b60405180910390fd5b818160049190610db99291906126e4565b505050565b8173ffffffffffffffffffffffffffffffffffffffff16610ddd6113a1565b73ffffffffffffffffffffffffffffffffffffffff161415610e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2b90613987565b60405180910390fd5b8060026000610e416113a1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610eee6113a1565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610f3391906129ff565b60405180910390a35050565b60056020528060005260406000206000915090508054610f5e906135cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610f8a906135cf565b8015610fd75780601f10610fac57610100808354040283529160200191610fd7565b820191906000526020600020905b815481529060010190602001808311610fba57829003601f168201915b505050505081565b60048054610fec906135cf565b80601f0160208091040260200160405190810160405280929190818152602001828054611018906135cf565b80156110655780601f1061103a57610100808354040283529160200191611065565b820191906000526020600020905b81548152906001019060200180831161104857829003601f168201915b505050505081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6111096113a1565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061114f575061114e856111496113a1565b61106d565b5b61118e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611185906138f5565b60405180910390fd5b61119b8585858585611ddd565b5050505050565b6111aa6113a1565b73ffffffffffffffffffffffffffffffffffffffff166111c8610d03565b73ffffffffffffffffffffffffffffffffffffffff161461121e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121590613580565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561128e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128590613a19565b60405180910390fd5b61129781611d19565b50565b6112a26113a1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806112e857506112e7836112e26113a1565b61106d565b5b611327576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131e906138f5565b60405180910390fd5b611332838383612062565b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b80600390805190602001906113bf9291906127aa565b5050565b6060600380546113d2906135cf565b80601f01602080910402602001604051908101604052809291908181526020018280546113fe906135cf565b801561144b5780601f106114205761010080835404028352916020019161144b565b820191906000526020600020905b81548152906001019060200180831161142e57829003601f168201915b50505050509050919050565b6060600082141561149f576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506115b3565b600082905060005b600082146114d15780806114ba9061383a565b915050600a826114ca9190613a68565b91506114a7565b60008167ffffffffffffffff8111156114ed576114ec612c14565b5b6040519080825280601f01601f19166020018201604052801561151f5781602001600182028036833780820191505090505b5090505b600085146115ac576001826115389190613a99565b9150600a856115479190613acd565b60306115539190613afe565b60f81b818381518110611569576115686137dc565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856115a59190613a68565b9450611523565b8093505050505b919050565b81518351146115fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f390613bc6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561166c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166390613c58565b60405180910390fd5b60006116766113a1565b9050611686818787878787612281565b60005b845181101561183a5760008582815181106116a7576116a66137dc565b5b6020026020010151905060008583815181106116c6576116c56137dc565b5b6020026020010151905060006001600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175f90613cea565b60405180910390fd5b8181036001600085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816001600085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461181f9190613afe565b92505081905550505050806118339061383a565b9050611689565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516118b1929190613d0a565b60405180910390a46118c7818787878787612289565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561193f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193690613db3565b60405180910390fd5b60006119496113a1565b905061196a8160008761195b88612470565b61196488612470565b87612281565b826001600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119ca9190613afe565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051611a48929190613dd3565b60405180910390a4611a5f816000878787876124ea565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acd90613e6e565b60405180910390fd5b8051825114611b1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1190613bc6565b60405180910390fd5b6000611b246113a1565b9050611b4481856000868660405180602001604052806000815250612281565b60005b8351811015611c93576000848281518110611b6557611b646137dc565b5b602002602001015190506000848381518110611b8457611b836137dc565b5b6020026020010151905060006001600084815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1d90613f00565b60405180910390fd5b8181036001600085815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050508080611c8b9061383a565b915050611b47565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051611d0b929190613d0a565b60405180910390a450505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4490613c58565b60405180910390fd5b6000611e576113a1565b9050611e77818787611e6888612470565b611e7188612470565b87612281565b60006001600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015611f0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0690613cea565b60405180910390fd5b8381036001600087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550836001600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611fc69190613afe565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628888604051612043929190613dd3565b60405180910390a46120598288888888886124ea565b50505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c990613e6e565b60405180910390fd5b60006120dc6113a1565b905061210c818560006120ee87612470565b6120f787612470565b60405180602001604052806000815250612281565b60006001600085815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156121a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219b90613f00565b60405180910390fd5b8281036001600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051612272929190613dd3565b60405180910390a45050505050565b505050505050565b6122a88473ffffffffffffffffffffffffffffffffffffffff166126d1565b15612468578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016122ee959493929190613f75565b602060405180830381600087803b15801561230857600080fd5b505af192505050801561233957506040513d601f19601f820116820180604052508101906123369190613ff2565b60015b6123df5761234561402c565b806308c379a014156123a2575061235a61404e565b8061236557506123a4565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123999190612b92565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d690614156565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245d906141e8565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff81111561248f5761248e612c14565b5b6040519080825280602002602001820160405280156124bd5781602001602082028036833780820191505090505b50905082816000815181106124d5576124d46137dc565b5b60200260200101818152505080915050919050565b6125098473ffffffffffffffffffffffffffffffffffffffff166126d1565b156126c9578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161254f959493929190614208565b602060405180830381600087803b15801561256957600080fd5b505af192505050801561259a57506040513d601f19601f820116820180604052508101906125979190613ff2565b60015b612640576125a661402c565b806308c379a0141561260357506125bb61404e565b806125c65750612605565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125fa9190612b92565b60405180910390fd5b505b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263790614156565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146126c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126be906141e8565b60405180910390fd5b505b505050505050565b600080823b905060008111915050919050565b8280546126f0906135cf565b90600052602060002090601f0160209004810192826127125760008555612759565b82601f1061272b57803560ff1916838001178555612759565b82800160010185558215612759579182015b8281111561275857823582559160200191906001019061273d565b5b5090506127669190612830565b5090565b508054612776906135cf565b6000825580601f1061278857506127a7565b601f0160209004906000526020600020908101906127a69190612830565b5b50565b8280546127b6906135cf565b90600052602060002090601f0160209004810192826127d8576000855561281f565b82601f106127f157805160ff191683800117855561281f565b8280016001018555821561281f579182015b8281111561281e578251825591602001919060010190612803565b5b50905061282c9190612830565b5090565b5b80821115612849576000816000905550600101612831565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061288c82612861565b9050919050565b61289c81612881565b81146128a757600080fd5b50565b6000813590506128b981612893565b92915050565b6000819050919050565b6128d2816128bf565b81146128dd57600080fd5b50565b6000813590506128ef816128c9565b92915050565b6000806040838503121561290c5761290b612857565b5b600061291a858286016128aa565b925050602061292b858286016128e0565b9150509250929050565b61293e816128bf565b82525050565b60006020820190506129596000830184612935565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6129948161295f565b811461299f57600080fd5b50565b6000813590506129b18161298b565b92915050565b6000602082840312156129cd576129cc612857565b5b60006129db848285016129a2565b91505092915050565b60008115159050919050565b6129f9816129e4565b82525050565b6000602082019050612a1460008301846129f0565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612a3f57612a3e612a1a565b5b8235905067ffffffffffffffff811115612a5c57612a5b612a1f565b5b602083019150836001820283011115612a7857612a77612a24565b5b9250929050565b60008060208385031215612a9657612a95612857565b5b600083013567ffffffffffffffff811115612ab457612ab361285c565b5b612ac085828601612a29565b92509250509250929050565b600060208284031215612ae257612ae1612857565b5b6000612af0848285016128e0565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b33578082015181840152602081019050612b18565b83811115612b42576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b6482612af9565b612b6e8185612b04565b9350612b7e818560208601612b15565b612b8781612b48565b840191505092915050565b60006020820190508181036000830152612bac8184612b59565b905092915050565b600080600060408486031215612bcd57612bcc612857565b5b6000612bdb868287016128e0565b935050602084013567ffffffffffffffff811115612bfc57612bfb61285c565b5b612c0886828701612a29565b92509250509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612c4c82612b48565b810181811067ffffffffffffffff82111715612c6b57612c6a612c14565b5b80604052505050565b6000612c7e61284d565b9050612c8a8282612c43565b919050565b600067ffffffffffffffff821115612caa57612ca9612c14565b5b602082029050602081019050919050565b6000612cce612cc984612c8f565b612c74565b90508083825260208201905060208402830185811115612cf157612cf0612a24565b5b835b81811015612d1a5780612d0688826128e0565b845260208401935050602081019050612cf3565b5050509392505050565b600082601f830112612d3957612d38612a1a565b5b8135612d49848260208601612cbb565b91505092915050565b600080fd5b600067ffffffffffffffff821115612d7257612d71612c14565b5b612d7b82612b48565b9050602081019050919050565b82818337600083830152505050565b6000612daa612da584612d57565b612c74565b905082815260208101848484011115612dc657612dc5612d52565b5b612dd1848285612d88565b509392505050565b600082601f830112612dee57612ded612a1a565b5b8135612dfe848260208601612d97565b91505092915050565b600080600080600060a08688031215612e2357612e22612857565b5b6000612e31888289016128aa565b9550506020612e42888289016128aa565b945050604086013567ffffffffffffffff811115612e6357612e6261285c565b5b612e6f88828901612d24565b935050606086013567ffffffffffffffff811115612e9057612e8f61285c565b5b612e9c88828901612d24565b925050608086013567ffffffffffffffff811115612ebd57612ebc61285c565b5b612ec988828901612dd9565b9150509295509295909350565b600067ffffffffffffffff821115612ef157612ef0612c14565b5b602082029050602081019050919050565b6000612f15612f1084612ed6565b612c74565b90508083825260208201905060208402830185811115612f3857612f37612a24565b5b835b81811015612f615780612f4d88826128aa565b845260208401935050602081019050612f3a565b5050509392505050565b600082601f830112612f8057612f7f612a1a565b5b8135612f90848260208601612f02565b91505092915050565b60008060408385031215612fb057612faf612857565b5b600083013567ffffffffffffffff811115612fce57612fcd61285c565b5b612fda85828601612f6b565b925050602083013567ffffffffffffffff811115612ffb57612ffa61285c565b5b61300785828601612d24565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613046816128bf565b82525050565b6000613058838361303d565b60208301905092915050565b6000602082019050919050565b600061307c82613011565b613086818561301c565b93506130918361302d565b8060005b838110156130c25781516130a9888261304c565b97506130b483613064565b925050600181019050613095565b5085935050505092915050565b600060208201905081810360008301526130e98184613071565b905092915050565b60008083601f84011261310757613106612a1a565b5b8235905067ffffffffffffffff81111561312457613123612a1f565b5b6020830191508360208202830111156131405761313f612a24565b5b9250929050565b6000806000604084860312156131605761315f612857565b5b600084013567ffffffffffffffff81111561317e5761317d61285c565b5b61318a868287016130f1565b9350935050602061319d868287016128e0565b9150509250925092565b6000806000606084860312156131c0576131bf612857565b5b60006131ce868287016128aa565b935050602084013567ffffffffffffffff8111156131ef576131ee61285c565b5b6131fb86828701612d24565b925050604084013567ffffffffffffffff81111561321c5761321b61285c565b5b61322886828701612d24565b9150509250925092565b6000806000806080858703121561324c5761324b612857565b5b600061325a878288016128aa565b945050602061326b878288016128e0565b935050604061327c878288016128e0565b925050606085013567ffffffffffffffff81111561329d5761329c61285c565b5b6132a987828801612dd9565b91505092959194509250565b6132be81612881565b82525050565b60006020820190506132d960008301846132b5565b92915050565b6132e8816129e4565b81146132f357600080fd5b50565b600081359050613305816132df565b92915050565b6000806040838503121561332257613321612857565b5b6000613330858286016128aa565b9250506020613341858286016132f6565b9150509250929050565b6000806040838503121561336257613361612857565b5b6000613370858286016128aa565b9250506020613381858286016128aa565b9150509250929050565b600080600080600060a086880312156133a7576133a6612857565b5b60006133b5888289016128aa565b95505060206133c6888289016128aa565b94505060406133d7888289016128e0565b93505060606133e8888289016128e0565b925050608086013567ffffffffffffffff8111156134095761340861285c565b5b61341588828901612dd9565b9150509295509295909350565b60006020828403121561343857613437612857565b5b6000613446848285016128aa565b91505092915050565b60008060006060848603121561346857613467612857565b5b6000613476868287016128aa565b9350506020613487868287016128e0565b9250506040613498868287016128e0565b9150509250925092565b7f455243313135353a2062616c616e636520717565727920666f7220746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b60006134fe602b83612b04565b9150613509826134a2565b604082019050919050565b6000602082019050818103600083015261352d816134f1565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061356a602083612b04565b915061357582613534565b602082019050919050565b600060208201905081810360008301526135998161355d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806135e757607f821691505b602082108114156135fb576135fa6135a0565b5b50919050565b600081905092915050565b600061361782612af9565b6136218185613601565b9350613631818560208601612b15565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b6000613673600583613601565b915061367e8261363d565b600582019050919050565b6000613695828561360c565b91506136a1828461360c565b91506136ac82613666565b91508190509392505050565b7f455243313135353a207472616e736665722063616c6c6572206973206e6f742060008201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000602082015250565b6000613714603283612b04565b915061371f826136b8565b604082019050919050565b6000602082019050818103600083015261374381613707565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b60006137a6602983612b04565b91506137b18261374a565b604082019050919050565b600060208201905081810360008301526137d581613799565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613845826128bf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156138785761387761380b565b5b600182019050919050565b7f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260008201527f20617070726f7665640000000000000000000000000000000000000000000000602082015250565b60006138df602983612b04565b91506138ea82613883565b604082019050919050565b6000602082019050818103600083015261390e816138d2565b9050919050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b6000613971602983612b04565b915061397c82613915565b604082019050919050565b600060208201905081810360008301526139a081613964565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a03602683612b04565b9150613a0e826139a7565b604082019050919050565b60006020820190508181036000830152613a32816139f6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613a73826128bf565b9150613a7e836128bf565b925082613a8e57613a8d613a39565b5b828204905092915050565b6000613aa4826128bf565b9150613aaf836128bf565b925082821015613ac257613ac161380b565b5b828203905092915050565b6000613ad8826128bf565b9150613ae3836128bf565b925082613af357613af2613a39565b5b828206905092915050565b6000613b09826128bf565b9150613b14836128bf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b4957613b4861380b565b5b828201905092915050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b6000613bb0602883612b04565b9150613bbb82613b54565b604082019050919050565b60006020820190508181036000830152613bdf81613ba3565b9050919050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613c42602583612b04565b9150613c4d82613be6565b604082019050919050565b60006020820190508181036000830152613c7181613c35565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b6000613cd4602a83612b04565b9150613cdf82613c78565b604082019050919050565b60006020820190508181036000830152613d0381613cc7565b9050919050565b60006040820190508181036000830152613d248185613071565b90508181036020830152613d388184613071565b90509392505050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d9d602183612b04565b9150613da882613d41565b604082019050919050565b60006020820190508181036000830152613dcc81613d90565b9050919050565b6000604082019050613de86000830185612935565b613df56020830184612935565b9392505050565b7f455243313135353a206275726e2066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613e58602383612b04565b9150613e6382613dfc565b604082019050919050565b60006020820190508181036000830152613e8781613e4b565b9050919050565b7f455243313135353a206275726e20616d6f756e7420657863656564732062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b6000613eea602483612b04565b9150613ef582613e8e565b604082019050919050565b60006020820190508181036000830152613f1981613edd565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613f4782613f20565b613f518185613f2b565b9350613f61818560208601612b15565b613f6a81612b48565b840191505092915050565b600060a082019050613f8a60008301886132b5565b613f9760208301876132b5565b8181036040830152613fa98186613071565b90508181036060830152613fbd8185613071565b90508181036080830152613fd18184613f3c565b90509695505050505050565b600081519050613fec8161298b565b92915050565b60006020828403121561400857614007612857565b5b600061401684828501613fdd565b91505092915050565b60008160e01c9050919050565b600060033d111561404b5760046000803e61404860005161401f565b90505b90565b600060443d101561405e576140e1565b61406661284d565b60043d036004823e80513d602482011167ffffffffffffffff8211171561408e5750506140e1565b808201805167ffffffffffffffff8111156140ac57505050506140e1565b80602083010160043d0385018111156140c95750505050506140e1565b6140d882602001850186612c43565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b6000614140603483612b04565b915061414b826140e4565b604082019050919050565b6000602082019050818103600083015261416f81614133565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b60006141d2602883612b04565b91506141dd82614176565b604082019050919050565b60006020820190508181036000830152614201816141c5565b9050919050565b600060a08201905061421d60008301886132b5565b61422a60208301876132b5565b6142376040830186612935565b6142446060830185612935565b81810360808301526142568184613f3c565b9050969550505050505056fea2646970667358221220f5ac3c40c9a9bb6449fc29545e49b907720133597b84479909516a8613a1472c64736f6c63430008090033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000005168747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f516d64354a4b7a5757773938634b7476756f37487267485633553235664e6552396368437a33386f3871544c59382f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005068747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f516d614a65433378426b61646d576e58775372706e4b4d7835654e5657515a624755366a364d37336d336866556900000000000000000000000000000000