23 txs
24 calls
constructor
constructor(address adminAddress_, address signerAddress_) payable
functions
admin
viewfunction admin() view returns (address)
FACTOR_DECIMAL
viewfunction FACTOR_DECIMAL() view returns (uint256)
offers
viewfunction offers(uint256) view returns (uint256 tokenId, uint256 startTime, uint256 endTime, uint256 price, address nftAddress, address buyer, address tokenAddress)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingOwner
viewfunction pendingOwner() view returns (address)
salePerUserPerToken
viewfunction salePerUserPerToken(address, address, uint256) view returns (uint256)
sales
viewfunction sales(uint256) view returns (uint256 tokenId, uint256 startTime, uint256 endTime, uint256 price, address nftAddress, address seller, address tokenAddress, bool isCollectionHolder)
signerAddress
viewfunction signerAddress() view returns (address)
acceptOffer
nonpayablefunction acceptOffer(uint256 id_, bool isCollectionHolder, bytes dataCollectionHolder, bytes dataTransfer)
acceptOwnership
nonpayablefunction acceptOwnership()
buy
payablefunction buy(uint256 id_, address to_, bytes data) payable
makeOffer
payablefunction makeOffer(tuple offer_, bytes data) payable
putOnSale
nonpayablefunction putOnSale(tuple sale_, bytes data)
removeFromSale
nonpayablefunction removeFromSale(uint256 id_)
removeOffer
nonpayablefunction removeOffer(uint256 id_)
renounceOwnership
nonpayablefunction renounceOwnership()
setAdmin
nonpayablefunction setAdmin(address adminAddress_)
setSignerAddress
nonpayablefunction setSignerAddress(address signerAddress_)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
AdminSet
event AdminSet(address indexed _admin)
Bought
event Bought(uint256 _id, uint256 _tokenId, address _nftAddress, address _to)
OfferAccepted
event OfferAccepted(uint256 _id)
OfferMade
event OfferMade(uint256 _offerId, (uint256 tokenId, uint256 startTime, uint256 endTime, uint256 price, address nftAddress, address buyer, address tokenAddress) offer)
OfferRemoved
event OfferRemoved(uint256 _id)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
PutOnSale
event PutOnSale(uint256 _saleId, (uint256 tokenId, uint256 startTime, uint256 endTime, uint256 price, address nftAddress, address seller, address tokenAddress, bool isCollectionHolder) sale)
RemovedFromSale
event RemovedFromSale(uint256 _id)
SignerAddressUpdated
event SignerAddressUpdated(address indexed _signerAddress)
Unpaused
event Unpaused(address account)
errors
No errors.
creation bytecode
0x608060405260405162005fc838038062005fc8833981810160405281019062000029919062000346565b620000496200003d620001d260201b60201c565b620001da60201b60201c565b6000600160146101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620000d6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000cd90620003ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000148576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200013f90620003ee565b60405180910390fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000410565b600033905090565b600160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905562000215816200021860201b6200295d1760201c565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200030e82620002e1565b9050919050565b620003208162000301565b81146200032c57600080fd5b50565b600081519050620003408162000315565b92915050565b6000806040838503121562000360576200035f620002dc565b5b600062000370858286016200032f565b925050602062000383858286016200032f565b9150509250929050565b600082825260208201905092915050565b7f4d61726b6574706c6163653a207a65726f206164647265737300000000000000600082015250565b6000620003d66019836200038d565b9150620003e3826200039e565b602082019050919050565b600060208201905081810360008301526200040981620003c7565b9050919050565b615ba880620004206000396000f3fe60806040526004361061011f5760003560e01c80638da5cb5b116100a0578063cb36ea3811610064578063cb36ea38146103a9578063e30c3978146103c5578063eab14f9d146103f0578063f2fde38b1461041b578063f851a440146104445761011f565b80638da5cb5b146102ab57806394ef2ecc146102d657806395a0f9c7146102ff578063aec4c7c914610328578063b5f522f7146103655761011f565b80635c975abb116100e75780635c975abb146101e6578063704b6c0214610211578063715018a61461023a57806379ba5097146102515780638a72ea6a146102685761011f565b8063046dc166146101245780631361a3b61461014d57806348c0c9da146101765780634f8b7caa1461019f5780635b7633d0146101bb575b600080fd5b34801561013057600080fd5b5061014b60048036038101906101469190613a93565b61046f565b005b34801561015957600080fd5b50610174600480360381019061016f9190613af6565b61056d565b005b34801561018257600080fd5b5061019d60048036038101906101989190613d1b565b6108dc565b005b6101b960048036038101906101b49190613e31565b611057565b005b3480156101c757600080fd5b506101d0611664565b6040516101dd9190613ea1565b60405180910390f35b3480156101f257600080fd5b506101fb61168a565b6040516102089190613ecb565b60405180910390f35b34801561021d57600080fd5b5061023860048036038101906102339190613a93565b6116a1565b005b34801561024657600080fd5b5061024f61179f565b005b34801561025d57600080fd5b506102666117b3565b005b34801561027457600080fd5b5061028f600480360381019061028a9190613af6565b611840565b6040516102a29796959493929190613ef5565b60405180910390f35b3480156102b757600080fd5b506102c06118e2565b6040516102cd9190613ea1565b60405180910390f35b3480156102e257600080fd5b506102fd60048036038101906102f89190613f64565b61190b565b005b34801561030b57600080fd5b5061032660048036038101906103219190613af6565b611fdc565b005b34801561033457600080fd5b5061034f600480360381019061034a919061400b565b61229b565b60405161035c919061405e565b60405180910390f35b34801561037157600080fd5b5061038c60048036038101906103879190613af6565b6122cd565b6040516103a0989796959493929190614079565b60405180910390f35b6103c360048036038101906103be91906140f7565b612382565b005b3480156103d157600080fd5b506103da61285a565b6040516103e79190613ea1565b60405180910390f35b3480156103fc57600080fd5b50610405612884565b604051610412919061405e565b60405180910390f35b34801561042757600080fd5b50610442600480360381019061043d9190613a93565b61288a565b005b34801561045057600080fd5b50610459612937565b60405161046691906141ca565b60405180910390f35b610477612a21565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104dd90614242565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f67b0833b261bf8dee41032afa09cb41cf516d84e7ade2bd54dad0aa53ae956b760405160405180910390a250565b60006005600083815260200190815260200160002060405180610100016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160149054906101000a900460ff16151515158152505090503373ffffffffffffffffffffffffffffffffffffffff168160a0015173ffffffffffffffffffffffffffffffffffffffff1614610747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073e906142d4565b60405180910390fd5b600560008381526020019081526020016000206000808201600090556001820160009055600282016000905560038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160146101000a81549060ff021916905550506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083600001518152602001908152602001600020819055507fc76903a01f28be0672203520b5bfb2cbb1e8df8c65020891d4a9cff0df01374d826040516108d0919061405e565b60405180910390a15050565b6108e4612a9f565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000015181526020019081526020016000205414610a7e576000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008560000151815260200190815260200160002054905042600560008381526020019081526020016000206002015410610a73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6a90614340565b60405180910390fd5b610a7c8161056d565b505b42836020015110158015610a99575082602001518360400151115b610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf906143d2565b60405180910390fd5b826080015173ffffffffffffffffffffffffffffffffffffffff16636352211e84600001516040518263ffffffff1660e01b8152600401610b19919061405e565b602060405180830381865afa158015610b36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5a9190614407565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbe90614480565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b6e750f8460c001516040518263ffffffff1660e01b8152600401610c269190613ea1565b602060405180830381865afa158015610c43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6791906144b5565b610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d9061452e565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168360a0015173ffffffffffffffffffffffffffffffffffffffff1614610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f9061459a565b60405180910390fd5b60001515836080015173ffffffffffffffffffffffffffffffffffffffff166364a389156040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8f91906144b5565b15151480610da55750600115158360e001511515145b15610e3257600080610e0484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086608001518760000151612ae9565b915091508185604001511115610e1f57818560400181815250505b808560e001901515908115158152505050505b610e3c6003612c97565b6000610e486003612cad565b905083600560008381526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160060160146101000a81548160ff02191690831515021790555090505080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000866080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086600001518152602001908152602001600020819055507fbb9fe2a8372a682cc2a239fbbb4cb1c1f2c948a9dbd5dad380898dac1e3143a18185604051611049929190614689565b60405180910390a150505050565b61105f612a9f565b4283602001511015801561107a575082602001518360400151115b6110b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b090614725565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b6e750f8460c001516040518263ffffffff1660e01b81526004016111189190613ea1565b602060405180830381865afa158015611135573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115991906144b5565b611198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118f9061452e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16836080015173ffffffffffffffffffffffffffffffffffffffff160361120b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120290614242565b60405180910390fd5b60001515836080015173ffffffffffffffffffffffffffffffffffffffff166364a389156040518163ffffffff1660e01b8152600401602060405180830381865afa15801561125e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128291906144b5565b1515036112fe5760006112e283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085608001518660000151612ae9565b50905080846040015111156112fc57808460400181815250505b505b6113086004612c97565b60006113146004612cad565b905083600660008381526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506000846060015190507fe01d1bc447d3d4385b6c1f04c13ec2329bd7b5435ebd4b70c0cbf23fbb0cb5ea82866040516114649291906147d3565b60405180910390a1600073ffffffffffffffffffffffffffffffffffffffff168560c0015173ffffffffffffffffffffffffffffffffffffffff16146115b857600034146114e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114de90614849565b60405180910390fd5b60008560c0015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155c91906148a2565b601261156891906148fe565b90506115b2333083600a61157c9190614a65565b856115879190614adf565b8960c0015173ffffffffffffffffffffffffffffffffffffffff16612cbb909392919063ffffffff16565b5061165d565b803410156115fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f290614b5c565b60405180910390fd5b8034111561165c57600081346116119190614b7c565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611659573d6000803e3d6000fd5b50505b5b5050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160149054906101000a900460ff16905090565b6116a9612a21565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170f90614242565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f8fe72c3e0020beb3234e76ae6676fa576fbfcae600af1c4fea44784cf0db329c60405160405180910390a250565b6117a7612a21565b6117b16000612d44565b565b60006117bd612d75565b90508073ffffffffffffffffffffffffffffffffffffffff166117de61285a565b73ffffffffffffffffffffffffffffffffffffffff1614611834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182b90614c22565b60405180910390fd5b61183d81612d44565b50565b60066020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905087565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611913612a9f565b6000600660008881526020019081526020016000206040518060e0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090506000816020015103611aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9d90614c8e565b60405180910390fd5b42816020015111158015611abd5750428160400151115b611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af390614d20565b60405180910390fd5b806080015173ffffffffffffffffffffffffffffffffffffffff16636352211e82600001516040518263ffffffff1660e01b8152600401611b3d919061405e565b602060405180830381865afa158015611b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7e9190614407565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be290614db2565b60405180910390fd5b600660008881526020019081526020016000206000808201600090556001820160009055600282016000905560038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836000015181526020019081526020016000205490506000811115611e9457600560008281526020019081526020016000206000808201600090556001820160009055600282016000905560038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160146101000a81549060ff021916905550506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000846080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084600001518152602001908152602001600020819055505b6000826060015190507f9bd6b4fd288008520fd788a93304e5688a401aea817ea8140ecf1fb8648f319189604051611ecc919061405e565b60405180910390a18715611f3b576000611f3388888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085608001518660000151612ae9565b915050809850505b611f52818460800151338660c0015160018d612d7d565b826080015173ffffffffffffffffffffffffffffffffffffffff1663b88d4fde338560a00151866000015189896040518663ffffffff1660e01b8152600401611f9f959493929190614e1f565b600060405180830381600087803b158015611fb957600080fd5b505af1158015611fcd573d6000803e3d6000fd5b50505050505050505050505050565b6000600660008381526020019081526020016000206040518060e0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090503373ffffffffffffffffffffffffffffffffffffffff168160a0015173ffffffffffffffffffffffffffffffffffffffff161461219a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219190614eb9565b60405180910390fd5b600660008381526020019081526020016000206000808201600090556001820160009055600282016000905560038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550506000816060015190507fe78251393d13c4f887458774ea505a80414b5608a0c963bb2e75da45811919f18360405161227d919061405e565b60405180910390a1612296600133838560c00151613180565b505050565b600760205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b60056020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160149054906101000a900460ff16905088565b61238a612a9f565b60006005600086815260200190815260200160002060405180610100016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160149054906101000a900460ff16151515158152505090506000816020015103612539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253090614f25565b60405180910390fd5b428160200151111580156125505750428160400151115b61258f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258690614d20565b60405180910390fd5b600560008681526020019081526020016000206000808201600090556001820160009055600282016000905560038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160146101000a81549060ff021916905550506000600760008360a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360000151815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168160c0015173ffffffffffffffffffffffffffffffffffffffff160361276c578060600151341461276b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276290614fb7565b60405180910390fd5b5b7f4ebd6ef39c1235e69ba7dedf24ad43bdeb57deb289d98473668070d6ca9b685e8582600001518360800151876040516127a99493929190614fd7565b60405180910390a16127d4816060015182608001518360a001518460c0015160008660e00151612d7d565b806080015173ffffffffffffffffffffffffffffffffffffffff1663b88d4fde8260a0015186846000015187876040518663ffffffff1660e01b8152600401612821959493929190614e1f565b600060405180830381600087803b15801561283b57600080fd5b505af115801561284f573d6000803e3d6000fd5b505050505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61271081565b612892612a21565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff166128f26118e2565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612a29612d75565b73ffffffffffffffffffffffffffffffffffffffff16612a476118e2565b73ffffffffffffffffffffffffffffffffffffffff1614612a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9490615068565b60405180910390fd5b565b612aa761168a565b15612ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ade906150d4565b60405180910390fd5b565b6000806000855103612b30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2790615140565b60405180910390fd5b60008060008088806020019051810190612b4a919061524e565b935093509350935042841015612b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8c9061531d565b60405180910390fd5b600881604051612ba59190615384565b908152602001604051809103902060009054906101000a900460ff1615612c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf89061540d565b60405180910390fd5b612c0f84848a8a8686613362565b612c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c4590615479565b60405180910390fd5b6001600882604051612c609190615384565b908152602001604051809103902060006101000a81548160ff02191690831515021790555083829550955050505050935093915050565b6001816000016000828254019250508190555050565b600081600001549050919050565b612d3e846323b872dd60e01b858585604051602401612cdc93929190615499565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613410565b50505050565b600160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055612d728161295d565b50565b600033905090565b6000806000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3bcbf636040518163ffffffff1660e01b8152600401602060405180830381865afa158015612def573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e1391906144b5565b90506000612710600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639af1d35a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eab91906154d0565b8b612eb691906154fd565b612ec09190614adf565b90508115613006576000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634cf088d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f5b9190614407565b905060008173ffffffffffffffffffffffffffffffffffffffff16632859ab9e8b896040518363ffffffff1660e01b8152600401612f9a929190615557565b602060405180830381865afa158015612fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fdb91906154d0565b90506127108184612fec91906154fd565b612ff69190614adf565b836130019190614b7c565b925050505b8873ffffffffffffffffffffffffffffffffffffffff16634d47732a6040518163ffffffff1660e01b81526004016040805180830381865afa158015613050573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130749190615580565b80945081955050506000818b61308a9190614b7c565b9a50612710848c61309b91906154fd565b6130a59190614adf565b905061314387600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa158015613118573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061313c9190614407565b848b613180565b61314f8786838b613180565b808b61315b9190614b7c565b9a5060008b111561317357613172878a8d8b613180565b5b5050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461331457600081905060008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613206573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061322a91906148a2565b601261323691906148fe565b90508515613285576132808582600a61324f9190614a65565b8661325a9190614adf565b8473ffffffffffffffffffffffffffffffffffffffff166134d89092919063ffffffff16565b61330d565b600034146132c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132bf9061560c565b60405180910390fd5b61330c338683600a6132da9190614a65565b876132e59190614adf565b8573ffffffffffffffffffffffffffffffffffffffff16612cbb909392919063ffffffff16565b5b505061335c565b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561335a573d6000803e3d6000fd5b505b50505050565b60008061339e888888888830604051602001613383969594939291906156dd565b6040516020818303038152906040528051906020012061355e565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166133ec848361359490919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16149150509695505050505050565b6000613472826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166135bb9092919063ffffffff16565b905060008151148061349457508080602001905181019061349391906144b5565b5b6134d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134ca906157bf565b60405180910390fd5b505050565b6135598363a9059cbb60e01b84846040516024016134f79291906157df565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613410565b505050565b60007f19457468657265756d205369676e6564204d6573736167653a0a33320000000060005281601c52603c6000209050919050565b60008060006135a385856135d3565b915091506135b081613624565b819250505092915050565b60606135ca848460008561378a565b90509392505050565b60008060418351036136145760008060006020860151925060408601519150606086015160001a905061360887828585613857565b9450945050505061361d565b60006002915091505b9250929050565b6000600481111561363857613637615808565b5b81600481111561364b5761364a615808565b5b0315613787576001600481111561366557613664615808565b5b81600481111561367857613677615808565b5b036136b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136af90615883565b60405180910390fd5b600260048111156136cc576136cb615808565b5b8160048111156136df576136de615808565b5b0361371f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613716906158ef565b60405180910390fd5b6003600481111561373357613732615808565b5b81600481111561374657613745615808565b5b03613786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161377d90615981565b60405180910390fd5b5b50565b6060824710156137cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137c690615a13565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516137f89190615384565b60006040518083038185875af1925050503d8060008114613835576040519150601f19603f3d011682016040523d82523d6000602084013e61383a565b606091505b509150915061384b87838387613939565b92505050949350505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115613892576000600391509150613930565b6000600187878787604051600081526020016040526040516138b79493929190615a5b565b6020604051602081039080840390855afa1580156138d9573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361392757600060019250925050613930565b80600092509250505b94509492505050565b6060831561399b57600083510361399357613953856139ae565b613992576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161398990615aec565b60405180910390fd5b5b8290506139a6565b6139a583836139d1565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156139e45781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a189190615b50565b60405180910390fd5b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a6082613a35565b9050919050565b613a7081613a55565b8114613a7b57600080fd5b50565b600081359050613a8d81613a67565b92915050565b600060208284031215613aa957613aa8613a2b565b5b6000613ab784828501613a7e565b91505092915050565b6000819050919050565b613ad381613ac0565b8114613ade57600080fd5b50565b600081359050613af081613aca565b92915050565b600060208284031215613b0c57613b0b613a2b565b5b6000613b1a84828501613ae1565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613b7182613b28565b810181811067ffffffffffffffff82111715613b9057613b8f613b39565b5b80604052505050565b6000613ba3613a21565b9050613baf8282613b68565b919050565b60008115159050919050565b613bc981613bb4565b8114613bd457600080fd5b50565b600081359050613be681613bc0565b92915050565b60006101008284031215613c0357613c02613b23565b5b613c0e610100613b99565b90506000613c1e84828501613ae1565b6000830152506020613c3284828501613ae1565b6020830152506040613c4684828501613ae1565b6040830152506060613c5a84828501613ae1565b6060830152506080613c6e84828501613a7e565b60808301525060a0613c8284828501613a7e565b60a08301525060c0613c9684828501613a7e565b60c08301525060e0613caa84828501613bd7565b60e08301525092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613cdb57613cda613cb6565b5b8235905067ffffffffffffffff811115613cf857613cf7613cbb565b5b602083019150836001820283011115613d1457613d13613cc0565b5b9250929050565b60008060006101208486031215613d3557613d34613a2b565b5b6000613d4386828701613bec565b93505061010084013567ffffffffffffffff811115613d6557613d64613a30565b5b613d7186828701613cc5565b92509250509250925092565b600060e08284031215613d9357613d92613b23565b5b613d9d60e0613b99565b90506000613dad84828501613ae1565b6000830152506020613dc184828501613ae1565b6020830152506040613dd584828501613ae1565b6040830152506060613de984828501613ae1565b6060830152506080613dfd84828501613a7e565b60808301525060a0613e1184828501613a7e565b60a08301525060c0613e2584828501613a7e565b60c08301525092915050565b60008060006101008486031215613e4b57613e4a613a2b565b5b6000613e5986828701613d7d565b93505060e084013567ffffffffffffffff811115613e7a57613e79613a30565b5b613e8686828701613cc5565b92509250509250925092565b613e9b81613a55565b82525050565b6000602082019050613eb66000830184613e92565b92915050565b613ec581613bb4565b82525050565b6000602082019050613ee06000830184613ebc565b92915050565b613eef81613ac0565b82525050565b600060e082019050613f0a600083018a613ee6565b613f176020830189613ee6565b613f246040830188613ee6565b613f316060830187613ee6565b613f3e6080830186613e92565b613f4b60a0830185613e92565b613f5860c0830184613e92565b98975050505050505050565b60008060008060008060808789031215613f8157613f80613a2b565b5b6000613f8f89828a01613ae1565b9650506020613fa089828a01613bd7565b955050604087013567ffffffffffffffff811115613fc157613fc0613a30565b5b613fcd89828a01613cc5565b9450945050606087013567ffffffffffffffff811115613ff057613fef613a30565b5b613ffc89828a01613cc5565b92509250509295509295509295565b60008060006060848603121561402457614023613a2b565b5b600061403286828701613a7e565b935050602061404386828701613a7e565b925050604061405486828701613ae1565b9150509250925092565b60006020820190506140736000830184613ee6565b92915050565b60006101008201905061408f600083018b613ee6565b61409c602083018a613ee6565b6140a96040830189613ee6565b6140b66060830188613ee6565b6140c36080830187613e92565b6140d060a0830186613e92565b6140dd60c0830185613e92565b6140ea60e0830184613ebc565b9998505050505050505050565b6000806000806060858703121561411157614110613a2b565b5b600061411f87828801613ae1565b945050602061413087828801613a7e565b935050604085013567ffffffffffffffff81111561415157614150613a30565b5b61415d87828801613cc5565b925092505092959194509250565b6000819050919050565b600061419061418b61418684613a35565b61416b565b613a35565b9050919050565b60006141a282614175565b9050919050565b60006141b482614197565b9050919050565b6141c4816141a9565b82525050565b60006020820190506141df60008301846141bb565b92915050565b600082825260208201905092915050565b7f4d61726b6574706c6163653a207a65726f206164647265737300000000000000600082015250565b600061422c6019836141e5565b9150614237826141f6565b602082019050919050565b6000602082019050818103600083015261425b8161421f565b9050919050565b7f4d61726b6574706c6163653a2063616c6c6572206973206e6f7420746865207360008201527f656c6c6572000000000000000000000000000000000000000000000000000000602082015250565b60006142be6025836141e5565b91506142c982614262565b604082019050919050565b600060208201905081810360008301526142ed816142b1565b9050919050565b7f4d61726b6574706c6163653a2073616c6520616c726561647920657869737473600082015250565b600061432a6020836141e5565b9150614335826142f4565b602082019050919050565b600060208201905081810360008301526143598161431d565b9050919050565b7f4d61726b6574706c6163653a2073616c652074696d657320646f6e2774206d6160008201527f7463680000000000000000000000000000000000000000000000000000000000602082015250565b60006143bc6023836141e5565b91506143c782614360565b604082019050919050565b600060208201905081810360008301526143eb816143af565b9050919050565b60008151905061440181613a67565b92915050565b60006020828403121561441d5761441c613a2b565b5b600061442b848285016143f2565b91505092915050565b7f4d61726b6574706c6163653a206e6f74206f776e657200000000000000000000600082015250565b600061446a6016836141e5565b915061447582614434565b602082019050919050565b600060208201905081810360008301526144998161445d565b9050919050565b6000815190506144af81613bc0565b92915050565b6000602082840312156144cb576144ca613a2b565b5b60006144d9848285016144a0565b91505092915050565b7f4d61726b6574706c6163653a20746f6b656e206e6f7420616363657074656400600082015250565b6000614518601f836141e5565b9150614523826144e2565b602082019050919050565b600060208201905081810360008301526145478161450b565b9050919050565b7f4d61726b6574706c6163653a206e6f74207468652073656c6c65720000000000600082015250565b6000614584601b836141e5565b915061458f8261454e565b602082019050919050565b600060208201905081810360008301526145b381614577565b9050919050565b6145c381613ac0565b82525050565b6145d281613a55565b82525050565b6145e181613bb4565b82525050565b610100820160008201516145fe60008501826145ba565b50602082015161461160208501826145ba565b50604082015161462460408501826145ba565b50606082015161463760608501826145ba565b50608082015161464a60808501826145c9565b5060a082015161465d60a08501826145c9565b5060c082015161467060c08501826145c9565b5060e082015161468360e08501826145d8565b50505050565b60006101208201905061469f6000830185613ee6565b6146ac60208301846145e7565b9392505050565b7f4d61726b6574706c6163653a206f666665722074696d657320646f6e2774206d60008201527f6174636800000000000000000000000000000000000000000000000000000000602082015250565b600061470f6024836141e5565b915061471a826146b3565b604082019050919050565b6000602082019050818103600083015261473e81614702565b9050919050565b60e08201600082015161475b60008501826145ba565b50602082015161476e60208501826145ba565b50604082015161478160408501826145ba565b50606082015161479460608501826145ba565b5060808201516147a760808501826145c9565b5060a08201516147ba60a08501826145c9565b5060c08201516147cd60c08501826145c9565b50505050565b6000610100820190506147e96000830185613ee6565b6147f66020830184614745565b9392505050565b7f4d61726b6574706c6163653a2076616c7565206973206e6f74207a65726f0000600082015250565b6000614833601e836141e5565b915061483e826147fd565b602082019050919050565b6000602082019050818103600083015261486281614826565b9050919050565b600060ff82169050919050565b61487f81614869565b811461488a57600080fd5b50565b60008151905061489c81614876565b92915050565b6000602082840312156148b8576148b7613a2b565b5b60006148c68482850161488d565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061490982614869565b915061491483614869565b925082821015614927576149266148cf565b5b828203905092915050565b60008160011c9050919050565b6000808291508390505b600185111561498957808604811115614965576149646148cf565b5b60018516156149745780820291505b808102905061498285614932565b9450614949565b94509492505050565b6000826149a25760019050614a5e565b816149b05760009050614a5e565b81600181146149c657600281146149d0576149ff565b6001915050614a5e565b60ff8411156149e2576149e16148cf565b5b8360020a9150848211156149f9576149f86148cf565b5b50614a5e565b5060208310610133831016604e8410600b8410161715614a345782820a905083811115614a2f57614a2e6148cf565b5b614a5e565b614a41848484600161493f565b92509050818404811115614a5857614a576148cf565b5b81810290505b9392505050565b6000614a7082613ac0565b9150614a7b83614869565b9250614aa87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614992565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614aea82613ac0565b9150614af583613ac0565b925082614b0557614b04614ab0565b5b828204905092915050565b7f4d61726b6574706c6163653a2076616c7565206973206e6f7420656e6f756768600082015250565b6000614b466020836141e5565b9150614b5182614b10565b602082019050919050565b60006020820190508181036000830152614b7581614b39565b9050919050565b6000614b8782613ac0565b9150614b9283613ac0565b925082821015614ba557614ba46148cf565b5b828203905092915050565b7f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060008201527f6e6577206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614c0c6029836141e5565b9150614c1782614bb0565b604082019050919050565b60006020820190508181036000830152614c3b81614bff565b9050919050565b7f4d61726b6574706c6163653a206f66666572206e6f7420657869737473000000600082015250565b6000614c78601d836141e5565b9150614c8382614c42565b602082019050919050565b60006020820190508181036000830152614ca781614c6b565b9050919050565b7f4d61726b6574706c6163653a206e6f7420696e207468652074696d652072616e60008201527f6765000000000000000000000000000000000000000000000000000000000000602082015250565b6000614d0a6022836141e5565b9150614d1582614cae565b604082019050919050565b60006020820190508181036000830152614d3981614cfd565b9050919050565b7f4d61726b6574706c6163653a206d73672e73656e646572206973206e6f74207460008201527f68652073656c6c65720000000000000000000000000000000000000000000000602082015250565b6000614d9c6029836141e5565b9150614da782614d40565b604082019050919050565b60006020820190508181036000830152614dcb81614d8f565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b6000614dfe8385614dd2565b9350614e0b838584614de3565b614e1483613b28565b840190509392505050565b6000608082019050614e346000830188613e92565b614e416020830187613e92565b614e4e6040830186613ee6565b8181036060830152614e61818486614df2565b90509695505050505050565b7f4d61726b6574706c6163653a206e6f7420746865206f66666572206d616b6572600082015250565b6000614ea36020836141e5565b9150614eae82614e6d565b602082019050919050565b60006020820190508181036000830152614ed281614e96565b9050919050565b7f4d61726b6574706c6163653a206e6f74206f6e2073616c650000000000000000600082015250565b6000614f0f6018836141e5565b9150614f1a82614ed9565b602082019050919050565b60006020820190508181036000830152614f3e81614f02565b9050919050565b7f4d61726b6574706c6163653a2056616c75652073656e74206973206e6f74206560008201527f6e6f756768000000000000000000000000000000000000000000000000000000602082015250565b6000614fa16025836141e5565b9150614fac82614f45565b604082019050919050565b60006020820190508181036000830152614fd081614f94565b9050919050565b6000608082019050614fec6000830187613ee6565b614ff96020830186613ee6565b6150066040830185613e92565b6150136060830184613e92565b95945050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006150526020836141e5565b915061505d8261501c565b602082019050919050565b6000602082019050818103600083015261508181615045565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006150be6010836141e5565b91506150c982615088565b602082019050919050565b600060208201905081810360008301526150ed816150b1565b9050919050565b7f4d61726b6574706c6163653a206461746120697320656d707479000000000000600082015250565b600061512a601a836141e5565b9150615135826150f4565b602082019050919050565b600060208201905081810360008301526151598161511d565b9050919050565b60008151905061516f81613aca565b92915050565b600080fd5b600067ffffffffffffffff82111561519557615194613b39565b5b61519e82613b28565b9050602081019050919050565b60005b838110156151c95780820151818401526020810190506151ae565b838111156151d8576000848401525b50505050565b60006151f16151ec8461517a565b613b99565b90508281526020810184848401111561520d5761520c615175565b5b6152188482856151ab565b509392505050565b600082601f83011261523557615234613cb6565b5b81516152458482602086016151de565b91505092915050565b6000806000806080858703121561526857615267613a2b565b5b600061527687828801615160565b945050602061528787828801615160565b9350506040615298878288016144a0565b925050606085015167ffffffffffffffff8111156152b9576152b8613a30565b5b6152c587828801615220565b91505092959194509250565b7f4d61726b6574706c6163653a207369676e617475726520657870697265640000600082015250565b6000615307601e836141e5565b9150615312826152d1565b602082019050919050565b60006020820190508181036000830152615336816152fa565b9050919050565b600081519050919050565b600081905092915050565b600061535e8261533d565b6153688185615348565b93506153788185602086016151ab565b80840191505092915050565b60006153908284615353565b915081905092915050565b7f4d61726b6574706c6163653a207369676e617475726520616c7265616479207560008201527f7365640000000000000000000000000000000000000000000000000000000000602082015250565b60006153f76023836141e5565b91506154028261539b565b604082019050919050565b60006020820190508181036000830152615426816153ea565b9050919050565b7f4d61726b6574706c6163653a20696e76616c6964207369676e61747572650000600082015250565b6000615463601e836141e5565b915061546e8261542d565b602082019050919050565b6000602082019050818103600083015261549281615456565b9050919050565b60006060820190506154ae6000830186613e92565b6154bb6020830185613e92565b6154c86040830184613ee6565b949350505050565b6000602082840312156154e6576154e5613a2b565b5b60006154f484828501615160565b91505092915050565b600061550882613ac0565b915061551383613ac0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561554c5761554b6148cf565b5b828202905092915050565b600060408201905061556c6000830185613e92565b6155796020830184613ebc565b9392505050565b6000806040838503121561559757615596613a2b565b5b60006155a5858286016143f2565b92505060206155b685828601615160565b9150509250929050565b7f4d61726b6574706c6163653a2056616c75652073656e74206973206e6f742030600082015250565b60006155f66020836141e5565b9150615601826155c0565b602082019050919050565b60006020820190508181036000830152615625816155e9565b9050919050565b6000819050919050565b61564761564282613ac0565b61562c565b82525050565b60008160601b9050919050565b60006156658261564d565b9050919050565b60006156778261565a565b9050919050565b61568f61568a82613a55565b61566c565b82525050565b60008160f81b9050919050565b60006156ad82615695565b9050919050565b60006156bf826156a2565b9050919050565b6156d76156d282613bb4565b6156b4565b82525050565b60006156e98289615636565b6020820191506156f98288615636565b602082019150615709828761567e565b6014820191506157198286615636565b60208201915061572982856156c6565b600182019150615739828461567e565b601482019150819050979650505050505050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006157a9602a836141e5565b91506157b48261574d565b604082019050919050565b600060208201905081810360008301526157d88161579c565b9050919050565b60006040820190506157f46000830185613e92565b6158016020830184613ee6565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061586d6018836141e5565b915061587882615837565b602082019050919050565b6000602082019050818103600083015261589c81615860565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006158d9601f836141e5565b91506158e4826158a3565b602082019050919050565b60006020820190508181036000830152615908816158cc565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061596b6022836141e5565b91506159768261590f565b604082019050919050565b6000602082019050818103600083015261599a8161595e565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006159fd6026836141e5565b9150615a08826159a1565b604082019050919050565b60006020820190508181036000830152615a2c816159f0565b9050919050565b6000819050919050565b615a4681615a33565b82525050565b615a5581614869565b82525050565b6000608082019050615a706000830187615a3d565b615a7d6020830186615a4c565b615a8a6040830185615a3d565b615a976060830184615a3d565b95945050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000615ad6601d836141e5565b9150615ae182615aa0565b602082019050919050565b60006020820190508181036000830152615b0581615ac9565b9050919050565b600081519050919050565b6000615b2282615b0c565b615b2c81856141e5565b9350615b3c8185602086016151ab565b615b4581613b28565b840191505092915050565b60006020820190508181036000830152615b6a8184615b17565b90509291505056fea264697066735822122082238729be48136c8bcbc24e3f85edf941b0a597394d95568a2264e3e4b3d26a64736f6c634300080f0033000000000000000000000000b628d2272498d394ec956d0d3579976e3ff5fa1e000000000000000000000000ea4febb9fac2ee42167f41e05bce3a4f636ce494