0 txs
0 calls
constructor
No constructor.
functions
_packName
viewfunction _packName() view returns (string)
_packSlug
viewfunction _packSlug() view returns (string)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
expiry
viewfunction expiry(uint256) view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
paused
viewfunction paused() view returns (bool)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
adminTransfer
nonpayablefunction adminTransfer(address to, uint256 tokenId)
approve
nonpayablefunction approve(address to, uint256 tokenId)
burn
nonpayablefunction burn(uint256 tokenId)
changeExpiry
nonpayablefunction changeExpiry(uint256 tokenId, uint256 _expiry)
changePackDetails
nonpayablefunction changePackDetails(string packName, string packSlug)
initialize
nonpayablefunction initialize(address initialOwner)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
safeMint
nonpayablefunction safeMint(address to)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
Unpaused
event Unpaused(address account)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
EnforcedPause
error EnforcedPause()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
ERC721IncorrectOwner
error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner)
ERC721InsufficientApproval
error ERC721InsufficientApproval(address operator, uint256 tokenId)
ERC721InvalidApprover
error ERC721InvalidApprover(address approver)
ERC721InvalidOperator
error ERC721InvalidOperator(address operator)
ERC721InvalidOwner
error ERC721InvalidOwner(address owner)
ERC721InvalidReceiver
error ERC721InvalidReceiver(address receiver)
ERC721InvalidSender
error ERC721InvalidSender(address sender)
ERC721NonexistentToken
error ERC721NonexistentToken(uint256 tokenId)
ExpectedPause
error ExpectedPause()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015610042575f5ffd5b5061005161005660201b60201c565b6101b6565b5f61006561015460201b60201c565b9050805f0160089054906101000a900460ff16156100af576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff8016815f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff16146101515767ffffffffffffffff815f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d267ffffffffffffffff604051610148919061019d565b60405180910390a15b50565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b5f67ffffffffffffffff82169050919050565b6101978161017b565b82525050565b5f6020820190506101b05f83018461018e565b92915050565b608051613d846101dc5f395f8181611582015281816115d701526117910152613d845ff3fe6080604052600436106101d7575f3560e01c806370a0823111610101578063c4d66de811610094578063ee3621e411610063578063ee3621e414610659578063f0940b2214610681578063f17e48ec146106bd578063f2fde38b146106e5576101d7565b8063c4d66de814610591578063c69b50d1146105b9578063c87b56dd146105e1578063e985e9c51461061d576101d7565b806395d89b41116100d057806395d89b41146104ed578063a22cb46514610517578063ad3cb1cc1461053f578063b88d4fde14610569576101d7565b806370a082311461045b578063715018a6146104975780638456cb59146104ad5780638da5cb5b146104c3576101d7565b806340d097c3116101795780634f1ef286116101485780634f1ef286146103af57806352d1902d146103cb5780635c975abb146103f55780636352211e1461041f576101d7565b806340d097c31461030d57806342842e0e1461033557806342966c681461035d5780634dee7f5614610385576101d7565b8063081812fc116101b5578063081812fc1461026b578063095ea7b3146102a757806323b872dd146102cf5780633f4ba83a146102f7576101d7565b806301ffc9a7146101db5780630271bf701461021757806306fdde0314610241575b5f5ffd5b3480156101e6575f5ffd5b5061020160048036038101906101fc9190612e06565b61070d565b60405161020e9190612e4b565b60405180910390f35b348015610222575f5ffd5b5061022b6107ee565b6040516102389190612ed4565b60405180910390f35b34801561024c575f5ffd5b5061025561087a565b6040516102629190612ed4565b60405180910390f35b348015610276575f5ffd5b50610291600480360381019061028c9190612f27565b610917565b60405161029e9190612f91565b60405180910390f35b3480156102b2575f5ffd5b506102cd60048036038101906102c89190612fd4565b610932565b005b3480156102da575f5ffd5b506102f560048036038101906102f09190613012565b610948565b005b348015610302575f5ffd5b5061030b610a47565b005b348015610318575f5ffd5b50610333600480360381019061032e9190613062565b610a59565b005b348015610340575f5ffd5b5061035b60048036038101906103569190613012565b610af6565b005b348015610368575f5ffd5b50610383600480360381019061037e9190612f27565b610b15565b005b348015610390575f5ffd5b50610399610b2b565b6040516103a69190612ed4565b60405180910390f35b6103c960048036038101906103c491906131b9565b610bb7565b005b3480156103d6575f5ffd5b506103df610bd6565b6040516103ec919061322b565b60405180910390f35b348015610400575f5ffd5b50610409610c07565b6040516104169190612e4b565b60405180910390f35b34801561042a575f5ffd5b5061044560048036038101906104409190612f27565b610c29565b6040516104529190612f91565b60405180910390f35b348015610466575f5ffd5b50610481600480360381019061047c9190613062565b610c3a565b60405161048e9190613253565b60405180910390f35b3480156104a2575f5ffd5b506104ab610cfe565b005b3480156104b8575f5ffd5b506104c1610d11565b005b3480156104ce575f5ffd5b506104d7610d23565b6040516104e49190612f91565b60405180910390f35b3480156104f8575f5ffd5b50610501610d58565b60405161050e9190612ed4565b60405180910390f35b348015610522575f5ffd5b5061053d60048036038101906105389190613296565b610df6565b005b34801561054a575f5ffd5b50610553610e0c565b6040516105609190612ed4565b60405180910390f35b348015610574575f5ffd5b5061058f600480360381019061058a91906132d4565b610e45565b005b34801561059c575f5ffd5b506105b760048036038101906105b29190613062565b610e62565b005b3480156105c4575f5ffd5b506105df60048036038101906105da9190613354565b611085565b005b3480156105ec575f5ffd5b5061060760048036038101906106029190612f27565b6110a7565b6040516106149190612ed4565b60405180910390f35b348015610628575f5ffd5b50610643600480360381019061063e9190613392565b61110d565b6040516106509190612e4b565b60405180910390f35b348015610664575f5ffd5b5061067f600480360381019061067a919061342d565b6111a9565b005b34801561068c575f5ffd5b506106a760048036038101906106a29190612f27565b6111db565b6040516106b49190613253565b60405180910390f35b3480156106c8575f5ffd5b506106e360048036038101906106de9190612fd4565b6111f0565b005b3480156106f0575f5ffd5b5061070b60048036038101906107069190613062565b61120f565b005b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107d757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107e757506107e682611293565b5b9050919050565b600180546107fb906134d8565b80601f0160208091040260200160405190810160405280929190818152602001828054610827906134d8565b80156108725780601f1061084957610100808354040283529160200191610872565b820191905f5260205f20905b81548152906001019060200180831161085557829003601f168201915b505050505081565b60605f6108856112fc565b9050805f018054610895906134d8565b80601f01602080910402602001604051908101604052809291908181526020018280546108c1906134d8565b801561090c5780601f106108e35761010080835404028352916020019161090c565b820191905f5260205f20905b8154815290600101906020018083116108ef57829003601f168201915b505050505091505090565b5f61092182611323565b5061092b826113a9565b9050919050565b610944828261093f6113f0565b6113f7565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109b8575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016109af9190612f91565b60405180910390fd5b5f6109cb83836109c66113f0565b611409565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a41578382826040517f64283d7b000000000000000000000000000000000000000000000000000000008152600401610a3893929190613508565b60405180910390fd5b50505050565b610a4f611426565b610a576114f5565b565b610a61611426565b5f610a6b82610c3a565b14610aab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa2906135ad565b60405180910390fd5b5f5f5f815480929190610abd906135f8565b9190505590506301e1338042610ad3919061363f565b60035f8381526020019081526020015f2081905550610af28282611563565b5050565b610b1083838360405180602001604052805f815250610e45565b505050565b610b275f82610b226113f0565b611409565b5050565b60028054610b38906134d8565b80601f0160208091040260200160405190810160405280929190818152602001828054610b64906134d8565b8015610baf5780601f10610b8657610100808354040283529160200191610baf565b820191905f5260205f20905b815481529060010190602001808311610b9257829003601f168201915b505050505081565b610bbf611580565b610bc882611666565b610bd28282611671565b5050565b5f610bdf61178f565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b905090565b5f5f610c11611816565b9050805f015f9054906101000a900460ff1691505090565b5f610c3382611323565b9050919050565b5f5f610c446112fc565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cb6575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610cad9190612f91565b60405180910390fd5b806003015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054915050919050565b610d06611426565b610d0f5f61183d565b565b610d19611426565b610d2161190e565b565b5f5f610d2d61197d565b9050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b60605f610d636112fc565b9050806001018054610d74906134d8565b80601f0160208091040260200160405190810160405280929190818152602001828054610da0906134d8565b8015610deb5780601f10610dc257610100808354040283529160200191610deb565b820191905f5260205f20905b815481529060010190602001808311610dce57829003601f168201915b505050505091505090565b610e08610e016113f0565b83836119a4565b5050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b610e50848484610948565b610e5c84848484611b1b565b50505050565b5f610e6b611ccd565b90505f815f0160089054906101000a900460ff161590505f825f015f9054906101000a900467ffffffffffffffff1690505f5f8267ffffffffffffffff16148015610eb35750825b90505f60018367ffffffffffffffff16148015610ee657505f3073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015610ef4575080155b15610f2b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001855f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508315610f78576001855f0160086101000a81548160ff0219169083151502179055505b611023866040518060400160405280601381526020017f556e69746520446546692046696e616c697374000000000000000000000000008152506040518060400160405280601181526020017f45472d46494e414c4953542d554e4954450000000000000000000000000000008152506040518060400160405280600e81526020017f756e6974652d66696e616c697374000000000000000000000000000000000000815250611cf4565b831561107d575f855f0160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2600160405161107491906136c7565b60405180910390a15b505050505050565b61108d611426565b8060035f8481526020019081526020015f20819055505050565b60606110b282611323565b505f6110bc611d25565b90505f8151116110da5760405180602001604052805f815250611105565b806110e484611d4d565b6040516020016110f592919061371a565b6040516020818303038152906040525b915050919050565b5f5f6111176112fc565b9050806005015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1691505092915050565b6111b1611426565b8383600191826111c29291906138de565b508181600291826111d49291906138de565b5050505050565b6003602052805f5260405f205f915090505481565b6111f8611426565b61120b61120482610c29565b8383611e17565b5050565b611217611426565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611287575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161127e9190612f91565b60405180910390fd5b6112908161183d565b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300905090565b5f5f61132e83611e36565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113a057826040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016113979190613253565b60405180910390fd5b80915050919050565b5f5f6113b36112fc565b9050806004015f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b5f33905090565b6114048383836001611e7d565b505050565b5f611412611426565b61141d84848461204a565b90509392505050565b61142e6113f0565b73ffffffffffffffffffffffffffffffffffffffff1661144c610d23565b73ffffffffffffffffffffffffffffffffffffffff16141580156114aa5750611473612067565b73ffffffffffffffffffffffffffffffffffffffff16611491610d23565b73ffffffffffffffffffffffffffffffffffffffff1614155b156114f3576114b76113f0565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016114ea9190612f91565b60405180910390fd5b565b6114fd612085565b5f611506611816565b90505f815f015f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61154b6113f0565b6040516115589190612f91565b60405180910390a150565b61157c828260405180602001604052805f8152506120c5565b5050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148061162d57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166116146120e0565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611664576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61166e611426565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156116d957506040513d601f19601f820116820180604052508101906116d691906139d5565b60015b61171a57816040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526004016117119190612f91565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b811461178057806040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600401611777919061322b565b60405180910390fd5b61178a8383612133565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614611814576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300905090565b5f61184661197d565b90505f815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082825f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b6119166121a5565b5f61191f611816565b90506001815f015f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119656113f0565b6040516119729190612f91565b60405180910390a150565b5f7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b5f6119ad6112fc565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a1f57826040517f5b08ba18000000000000000000000000000000000000000000000000000000008152600401611a169190612f91565b60405180910390fd5b81816005015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3184604051611b0d9190612e4b565b60405180910390a350505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115611cc7578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02611b5e6113f0565b8685856040518563ffffffff1660e01b8152600401611b809493929190613a52565b6020604051808303815f875af1925050508015611bbb57506040513d601f19601f82011682018060405250810190611bb89190613ab0565b60015b611c3c573d805f8114611be9576040519150601f19603f3d011682016040523d82523d5f602084013e611bee565b606091505b505f815103611c3457836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611c2b9190612f91565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611cc557836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611cbc9190612f91565b60405180910390fd5b505b50505050565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b8260019081611d039190613adb565b508060029081611d139190613adb565b50611d1f8484846121e6565b50505050565b60606002604051602001611d399190613c76565b604051602081830303815290604052905090565b60605f6001611d5b84612216565b0190505f8167ffffffffffffffff811115611d7957611d78613095565b5b6040519080825280601f01601f191660200182016040528015611dab5781602001600182028036833780820191505090505b5090505f82602001820190505b600115611e0c578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611e0157611e00613caa565b5b0494505f8503611db8575b819350505050919050565b611e3183838360405180602001604052805f815250612367565b505050565b5f5f611e406112fc565b9050806002015f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b5f611e866112fc565b90508180611ec057505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ff2575f611ecf85611323565b90505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611f3957508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015611f4c5750611f4a818561110d565b155b15611f8e57836040517fa9fbf51f000000000000000000000000000000000000000000000000000000008152600401611f859190612f91565b60405180910390fd5b8215611ff057848673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b84816004015f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b5f6120536121a5565b61205e848484612384565b90509392505050565b5f6120806e2fd5aeb385d324b580fca7c83823a06125a1565b905090565b61208d610c07565b6120c3576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6120cf83836125c6565b6120db5f848484611b1b565b505050565b5f61210c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b6126b9565b5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61213c826126c2565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25f8151111561219857612192828261278b565b506121a1565b6121a061280b565b5b5050565b6121ad610c07565b156121e4576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6121f08282612847565b6121f861285d565b6122018361286f565b612209612883565b61221161288d565b505050565b5f5f5f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612272577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161226857612267613caa565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106122af576d04ee2d6d415b85acef810000000083816122a5576122a4613caa565b5b0492506020810190505b662386f26fc1000083106122de57662386f26fc1000083816122d4576122d3613caa565b5b0492506010810190505b6305f5e1008310612307576305f5e10083816122fd576122fc613caa565b5b0492506008810190505b612710831061232c57612710838161232257612321613caa565b5b0492506004810190505b6064831061234f576064838161234557612344613caa565b5b0492506002810190505b600a831061235e576001810190505b80915050919050565b612372848484612897565b61237e84848484611b1b565b50505050565b5f5f61238e6112fc565b90505f61239a85611e36565b90505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146123db576123da8185876129ff565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146124685761241a5f865f5f611e7d565b6001826003015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146124e9576001826003015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b85826002015f8781526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a480925050509392505050565b5f335f528133036125bd5760205f5f38855afa6125bc573838fd5b5b5f519050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612636575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161262d9190612f91565b60405180910390fd5b5f61264283835f611409565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146126b4575f6040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016126ab9190612f91565b60405180910390fd5b505050565b5f819050919050565b5f8173ffffffffffffffffffffffffffffffffffffffff163b0361271d57806040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526004016127149190612f91565b60405180910390fd5b806127497f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b6126b9565b5f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60605f5f8473ffffffffffffffffffffffffffffffffffffffff16846040516127b49190613d11565b5f60405180830381855af49150503d805f81146127ec576040519150601f19603f3d011682016040523d82523d5f602084013e6127f1565b606091505b5091509150612801858383612ac2565b9250505092915050565b5f341115612845576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61284f612b4f565b6128598282612b8f565b5050565b612865612b4f565b61286d612bca565b565b612877612b4f565b61288081612bfa565b50565b61288b612b4f565b565b612895612b4f565b565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612907575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016128fe9190612f91565b60405180910390fd5b5f61291383835f611409565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361298557816040517f7e27328900000000000000000000000000000000000000000000000000000000815260040161297c9190613253565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146129f9578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016129f093929190613508565b60405180910390fd5b50505050565b612a0a838383612c7e565b612abd575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a7e57806040517f7e273289000000000000000000000000000000000000000000000000000000008152600401612a759190613253565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401612ab4929190613d27565b60405180910390fd5b505050565b606082612ad757612ad282612d3e565b612b47565b5f8251148015612afd57505f8473ffffffffffffffffffffffffffffffffffffffff163b145b15612b3f57836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401612b369190612f91565b60405180910390fd5b819050612b48565b5b9392505050565b612b57612d82565b612b8d576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612b97612b4f565b5f612ba06112fc565b905082815f019081612bb29190613adb565b5081816001019081612bc49190613adb565b50505050565b612bd2612b4f565b5f612bdb611816565b90505f815f015f6101000a81548160ff02191690831515021790555050565b612c02612b4f565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612c72575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612c699190612f91565b60405180910390fd5b612c7b8161183d565b50565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612d3557508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612cf65750612cf5848461110d565b5b80612d3457508273ffffffffffffffffffffffffffffffffffffffff16612d1c836113a9565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f81511115612d505780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612d8b611ccd565b5f0160089054906101000a900460ff16905090565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612de581612db1565b8114612def575f5ffd5b50565b5f81359050612e0081612ddc565b92915050565b5f60208284031215612e1b57612e1a612da9565b5b5f612e2884828501612df2565b91505092915050565b5f8115159050919050565b612e4581612e31565b82525050565b5f602082019050612e5e5f830184612e3c565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612ea682612e64565b612eb08185612e6e565b9350612ec0818560208601612e7e565b612ec981612e8c565b840191505092915050565b5f6020820190508181035f830152612eec8184612e9c565b905092915050565b5f819050919050565b612f0681612ef4565b8114612f10575f5ffd5b50565b5f81359050612f2181612efd565b92915050565b5f60208284031215612f3c57612f3b612da9565b5b5f612f4984828501612f13565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f7b82612f52565b9050919050565b612f8b81612f71565b82525050565b5f602082019050612fa45f830184612f82565b92915050565b612fb381612f71565b8114612fbd575f5ffd5b50565b5f81359050612fce81612faa565b92915050565b5f5f60408385031215612fea57612fe9612da9565b5b5f612ff785828601612fc0565b925050602061300885828601612f13565b9150509250929050565b5f5f5f6060848603121561302957613028612da9565b5b5f61303686828701612fc0565b935050602061304786828701612fc0565b925050604061305886828701612f13565b9150509250925092565b5f6020828403121561307757613076612da9565b5b5f61308484828501612fc0565b91505092915050565b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6130cb82612e8c565b810181811067ffffffffffffffff821117156130ea576130e9613095565b5b80604052505050565b5f6130fc612da0565b905061310882826130c2565b919050565b5f67ffffffffffffffff82111561312757613126613095565b5b61313082612e8c565b9050602081019050919050565b828183375f83830152505050565b5f61315d6131588461310d565b6130f3565b90508281526020810184848401111561317957613178613091565b5b61318484828561313d565b509392505050565b5f82601f8301126131a05761319f61308d565b5b81356131b084826020860161314b565b91505092915050565b5f5f604083850312156131cf576131ce612da9565b5b5f6131dc85828601612fc0565b925050602083013567ffffffffffffffff8111156131fd576131fc612dad565b5b6132098582860161318c565b9150509250929050565b5f819050919050565b61322581613213565b82525050565b5f60208201905061323e5f83018461321c565b92915050565b61324d81612ef4565b82525050565b5f6020820190506132665f830184613244565b92915050565b61327581612e31565b811461327f575f5ffd5b50565b5f813590506132908161326c565b92915050565b5f5f604083850312156132ac576132ab612da9565b5b5f6132b985828601612fc0565b92505060206132ca85828601613282565b9150509250929050565b5f5f5f5f608085870312156132ec576132eb612da9565b5b5f6132f987828801612fc0565b945050602061330a87828801612fc0565b935050604061331b87828801612f13565b925050606085013567ffffffffffffffff81111561333c5761333b612dad565b5b6133488782880161318c565b91505092959194509250565b5f5f6040838503121561336a57613369612da9565b5b5f61337785828601612f13565b925050602061338885828601612f13565b9150509250929050565b5f5f604083850312156133a8576133a7612da9565b5b5f6133b585828601612fc0565b92505060206133c685828601612fc0565b9150509250929050565b5f5ffd5b5f5ffd5b5f5f83601f8401126133ed576133ec61308d565b5b8235905067ffffffffffffffff81111561340a576134096133d0565b5b602083019150836001820283011115613426576134256133d4565b5b9250929050565b5f5f5f5f6040858703121561344557613444612da9565b5b5f85013567ffffffffffffffff81111561346257613461612dad565b5b61346e878288016133d8565b9450945050602085013567ffffffffffffffff81111561349157613490612dad565b5b61349d878288016133d8565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806134ef57607f821691505b602082108103613502576135016134ab565b5b50919050565b5f60608201905061351b5f830186612f82565b6135286020830185613244565b6135356040830184612f82565b949350505050565b7f455448476c6f62616c205061636b3a206164647265737320616c7265616479205f8201527f686173206120746f6b656e000000000000000000000000000000000000000000602082015250565b5f613597602b83612e6e565b91506135a28261353d565b604082019050919050565b5f6020820190508181035f8301526135c48161358b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61360282612ef4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613634576136336135cb565b5b600182019050919050565b5f61364982612ef4565b915061365483612ef4565b925082820190508082111561366c5761366b6135cb565b5b92915050565b5f819050919050565b5f67ffffffffffffffff82169050919050565b5f819050919050565b5f6136b16136ac6136a784613672565b61368e565b61367b565b9050919050565b6136c181613697565b82525050565b5f6020820190506136da5f8301846136b8565b92915050565b5f81905092915050565b5f6136f482612e64565b6136fe81856136e0565b935061370e818560208601612e7e565b80840191505092915050565b5f61372582856136ea565b915061373182846136ea565b91508190509392505050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026137a37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613768565b6137ad8683613768565b95508019841693508086168417925050509392505050565b5f6137df6137da6137d584612ef4565b61368e565b612ef4565b9050919050565b5f819050919050565b6137f8836137c5565b61380c613804826137e6565b848454613774565b825550505050565b5f5f905090565b613823613814565b61382e8184846137ef565b505050565b5b81811015613851576138465f8261381b565b600181019050613834565b5050565b601f8211156138965761386781613747565b61387084613759565b8101602085101561387f578190505b61389361388b85613759565b830182613833565b50505b505050565b5f82821c905092915050565b5f6138b65f198460080261389b565b1980831691505092915050565b5f6138ce83836138a7565b9150826002028217905092915050565b6138e8838361373d565b67ffffffffffffffff81111561390157613900613095565b5b61390b82546134d8565b613916828285613855565b5f601f831160018114613943575f8415613931578287013590505b61393b85826138c3565b8655506139a2565b601f19841661395186613747565b5f5b8281101561397857848901358255600182019150602085019450602081019050613953565b868310156139955784890135613991601f8916826138a7565b8355505b6001600288020188555050505b50505050505050565b6139b481613213565b81146139be575f5ffd5b50565b5f815190506139cf816139ab565b92915050565b5f602082840312156139ea576139e9612da9565b5b5f6139f7848285016139c1565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f613a2482613a00565b613a2e8185613a0a565b9350613a3e818560208601612e7e565b613a4781612e8c565b840191505092915050565b5f608082019050613a655f830187612f82565b613a726020830186612f82565b613a7f6040830185613244565b8181036060830152613a918184613a1a565b905095945050505050565b5f81519050613aaa81612ddc565b92915050565b5f60208284031215613ac557613ac4612da9565b5b5f613ad284828501613a9c565b91505092915050565b613ae482612e64565b67ffffffffffffffff811115613afd57613afc613095565b5b613b0782546134d8565b613b12828285613855565b5f60209050601f831160018114613b43575f8415613b31578287015190505b613b3b85826138c3565b865550613ba2565b601f198416613b5186613747565b5f5b82811015613b7857848901518255600182019150602085019450602081019050613b53565b86831015613b955784890151613b91601f8916826138a7565b8355505b6001600288020188555050505b505050505050565b7f68747470733a2f2f657468676c6f62616c2e636f6d2f6170692f7061636b732f815250565b5f8154613bdc816134d8565b613be681866136e0565b9450600182165f8114613c005760018114613c1557613c47565b60ff1983168652811515820286019350613c47565b613c1e85613747565b5f5b83811015613c3f57815481890152600182019150602081019050613c20565b838801955050505b50505092915050565b7f3f69643d00000000000000000000000000000000000000000000000000000000815250565b5f613c8082613baa565b602082019150613c908284613bd0565b9150613c9b82613c50565b60048201915081905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f81905092915050565b5f613ceb82613a00565b613cf58185613cd7565b9350613d05818560208601612e7e565b80840191505092915050565b5f613d1c8284613ce1565b915081905092915050565b5f604082019050613d3a5f830185612f82565b613d476020830184613244565b939250505056fea264697066735822122005f6c02ae847b5e76038847a1ab1d3a6e7248c58d9029c193556d2759defb39464736f6c634300081d0033