[ { "inputs": [ { "internalType": "address", "name": "tokenOwner", "type": "address" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint8", "name": "decimal_", "type": "uint8" }, { "internalType": "uint256", "name": "amountOfTokenWei", "type": "uint256" }, { "internalType": "uint8[5]", "name": "setFees", "type": "uint8[5]" }, { "internalType": "uint256[6]", "name": "maxFees", "type": "uint256[6]" }, { "internalType": "address", "name": "devWalletAddress_", "type": "address" }, { "internalType": "address", "name": "_router", "type": "address" }, { "internalType": "address", "name": "_basePair", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": false, "internalType": "uint256", "name": "minTokensBeforeSwap", "type": "uint256" } ], "name": "MinTokensBeforeSwapUpdated", "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": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiqudity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "SwapAndLiquifyAmountUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "SwapAndLiquifyEnabledUpdated", "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": "_devFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_devWalletAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_liquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellLiqFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellTaxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "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": [], "name": "basePair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInReward", "outputs": [], "stateMutability": "nonpayable", "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": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromReward", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxLiqFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSellLiqFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSellTaxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTaxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minMxTxPercentage", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mintedByDxsale", "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": "numTokensSellToAddToLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" }, { "internalType": "bool", "name": "deductTransferFee", "type": "bool" } ], "name": "reflectionFromToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeAllFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" }, { "internalType": "address", "name": "_newAddr", "type": "address" } ], "name": "replaceDevWalletAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "restoreAllFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "devFee", "type": "uint256" } ], "name": "setDevFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "liquidityFee", "type": "uint256" } ], "name": "setLiquidityFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxTxPercent", "type": "uint256" } ], "name": "setMaxTxPercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sellLiqFee", "type": "uint256" } ], "name": "setSellLiqFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sellTaxFee", "type": "uint256" } ], "name": "setSellTaxFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setSwapAndLiquifyEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "taxFee", "type": "uint256" } ], "name": "setTaxFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAndLiquifyEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "rAmount", "type": "uint256" } ], "name": "tokenFromReflection", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFees", "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": "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": "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" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052600180546001600160a01b03191661dead178155600a600281905560038190556004556032600555601460068190556007556015805460ff19169091179055601d54601e553480156200005657600080fd5b5060405162003806380380620038068339810160408190526200007991620006c7565b6200008433620003d5565b8851620000999060169060208c019062000448565b508751620000af9060179060208b019062000448565b506018805460ff191660ff89161790556012869055620000d28660001962000887565b620000e09060001962000830565b6013819055601080546001600160a01b038581166001600160a01b031992831617909255601180548584169083161790558c821660009081526008602090815260409182902094909455875160035587840151600255878101516004556060808901516005556080808a015160065560a08a01516007558a5160ff9081166019819055601a558b8701518116601b819055601c55928b01518316601d819055601e55908a01518216601f8190558555890151166021819055602255600f80549091169186169190911790556025879055620001e6906103e890620001d290899060019062000425811b620014b317901c565b6200043a60201b620014bf1790919060201c565b6026556024805460ff60a81b1916600160a81b1790556010546040805163c45a015560e01b815290516001600160a01b0390921691829163c45a0155916004808301926020929190829003018186803b1580156200024357600080fd5b505afa15801562000258573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027e9190620006a9565b6011546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c6539690604401602060405180830381600087803b158015620002cb57600080fd5b505af1158015620002e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003069190620006a9565b602480546001600160a01b03199081166001600160a01b0393841617909155602380549091168383161790558b81166000818152600b60209081526040808320805460ff1990811660019081179092553085528285208054821683179055600f8054881686528386208054831684179055549096168452600d83528184208054909616179094556012549351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050505050505050620008e0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006200043382846200080e565b9392505050565b6000620004338284620007f7565b82805462000456906200084a565b90600052602060002090601f0160209004810192826200047a5760008555620004c5565b82601f106200049557805160ff1916838001178555620004c5565b82800160010185558215620004c5579182015b82811115620004c5578251825591602001919060010190620004a8565b50620004d3929150620004d7565b5090565b5b80821115620004d35760008155600101620004d8565b80516001600160a01b03811681146200050657600080fd5b919050565b600082601f8301126200051d57600080fd5b60405160c081016001600160401b0381118282101715620005425762000542620008ca565b604052808360c081018610156200055857600080fd5b60005b60068110156200057c5781518352602092830192909101906001016200055b565b509195945050505050565b600082601f8301126200059957600080fd5b60405160a081016001600160401b0381118282101715620005be57620005be620008ca565b604052808360a08101861015620005d457600080fd5b60005b60058110156200057c57620005ec8262000697565b83526020928301929190910190600101620005d7565b600082601f8301126200061457600080fd5b81516001600160401b03811115620006305762000630620008ca565b602062000646601f8301601f19168201620007c4565b82815285828487010111156200065b57600080fd5b60005b838110156200067b5785810183015182820184015282016200065e565b838111156200068d5760008385840101525b5095945050505050565b805160ff811681146200050657600080fd5b600060208284031215620006bc57600080fd5b6200043382620004ee565b6000806000806000806000806000806102608b8d031215620006e857600080fd5b620006f38b620004ee565b60208c0151909a506001600160401b03808211156200071157600080fd5b6200071f8e838f0162000602565b9a5060408d01519150808211156200073657600080fd5b50620007458d828e0162000602565b9850506200075660608c0162000697565b965060808b015195506200076e8c60a08d0162000587565b9450620007808c6101408d016200050b565b9350620007916102008c01620004ee565b9250620007a26102208c01620004ee565b9150620007b36102408c01620004ee565b90509295989b9194979a5092959850565b604051601f8201601f191681016001600160401b0381118282101715620007ef57620007ef620008ca565b604052919050565b600082620008095762000809620008b4565b500490565b60008160001904831182151516156200082b576200082b6200089e565b500290565b6000828210156200084557620008456200089e565b500390565b600181811c908216806200085f57607f821691505b602082108114156200088157634e487b7160e01b600052602260045260246000fd5b50919050565b600082620008995762000899620008b4565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b612f1680620008f06000396000f3fe6080604052600436106102695760003560e01c8063061c82d01461027557806306fdde0314610297578063095ea7b3146102c2578063111411b1146102f257806313114a9d146103165780631694505e1461032b57806318160ddd14610363578063200a692d1461037857806323b872dd1461038e5780632d838119146103ae578063301370af146103ce578063313ce567146103e3578063324f8dbf146104055780633586a1861461041b5780633685d4191461043b578063379e29191461045b578063395093511461047b5780633b124fe71461049b578063430ca090146104b1578063437823ec146104c75780634549b039146104e757806349bd5a5e146105075780634a74bb021461052757806352390c02146105485780635342acb41461056857806355924646146105a15780635930919b146105bb5780636bc87c3a146105db57806370a08231146105f1578063715018a614610611578063796431d0146106265780637d1db4a51461064657806388f820201461065c5780638da5cb5b146106955780638ee88c53146106aa57806395d89b41146106ca578063973e898e146106df578063a457c2d7146106f5578063a9059cbb14610715578063aa45026b14610735578063aceafe091461074b578063b425bac314610761578063c49b9a8014610781578063c7992f9a146107a1578063d0e03523146107b7578063d12a7688146107d7578063d51b31ac146107ed578063d543dbeb14610803578063d7034bd614610823578063dd62ed3e14610843578063e7e3e3a714610889578063ea2f0b371461089e578063f2fde38b146108be578063f887ea40146108de57600080fd5b3661027057005b600080fd5b34801561028157600080fd5b50610295610290366004612bbe565b6108fe565b005b3480156102a357600080fd5b506102ac61093b565b6040516102b99190612c63565b60405180910390f35b3480156102ce57600080fd5b506102e26102dd366004612b79565b6109cd565b60405190151581526020016102b9565b3480156102fe57600080fd5b5061030860215481565b6040519081526020016102b9565b34801561032257600080fd5b50601454610308565b34801561033757600080fd5b5060235461034b906001600160a01b031681565b6040516001600160a01b0390911681526020016102b9565b34801561036f57600080fd5b50601254610308565b34801561038457600080fd5b50610308601f5481565b34801561039a57600080fd5b506102e26103a9366004612b3d565b6109e4565b3480156103ba57600080fd5b506103086103c9366004612bbe565b610a4d565b3480156103da57600080fd5b50610295610ad1565b3480156103ef57600080fd5b5060185460405160ff90911681526020016102b9565b34801561041157600080fd5b5061030860055481565b34801561042757600080fd5b50610295610436366004612bbe565b610b0f565b34801561044757600080fd5b50610295610456366004612aef565b610b43565b34801561046757600080fd5b50610295610476366004612bbe565b610ca8565b34801561048757600080fd5b506102e2610496366004612b79565b610d03565b3480156104a757600080fd5b5061030860195481565b3480156104bd57600080fd5b5061030860025481565b3480156104d357600080fd5b506102956104e2366004612aef565b610d39565b3480156104f357600080fd5b50610308610502366004612bd7565b610d9e565b34801561051357600080fd5b5060245461034b906001600160a01b031681565b34801561053357600080fd5b506024546102e290600160a81b900460ff1681565b34801561055457600080fd5b50610295610563366004612aef565b610e2d565b34801561057457600080fd5b506102e2610583366004612aef565b6001600160a01b03166000908152600b602052604090205460ff1690565b3480156105ad57600080fd5b506015546102e29060ff1681565b3480156105c757600080fd5b5060115461034b906001600160a01b031681565b3480156105e757600080fd5b50610308601b5481565b3480156105fd57600080fd5b5061030861060c366004612aef565b610f2e565b34801561061d57600080fd5b50610295610f8d565b34801561063257600080fd5b50610295610641366004612bbe565b610fa1565b34801561065257600080fd5b5061030860255481565b34801561066857600080fd5b506102e2610677366004612aef565b6001600160a01b03166000908152600c602052604090205460ff1690565b3480156106a157600080fd5b5061034b611075565b3480156106b657600080fd5b506102956106c5366004612bbe565b611084565b3480156106d657600080fd5b506102ac6110e4565b3480156106eb57600080fd5b5061030860075481565b34801561070157600080fd5b506102e2610710366004612b79565b6110f3565b34801561072157600080fd5b506102e2610730366004612b79565b611142565b34801561074157600080fd5b50610308601d5481565b34801561075757600080fd5b5061030860045481565b34801561076d57600080fd5b50600f5461034b906001600160a01b031681565b34801561078d57600080fd5b5061029561079c366004612ba3565b61114f565b3480156107ad57600080fd5b5061030860035481565b3480156107c357600080fd5b506102956107d2366004612bbe565b6111a4565b3480156107e357600080fd5b5061030860265481565b3480156107f957600080fd5b5061030860065481565b34801561080f57600080fd5b5061029561081e366004612bbe565b6111d8565b34801561082f57600080fd5b5061029561083e366004612b0a565b61125b565b34801561084f57600080fd5b5061030861085e366004612b0a565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561089557600080fd5b5061029561138e565b3480156108aa57600080fd5b506102956108b9366004612aef565b6113ae565b3480156108ca57600080fd5b506102956108d9366004612aef565b61143d565b3480156108ea57600080fd5b5060105461034b906001600160a01b031681565b6109066114cb565b6003548111156109315760405162461bcd60e51b815260040161092890612ced565b60405180910390fd5b6019819055601a55565b60606016805461094a90612dfb565b80601f016020809104026020016040519081016040528092919081815260200182805461097690612dfb565b80156109c35780601f10610998576101008083540402835291602001916109c3565b820191906000526020600020905b8154815290600101906020018083116109a657829003601f168201915b5050505050905090565b60006109da33848461152a565b5060015b92915050565b60006109f184848461164e565b610a438433610a3e85604051806060016040528060288152602001612e94602891396001600160a01b038a166000908152600a602090815260408083203384529091529020549190611945565b61152a565b5060019392505050565b6000601354821115610ab45760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610928565b6000610abe611971565b9050610aca83826114bf565b9392505050565b601954158015610ae15750601b54155b8015610aed5750601d54155b15610af457565b60006019819055601b819055601d819055601f819055602155565b610b176114cb565b600754811115610b395760405162461bcd60e51b815260040161092890612ced565b6021819055602255565b610b4b6114cb565b6001600160a01b0381166000908152600c602052604090205460ff16610b835760405162461bcd60e51b815260040161092890612cb8565b60005b600e54811015610ca457816001600160a01b0316600e8281548110610bad57610bad612e7d565b6000918252602090912001546001600160a01b03161415610c9257600e8054610bd890600190612de4565b81548110610be857610be8612e7d565b600091825260209091200154600e80546001600160a01b039092169183908110610c1457610c14612e7d565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600982526040808220829055600c90925220805460ff19169055600e805480610c6c57610c6c612e67565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610c9c81612e36565b915050610b86565b5050565b610cb06114cb565b600454811115610cf95760405162461bcd60e51b81526020600482015260146024820152737465616d466565206f7574206f662072616e676560601b6044820152606401610928565b601d819055601e55565b336000818152600a602090815260408083206001600160a01b038716845290915281205490916109da918590610a3e9086611994565b610d416114cb565b6001600160a01b0381166000908152600b602052604090205460ff1615610d7a5760405162461bcd60e51b815260040161092890612cb8565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000601254831115610df25760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610928565b81610e12576000610e02846119a0565b509496506109de95505050505050565b6000610e1d846119a0565b509396506109de95505050505050565b610e356114cb565b6001600160a01b0381166000908152600c602052604090205460ff1615610e6e5760405162461bcd60e51b815260040161092890612cb8565b6001600160a01b03811660009081526008602052604090205415610ec8576001600160a01b038116600090815260086020526040902054610eae90610a4d565b6001600160a01b0382166000908152600960205260409020555b6001600160a01b03166000818152600c60205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0319169091179055565b6001600160a01b0381166000908152600c602052604081205460ff1615610f6b57506001600160a01b031660009081526009602052604090205490565b6001600160a01b0382166000908152600860205260409020546109de90610a4d565b610f956114cb565b610f9f60006119fb565b565b610fa96114cb565b610fc9612710610fc36005610fbd60125490565b906114b3565b906114bf565b8110156110395760405162461bcd60e51b815260206004820152603860248201527f537761706261636b20616d6f756e742073686f756c64206265206174206c6561604482015277737420302e303525206f6620746f74616c20737570706c7960401b6064820152608401610928565b60268190556040518181527ff7edd1a72d399eb95c56c07c5a26f00a9096735269c96c75caa8fc4e15bcd5d2906020015b60405180910390a150565b6000546001600160a01b031690565b61108c6114cb565b6002548111156110da5760405162461bcd60e51b81526020600482015260196024820152786c6971756964697479466565206f7574206f662072616e676560381b6044820152606401610928565b601b819055601c55565b60606017805461094a90612dfb565b60006109da3384610a3e85604051806060016040528060258152602001612ebc60259139336000908152600a602090815260408083206001600160a01b038d1684529091529020549190611945565b60006109da33848461164e565b6111576114cb565b60248054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061106a90831515815260200190565b6111ac6114cb565b6006548111156111ce5760405162461bcd60e51b815260040161092890612ced565b601f819055602055565b6111e06114cb565b60055481101580156111f3575060648111155b61123b5760405162461bcd60e51b81526020600482015260196024820152786d6178547850657263656e74206f7574206f662072616e676560381b6044820152606401610928565b6112556064610fc3836012546114b390919063ffffffff16565b60255550565b6112636114cb565b6001600160a01b0382166000908152600d602052604090205460ff166112d55760405162461bcd60e51b815260206004820152602160248201527f57616c6c65742061646472657373206e6f74207365742070726576696f75736c6044820152607960f81b6064820152608401610928565b6001600160a01b0381166000908152600d602052604090205460ff161561133b5760405162461bcd60e51b815260206004820152601a60248201527915d85b1b195d081859191c995cdcc8185b1c9958591e481cd95d60321b6044820152606401610928565b6001600160a01b0382166000908152600b602052604090205460ff161561136557611365826113ae565b6001600160a01b0382166000908152600d60205260409020805460ff19169055610ca481611a4b565b601a54601955601c54601b55601e54601d55602054601f55602254602155565b6113b66114cb565b6001600160a01b0381166000908152600b602052604090205460ff1661141c5760405162461bcd60e51b815260206004820152601b60248201527a1058d8dbdd5b9d081a5cc8185b1c9958591e481a5b98db1d591959602a1b6044820152606401610928565b6001600160a01b03166000908152600b60205260409020805460ff19169055565b6114456114cb565b6001600160a01b0381166114aa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610928565b610d7a816119fb565b6000610aca8284612dc5565b6000610aca8284612da3565b336114d4611075565b6001600160a01b031614610f9f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610928565b6001600160a01b03831661158c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610928565b6001600160a01b0382166115ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610928565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166116b25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610928565b6001600160a01b0382166117145760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610928565b6001600160a01b0383166000908152600b602052604090205460ff1661179657600081116117965760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610928565b6024546001600160a01b03838116911614156117b957601f54601955602154601b555b6117c1611075565b6001600160a01b0316836001600160a01b0316141580156117fb57506117e5611075565b6001600160a01b0316826001600160a01b031614155b15611863576025548111156118635760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610928565b600061186e30610f2e565b9050602554811061187e57506025545b6026548110801590819061189c5750602454600160a01b900460ff16155b80156118b657506024546001600160a01b03868116911614155b80156118cb5750602454600160a81b900460ff165b156118de5760265491506118de82611aab565b6001600160a01b0385166000908152600b602052604090205460019060ff168061192057506001600160a01b0385166000908152600b602052604090205460ff165b15611929575060005b61193586868684611b52565b61193d61138e565b505050505050565b600081848411156119695760405162461bcd60e51b81526004016109289190612c63565b505050900390565b600080600061197e611cb9565b909250905061198d82826114bf565b9250505090565b6000610aca8284612d8b565b60008060008060008060008060008060006119ba8c611e3b565b935093509350935060008060006119db8f8787876119d6611971565b611e90565b919f509d509b509599509397509195509350505050919395979092949650565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381166000908152600b602052604090205460ff16611a7457611a7481610d39565b6001600160a01b03166000818152600d60205260409020805460ff19166001179055600f80546001600160a01b0319169091179055565b6024805460ff60a01b1916600160a01b1790556000611acb8260026114bf565b90506000611ad98383611ef2565b905047611ae583611efe565b6000611af14783611ef2565b9050611afd838261225f565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a150506024805460ff60a01b19169055505050565b80611b5f57611b5f610ad1565b6001600160a01b0384166000908152600c602052604090205460ff168015611ba057506001600160a01b0383166000908152600c602052604090205460ff16155b15611bb557611bb084848461261c565b611cb3565b6001600160a01b0384166000908152600c602052604090205460ff16158015611bf657506001600160a01b0383166000908152600c602052604090205460ff165b15611c0657611bb0848484612762565b6001600160a01b0384166000908152600c602052604090205460ff16158015611c4857506001600160a01b0383166000908152600c602052604090205460ff16155b15611c5857611bb0848484612821565b6001600160a01b0384166000908152600c602052604090205460ff168015611c9857506001600160a01b0383166000908152600c602052604090205460ff165b15611ca857611bb084848461287b565b611cb3848484612821565b50505050565b6013546012546000918291825b600e54811015611e0b578260086000600e8481548110611ce857611ce8612e7d565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611d5357508160096000600e8481548110611d2c57611d2c612e7d565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611d6957601354601254945094505050509091565b611daf60086000600e8481548110611d8357611d83612e7d565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611ef2565b9250611df760096000600e8481548110611dcb57611dcb612e7d565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611ef2565b915080611e0381612e36565b915050611cc6565b50601254601354611e1b916114bf565b821015611e32576013546012549350935050509091565b90939092509050565b6000806000806000611e4c86612904565b90506000611e5987612920565b90506000611e668861293c565b90506000611e8082611e7a85818d89611ef2565b90611ef2565b9993985091965094509092505050565b6000808080611e9f89866114b3565b90506000611ead89876114b3565b90506000611ebb89886114b3565b90506000611ec989896114b3565b90506000611edd82611e7a85818989611ef2565b949d949c50929a509298505050505050505050565b6000610aca8284612de4565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f3357611f33612e7d565b6001600160a01b039283166020918202929092010152601154825191169082906001908110611f6457611f64612e7d565b6001600160a01b039283166020918202929092010152602354611f8a913091168461152a565b60235460405163791ac94760e01b81526001600160a01b039091169063791ac94790611fc3908590600090869030904290600401612d1a565b600060405180830381600087803b158015611fdd57600080fd5b505af1925050508015611fee575060015b610ca4573d80801561201c576040519150601f19603f3d011682016040523d82523d6000602084013e612021565b606091505b5060235460405163d46d2f8360e01b81526001600160a01b039091169063d46d2f839061205b908690600090879030904290600401612d1a565b600060405180830381600087803b15801561207557600080fd5b505af1925050508015612086575060015b61225a573d8080156120b4576040519150601f19603f3d011682016040523d82523d6000602084013e6120b9565b606091505b50602354604051633b158ab160e11b81526001600160a01b039091169063762b1562906120f3908790600090889030904290600401612d1a565b600060405180830381600087803b15801561210d57600080fd5b505af192505050801561211e575060015b611cb3573d80801561214c576040519150601f19603f3d011682016040523d82523d6000602084013e612151565b606091505b506023546040516312d70e6d60e11b81526001600160a01b03909116906325ae1cda9061218b908890600090899030904290600401612d1a565b600060405180830381600087803b1580156121a557600080fd5b505af19250505080156121b6575060015b612257573d8080156121e4576040519150601f19603f3d011682016040523d82523d6000602084013e6121e9565b606091505b5060235460405163791ac94760e01b81526001600160a01b039091169063791ac947906122239089906000908a9030904290600401612d1a565b600060405180830381600087803b15801561223d57600080fd5b505af1158015612251573d6000803e3d6000fd5b50505050505b50505b505050565b6023546122779030906001600160a01b03168461152a565b60235460015460405163f305d71960e01b81526001600160a01b039283169263f305d7199285926122b79230928992600092839216904290600401612c28565b6060604051808303818588803b1580156122d057600080fd5b505af193505050508015612301575060408051601f3d908101601f191682019092526122fe91810190612bfa565b60015b612257573d80801561232f576040519150601f19603f3d011682016040523d82523d6000602084013e612334565b606091505b506023546001546040516375576a2160e11b81526001600160a01b039283169263eaaed4429286926123759230928a92600092839216904290600401612c28565b6060604051808303818588803b15801561238e57600080fd5b505af1935050505080156123bf575060408051601f3d908101601f191682019092526123bc91810190612bfa565b60015b61193d573d8080156123ed576040519150601f19603f3d011682016040523d82523d6000602084013e6123f2565b606091505b50602354600154604051637c8d9fb960e11b81526001600160a01b039283169263f91b3f729287926124339230928b92600092839216904290600401612c28565b6060604051808303818588803b15801561244c57600080fd5b505af19350505050801561247d575060408051601f3d908101601f1916820190925261247a91810190612bfa565b60015b612613573d8080156124ab576040519150601f19603f3d011682016040523d82523d6000602084013e6124b0565b606091505b50602354600154604051630798368960e41b81526001600160a01b039283169263798368909288926124f19230928c92600092839216904290600401612c28565b6060604051808303818588803b15801561250a57600080fd5b505af19350505050801561253b575060408051601f3d908101601f1916820190925261253891810190612bfa565b60015b61260a573d808015612569576040519150601f19603f3d011682016040523d82523d6000602084013e61256e565b606091505b5060235460015460405163f305d71960e01b81526001600160a01b039283169263f305d7199289926125af9230928d92600092839216904290600401612c28565b6060604051808303818588803b1580156125c857600080fd5b505af11580156125dc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126019190612bfa565b50505050612257565b50505050611cb3565b50505050505050565b6000806000806000806000612630886119a0565b965096509650965096509650965061267688600960008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ef290919063ffffffff16565b6001600160a01b038b166000908152600960209081526040808320939093556008905220546126a59088611ef2565b6001600160a01b03808c1660009081526008602052604080822093909355908b16815220546126d49087611994565b6001600160a01b038a166000908152600860205260409020556126f682612958565b6126ff816129e0565b6127098584612a9f565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161274e91815260200190565b60405180910390a350505050505050505050565b6000806000806000806000612776886119a0565b96509650965096509650965096506127bc87600860008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ef290919063ffffffff16565b6001600160a01b03808c16600090815260086020908152604080832094909455918c168152600990915220546127f29085611994565b6001600160a01b038a166000908152600960209081526040808320939093556008905220546126d49087611994565b6000806000806000806000612835886119a0565b96509650965096509650965096506126a587600860008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ef290919063ffffffff16565b600080600080600080600061288f886119a0565b96509650965096509650965096506128d588600960008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ef290919063ffffffff16565b6001600160a01b038b166000908152600960209081526040808320939093556008905220546127bc9088611ef2565b60006109de6064610fc3601954856114b390919063ffffffff16565b60006109de6064610fc3601b54856114b390919063ffffffff16565b60006109de6064610fc3601d54856114b390919063ffffffff16565b6000612962611971565b9050600061297083836114b3565b3060009081526008602052604090205490915061298d9082611994565b30600090815260086020908152604080832093909355600c9052205460ff161561225a57306000908152600960205260409020546129cb9084611994565b30600090815260096020526040902055505050565b60006129ea611971565b905060006129f883836114b3565b600f546001600160a01b0316600090815260086020526040902054909150612a209082611994565b600f80546001600160a01b0390811660009081526008602090815260408083209590955592549091168152600c909152205460ff161561225a57600f546001600160a01b0316600090815260096020526040902054612a7f9084611994565b600f546001600160a01b0316600090815260096020526040902055505050565b601354612aac9083611ef2565b601355601454612abc9082611994565b6014555050565b80356001600160a01b0381168114612ada57600080fd5b919050565b80358015158114612ada57600080fd5b600060208284031215612b0157600080fd5b610aca82612ac3565b60008060408385031215612b1d57600080fd5b612b2683612ac3565b9150612b3460208401612ac3565b90509250929050565b600080600060608486031215612b5257600080fd5b612b5b84612ac3565b9250612b6960208501612ac3565b9150604084013590509250925092565b60008060408385031215612b8c57600080fd5b612b9583612ac3565b946020939093013593505050565b600060208284031215612bb557600080fd5b610aca82612adf565b600060208284031215612bd057600080fd5b5035919050565b60008060408385031215612bea57600080fd5b82359150612b3460208401612adf565b600080600060608486031215612c0f57600080fd5b8351925060208401519150604084015190509250925092565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600060208083528351808285015260005b81811015612c9057858101830151858201604001528201612c74565b81811115612ca2576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527a1058d8dbdd5b9d081a5cc8185b1c9958591e48195e18db1d591959602a1b604082015260600190565b602080825260139082015272746178466565206f7574206f662072616e676560681b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612d6a5784516001600160a01b031683529383019391830191600101612d45565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612d9e57612d9e612e51565b500190565b600082612dc057634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612ddf57612ddf612e51565b500290565b600082821015612df657612df6612e51565b500390565b600181811c90821680612e0f57607f821691505b60208210811415612e3057634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612e4a57612e4a612e51565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208eab78504ed597c9cf58dcf75e30cdae5a1eac43f5f3821c889bc7b00fbf8d7964736f6c6343000807003300000000000000000000000005ab16380754ab40b1f7cf378e0186aa18e6d6d2000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000700000000000000000000000047bacf935066b802eaa0067ec14ab035b24eb78b00000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000000000000000000000000000000000000000000066e6577466565000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024e46000000000000000000000000000000000000000000000000000000000000