6 txs
12 calls
constructor
constructor(string name_, string symbol_, address _blacklist)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
balanceOfAt
viewfunction balanceOfAt(address account, uint256 snapshotId) view returns (uint256)
blacklist
viewfunction blacklist() view returns (address)
decimals
viewfunction decimals() view returns (uint8)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalSupplyAt
viewfunction totalSupplyAt(uint256 snapshotId) view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
destroyBlackFunds
nonpayablefunction destroyBlackFunds(address _account, uint256 amount)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
snapshot
nonpayablefunction snapshot()
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferBatch
nonpayablefunction transferBatch(address[] accounts, uint256[] amounts)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
DestroyedBlackFunds
event DestroyedBlackFunds(address _blackListedUser, uint256 _balance)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Snapshot
event Snapshot(uint256 id)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Unpaused
event Unpaused(address account)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50604051620041da380380620041da833981810160405281019062000037919062000b9e565b828282828281818181816003908051906020019062000058929190620008ec565b50806004908051906020019062000071929190620008ec565b5050506000600560006101000a81548160ff021916908315150217905550620000af620000a36200011e60201b60201c565b6200012660201b60201c565b5050505080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505062000115336b019d971e4fe8401e74000000620001ec60201b60201c565b5050506200101b565b600033905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200025f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002569062000c99565b60405180910390fd5b62000273600083836200036560201b60201c565b806002600082825462000287919062000cf4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002de919062000cf4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000345919062000d62565b60405180910390a362000361600083836200055e60201b60201c565b5050565b826000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe575a87836040518263ffffffff1660e01b8152600401620003c5919062000d90565b6020604051808303816000875af1158015620003e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040b919062000dea565b9050801562000451576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004489062000e92565b60405180910390fd5b836000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe575a87836040518263ffffffff1660e01b8152600401620004b1919062000d90565b6020604051808303816000875af1158015620004d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004f7919062000dea565b905080156200053d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005349062000e92565b60405180910390fd5b620005558787876200056360201b62000f691760201c565b50505050505050565b505050565b6200057b8383836200058060201b62000f791760201c565b505050565b620005988383836200067b60201b620010331760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620005f557620005df82620006eb60201b60201c565b620005ef6200074e60201b60201c565b62000676565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000652576200063c83620006eb60201b60201c565b6200064c6200074e60201b60201c565b62000675565b6200066383620006eb60201b60201c565b6200067482620006eb60201b60201c565b5b5b505050565b620006938383836200077260201b6200108b1760201c565b620006a36200077760201b60201c565b15620006e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006dd9062000f2a565b60405180910390fd5b505050565b6200074b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200073f836200078e60201b60201c565b620007d660201b60201c565b50565b620007706007620007646200086260201b60201c565b620007d660201b60201c565b565b505050565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000620007e86200086c60201b60201c565b905080620007ff846000016200088a60201b60201c565b10156200085d5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b6000600254905090565b6000620008856009620008de60201b620010901760201c565b905090565b60008082805490501415620008a35760009050620008d9565b8160018380549050620008b7919062000f4c565b81548110620008cb57620008ca62000f87565b5b906000526020600020015490505b919050565b600081600001549050919050565b828054620008fa9062000fe5565b90600052602060002090601f0160209004810192826200091e57600085556200096a565b82601f106200093957805160ff19168380011785556200096a565b828001600101855582156200096a579182015b82811115620009695782518255916020019190600101906200094c565b5b5090506200097991906200097d565b5090565b5b80821115620009985760008160009055506001016200097e565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000a0582620009ba565b810181811067ffffffffffffffff8211171562000a275762000a26620009cb565b5b80604052505050565b600062000a3c6200099c565b905062000a4a8282620009fa565b919050565b600067ffffffffffffffff82111562000a6d5762000a6c620009cb565b5b62000a7882620009ba565b9050602081019050919050565b60005b8381101562000aa557808201518184015260208101905062000a88565b8381111562000ab5576000848401525b50505050565b600062000ad262000acc8462000a4f565b62000a30565b90508281526020810184848401111562000af15762000af0620009b5565b5b62000afe84828562000a85565b509392505050565b600082601f83011262000b1e5762000b1d620009b0565b5b815162000b3084826020860162000abb565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b668262000b39565b9050919050565b62000b788162000b59565b811462000b8457600080fd5b50565b60008151905062000b988162000b6d565b92915050565b60008060006060848603121562000bba5762000bb9620009a6565b5b600084015167ffffffffffffffff81111562000bdb5762000bda620009ab565b5b62000be98682870162000b06565b935050602084015167ffffffffffffffff81111562000c0d5762000c0c620009ab565b5b62000c1b8682870162000b06565b925050604062000c2e8682870162000b87565b9150509250925092565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000c81601f8362000c38565b915062000c8e8262000c49565b602082019050919050565b6000602082019050818103600083015262000cb48162000c72565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000d018262000cbb565b915062000d0e8362000cbb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000d465762000d4562000cc5565b5b828201905092915050565b62000d5c8162000cbb565b82525050565b600060208201905062000d79600083018462000d51565b92915050565b62000d8a8162000b59565b82525050565b600060208201905062000da7600083018462000d7f565b92915050565b60008115159050919050565b62000dc48162000dad565b811462000dd057600080fd5b50565b60008151905062000de48162000db9565b92915050565b60006020828403121562000e035762000e02620009a6565b5b600062000e138482850162000dd3565b91505092915050565b7f69734e6f74426c61636b6c69737465643a2074686973206163636f756e74206960008201527f7320626c61636b6c697374656400000000000000000000000000000000000000602082015250565b600062000e7a602d8362000c38565b915062000e878262000e1c565b604082019050919050565b6000602082019050818103600083015262000ead8162000e6b565b9050919050565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b600062000f12602a8362000c38565b915062000f1f8262000eb4565b604082019050919050565b6000602082019050818103600083015262000f458162000f03565b9050919050565b600062000f598262000cbb565b915062000f668362000cbb565b92508282101562000f7c5762000f7b62000cc5565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000ffe57607f821691505b6020821081141562001015576200101462000fb6565b5b50919050565b6131af806200102b6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063981b24d01161007c578063981b24d014610356578063a457c2d714610386578063a4b5fa56146103b6578063a9059cbb146103d4578063dd62ed3e14610404578063f2fde38b146104345761014d565b806370a08231146102cc578063715018a6146102fc5780638456cb59146103065780638da5cb5b1461031057806395d89b411461032e5780639711715a1461034c5761014d565b80633950935111610115578063395093511461020c5780633b3e672f1461023c5780633f4ba83a146102585780634ee2cd7e1461026257806353d51e64146102925780635c975abb146102ae5761014d565b806306fdde0314610152578063095ea7b31461017057806318160ddd146101a057806323b872dd146101be578063313ce567146101ee575b600080fd5b61015a610450565b6040516101679190611f7c565b60405180910390f35b61018a60048036038101906101859190612046565b6104e2565b60405161019791906120a1565b60405180910390f35b6101a8610505565b6040516101b591906120cb565b60405180910390f35b6101d860048036038101906101d391906120e6565b61050f565b6040516101e591906120a1565b60405180910390f35b6101f661053e565b6040516102039190612155565b60405180910390f35b61022660048036038101906102219190612046565b610547565b60405161023391906120a1565b60405180910390f35b6102566004803603810190610251919061237b565b61057e565b005b610260610631565b005b61027c60048036038101906102779190612046565b6106b7565b60405161028991906120cb565b60405180910390f35b6102ac60048036038101906102a79190612046565b610727565b005b6102b6610a49565b6040516102c391906120a1565b60405180910390f35b6102e660048036038101906102e191906123f3565b610a60565b6040516102f391906120cb565b60405180910390f35b610304610aa8565b005b61030e610b30565b005b610318610bb6565b604051610325919061242f565b60405180910390f35b610336610be0565b6040516103439190611f7c565b60405180910390f35b610354610c72565b005b610370600480360381019061036b919061244a565b610cf9565b60405161037d91906120cb565b60405180910390f35b6103a0600480360381019061039b9190612046565b610d2a565b6040516103ad91906120a1565b60405180910390f35b6103be610da1565b6040516103cb919061242f565b60405180910390f35b6103ee60048036038101906103e99190612046565b610dc7565b6040516103fb91906120a1565b60405180910390f35b61041e60048036038101906104199190612477565b610dea565b60405161042b91906120cb565b60405180910390f35b61044e600480360381019061044991906123f3565b610e71565b005b60606003805461045f906124e6565b80601f016020809104026020016040519081016040528092919081815260200182805461048b906124e6565b80156104d85780601f106104ad576101008083540402835291602001916104d8565b820191906000526020600020905b8154815290600101906020018083116104bb57829003601f168201915b5050505050905090565b6000806104ed61109e565b90506104fa8185856110a6565b600191505092915050565b6000600254905090565b60008061051a61109e565b9050610527858285611271565b6105328585856112fd565b60019150509392505050565b60006012905090565b60008061055261109e565b90506105738185856105648589610dea565b61056e9190612547565b6110a6565b600191505092915050565b80518251146105c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b99061260f565b60405180910390fd5b60005b82518161ffff16101561062c5761061933848361ffff16815181106105ed576105ec61262f565b5b6020026020010151848461ffff168151811061060c5761060b61262f565b5b60200260200101516112fd565b80806106249061266c565b9150506105c5565b505050565b61063961109e565b73ffffffffffffffffffffffffffffffffffffffff16610657610bb6565b73ffffffffffffffffffffffffffffffffffffffff16146106ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a4906126e3565b60405180910390fd5b6106b561157e565b565b600080600061070484600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611620565b915091508161071b5761071685610a60565b61071d565b805b9250505092915050565b61072f61109e565b73ffffffffffffffffffffffffffffffffffffffff1661074d610bb6565b73ffffffffffffffffffffffffffffffffffffffff16146107a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079a906126e3565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe575a87836040518263ffffffff1660e01b81526004016107fe919061242f565b6020604051808303816000875af115801561081d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610841919061272f565b610880576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610877906127ce565b60405180910390fd5b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329092d0e846040518263ffffffff1660e01b81526004016108dd919061242f565b6020604051808303816000875af11580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610920919061272f565b905080610962576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109599061283a565b60405180910390fd5b61096c8383611716565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a3b0a4f846040518263ffffffff1660e01b81526004016109c7919061242f565b6020604051808303816000875af11580156109e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0a919061272f565b507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68383604051610a3c92919061285a565b60405180910390a1505050565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ab061109e565b73ffffffffffffffffffffffffffffffffffffffff16610ace610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1b906126e3565b60405180910390fd5b610b2e60006118ed565b565b610b3861109e565b73ffffffffffffffffffffffffffffffffffffffff16610b56610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba3906126e3565b60405180910390fd5b610bb46119b3565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610bef906124e6565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1b906124e6565b8015610c685780601f10610c3d57610100808354040283529160200191610c68565b820191906000526020600020905b815481529060010190602001808311610c4b57829003601f168201915b5050505050905090565b610c7a61109e565b73ffffffffffffffffffffffffffffffffffffffff16610c98610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce5906126e3565b60405180910390fd5b610cf6611a56565b50565b6000806000610d09846007611620565b9150915081610d1f57610d1a610505565b610d21565b805b92505050919050565b600080610d3561109e565b90506000610d438286610dea565b905083811015610d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7f906128f5565b60405180910390fd5b610d9582868684036110a6565b60019250505092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610dd261109e565b9050610ddf8185856112fd565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e7961109e565b73ffffffffffffffffffffffffffffffffffffffff16610e97610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee4906126e3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5490612987565b60405180910390fd5b610f66816118ed565b50565b610f74838383610f79565b505050565b610f84838383611033565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fcf57610fc282611aac565b610fca611aff565b61102e565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561101a5761100d83611aac565b611015611aff565b61102d565b61102383611aac565b61102c82611aac565b5b5b505050565b61103e83838361108b565b611046610a49565b15611086576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107d90612a19565b60405180910390fd5b505050565b505050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d90612aab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d90612b3d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161126491906120cb565b60405180910390a3505050565b600061127d8484610dea565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112f757818110156112e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e090612ba9565b60405180910390fd5b6112f684848484036110a6565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561136d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136490612c3b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d490612ccd565b60405180910390fd5b6113e8838383611b13565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561146e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146590612d5f565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115019190612547565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161156591906120cb565b60405180910390a3611578848484611cef565b50505050565b611586610a49565b6115c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bc90612dcb565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61160961109e565b604051611616919061242f565b60405180910390a1565b60008060008411611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90612e37565b60405180910390fd5b61166e611cf4565b8411156116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a790612ea3565b60405180910390fd5b60006116c88585600001611d0590919063ffffffff16565b905083600001805490508114156116e657600080925092505061170f565b60018460010182815481106116fe576116fd61262f565b5b906000526020600020015492509250505b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d90612f35565b60405180910390fd5b61179282600083611b13565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180f90612fc7565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816002600082825461186f9190612fe7565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118d491906120cb565b60405180910390a36118e883600084611cef565b505050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6119bb610a49565b156119fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f290613067565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611a3f61109e565b604051611a4c919061242f565b60405180910390a1565b6000611a626009611ddf565b6000611a6c611cf4565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb6781604051611a9d91906120cb565b60405180910390a18091505090565b611afc600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611af783610a60565b611df5565b50565b611b116007611b0c610505565b611df5565b565b826000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe575a87836040518263ffffffff1660e01b8152600401611b71919061242f565b6020604051808303816000875af1158015611b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb4919061272f565b90508015611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906130f9565b60405180910390fd5b836000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe575a87836040518263ffffffff1660e01b8152600401611c55919061242f565b6020604051808303816000875af1158015611c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c98919061272f565b90508015611cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd2906130f9565b60405180910390fd5b611ce6878787610f69565b50505050505050565b505050565b6000611d006009611090565b905090565b60008083805490501415611d1c5760009050611dd9565b600080848054905090505b80821015611d80576000611d3b8383611e70565b905084868281548110611d5157611d5061262f565b5b90600052602060002001541115611d6a57809150611d7a565b600181611d779190612547565b92505b50611d27565b600082118015611db857508385600184611d9a9190612fe7565b81548110611dab57611daa61262f565b5b9060005260206000200154145b15611dd357600182611dca9190612fe7565b92505050611dd9565b81925050505b92915050565b6001816000016000828254019250508190555050565b6000611dff611cf4565b905080611e0e84600001611e96565b1015611e6b5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b60006002828418611e819190613148565b828416611e8e9190612547565b905092915050565b60008082805490501415611ead5760009050611ede565b8160018380549050611ebf9190612fe7565b81548110611ed057611ecf61262f565b5b906000526020600020015490505b919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f1d578082015181840152602081019050611f02565b83811115611f2c576000848401525b50505050565b6000601f19601f8301169050919050565b6000611f4e82611ee3565b611f588185611eee565b9350611f68818560208601611eff565b611f7181611f32565b840191505092915050565b60006020820190508181036000830152611f968184611f43565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fdd82611fb2565b9050919050565b611fed81611fd2565b8114611ff857600080fd5b50565b60008135905061200a81611fe4565b92915050565b6000819050919050565b61202381612010565b811461202e57600080fd5b50565b6000813590506120408161201a565b92915050565b6000806040838503121561205d5761205c611fa8565b5b600061206b85828601611ffb565b925050602061207c85828601612031565b9150509250929050565b60008115159050919050565b61209b81612086565b82525050565b60006020820190506120b66000830184612092565b92915050565b6120c581612010565b82525050565b60006020820190506120e060008301846120bc565b92915050565b6000806000606084860312156120ff576120fe611fa8565b5b600061210d86828701611ffb565b935050602061211e86828701611ffb565b925050604061212f86828701612031565b9150509250925092565b600060ff82169050919050565b61214f81612139565b82525050565b600060208201905061216a6000830184612146565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6121ad82611f32565b810181811067ffffffffffffffff821117156121cc576121cb612175565b5b80604052505050565b60006121df611f9e565b90506121eb82826121a4565b919050565b600067ffffffffffffffff82111561220b5761220a612175565b5b602082029050602081019050919050565b600080fd5b600061223461222f846121f0565b6121d5565b905080838252602082019050602084028301858111156122575761225661221c565b5b835b81811015612280578061226c8882611ffb565b845260208401935050602081019050612259565b5050509392505050565b600082601f83011261229f5761229e612170565b5b81356122af848260208601612221565b91505092915050565b600067ffffffffffffffff8211156122d3576122d2612175565b5b602082029050602081019050919050565b60006122f76122f2846122b8565b6121d5565b9050808382526020820190506020840283018581111561231a5761231961221c565b5b835b81811015612343578061232f8882612031565b84526020840193505060208101905061231c565b5050509392505050565b600082601f83011261236257612361612170565b5b81356123728482602086016122e4565b91505092915050565b6000806040838503121561239257612391611fa8565b5b600083013567ffffffffffffffff8111156123b0576123af611fad565b5b6123bc8582860161228a565b925050602083013567ffffffffffffffff8111156123dd576123dc611fad565b5b6123e98582860161234d565b9150509250929050565b60006020828403121561240957612408611fa8565b5b600061241784828501611ffb565b91505092915050565b61242981611fd2565b82525050565b60006020820190506124446000830184612420565b92915050565b6000602082840312156124605761245f611fa8565b5b600061246e84828501612031565b91505092915050565b6000806040838503121561248e5761248d611fa8565b5b600061249c85828601611ffb565b92505060206124ad85828601611ffb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124fe57607f821691505b60208210811415612512576125116124b7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061255282612010565b915061255d83612010565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561259257612591612518565b5b828201905092915050565b7f7472616e7366657242617463683a20417272617973206d75737420626520746860008201527f652073616d65206c656e67746800000000000000000000000000000000000000602082015250565b60006125f9602d83611eee565b91506126048261259d565b604082019050919050565b60006020820190508181036000830152612628816125ec565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061ffff82169050919050565b60006126778261265e565b915061ffff82141561268c5761268b612518565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006126cd602083611eee565b91506126d882612697565b602082019050919050565b600060208201905081810360008301526126fc816126c0565b9050919050565b61270c81612086565b811461271757600080fd5b50565b60008151905061272981612703565b92915050565b60006020828403121561274557612744611fa8565b5b60006127538482850161271a565b91505092915050565b7f64657374726f79426c61636b46756e64733a2075736572206d7573742062652060008201527f626c61636b6c6973746564000000000000000000000000000000000000000000602082015250565b60006127b8602b83611eee565b91506127c38261275c565b604082019050919050565b600060208201905081810360008301526127e7816127ab565b9050919050565b7f64657374726f79426c61636b46756e64733a2072656d6f7665206661696c6564600082015250565b6000612824602083611eee565b915061282f826127ee565b602082019050919050565b6000602082019050818103600083015261285381612817565b9050919050565b600060408201905061286f6000830185612420565b61287c60208301846120bc565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006128df602583611eee565b91506128ea82612883565b604082019050919050565b6000602082019050818103600083015261290e816128d2565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612971602683611eee565b915061297c82612915565b604082019050919050565b600060208201905081810360008301526129a081612964565b9050919050565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b6000612a03602a83611eee565b9150612a0e826129a7565b604082019050919050565b60006020820190508181036000830152612a32816129f6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a95602483611eee565b9150612aa082612a39565b604082019050919050565b60006020820190508181036000830152612ac481612a88565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b27602283611eee565b9150612b3282612acb565b604082019050919050565b60006020820190508181036000830152612b5681612b1a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612b93601d83611eee565b9150612b9e82612b5d565b602082019050919050565b60006020820190508181036000830152612bc281612b86565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c25602583611eee565b9150612c3082612bc9565b604082019050919050565b60006020820190508181036000830152612c5481612c18565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cb7602383611eee565b9150612cc282612c5b565b604082019050919050565b60006020820190508181036000830152612ce681612caa565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612d49602683611eee565b9150612d5482612ced565b604082019050919050565b60006020820190508181036000830152612d7881612d3c565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000612db5601483611eee565b9150612dc082612d7f565b602082019050919050565b60006020820190508181036000830152612de481612da8565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b6000612e21601683611eee565b9150612e2c82612deb565b602082019050919050565b60006020820190508181036000830152612e5081612e14565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b6000612e8d601d83611eee565b9150612e9882612e57565b602082019050919050565b60006020820190508181036000830152612ebc81612e80565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f1f602183611eee565b9150612f2a82612ec3565b604082019050919050565b60006020820190508181036000830152612f4e81612f12565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fb1602283611eee565b9150612fbc82612f55565b604082019050919050565b60006020820190508181036000830152612fe081612fa4565b9050919050565b6000612ff282612010565b9150612ffd83612010565b9250828210156130105761300f612518565b5b828203905092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000613051601083611eee565b915061305c8261301b565b602082019050919050565b6000602082019050818103600083015261308081613044565b9050919050565b7f69734e6f74426c61636b6c69737465643a2074686973206163636f756e74206960008201527f7320626c61636b6c697374656400000000000000000000000000000000000000602082015250565b60006130e3602d83611eee565b91506130ee82613087565b604082019050919050565b60006020820190508181036000830152613112816130d6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061315382612010565b915061315e83612010565b92508261316e5761316d613119565b5b82820490509291505056fea2646970667358221220d5095598f8f8482db2238c5a3eb24ea1816ace8505646b2aeca3c9a71df6ecb064736f6c634300080a0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000095a01ed9189c912a9d3edd7339dc4ef37dadd4a5000000000000000000000000000000000000000000000000000000000000000c47617567654669656c645632000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044741554900000000000000000000000000000000000000000000000000000000