[ { "inputs": [ { "internalType": "address", "name": "_feesWallet", "type": "address" } ], "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": [], "name": "DisableLimits", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EnableTrading", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "wallet", "type": "address" } ], "name": "ExcludedFromFees", "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": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "SwapBack", "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "UpdateFeesWL", "type": "event" }, { "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": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "excludedFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "feesWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "updateFeesWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60c0604052737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152506001600760146101000a81548160ff0219169083151502179055506000600760156101000a81548160ff02191690831515021790555060c86a52b7d2dcc80cd2e40000006200009b9190620011f8565b600855348015620000ab57600080fd5b5060405162003caa38038062003caa8339818101604052810190620000d191906200129a565b6040518060400160405280600881526020017f52756e65446174610000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f52445400000000000000000000000000000000000000000000000000000000008152506200014d6200056760201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001c25760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001b99190620012dd565b60405180910390fd5b620001d3816200056f60201b60201c565b508160049081620001e591906200156a565b508060059081620001f791906200156a565b50505080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000289573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002af91906200129a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000319573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033f91906200129a565b6040518363ffffffff1660e01b81526004016200035e92919062001651565b6020604051808303816000875af11580156200037e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a491906200129a565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050600160096000620003ed6200056760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016009600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200051c620005046200056760201b60201c565b6a52b7d2dcc80cd2e40000006200063360201b60201c565b62000560620005306200056760201b60201c565b6080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620006c060201b60201c565b5062001a90565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620006a85760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200069f9190620012dd565b60405180910390fd5b620006bc60008383620006da60201b60201c565b5050565b620006d5838383600162000a2060201b60201c565b505050565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806200077c5750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80620007f1575060a05173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015620007f0575060a05173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b80620008095750600760159054906101000a900460ff165b1562000828576200082283838362000c0060201b60201c565b62000a1b565b60006006541162000870576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200086790620016df565b60405180910390fd5b600760149054906101000a900460ff168015620008bb575060a05173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15620009265760085481620008d68462000e3360201b60201c565b620008e2919062001701565b1062000925576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200091c906200178c565b60405180910390fd5b5b60a05173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801562000974575080620009713062000e3360201b60201c565b10155b156200098c576200098b8162000e7c60201b60201c565b5b600060646005836200099f9190620017ae565b620009ab9190620011f8565b9050600654431015620009d8576064601983620009c99190620017ae565b620009d59190620011f8565b90505b600081111562000a0657620009f584308362000c0060201b60201c565b808262000a039190620017f9565b91505b62000a1984848462000c0060201b60201c565b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362000a955760006040517fe602df0500000000000000000000000000000000000000000000000000000000815260040162000a8c9190620012dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000b0a5760006040517f94280d6200000000000000000000000000000000000000000000000000000000815260040162000b019190620012dd565b60405180910390fd5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550801562000bfa578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405162000bf1919062001845565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000c5657806003600082825462000c49919062001701565b9250508190555062000d2e565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101562000ce6578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040162000cdd9392919062001862565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000d79578060036000828254039250508190555062000dc7565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000e26919062001845565b60405180910390a3505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6001600760156101000a81548160ff0219169083151502179055506002600a600043815260200190815260200160002054116200117257600a6000438152602001908152602001600020600081548092919062000ed9906200189f565b91905055506000600267ffffffffffffffff81111562000efe5762000efd62001305565b5b60405190808252806020026020018201604052801562000f2d5781602001602082028036833780820191505090505b509050308160008151811062000f485762000f47620018ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000fd0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ff691906200129a565b816001815181106200100d576200100c620018ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060c86a52b7d2dcc80cd2e4000000620010619190620011f8565b821115620010865760c86a52b7d2dcc80cd2e4000000620010839190620011f8565b91505b6200109b3060805184620006c060201b60201c565b60805173ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016200110395949392919062001a2c565b600060405180830381600087803b1580156200111e57600080fd5b505af115801562001133573d6000803e3d6000fd5b505050507fd851aeb8e2074b285cc12da5e2fbf79e642e38f62ef8e59590790c157491ee058260405162001168919062001845565b60405180910390a1505b6000600760156101000a81548160ff02191690831515021790555050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620012058262001190565b9150620012128362001190565b9250826200122557620012246200119a565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620012628262001235565b9050919050565b620012748162001255565b81146200128057600080fd5b50565b600081519050620012948162001269565b92915050565b600060208284031215620012b357620012b262001230565b5b6000620012c38482850162001283565b91505092915050565b620012d78162001255565b82525050565b6000602082019050620012f46000830184620012cc565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200137c57607f821691505b60208210810362001392576200139162001334565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620013fc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620013bd565b620014088683620013bd565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200144b620014456200143f8462001190565b62001420565b62001190565b9050919050565b6000819050919050565b62001467836200142a565b6200147f620014768262001452565b848454620013ca565b825550505050565b600090565b6200149662001487565b620014a38184846200145c565b505050565b5b81811015620014cb57620014bf6000826200148c565b600181019050620014a9565b5050565b601f8211156200151a57620014e48162001398565b620014ef84620013ad565b81016020851015620014ff578190505b620015176200150e85620013ad565b830182620014a8565b50505b505050565b600082821c905092915050565b60006200153f600019846008026200151f565b1980831691505092915050565b60006200155a83836200152c565b9150826002028217905092915050565b6200157582620012fa565b67ffffffffffffffff81111562001591576200159062001305565b5b6200159d825462001363565b620015aa828285620014cf565b600060209050601f831160018114620015e25760008415620015cd578287015190505b620015d985826200154c565b86555062001649565b601f198416620015f28662001398565b60005b828110156200161c57848901518255600182019150602085019450602081019050620015f5565b868310156200163c578489015162001638601f8916826200152c565b8355505b6001600288020188555050505b505050505050565b6000604082019050620016686000830185620012cc565b620016776020830184620012cc565b9392505050565b600082825260208201905092915050565b7f54726164696e67206973206e6f74206f70656e00000000000000000000000000600082015250565b6000620016c76013836200167e565b9150620016d4826200168f565b602082019050919050565b60006020820190508181036000830152620016fa81620016b8565b9050919050565b60006200170e8262001190565b91506200171b8362001190565b9250828201905080821115620017365762001735620011c9565b5b92915050565b7f4d415820414d4f554e5420212121000000000000000000000000000000000000600082015250565b600062001774600e836200167e565b915062001781826200173c565b602082019050919050565b60006020820190508181036000830152620017a78162001765565b9050919050565b6000620017bb8262001190565b9150620017c88362001190565b9250828202620017d88162001190565b91508282048414831517620017f257620017f1620011c9565b5b5092915050565b6000620018068262001190565b9150620018138362001190565b92508282039050818111156200182e576200182d620011c9565b5b92915050565b6200183f8162001190565b82525050565b60006020820190506200185c600083018462001834565b92915050565b6000606082019050620018796000830186620012cc565b62001888602083018562001834565b62001897604083018462001834565b949350505050565b6000620018ac8262001190565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203620018e157620018e0620011c9565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600062001946620019406200193a846200191b565b62001420565b62001190565b9050919050565b620019588162001925565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b620019958162001255565b82525050565b6000620019a983836200198a565b60208301905092915050565b6000602082019050919050565b6000620019cf826200195e565b620019db818562001969565b9350620019e8836200197a565b8060005b8381101562001a1f57815162001a0388826200199b565b975062001a1083620019b5565b925050600181019050620019ec565b5085935050505092915050565b600060a08201905062001a43600083018862001834565b62001a5260208301876200194d565b818103604083015262001a668186620019c2565b905062001a776060830185620012cc565b62001a86608083018462001834565b9695505050505050565b60805160a0516121ca62001ae0600039600081816107fd01528181610ff0015281816110470152818161112101526111cf0152600081816115dd015281816116f8015261171f01526121ca6000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80637491a0b3116100ad578063a8aa1b3111610071578063a8aa1b311461030d578063a9059cbb1461032b578063dd62ed3e1461035b578063f2fde38b1461038b578063f928364c146103a75761012c565b80637491a0b31461028d5780637e44d2cc146102a95780638a8c523c146102c75780638da5cb5b146102d157806395d89b41146102ef5761012c565b8063313ce567116100f4578063313ce567146101e957806342966c68146102075780634fbee1931461022357806370a0823114610253578063715018a6146102835761012c565b806306fdde0314610131578063095ea7b31461014f57806316697fc51461017f57806318160ddd1461019b57806323b872dd146101b9575b600080fd5b6101396103b1565b60405161014691906118ba565b60405180910390f35b61016960048036038101906101649190611975565b610443565b60405161017691906119d0565b60405180910390f35b61019960048036038101906101949190611a17565b610466565b005b6101a3610500565b6040516101b09190611a66565b60405180910390f35b6101d360048036038101906101ce9190611a81565b61050a565b6040516101e091906119d0565b60405180910390f35b6101f1610539565b6040516101fe9190611af0565b60405180910390f35b610221600480360381019061021c9190611b0b565b610542565b005b61023d60048036038101906102389190611b38565b610556565b60405161024a91906119d0565b60405180910390f35b61026d60048036038101906102689190611b38565b6105ac565b60405161027a9190611a66565b60405180910390f35b61028b6105f5565b005b6102a760048036038101906102a29190611b38565b610609565b005b6102b161068c565b6040516102be9190611b74565b60405180910390f35b6102cf6106b2565b005b6102d9610740565b6040516102e69190611b74565b60405180910390f35b6102f7610769565b60405161030491906118ba565b60405180910390f35b6103156107fb565b6040516103229190611b74565b60405180910390f35b61034560048036038101906103409190611975565b61081f565b60405161035291906119d0565b60405180910390f35b61037560048036038101906103709190611b8f565b610842565b6040516103829190611a66565b60405180910390f35b6103a560048036038101906103a09190611b38565b6108c9565b005b6103af61094f565b005b6060600480546103c090611bfe565b80601f01602080910402602001604051908101604052809291908181526020018280546103ec90611bfe565b80156104395780601f1061040e57610100808354040283529160200191610439565b820191906000526020600020905b81548152906001019060200180831161041c57829003601f168201915b5050505050905090565b60008061044e610a01565b905061045b818585610a09565b600191505092915050565b61046e610a1b565b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1e743d18ee757088c78546c6b0a43fb84f878ae18ee230eb2ec2c4624e991e39826040516104f49190611b74565b60405180910390a15050565b6000600354905090565b600080610515610a01565b9050610522858285610aa2565b61052d858585610b36565b60019150509392505050565b60006012905090565b61055361054d610a01565b82610c2a565b50565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105fd610a1b565b6106076000610cac565b565b610611610a1b565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f72a9ab19df434db5c30afb2f81f7b22c9f70d53d6e92fc2ace3c9ce877ebabec816040516106819190611b74565b60405180910390a150565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106ba610a1b565b6000600654146106ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f690611c7b565b60405180910390fd5b600a4361070c9190611cca565b6006819055507f1d97b7cdf6b6f3405cbe398b69512e5419a0ce78232b6e9c6ffbf1466774bd8d60405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461077890611bfe565b80601f01602080910402602001604051908101604052809291908181526020018280546107a490611bfe565b80156107f15780601f106107c6576101008083540402835291602001916107f1565b820191906000526020600020905b8154815290600101906020018083116107d457829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061082a610a01565b9050610837818585610b36565b600191505092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108d1610a1b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109435760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161093a9190611b74565b60405180910390fd5b61094c81610cac565b50565b610957610a1b565b600760149054906101000a900460ff166109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099d90611d4a565b60405180910390fd5b6000600760146101000a81548160ff0219169083151502179055506a52b7d2dcc80cd2e40000006008819055507fe9070d302280cd857033f56893647494c1410643fe239daabee29e9292199b3d60405160405180910390a1565b600033905090565b610a168383836001610d70565b505050565b610a23610a01565b73ffffffffffffffffffffffffffffffffffffffff16610a41610740565b73ffffffffffffffffffffffffffffffffffffffff1614610aa057610a64610a01565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a979190611b74565b60405180910390fd5b565b6000610aae8484610842565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b305781811015610b20578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610b1793929190611d6a565b60405180910390fd5b610b2f84848484036000610d70565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ba85760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610b9f9190611b74565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c1a5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610c119190611b74565b60405180910390fd5b610c25838383610f47565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c9c5760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610c939190611b74565b60405180910390fd5b610ca882600083610f47565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610de25760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610dd99190611b74565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e545760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610e4b9190611b74565b60405180910390fd5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610f41578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610f389190611a66565b60405180910390a35b50505050565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610fe85750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061109757507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561109657507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b806110ae5750600760159054906101000a900460ff165b156110c3576110be8383836112b7565b6112b2565b600060065411611108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ff90611ded565b60405180910390fd5b600760149054906101000a900460ff16801561117057507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156111cd5760085481611182846105ac565b61118c9190611cca565b106111cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c390611e59565b60405180910390fd5b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561123057508061122d306105ac565b10155b1561123f5761123e816114df565b5b600060646005836112509190611e79565b61125a9190611eea565b90506006544310156112825760646019836112759190611e79565b61127f9190611eea565b90505b60008111156112a5576112968430836112b7565b80826112a29190611f1b565b91505b6112b08484846112b7565b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113095780600360008282546112fd9190611cca565b925050819055506113de565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611396578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161138d93929190611d6a565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114275780600360008282540392505081905550611475565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114d29190611a66565b60405180910390a3505050565b6001600760156101000a81548160ff0219169083151502179055506002600a6000438152602001908152602001600020541161180c57600a6000438152602001908152602001600020600081548092919061153990611f4f565b91905055506000600267ffffffffffffffff81111561155b5761155a611f97565b5b6040519080825280602002602001820160405280156115895781602001602082028036833780820191505090505b50905030816000815181106115a1576115a0611fc6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611646573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166a919061200a565b8160018151811061167e5761167d611fc6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060c86a52b7d2dcc80cd2e40000006116d09190611eea565b8211156116f25760c86a52b7d2dcc80cd2e40000006116ef9190611eea565b91505b61171d307f000000000000000000000000000000000000000000000000000000000000000084610a09565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016117a195949392919061213a565b600060405180830381600087803b1580156117bb57600080fd5b505af11580156117cf573d6000803e3d6000fd5b505050507fd851aeb8e2074b285cc12da5e2fbf79e642e38f62ef8e59590790c157491ee05826040516118029190611a66565b60405180910390a1505b6000600760156101000a81548160ff02191690831515021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611864578082015181840152602081019050611849565b60008484015250505050565b6000601f19601f8301169050919050565b600061188c8261182a565b6118968185611835565b93506118a6818560208601611846565b6118af81611870565b840191505092915050565b600060208201905081810360008301526118d48184611881565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061190c826118e1565b9050919050565b61191c81611901565b811461192757600080fd5b50565b60008135905061193981611913565b92915050565b6000819050919050565b6119528161193f565b811461195d57600080fd5b50565b60008135905061196f81611949565b92915050565b6000806040838503121561198c5761198b6118dc565b5b600061199a8582860161192a565b92505060206119ab85828601611960565b9150509250929050565b60008115159050919050565b6119ca816119b5565b82525050565b60006020820190506119e560008301846119c1565b92915050565b6119f4816119b5565b81146119ff57600080fd5b50565b600081359050611a11816119eb565b92915050565b60008060408385031215611a2e57611a2d6118dc565b5b6000611a3c8582860161192a565b9250506020611a4d85828601611a02565b9150509250929050565b611a608161193f565b82525050565b6000602082019050611a7b6000830184611a57565b92915050565b600080600060608486031215611a9a57611a996118dc565b5b6000611aa88682870161192a565b9350506020611ab98682870161192a565b9250506040611aca86828701611960565b9150509250925092565b600060ff82169050919050565b611aea81611ad4565b82525050565b6000602082019050611b056000830184611ae1565b92915050565b600060208284031215611b2157611b206118dc565b5b6000611b2f84828501611960565b91505092915050565b600060208284031215611b4e57611b4d6118dc565b5b6000611b5c8482850161192a565b91505092915050565b611b6e81611901565b82525050565b6000602082019050611b896000830184611b65565b92915050565b60008060408385031215611ba657611ba56118dc565b5b6000611bb48582860161192a565b9250506020611bc58582860161192a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c1657607f821691505b602082108103611c2957611c28611bcf565b5b50919050565b7f656e61626c656421000000000000000000000000000000000000000000000000600082015250565b6000611c65600883611835565b9150611c7082611c2f565b602082019050919050565b60006020820190508181036000830152611c9481611c58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cd58261193f565b9150611ce08361193f565b9250828201905080821115611cf857611cf7611c9b565b5b92915050565b7f4c696d69747320616c72656164792072656d6f76656400000000000000000000600082015250565b6000611d34601683611835565b9150611d3f82611cfe565b602082019050919050565b60006020820190508181036000830152611d6381611d27565b9050919050565b6000606082019050611d7f6000830186611b65565b611d8c6020830185611a57565b611d996040830184611a57565b949350505050565b7f54726164696e67206973206e6f74206f70656e00000000000000000000000000600082015250565b6000611dd7601383611835565b9150611de282611da1565b602082019050919050565b60006020820190508181036000830152611e0681611dca565b9050919050565b7f4d415820414d4f554e5420212121000000000000000000000000000000000000600082015250565b6000611e43600e83611835565b9150611e4e82611e0d565b602082019050919050565b60006020820190508181036000830152611e7281611e36565b9050919050565b6000611e848261193f565b9150611e8f8361193f565b9250828202611e9d8161193f565b91508282048414831517611eb457611eb3611c9b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611ef58261193f565b9150611f008361193f565b925082611f1057611f0f611ebb565b5b828204905092915050565b6000611f268261193f565b9150611f318361193f565b9250828203905081811115611f4957611f48611c9b565b5b92915050565b6000611f5a8261193f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f8c57611f8b611c9b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061200481611913565b92915050565b6000602082840312156120205761201f6118dc565b5b600061202e84828501611ff5565b91505092915050565b6000819050919050565b6000819050919050565b600061206661206161205c84612037565b612041565b61193f565b9050919050565b6120768161204b565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6120b181611901565b82525050565b60006120c383836120a8565b60208301905092915050565b6000602082019050919050565b60006120e78261207c565b6120f18185612087565b93506120fc83612098565b8060005b8381101561212d57815161211488826120b7565b975061211f836120cf565b925050600181019050612100565b5085935050505092915050565b600060a08201905061214f6000830188611a57565b61215c602083018761206d565b818103604083015261216e81866120dc565b905061217d6060830185611b65565b61218a6080830184611a57565b969550505050505056fea2646970667358221220824b24a2f00b6f5866e96654598380668ffc75e1d6b0ebf831ad1fd1a03a0e9464736f6c634300081700330000000000000000000000005ae18fd33f49905adb5a3fe6f84c92012967c4a6