6 txs
396 calls
constructor
constructor(string _name, string _symbol, address _nftToken)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
getClaimableRewardOwned
viewfunction getClaimableRewardOwned(uint256[] tokenIds) view returns (uint256 totalReward)
name
viewfunction name() view returns (string)
nftClaimed
viewfunction nftClaimed(uint256) view returns (bool)
nftToken
viewfunction nftToken() view returns (address)
nftTokenRarities
viewfunction nftTokenRarities(uint256) view returns (uint8)
owner
viewfunction owner() view returns (address)
rarityReward
viewfunction rarityReward(uint8) view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 value) returns (bool)
claimWithNFT
nonpayablefunction claimWithNFT(uint256 tokenId)
claimWithNFTBatch
nonpayablefunction claimWithNFTBatch(uint256[] tokenIds)
renounceOwnership
nonpayablefunction renounceOwnership()
setNftTokenRarities
nonpayablefunction setNftTokenRarities(uint256[] tokenIds, uint8[] rarities)
setNftTokenRarity
nonpayablefunction setNftTokenRarity(uint256 tokenId, uint8 rarity)
setRarityRewards
nonpayablefunction setRarityRewards(uint8[] rarities, uint256[] rewards)
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 value) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Claimed
event Claimed(address indexed user, uint256 indexed tokenId, uint256 amount)
ClaimedBatch
event ClaimedBatch(address indexed user, uint256[] tokenIds, uint256 totalAmount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RarityRewardSet
event RarityRewardSet(uint8 rarity, uint256 reward)
RarityRewardsSet
event RarityRewardsSet(uint8[] rarities, uint256[] rewards)
TokenRaritiesSet
event TokenRaritiesSet(uint256[] tokenIds, uint8[] rarities)
TokenRaritySet
event TokenRaritySet(uint256 tokenId, uint8 rarity)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
AlreadyClaimed
error AlreadyClaimed()
ERC20InsufficientAllowance
error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed)
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidApprover
error ERC20InvalidApprover(address approver)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
ERC20InvalidSpender
error ERC20InvalidSpender(address spender)
InvalidRarityReward
error InvalidRarityReward()
InvalidTokenIds
error InvalidTokenIds()
NotNftOwner
error NotNftOwner()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ZeroAddress
error ZeroAddress()
creation bytecode
0x60a060405234801561001057600080fd5b50604051612fc8380380612fc883398181016040528101906100329190610414565b338383816003908161004491906106c0565b50806004908161005491906106c0565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100c95760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100c091906107a1565b60405180910390fd5b6100d88161017b60201b60201c565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361013f576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250505050506107bc565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102a88261025f565b810181811067ffffffffffffffff821117156102c7576102c6610270565b5b80604052505050565b60006102da610241565b90506102e6828261029f565b919050565b600067ffffffffffffffff82111561030657610305610270565b5b61030f8261025f565b9050602081019050919050565b60005b8381101561033a57808201518184015260208101905061031f565b60008484015250505050565b6000610359610354846102eb565b6102d0565b9050828152602081018484840111156103755761037461025a565b5b61038084828561031c565b509392505050565b600082601f83011261039d5761039c610255565b5b81516103ad848260208601610346565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103e1826103b6565b9050919050565b6103f1816103d6565b81146103fc57600080fd5b50565b60008151905061040e816103e8565b92915050565b60008060006060848603121561042d5761042c61024b565b5b600084015167ffffffffffffffff81111561044b5761044a610250565b5b61045786828701610388565b935050602084015167ffffffffffffffff81111561047857610477610250565b5b61048486828701610388565b9250506040610495868287016103ff565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806104f157607f821691505b602082108103610504576105036104aa565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261056c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261052f565b610576868361052f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006105bd6105b86105b38461058e565b610598565b61058e565b9050919050565b6000819050919050565b6105d7836105a2565b6105eb6105e3826105c4565b84845461053c565b825550505050565b600090565b6106006105f3565b61060b8184846105ce565b505050565b5b8181101561062f576106246000826105f8565b600181019050610611565b5050565b601f821115610674576106458161050a565b61064e8461051f565b8101602085101561065d578190505b6106716106698561051f565b830182610610565b50505b505050565b600082821c905092915050565b600061069760001984600802610679565b1980831691505092915050565b60006106b08383610686565b9150826002028217905092915050565b6106c98261049f565b67ffffffffffffffff8111156106e2576106e1610270565b5b6106ec82546104d9565b6106f7828285610633565b600060209050601f83116001811461072a5760008415610718578287015190505b61072285826106a4565b86555061078a565b601f1984166107388661050a565b60005b828110156107605784890151825560018201915060208501945060208101905061073b565b8683101561077d5784890151610779601f891682610686565b8355505b6001600288020188555050505b505050505050565b61079b816103d6565b82525050565b60006020820190506107b66000830184610792565b92915050565b6080516127dc6107ec600039600081816105160152818161086c01528181610a5001526110f801526127dc6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063715018a6116100b8578063bb775ce71161007c578063bb775ce71461038b578063c492c6cf146103bb578063d06fcba8146103d7578063dd62ed3e146103f5578063ec13de1b14610425578063f2fde38b1461044157610142565b8063715018a6146102f9578063791d664c146103035780638da5cb5b1461031f57806395d89b411461033d578063a9059cbb1461035b57610142565b806323e683d71161010a57806323e683d7146101ff578063313ce5671461022f57806333b21d4a1461024d57806339cbaf101461027d5780636b57dd75146102ad57806370a08231146102c957610142565b806306fdde0314610147578063095ea7b31461016557806316942cb31461019557806318160ddd146101b157806323b872dd146101cf575b600080fd5b61014f61045d565b60405161015c9190611aa5565b60405180910390f35b61017f600480360381019061017a9190611b6f565b6104ef565b60405161018c9190611bca565b60405180910390f35b6101af60048036038101906101aa9190611be5565b610512565b005b6101b96107be565b6040516101c69190611c21565b60405180910390f35b6101e960048036038101906101e49190611c3c565b6107c8565b6040516101f69190611bca565b60405180910390f35b61021960048036038101906102149190611cb4565b6107f7565b6040516102269190611c21565b60405180910390f35b61023761080f565b6040516102449190611cfd565b60405180910390f35b61026760048036038101906102629190611be5565b610818565b6040516102749190611d8f565b60405180910390f35b61029760048036038101906102929190611e0f565b610838565b6040516102a49190611c21565b60405180910390f35b6102c760048036038101906102c29190611e0f565b6109dc565b005b6102e360048036038101906102de9190611e5c565b610d68565b6040516102f09190611c21565b60405180910390f35b610301610db0565b005b61031d60048036038101906103189190611edf565b610dc4565b005b610327610ee9565b6040516103349190611f6f565b60405180910390f35b610345610f13565b6040516103529190611aa5565b60405180910390f35b61037560048036038101906103709190611b6f565b610fa5565b6040516103829190611bca565b60405180910390f35b6103a560048036038101906103a09190611be5565b610fc8565b6040516103b29190611bca565b60405180910390f35b6103d560048036038101906103d0919061218b565b610fe8565b005b6103df6110f6565b6040516103ec9190612262565b60405180910390f35b61040f600480360381019061040a919061227d565b61111a565b60405161041c9190611c21565b60405180910390f35b61043f600480360381019061043a91906122bd565b6111a1565b005b61045b60048036038101906104569190611e5c565b611221565b005b60606003805461046c9061232c565b80601f01602080910402602001604051908101604052809291908181526020018280546104989061232c565b80156104e55780601f106104ba576101008083540402835291602001916104e5565b820191906000526020600020905b8154815290600101906020018083116104c857829003601f168201915b5050505050905090565b6000806104fa6112a7565b90506105078185856112af565b600191505092915050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b815260040161056d9190611c21565b602060405180830381865afa9250505080156105a757506040513d601f19601f820116820180604052508101906105a49190612372565b60015b6105dd576040517f4b64ae4700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b809150503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610646576040517f4b64ae4700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900460ff161561069e576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016006600084815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600760006008600086815260200190815260200160002060009054906101000a900460ff16600581111561070357610702611d18565b5b600581111561071557610714611d18565b5b815260200190815260200160002054905060008103610760576040517fc91532b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61076a33826112c1565b823373ffffffffffffffffffffffffffffffffffffffff167f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a836040516107b19190611c21565b60405180910390a3505050565b6000600254905090565b6000806107d36112a7565b90506107e0858285611343565b6107eb8585856113d8565b60019150509392505050565b60076020528060005260406000206000915090505481565b60006012905090565b60086020528060005260406000206000915054906101000a900460ff1681565b60008083839050905060005b818110156109d45760008585838181106108615761086061239f565b5b9050602002013590507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e826040518263ffffffff1660e01b81526004016108c39190611c21565b602060405180830381865afa9250505080156108fd57506040513d601f19601f820116820180604052508101906108fa9190612372565b60015b156109c8573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614801561095b57506006600083815260200190815260200160002060009054906101000a900460ff16155b156109c657600760006008600085815260200190815260200160002060009054906101000a900460ff16600581111561099757610996611d18565b5b60058111156109a9576109a8611d18565b5b815260200190815260200160002054856109c391906123fd565b94505b505b50806001019050610844565b505092915050565b600082829050905060008103610a1e576040517f340bc4c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080600090505b82811015610d05576000858583818110610a4357610a4261239f565b5b90506020020135905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b8152600401610aa79190611c21565b602060405180830381865afa925050508015610ae157506040513d601f19601f82011682018060405250810190610ade9190612372565b60015b610b17576040517f4b64ae4700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b809150503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b80576040517f4b64ae4700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900460ff1615610bd8576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016006600084815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600760006008600086815260200190815260200160002060009054906101000a900460ff166005811115610c3d57610c3c611d18565b5b6005811115610c4f57610c4e611d18565b5b815260200190815260200160002054905060008103610c9a576040517fc91532b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8085610ca691906123fd565b9450823373ffffffffffffffffffffffffffffffffffffffff167f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a83604051610cef9190611c21565b60405180910390a3836001019350505050610a26565b50610d1033826112c1565b3373ffffffffffffffffffffffffffffffffffffffff167fbf144b570ea1d12722c73ded9e7e843a5b5742d7b9716b2b85dcb7fa26f71d18858584604051610d5a939291906124ac565b60405180910390a250505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610db86114cc565b610dc26000611553565b565b610dcc6114cc565b818190508484905014610e0b576040517f340bc4c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084849050905060005b81811015610ea457838382818110610e3157610e3061239f565b5b9050602002016020810190610e469190611cb4565b60086000888885818110610e5d57610e5c61239f565b5b90506020020135815260200190815260200160002060006101000a81548160ff02191690836005811115610e9457610e93611d18565b5b0217905550806001019050610e16565b507f2becc1e61f6ad1c7b2d0b00104fd325598f2b60b5d6a7c300eabd69122832d7785858585604051610eda94939291906125a1565b60405180910390a15050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610f229061232c565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4e9061232c565b8015610f9b5780601f10610f7057610100808354040283529160200191610f9b565b820191906000526020600020905b815481529060010190602001808311610f7e57829003601f168201915b5050505050905090565b600080610fb06112a7565b9050610fbd8185856113d8565b600191505092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b610ff06114cc565b805182511461102b576040517fc91532b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008251905060005b818110156110b75782818151811061104f5761104e61239f565b5b60200260200101516007600086848151811061106e5761106d61239f565b5b6020026020010151600581111561108857611087611d18565b5b600581111561109a57611099611d18565b5b815260200190815260200160002081905550806001019050611034565b507f0fc27c279f62d68c22f2ce7551806b0890c5dae829e6a4953eded8ef20fd026c83836040516110e992919061270f565b60405180910390a1505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111a96114cc565b806008600084815260200190815260200160002060006101000a81548160ff021916908360058111156111df576111de611d18565b5b02179055507f45d6f3ef855309a084422177c848cea4ad695d1500779eafb89c308da46925268282604051611215929190612746565b60405180910390a15050565b6112296114cc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361129b5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016112929190611f6f565b60405180910390fd5b6112a481611553565b50565b600033905090565b6112bc8383836001611619565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113335760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161132a9190611f6f565b60405180910390fd5b61133f600083836117f0565b5050565b600061134f848461111a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156113d257818110156113c2578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016113b99392919061276f565b60405180910390fd5b6113d184848484036000611619565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361144a5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016114419190611f6f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114bc5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016114b39190611f6f565b60405180910390fd5b6114c78383836117f0565b505050565b6114d46112a7565b73ffffffffffffffffffffffffffffffffffffffff166114f2610ee9565b73ffffffffffffffffffffffffffffffffffffffff1614611551576115156112a7565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016115489190611f6f565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361168b5760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016116829190611f6f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116fd5760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016116f49190611f6f565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080156117ea578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516117e19190611c21565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361184257806002600082825461183691906123fd565b92505081905550611915565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156118ce578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016118c59392919061276f565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361195e57806002600082825403925050819055506119ab565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a089190611c21565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a4f578082015181840152602081019050611a34565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a7782611a15565b611a818185611a20565b9350611a91818560208601611a31565b611a9a81611a5b565b840191505092915050565b60006020820190508181036000830152611abf8184611a6c565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b0682611adb565b9050919050565b611b1681611afb565b8114611b2157600080fd5b50565b600081359050611b3381611b0d565b92915050565b6000819050919050565b611b4c81611b39565b8114611b5757600080fd5b50565b600081359050611b6981611b43565b92915050565b60008060408385031215611b8657611b85611ad1565b5b6000611b9485828601611b24565b9250506020611ba585828601611b5a565b9150509250929050565b60008115159050919050565b611bc481611baf565b82525050565b6000602082019050611bdf6000830184611bbb565b92915050565b600060208284031215611bfb57611bfa611ad1565b5b6000611c0984828501611b5a565b91505092915050565b611c1b81611b39565b82525050565b6000602082019050611c366000830184611c12565b92915050565b600080600060608486031215611c5557611c54611ad1565b5b6000611c6386828701611b24565b9350506020611c7486828701611b24565b9250506040611c8586828701611b5a565b9150509250925092565b60068110611c9c57600080fd5b50565b600081359050611cae81611c8f565b92915050565b600060208284031215611cca57611cc9611ad1565b5b6000611cd884828501611c9f565b91505092915050565b600060ff82169050919050565b611cf781611ce1565b82525050565b6000602082019050611d126000830184611cee565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60068110611d5857611d57611d18565b5b50565b6000819050611d6982611d47565b919050565b6000611d7982611d5b565b9050919050565b611d8981611d6e565b82525050565b6000602082019050611da46000830184611d80565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611dcf57611dce611daa565b5b8235905067ffffffffffffffff811115611dec57611deb611daf565b5b602083019150836020820283011115611e0857611e07611db4565b5b9250929050565b60008060208385031215611e2657611e25611ad1565b5b600083013567ffffffffffffffff811115611e4457611e43611ad6565b5b611e5085828601611db9565b92509250509250929050565b600060208284031215611e7257611e71611ad1565b5b6000611e8084828501611b24565b91505092915050565b60008083601f840112611e9f57611e9e611daa565b5b8235905067ffffffffffffffff811115611ebc57611ebb611daf565b5b602083019150836020820283011115611ed857611ed7611db4565b5b9250929050565b60008060008060408587031215611ef957611ef8611ad1565b5b600085013567ffffffffffffffff811115611f1757611f16611ad6565b5b611f2387828801611db9565b9450945050602085013567ffffffffffffffff811115611f4657611f45611ad6565b5b611f5287828801611e89565b925092505092959194509250565b611f6981611afb565b82525050565b6000602082019050611f846000830184611f60565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611fc282611a5b565b810181811067ffffffffffffffff82111715611fe157611fe0611f8a565b5b80604052505050565b6000611ff4611ac7565b90506120008282611fb9565b919050565b600067ffffffffffffffff8211156120205761201f611f8a565b5b602082029050602081019050919050565b600061204461203f84612005565b611fea565b9050808382526020820190506020840283018581111561206757612066611db4565b5b835b81811015612090578061207c8882611c9f565b845260208401935050602081019050612069565b5050509392505050565b600082601f8301126120af576120ae611daa565b5b81356120bf848260208601612031565b91505092915050565b600067ffffffffffffffff8211156120e3576120e2611f8a565b5b602082029050602081019050919050565b6000612107612102846120c8565b611fea565b9050808382526020820190506020840283018581111561212a57612129611db4565b5b835b81811015612153578061213f8882611b5a565b84526020840193505060208101905061212c565b5050509392505050565b600082601f83011261217257612171611daa565b5b81356121828482602086016120f4565b91505092915050565b600080604083850312156121a2576121a1611ad1565b5b600083013567ffffffffffffffff8111156121c0576121bf611ad6565b5b6121cc8582860161209a565b925050602083013567ffffffffffffffff8111156121ed576121ec611ad6565b5b6121f98582860161215d565b9150509250929050565b6000819050919050565b600061222861222361221e84611adb565b612203565b611adb565b9050919050565b600061223a8261220d565b9050919050565b600061224c8261222f565b9050919050565b61225c81612241565b82525050565b60006020820190506122776000830184612253565b92915050565b6000806040838503121561229457612293611ad1565b5b60006122a285828601611b24565b92505060206122b385828601611b24565b9150509250929050565b600080604083850312156122d4576122d3611ad1565b5b60006122e285828601611b5a565b92505060206122f385828601611c9f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061234457607f821691505b602082108103612357576123566122fd565b5b50919050565b60008151905061236c81611b0d565b92915050565b60006020828403121561238857612387611ad1565b5b60006123968482850161235d565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061240882611b39565b915061241383611b39565b925082820190508082111561242b5761242a6123ce565b5b92915050565b600082825260208201905092915050565b600080fd5b82818337505050565b600061245c8385612431565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561248f5761248e612442565b5b6020830292506124a0838584612447565b82840190509392505050565b600060408201905081810360008301526124c7818587612450565b90506124d66020830184611c12565b949350505050565b600082825260208201905092915050565b6000819050919050565b61250281611d6e565b82525050565b600061251483836124f9565b60208301905092915050565b600061252f6020840184611c9f565b905092915050565b6000602082019050919050565b600061255083856124de565b935061255b826124ef565b8060005b85811015612594576125718284612520565b61257b8882612508565b975061258683612537565b92505060018101905061255f565b5085925050509392505050565b600060408201905081810360008301526125bc818688612450565b905081810360208301526125d1818486612544565b905095945050505050565b600081519050919050565b6000819050602082019050919050565b6000602082019050919050565b600061260f826125dc565b61261981856124de565b9350612624836125e7565b8060005b8381101561265557815161263c8882612508565b9750612647836125f7565b925050600181019050612628565b5085935050505092915050565b600081519050919050565b6000819050602082019050919050565b61268681611b39565b82525050565b6000612698838361267d565b60208301905092915050565b6000602082019050919050565b60006126bc82612662565b6126c68185612431565b93506126d18361266d565b8060005b838110156127025781516126e9888261268c565b97506126f4836126a4565b9250506001810190506126d5565b5085935050505092915050565b600060408201905081810360008301526127298185612604565b9050818103602083015261273d81846126b1565b90509392505050565b600060408201905061275b6000830185611c12565b6127686020830184611d80565b9392505050565b60006060820190506127846000830186611f60565b6127916020830185611c12565b61279e6040830184611c12565b94935050505056fea26469706673582212200f2bbda709bc673362e005b4aed4e56d84281e74ce3ab8bd757a0475d9cd4ffc64736f6c634300081c0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000413c2834f02003752d6cc0bcd1ce85af04d62fbe0000000000000000000000000000000000000000000000000000000000000013506563756e697479205374616b6520506173730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055045437370000000000000000000000000000000000000000000000000000000