[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "newDevWallet", "type": "address" } ], "name": "DevWalletChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "feeOnBuy", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "feeOnSell", "type": "uint256" } ], "name": "FeesUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newMarketingWallet", "type": "address" } ], "name": "MarketingWalletChanged", "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": "_maxTxnAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_maxWalletSize", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "percent", "type": "uint256" } ], "name": "SizesAtAmountChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "bnbSend", "type": "uint256" } ], "name": "SwapAndSendFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "SwapTokensAtAmountChanged", "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": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TransferForeignToken", "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": "amount", "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": "address", "name": "_devWallet", "type": "address" } ], "name": "changeDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" } ], "name": "changeMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "devWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableSizeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableTrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "exemptFromLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "feeOnBuy", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeOnSell", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isSizeLimitsOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isTradeOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTxnAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletSize", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_feeOnBuy", "type": "uint256" }, { "internalType": "uint256", "name": "_feeOnSell", "type": "uint256" } ], "name": "setFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxTxnAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_maxWalletSize", "type": "uint256" }, { "internalType": "uint256", "name": "percent", "type": "uint256" } ], "name": "setSizesAtAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "setSwapTokensAtAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "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": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "name": "transferForeignToken", "outputs": [ { "internalType": "bool", "name": "_sent", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdrawStuckETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
608060405260056006819055600755600880546001600160a01b0319908116738e7371596305f5d76f2208ad1ac15e7acb0de644179091556009805490911673716cbc9b6746dea6c9f42d3862eca443a53902a7179055600f805460ff1916905534801561006b575f80fd5b50336040518060400160405280600a8152602001694b6f6c6c65637420414960b01b8152506040518060400160405280600381526020016212d3d360ea1b81525081600390816100bb9190610708565b5060046100c88282610708565b5050506001600160a01b0381166100f957604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101028161041c565b505f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610158573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017c91906107c2565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101eb91906107c2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610235573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061025991906107c2565b600a80546001600160a01b038086166001600160a01b03199283168117909355600b8054918516919092161790559091506102979030905f1961046d565b600f805461ff001916610100179055600160105f6102bd6005546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905560109093527f9e93e1db4a1f807cc22b2aecf4deeb0bf5745f1ecb319e87c68c5624c0fa6b6980548516600190811790915530845282842080548616821790556008548216845282842080548616821790556009549091168352908220805490931681179092556011906103666005546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556103b36103a26005546001600160a01b031690565b6a084595161401484a000000610590565b610fa06103bf60025490565b6103c99190610803565b600c556103e86103d860025490565b6103e3906004610822565b6103ed9190610803565b600d556103e86103fc60025490565b610407906008610822565b6104119190610803565b600e55506108529050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0383166104cf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016100f0565b6001600160a01b0382166105305760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016100f0565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166105e65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016100f0565b8060025f8282546105f7919061083f565b90915550506001600160a01b0382165f908152602081905260408120805483929061062390849061083f565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061069957607f821691505b6020821081036106b757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561066c57805f5260205f20601f840160051c810160208510156106e25750805b601f840160051c820191505b81811015610701575f81556001016106ee565b5050505050565b81516001600160401b0381111561072157610721610671565b6107358161072f8454610685565b846106bd565b6020601f821160018114610767575f83156107505750848201515b5f19600385901b1c1916600184901b178455610701565b5f84815260208120601f198516915b828110156107965787850151825560209485019460019092019101610776565b50848210156107b357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156107d2575f80fd5b81516001600160a01b03811681146107e8575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b5f8261081d57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610839576108396107ef565b92915050565b80820180821115610839576108396107ef565b611fda8061085f5f395ff3fe608060405260043610610214575f3560e01c80638ea5220f1161011e578063bb8c3ee0116100a8578063dc93cf701161006d578063dc93cf70146105ff578063dd62ed3e1461061e578063e2f4560514610662578063f2fde38b14610677578063f5648a4f14610696575f80fd5b8063bb8c3ee014610578578063bd8d82111461058d578063c0246668146105ac578063cf46f24c146105cb578063d0973f10146105e0575f80fd5b8063a457c2d7116100ee578063a457c2d7146104dd578063a9059cbb146104fc578063afa4f3b21461051b578063b0ef69ab1461053a578063bb85c6d114610559575f80fd5b80638ea5220f146104815780638f3fa860146104a057806395d89b41146104b55780639fbdd96d146104c9575f80fd5b8063395093511161019f57806365048d081161016f57806365048d08146103e857806370a08231146103fd578063715018a61461043157806375f0a874146104455780638da5cb5b14610464575f80fd5b8063395093511461035a57806349bd5a5e146103795780634fbee1931461039857806360901444146103cf575f80fd5b8063128f5c33116101e5578063128f5c33146102ad5780631694505e146102cb57806318160ddd1461030257806323b872dd14610320578063313ce5671461033f575f80fd5b806299d3861461021f57806306fdde0314610235578063095ea7b31461025f5780630b78f9c01461028e575f80fd5b3661021b57005b5f80fd5b34801561022a575f80fd5b506102336106aa565b005b348015610240575f80fd5b50610249610712565b6040516102569190611bbe565b60405180910390f35b34801561026a575f80fd5b5061027e610279366004611c07565b6107a2565b6040519015158152602001610256565b348015610299575f80fd5b506102336102a8366004611c31565b6107b8565b3480156102b8575f80fd5b50600f5461027e90610100900460ff1681565b3480156102d6575f80fd5b50600a546102ea906001600160a01b031681565b6040516001600160a01b039091168152602001610256565b34801561030d575f80fd5b506002545b604051908152602001610256565b34801561032b575f80fd5b5061027e61033a366004611c51565b610807565b34801561034a575f80fd5b5060405160128152602001610256565b348015610365575f80fd5b5061027e610374366004611c07565b6108b6565b348015610384575f80fd5b50600b546102ea906001600160a01b031681565b3480156103a3575f80fd5b5061027e6103b2366004611c8f565b6001600160a01b03165f9081526010602052604090205460ff1690565b3480156103da575f80fd5b50600f5461027e9060ff1681565b3480156103f3575f80fd5b5061031260075481565b348015610408575f80fd5b50610312610417366004611c8f565b6001600160a01b03165f9081526020819052604090205490565b34801561043c575f80fd5b506102336108f1565b348015610450575f80fd5b506008546102ea906001600160a01b031681565b34801561046f575f80fd5b506005546001600160a01b03166102ea565b34801561048c575f80fd5b506009546102ea906001600160a01b031681565b3480156104ab575f80fd5b50610312600e5481565b3480156104c0575f80fd5b50610249610904565b3480156104d4575f80fd5b50610233610913565b3480156104e8575f80fd5b5061027e6104f7366004611c07565b610928565b348015610507575f80fd5b5061027e610516366004611c07565b6109c0565b348015610526575f80fd5b50610233610535366004611cb1565b6109cc565b348015610545575f80fd5b50610233610554366004611cc8565b610a9a565b348015610564575f80fd5b50610233610573366004611c8f565b610b2a565b348015610583575f80fd5b5061031260065481565b348015610598575f80fd5b506102336105a7366004611c8f565b610c1b565b3480156105b7575f80fd5b506102336105c6366004611cfe565b610d06565b3480156105d6575f80fd5b50610312600d5481565b3480156105eb575f80fd5b506102336105fa366004611cfe565b610dee565b34801561060a575f80fd5b5061027e610619366004611c8f565b610ea0565b348015610629575f80fd5b50610312610638366004611d35565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561066d575f80fd5b50610312600c5481565b348015610682575f80fd5b50610233610691366004611c8f565b611086565b3480156106a1575f80fd5b506102336110c3565b6106b2611118565b600f5460ff16156107035760405162461bcd60e51b8152602060048201526016602482015275547261646520697320616c7265616479206f70656e2160501b60448201526064015b60405180910390fd5b600f805460ff19166001179055565b60606003805461072190611d61565b80601f016020809104026020016040519081016040528092919081815260200182805461074d90611d61565b80156107985780601f1061076f57610100808354040283529160200191610798565b820191905f5260205f20905b81548152906001019060200180831161077b57829003601f168201915b5050505050905090565b5f6107ae338484611145565b5060015b92915050565b6107c0611118565b6006829055600781905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f1981146108a057828110156108935760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106fa565b6108a08533858403611145565b6108ab858585611268565b506001949350505050565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916107ae9185906108ec908690611dad565b611145565b6108f9611118565b6109025f61172a565b565b60606004805461072190611d61565b61091b611118565b600f805461ff0019169055565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156109a95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106fa565b6109b63385858403611145565b5060019392505050565b5f6107ae338484611268565b6109d4611118565b620186a06109e160025490565b6109eb9190611dc0565b8111610a5f5760405162461bcd60e51b815260206004820152603e60248201527f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460448201527f6572207468616e20302e30303125206f6620746f74616c20737570706c79000060648201526084016106fa565b600c8190556040518181527fcba17309eff0b14bb89cad72aef8b308a23d698dfff957e2255d17bbc03620bd9060200160405180910390a150565b610aa2611118565b80610aac60025490565b610ab69085611ddf565b610ac09190611dc0565b600d5580610acd60025490565b610ad79084611ddf565b610ae19190611dc0565b600e5560408051848152602081018490529081018290527f1300a1f96ba1abf266808b39af3955b4662b3d9dc084381b02c66c303c1805c39060600160405180910390a1505050565b610b32611118565b6008546001600160a01b0390811690821603610b905760405162461bcd60e51b815260206004820152601f60248201527f2077616c6c657420697320616c7265616479207468617420616464726573730060448201526064016106fa565b6001600160a01b038116610bb65760405162461bcd60e51b81526004016106fa90611df6565b600880546001600160a01b0319166001600160a01b0383811691821783555f91825260106020526040808320805460ff19166001179055925492519216917fa964ba5c52d7e7bfcae4fb1ae4db9f211756d0e618e85fac5283b882a39e7a0b9190a250565b610c23611118565b6009546001600160a01b0390811690821603610c815760405162461bcd60e51b815260206004820152601f60248201527f2077616c6c657420697320616c7265616479207468617420616464726573730060448201526064016106fa565b6001600160a01b038116610ca75760405162461bcd60e51b81526004016106fa90611df6565b600980546001600160a01b0319166001600160a01b0383169081179091555f81815260106020526040808220805460ff19166001179055517f268c00f4ec08b34fdde24b52e47a09d62f3f3837eb3b8ac7206cefb3bb5e53459190a250565b610d0e611118565b6001600160a01b0382165f9081526010602052604090205481151560ff909116151503610d905760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b60648201526084016106fa565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b610df6611118565b6001600160a01b0382165f9081526011602052604090205481151560ff909116151503610e765760405162461bcd60e51b815260206004820152602860248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015267276578656d70742760c01b60648201526084016106fa565b6001600160a01b03919091165f908152601160205260409020805460ff1916911515919091179055565b5f6001600160a01b038216610ef75760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f74206265203000000000000060448201526064016106fa565b306001600160a01b03831603610f5d5760405162461bcd60e51b815260206004820152602560248201527f5f746f6b656e20616464726573732063616e6e6f74206265206e6174697665206044820152643a37b5b2b760d91b60648201526084016106fa565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa158015610fa1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc59190611e38565b60095460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015611017573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103b9190611e4f565b604080516001600160a01b0386168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a150919050565b61108e611118565b6001600160a01b0381166110b757604051631e4fbdf760e01b81525f60048201526024016106fa565b6110c08161172a565b50565b6008546040515f916001600160a01b03169047908381818185875af1925050503d805f811461110d576040519150601f19603f3d011682016040523d82523d5f602084013e611112565b606091505b50505050565b6005546001600160a01b031633146109025760405163118cdaa760e01b81523360048201526024016106fa565b6001600160a01b0383166111a75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106fa565b6001600160a01b0382166112085760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106fa565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661128e5760405162461bcd60e51b81526004016106fa90611e6a565b6001600160a01b0382166112b45760405162461bcd60e51b81526004016106fa90611eaf565b600f5460ff16806112dc57506001600160a01b0383165f9081526011602052604090205460ff165b806112fe57506001600160a01b0382165f9081526011602052604090205460ff165b6113415760405162461bcd60e51b815260206004820152601460248201527354726164696e67206973206e6f74206f70656e2160601b60448201526064016106fa565b805f036113585761135383835f61177b565b505050565b600f54610100900460ff16156115c857600b546001600160a01b03848116911614801561139d57506001600160a01b0382165f9081526010602052604090205460ff16155b1561141757600d548111156114125760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b60648201526084016106fa565b6114c2565b600b546001600160a01b03838116911614801561144c57506001600160a01b0383165f9081526010602052604090205460ff16155b156114c257600d548111156114c25760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b60648201526084016106fa565b6001600160a01b0383165f9081526010602052604090205460ff161580156114f85750600a546001600160a01b03838116911614155b80156115125750600b546001600160a01b03838116911614155b801561153657506001600160a01b0382165f9081526010602052604090205460ff16155b156115c857600e548161155d846001600160a01b03165f9081526020819052604090205490565b6115679190611dad565b11156115c85760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526930b63632ba29b4bd329760b11b60648201526084016106fa565b305f90815260208190526040902054600c54811080159081906115f55750600b54600160a01b900460ff16155b801561160e5750600b546001600160a01b038581169116145b1561163c57600b805460ff60a01b1916600160a01b17905561162e6118ce565b600b805460ff60a01b191690555b600b546001600160a01b0386165f9081526010602052604090205460ff600160a01b90920482161591168061168857506001600160a01b0385165f9081526010602052604090205460ff165b1561169057505f5b801561171757600b545f906001600160a01b03908116908816036116cf576064600654866116be9190611ddf565b6116c89190611dc0565b90506116f8565b600b546001600160a01b03908116908716036116f5576064600754866116be9190611ddf565b505f5b6117028186611ef2565b945080156117155761171587308361177b565b505b61172286868661177b565b505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0383166117a15760405162461bcd60e51b81526004016106fa90611e6a565b6001600160a01b0382166117c75760405162461bcd60e51b81526004016106fa90611eaf565b6001600160a01b0383165f908152602081905260409020548181101561183e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106fa565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290611874908490611dad565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118c091815260200190565b60405180910390a350505050565b305f90815260208190526040812054908190036118e85750565b600c546118f6906014611ddf565b81111561190e57600c5461190b906014611ddf565b90505b6119178161197a565b50475f600a611927836008611ddf565b6119319190611dc0565b90505f600a611941846002611ddf565b61194b9190611dc0565b600854909150611964906001600160a01b031683611aa9565b600954611353906001600160a01b031682611aa9565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106119ad576119ad611f05565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a289190611f19565b81600181518110611a3b57611a3b611f05565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac94790611a809085905f90869030904290600401611f34565b5f604051808303815f87803b158015611a97575f80fd5b505af1158015611722573d5f803e3d5ffd5b80471015611af95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016106fa565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114611b42576040519150601f19603f3d011682016040523d82523d5f602084013e611b47565b606091505b50509050806113535760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016106fa565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146110c0575f80fd5b5f8060408385031215611c18575f80fd5b8235611c2381611bf3565b946020939093013593505050565b5f8060408385031215611c42575f80fd5b50508035926020909101359150565b5f805f60608486031215611c63575f80fd5b8335611c6e81611bf3565b92506020840135611c7e81611bf3565b929592945050506040919091013590565b5f60208284031215611c9f575f80fd5b8135611caa81611bf3565b9392505050565b5f60208284031215611cc1575f80fd5b5035919050565b5f805f60608486031215611cda575f80fd5b505081359360208301359350604090920135919050565b80151581146110c0575f80fd5b5f8060408385031215611d0f575f80fd5b8235611d1a81611bf3565b91506020830135611d2a81611cf1565b809150509250929050565b5f8060408385031215611d46575f80fd5b8235611d5181611bf3565b91506020830135611d2a81611bf3565b600181811c90821680611d7557607f821691505b602082108103611d9357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156107b2576107b2611d99565b5f82611dda57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176107b2576107b2611d99565b60208082526022908201527f2077616c6c65742063616e6e6f7420626520746865207a65726f206164647265604082015261737360f01b606082015260800190565b5f60208284031215611e48575f80fd5b5051919050565b5f60208284031215611e5f575f80fd5b8151611caa81611cf1565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107b2576107b2611d99565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611f29575f80fd5b8151611caa81611bf3565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611f845783516001600160a01b0316835260209384019390920191600101611f5d565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220f5857705e218b13e0c5452db8475a56819d36f5ef9386efb155e9e9afb67e5f964736f6c634300081a0033