[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "WETH", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_router", "outputs": [ { "internalType": "contract IRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "beneficence", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" }, { "internalType": "bool", "name": "_isBlacklisting", "type": "bool" } ], "name": "blacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "blacklists", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "blimit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "name": "errorToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "limitNumber", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketing", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "multiTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "multiTransfer_fixed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "isSwapEth", "type": "bool" } ], "name": "setSwapEth", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_swapNumber", "type": "uint256" } ], "name": "setSwapNumber", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tax", "type": "uint256" } ], "name": "setTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "bool", "name": "_isBlacklisting", "type": "bool" } ], "name": "setblacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_limit", "type": "bool" }, { "internalType": "uint256", "name": "_limitNumber", "type": "uint256" } ], "name": "setlimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEth", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapNumber", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdawOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052733f993182341542d090ef926242fdebc49f80faca60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073065d6b1f7d007b16910d9d273575c3f58f64340960085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002600a555f600d5f6101000a81548160ff0219169083151502179055506001600d60016101000a81548160ff021916908315150217905550348015620000f1575f80fd5b506040518060400160405280600481526020017f52494345000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5249434500000000000000000000000000000000000000000000000000000000815250335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001d2575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001c9919062000cbe565b60405180910390fd5b620001e381620006f060201b60201c565b508160049081620001f5919062000f3d565b50806005908162000207919062000f3d565b50505062000228336b204fce5e3e25026110000000620007b160201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002e7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200030d919062001054565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000394573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003ba919062001054565b6040518363ffffffff1660e01b8152600401620003d992919062001084565b6020604051808303815f875af1158015620003f6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200041c919062001054565b600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004c7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004ed919062001054565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a52b7d2dcc80cd2e4000000600b819055506a18d0bf423c03d8de000000600c8190555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401620005ef929190620010c0565b6020604051808303815f875af11580156200060c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000632919062001125565b506200068730600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200083b60201b60201c565b620006ea6200069b6200085560201b60201c565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200083b60201b60201c565b62001212565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000824575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200081b919062000cbe565b60405180910390fd5b620008375f83836200087c60201b60201c565b5050565b62000850838383600162000aa360201b60201c565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620008d0578060035f828254620008c3919062001182565b92505081905550620009a3565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156200095d578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016200095493929190620011bc565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009ec578060035f828254039250508190555062000a37565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a969190620011f7565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362000b16575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040162000b0d919062000cbe565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000b89575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040162000b80919062000cbe565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801562000c75578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405162000c6c9190620011f7565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000ca68262000c7b565b9050919050565b62000cb88162000c9a565b82525050565b5f60208201905062000cd35f83018462000cad565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000d5557607f821691505b60208210810362000d6b5762000d6a62000d10565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000dcf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000d92565b62000ddb868362000d92565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000e2562000e1f62000e198462000df3565b62000dfc565b62000df3565b9050919050565b5f819050919050565b62000e408362000e05565b62000e5862000e4f8262000e2c565b84845462000d9e565b825550505050565b5f90565b62000e6e62000e60565b62000e7b81848462000e35565b505050565b5b8181101562000ea25762000e965f8262000e64565b60018101905062000e81565b5050565b601f82111562000ef15762000ebb8162000d71565b62000ec68462000d83565b8101602085101562000ed6578190505b62000eee62000ee58562000d83565b83018262000e80565b50505b505050565b5f82821c905092915050565b5f62000f135f198460080262000ef6565b1980831691505092915050565b5f62000f2d838362000f02565b9150826002028217905092915050565b62000f488262000cd9565b67ffffffffffffffff81111562000f645762000f6362000ce3565b5b62000f70825462000d3d565b62000f7d82828562000ea6565b5f60209050601f83116001811462000fb3575f841562000f9e578287015190505b62000faa858262000f20565b86555062001019565b601f19841662000fc38662000d71565b5f5b8281101562000fec5784890151825560018201915060208501945060208101905062000fc5565b868310156200100c578489015162001008601f89168262000f02565b8355505b6001600288020188555050505b505050505050565b5f80fd5b620010308162000c9a565b81146200103b575f80fd5b50565b5f815190506200104e8162001025565b92915050565b5f602082840312156200106c576200106b62001021565b5b5f6200107b848285016200103e565b91505092915050565b5f604082019050620010995f83018562000cad565b620010a8602083018462000cad565b9392505050565b620010ba8162000df3565b82525050565b5f604082019050620010d55f83018562000cad565b620010e46020830184620010af565b9392505050565b5f8115159050919050565b6200110181620010eb565b81146200110c575f80fd5b50565b5f815190506200111f81620010f6565b92915050565b5f602082840312156200113d576200113c62001021565b5b5f6200114c848285016200110f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200118e8262000df3565b91506200119b8362000df3565b9250828201905080821115620011b657620011b562001155565b5b92915050565b5f606082019050620011d15f83018662000cad565b620011e06020830185620010af565b620011ef6040830184620010af565b949350505050565b5f6020820190506200120c5f830184620010af565b92915050565b612eaf80620012205f395ff3fe6080604052600436106101f1575f3560e01c80635be89fbd1161010c578063967123cd1161009f578063d99274481161006e578063d9927448146106c8578063dd62ed3e146106f0578063e75707331461072c578063edae876f14610756578063f2fde38b14610780576101f8565b8063967123cd1461061057806399c8d55614610638578063a9059cbb14610662578063ad5c46481461069e576101f8565b8063715018a6116100db578063715018a61461057c5780638648c6a6146105925780638da5cb5b146105bc57806395d89b41146105e6576101f8565b80635be89fbd146104c6578063632e5442146104ee5780636e4ad4ba1461051657806370a0823114610540576101f8565b806323b872dd11610184578063313ce56711610153578063313ce56714610420578063404e51291461044a57806349bd5a5e146104725780635384f2461461049c576101f8565b806323b872dd146103685780632b216cc6146103a45780632d3e474a146103ce5780632e5bb6ff146103f8576101f8565b806316c02129116101c057806316c02129146102b257806318160ddd146102ee5780631c6a0c4c146103185780631e89d54514610340576101f8565b806306fdde03146101fc578063095ea7b3146102265780630a3ccb231461026257806314aec7481461028a576101f8565b366101f857005b5f80fd5b348015610207575f80fd5b506102106107a8565b60405161021d9190612185565b60405180910390f35b348015610231575f80fd5b5061024c6004803603810190610247919061223a565b610838565b6040516102599190612292565b60405180910390f35b34801561026d575f80fd5b50610288600480360381019061028391906122d5565b61085a565b005b348015610295575f80fd5b506102b060048036038101906102ab9190612300565b61087f565b005b3480156102bd575f80fd5b506102d860048036038101906102d3919061233e565b6108ab565b6040516102e59190612292565b60405180910390f35b3480156102f9575f80fd5b506103026108c8565b60405161030f9190612378565b60405180910390f35b348015610323575f80fd5b5061033e60048036038101906103399190612391565b6108d1565b005b34801561034b575f80fd5b5061036660048036038101906103619190612472565b610920565b005b348015610373575f80fd5b5061038e600480360381019061038991906124f0565b610ab6565b60405161039b9190612292565b60405180910390f35b3480156103af575f80fd5b506103b8610ae4565b6040516103c59190612292565b60405180910390f35b3480156103d9575f80fd5b506103e2610af6565b6040516103ef919061254f565b60405180910390f35b348015610403575f80fd5b5061041e60048036038101906104199190612391565b610b1b565b005b34801561042b575f80fd5b50610434610b2d565b6040516104419190612583565b60405180910390f35b348015610455575f80fd5b50610470600480360381019061046b919061259c565b610b35565b005b34801561047d575f80fd5b50610486610b95565b604051610493919061254f565b60405180910390f35b3480156104a7575f80fd5b506104b0610bbb565b6040516104bd9190612292565b60405180910390f35b3480156104d1575f80fd5b506104ec60048036038101906104e79190612391565b610bce565b005b3480156104f9575f80fd5b50610514600480360381019061050f91906125da565b610be0565b005b348015610521575f80fd5b5061052a610cdd565b6040516105379190612378565b60405180910390f35b34801561054b575f80fd5b506105666004803603810190610561919061233e565b610ce3565b6040516105739190612378565b60405180910390f35b348015610587575f80fd5b50610590610d29565b005b34801561059d575f80fd5b506105a6610d3c565b6040516105b39190612378565b60405180910390f35b3480156105c7575f80fd5b506105d0610d42565b6040516105dd919061254f565b60405180910390f35b3480156105f1575f80fd5b506105fa610d69565b6040516106079190612185565b60405180910390f35b34801561061b575f80fd5b5061063660048036038101906106319190612637565b610df9565b005b348015610643575f80fd5b5061064c610ea2565b6040516106599190612378565b60405180910390f35b34801561066d575f80fd5b506106886004803603810190610683919061223a565b610ea8565b6040516106959190612292565b60405180910390f35b3480156106a9575f80fd5b506106b2610eca565b6040516106bf919061254f565b60405180910390f35b3480156106d3575f80fd5b506106ee60048036038101906106e9919061233e565b610eef565b005b3480156106fb575f80fd5b5061071660048036038101906107119190612694565b610fed565b6040516107239190612378565b60405180910390f35b348015610737575f80fd5b5061074061106f565b60405161074d919061254f565b60405180910390f35b348015610761575f80fd5b5061076a611094565b604051610777919061272d565b60405180910390f35b34801561078b575f80fd5b506107a660048036038101906107a1919061233e565b6110b9565b005b6060600480546107b790612773565b80601f01602080910402602001604051908101604052809291908181526020018280546107e390612773565b801561082e5780601f106108055761010080835404028352916020019161082e565b820191905f5260205f20905b81548152906001019060200180831161081157829003601f168201915b5050505050905090565b5f8061084261113d565b905061084f818585611144565b600191505092915050565b610862611156565b80600d60016101000a81548160ff02191690831515021790555050565b610887611156565b81600d5f6101000a81548160ff02191690831515021790555080600b819055505050565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f600354905090565b6108d9611156565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561091c573d5f803e3d5ffd5b5050565b6103218484905010610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095e90612813565b60405180910390fd5b8181905084849050146109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a6906128a1565b60405180910390fd5b5f805b858590508110156109f7578383828181106109d0576109cf6128bf565b5b90506020020135826109e29190612919565b915080806109ef9061294c565b9150506109b2565b5080610a0233610ce3565b1015610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a906129dd565b60405180910390fd5b5f5b85859050811015610aae57610a9b33878784818110610a6757610a666128bf565b5b9050602002016020810190610a7c919061233e565b868685818110610a8f57610a8e6128bf565b5b905060200201356111dd565b8080610aa69061294c565b915050610a45565b505050505050565b5f80610ac061113d565b9050610acd8582856117f6565b610ad88585856111dd565b60019150509392505050565b600d5f9054906101000a900460ff1681565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b23611156565b80600a8190555050565b5f6012905090565b610b3d611156565b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60019054906101000a900460ff1681565b610bd6611156565b80600c8190555050565b6107d18383905010610c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1e90612a6b565b60405180910390fd5b5f8383905082610c379190612a89565b905080610c4333610ce3565b1015610c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7b906129dd565b60405180910390fd5b5f5b84849050811015610cd657610cc333868684818110610ca857610ca76128bf565b5b9050602002016020810190610cbd919061233e565b856111dd565b8080610cce9061294c565b915050610c86565b5050505050565b600b5481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d31611156565b610d3a5f611888565b565b600c5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610d7890612773565b80601f0160208091040260200160405190810160405280929190818152602001828054610da490612773565b8015610def5780601f10610dc657610100808354040283529160200191610def565b820191905f5260205f20905b815481529060010190602001808311610dd257829003601f168201915b5050505050905090565b610e01611156565b5f5b83839050811015610e9c578160065f868685818110610e2557610e246128bf565b5b9050602002016020810190610e3a919061233e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610e949061294c565b915050610e03565b50505050565b600a5481565b5f80610eb261113d565b9050610ebf8185856111dd565b600191505092915050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ef7611156565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f4d919061254f565b602060405180830381865afa158015610f68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8c9190612ade565b6040518363ffffffff1660e01b8152600401610fa9929190612b09565b6020604051808303815f875af1158015610fc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe99190612b44565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110c1611156565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611131575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401611128919061254f565b60405180910390fd5b61113a81611888565b50565b5f33905090565b6111518383836001611949565b505050565b61115e61113d565b73ffffffffffffffffffffffffffffffffffffffff1661117c610d42565b73ffffffffffffffffffffffffffffffffffffffff16146111db5761119f61113d565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016111d2919061254f565b60405180910390fd5b565b60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561127b575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b190612bb9565b60405180910390fd5b6112c2610d42565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611347575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061139e5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806113f5575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806114325750611403610d42565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611489575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806114e0575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806115375750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061156d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806115a357503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156115b8576115b3838383611b18565b6117f1565b8273ffffffffffffffffffffffffffffffffffffffff16600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061166157508173ffffffffffffffffffffffffffffffffffffffff16600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156117e557600d5f9054906101000a900460ff1680156116ce57508273ffffffffffffffffffffffffffffffffffffffff16600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b801561172757508173ffffffffffffffffffffffffffffffffffffffff16600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b1561178457600b5461173883610ce3565b826117439190612919565b10611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177a90612c21565b60405180910390fd5b5b5f606482600a546117959190612a89565b61179f9190612c6c565b90506117ac843083611b18565b600e60149054906101000a900460ff166117c9576117c8611c08565b5b6117df848483856117da9190612c9c565b611b18565b506117f1565b6117f0838383611b18565b5b505050565b5f6118018484610fed565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118825781811015611873578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161186a93929190612ccf565b60405180910390fd5b61188184848484035f611949565b5b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036119b9575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016119b0919061254f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a29575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611a20919061254f565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611b12578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611b099190612378565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b88575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611b7f919061254f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bf8575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611bef919061254f565b60405180910390fd5b611c03838383611edf565b505050565b6001600e60146101000a81548160ff0219169083151502179055505f611c2d30610ce3565b9050600c54811115611ec2575f600267ffffffffffffffff811115611c5557611c54612d04565b5b604051908082528060200260200182016040528015611c835781602001602082028036833780820191505090505b50905030815f81518110611c9a57611c996128bf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611d0a57611d096128bf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f600283611d529190612c6c565b9050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d795825f8560075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611dd7959493929190612e21565b5f604051808303815f87803b158015611dee575f80fd5b505af1158015611e00573d5f803e3d5ffd5b50505050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d7958285611e4d9190612c9c565b5f8560085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611e92959493929190612e21565b5f604051808303815f87803b158015611ea9575f80fd5b505af1158015611ebb573d5f803e3d5ffd5b5050505050505b505f600e60146101000a81548160ff021916908315150217905550565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f2f578060035f828254611f239190612919565b92505081905550611fff565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611fb9578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611fb093929190612ccf565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612046578060035f8282540392505081905550612091565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120ee9190612378565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612132578082015181840152602081019050612117565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612157826120fb565b6121618185612105565b9350612171818560208601612115565b61217a8161213d565b840191505092915050565b5f6020820190508181035f83015261219d818461214d565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121d6826121ad565b9050919050565b6121e6816121cc565b81146121f0575f80fd5b50565b5f81359050612201816121dd565b92915050565b5f819050919050565b61221981612207565b8114612223575f80fd5b50565b5f8135905061223481612210565b92915050565b5f80604083850312156122505761224f6121a5565b5b5f61225d858286016121f3565b925050602061226e85828601612226565b9150509250929050565b5f8115159050919050565b61228c81612278565b82525050565b5f6020820190506122a55f830184612283565b92915050565b6122b481612278565b81146122be575f80fd5b50565b5f813590506122cf816122ab565b92915050565b5f602082840312156122ea576122e96121a5565b5b5f6122f7848285016122c1565b91505092915050565b5f8060408385031215612316576123156121a5565b5b5f612323858286016122c1565b925050602061233485828601612226565b9150509250929050565b5f60208284031215612353576123526121a5565b5b5f612360848285016121f3565b91505092915050565b61237281612207565b82525050565b5f60208201905061238b5f830184612369565b92915050565b5f602082840312156123a6576123a56121a5565b5b5f6123b384828501612226565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126123dd576123dc6123bc565b5b8235905067ffffffffffffffff8111156123fa576123f96123c0565b5b602083019150836020820283011115612416576124156123c4565b5b9250929050565b5f8083601f840112612432576124316123bc565b5b8235905067ffffffffffffffff81111561244f5761244e6123c0565b5b60208301915083602082028301111561246b5761246a6123c4565b5b9250929050565b5f805f806040858703121561248a576124896121a5565b5b5f85013567ffffffffffffffff8111156124a7576124a66121a9565b5b6124b3878288016123c8565b9450945050602085013567ffffffffffffffff8111156124d6576124d56121a9565b5b6124e28782880161241d565b925092505092959194509250565b5f805f60608486031215612507576125066121a5565b5b5f612514868287016121f3565b9350506020612525868287016121f3565b925050604061253686828701612226565b9150509250925092565b612549816121cc565b82525050565b5f6020820190506125625f830184612540565b92915050565b5f60ff82169050919050565b61257d81612568565b82525050565b5f6020820190506125965f830184612574565b92915050565b5f80604083850312156125b2576125b16121a5565b5b5f6125bf858286016121f3565b92505060206125d0858286016122c1565b9150509250929050565b5f805f604084860312156125f1576125f06121a5565b5b5f84013567ffffffffffffffff81111561260e5761260d6121a9565b5b61261a868287016123c8565b9350935050602061262d86828701612226565b9150509250925092565b5f805f6040848603121561264e5761264d6121a5565b5b5f84013567ffffffffffffffff81111561266b5761266a6121a9565b5b612677868287016123c8565b9350935050602061268a868287016122c1565b9150509250925092565b5f80604083850312156126aa576126a96121a5565b5b5f6126b7858286016121f3565b92505060206126c8858286016121f3565b9150509250929050565b5f819050919050565b5f6126f56126f06126eb846121ad565b6126d2565b6121ad565b9050919050565b5f612706826126db565b9050919050565b5f612717826126fc565b9050919050565b6127278161270d565b82525050565b5f6020820190506127405f83018461271e565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061278a57607f821691505b60208210810361279d5761279c612746565b5b50919050565b7f474153204572726f723a206d61782061697264726f70206c696d6974206973205f8201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b5f6127fd602d83612105565b9150612808826127a3565b604082019050919050565b5f6020820190508181035f83015261282a816127f1565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b5f8201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b5f61288b602883612105565b915061289682612831565b604082019050919050565b5f6020820190508181035f8301526128b88161287f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61292382612207565b915061292e83612207565b9250828201905080821115612946576129456128ec565b5b92915050565b5f61295682612207565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612988576129876128ec565b5b600182019050919050565b7f4e6f7420656e6f75676820616d6f756e7420696e2077616c6c657400000000005f82015250565b5f6129c7601b83612105565b91506129d282612993565b602082019050919050565b5f6020820190508181035f8301526129f4816129bb565b9050919050565b7f474153204572726f723a206d61782061697264726f70206c696d6974206973205f8201527f3230303020616464726573736573000000000000000000000000000000000000602082015250565b5f612a55602e83612105565b9150612a60826129fb565b604082019050919050565b5f6020820190508181035f830152612a8281612a49565b9050919050565b5f612a9382612207565b9150612a9e83612207565b9250828202612aac81612207565b91508282048414831517612ac357612ac26128ec565b5b5092915050565b5f81519050612ad881612210565b92915050565b5f60208284031215612af357612af26121a5565b5b5f612b0084828501612aca565b91505092915050565b5f604082019050612b1c5f830185612540565b612b296020830184612369565b9392505050565b5f81519050612b3e816122ab565b92915050565b5f60208284031215612b5957612b586121a5565b5b5f612b6684828501612b30565b91505092915050565b7f426c61636b6c69737465640000000000000000000000000000000000000000005f82015250565b5f612ba3600b83612105565b9150612bae82612b6f565b602082019050919050565b5f6020820190508181035f830152612bd081612b97565b9050919050565b7f6c696d69740000000000000000000000000000000000000000000000000000005f82015250565b5f612c0b600583612105565b9150612c1682612bd7565b602082019050919050565b5f6020820190508181035f830152612c3881612bff565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c7682612207565b9150612c8183612207565b925082612c9157612c90612c3f565b5b828204905092915050565b5f612ca682612207565b9150612cb183612207565b9250828203905081811115612cc957612cc86128ec565b5b92915050565b5f606082019050612ce25f830186612540565b612cef6020830185612369565b612cfc6040830184612369565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f819050919050565b5f612d54612d4f612d4a84612d31565b6126d2565b612207565b9050919050565b612d6481612d3a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d9c816121cc565b82525050565b5f612dad8383612d93565b60208301905092915050565b5f602082019050919050565b5f612dcf82612d6a565b612dd98185612d74565b9350612de483612d84565b805f5b83811015612e14578151612dfb8882612da2565b9750612e0683612db9565b925050600181019050612de7565b5085935050505092915050565b5f60a082019050612e345f830188612369565b612e416020830187612d5b565b8181036040830152612e538186612dc5565b9050612e626060830185612540565b612e6f6080830184612369565b969550505050505056fea2646970667358221220a4b362e18045e1587e60a8f469fbae260c46953882155b0c8d368e3ac08b007964736f6c63430008140033