[ { "inputs": [], "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": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "bnbSent", "type": "uint256" } ], "name": "MarketingSent", "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": "bnbReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "SwapAndLiquifyEnabledUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "bnbSent", "type": "uint256" } ], "name": "TeamSent", "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": "_antiWhaleThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_burnAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_isAntiWhaleEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedFromAntiWhale", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedFromAutoLiquidity", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedFromBuy", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedFromMaxTx", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_liquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_liquidityFeeBuy", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_liquidityFeeSell", "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": "_minTokenBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxFeeBuy", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxFeeSell", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addresses", "type": "address[]" } ], "name": "addToBlacklist", "outputs": [], "stateMutability": "nonpayable", "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": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "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": "excludeFromReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getUnlockTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [ { "internalType": "uint256", "name": "time", "type": "uint256" } ], "name": "lock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeFromBlackList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "teamWallet", "type": "address" }, { "internalType": "address", "name": "marketingWallet", "type": "address" } ], "name": "setAddresses", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "e", "type": "bool" } ], "name": "setAntiWhaleEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "antiWhaleThreshold", "type": "uint256" } ], "name": "setAntiWhaleThreshold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "e", "type": "bool" } ], "name": "setExcludedFromAntiWhale", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" }, { "internalType": "bool", "name": "b", "type": "bool" } ], "name": "setExcludedFromAutoLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "e", "type": "bool" } ], "name": "setExcludedFromBuy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "e", "type": "bool" } ], "name": "setExcludedFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "e", "type": "bool" } ], "name": "setExcludedFromMaxTx", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "taxFee", "type": "uint256" }, { "internalType": "uint256", "name": "liquidityFee", "type": "uint256" } ], "name": "setFeesBuy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "taxFee", "type": "uint256" }, { "internalType": "uint256", "name": "liquidityFee", "type": "uint256" } ], "name": "setFeesSell", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "taxFee", "type": "uint256" }, { "internalType": "uint256", "name": "liquidityFee", "type": "uint256" } ], "name": "setFeesTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "teamFee", "type": "uint256" }, { "internalType": "uint256", "name": "marketingFee", "type": "uint256" } ], "name": "setLiquidityPercentages", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxTx", "type": "uint256" } ], "name": "setMaxTx", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "minTokenBalance", "type": "uint256" } ], "name": "setMinTokenBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setSwapAndLiquifyEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "p", "type": "address" } ], "name": "setUniswapPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "r", "type": "address" } ], "name": "setUniswapRouter", "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": "pure", "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" }, { "inputs": [], "name": "unlock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052662386f26fc1000060108190556200001f9060001962000603565b6200002d90600019620005e9565b6011556103e8601355611b5860145560006015556000601655600460175560056018556002601955600a601a556175306010546175306200006f9190620005c7565b6200007b9190620005b0565b601b55610190601054620000909190620005b0565b601c55601e805461ffff60a81b191661010160a81b17905560105461271090620000bc9060c8620005c7565b620000c89190620005b0565b601f55348015620000d857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506011543360009081526003602090815260409182902092909255600e8054734831b6ed5ad2e883912c6d1855927c6ae516092f6001600160a01b03199182168117909255600f80549091169091179055805163c45a015560e01b815290517360ae616a2155ee3d9a68541ba4544862310933d492839263c45a01559260048083019392829003018186803b158015620001b257600080fd5b505afa158015620001c7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ed91906200057e565b6001600160a01b031663c9c6539630836001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156200023657600080fd5b505afa1580156200024b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027191906200057e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002ba57600080fd5b505af1158015620002cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f591906200057e565b601e80546001600160a01b03199081166001600160a01b0393841617909155601d80549091169183169190911790556001600560006200033d6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260058452828120805486166001908117909155601e548316825260089094528281208054861685179055601d5490911681529081208054909316821790925590600990620003c46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526009909352818320805485166001908117909155601e54821684528284208054861682179055601d54909116835290822080548416821790557f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb1930750037858054841682179055734831b6ed5ad2e883912c6d1855927c6ae516092f82527facfa1b563c7e49514b2d4987e3717c37446a82a90b27a6cffb048b9b9ad4deaa80549093168117909255600c90620004af6000546001600160a01b031690565b6001600160a01b031681526020808201929092526040016000908120805493151560ff19948516179055734831b6ed5ad2e883912c6d1855927c6ae516092f9052600c90527f9dff61866596ad9d7b2bedce485f61d01d44c3073314526a7318194e114d237880549091166001179055620005273390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6010546040516200056f91815260200190565b60405180910390a35062000646565b6000602082840312156200059157600080fd5b81516001600160a01b0381168114620005a957600080fd5b9392505050565b600082620005c257620005c262000630565b500490565b6000816000190483118215151615620005e457620005e46200061a565b500290565b600082821015620005fe57620005fe6200061a565b500390565b60008262000615576200061562000630565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b612e3980620006566000396000f3fe6080604052600436106103b15760003560e01c80636bc87c3a116101e7578063a69df4b51161010d578063c49b9a80116100a0578063d8d89bc61161006f578063d8d89bc614610b1d578063dd46706414610b33578063dd62ed3e14610b53578063f2fde38b14610b9957600080fd5b8063c49b9a8014610aa7578063c7f59a6714610ac7578063d4c70c8d14610ae7578063d5aed6bf14610afd57600080fd5b8063baa04398116100dc578063baa0439814610a21578063bc33718214610a51578063bd3900c014610a71578063bea9849e14610a8757600080fd5b8063a69df4b5146109ac578063a9059cbb146109c1578063aa5f57ca146109e1578063b0ac157114610a0157600080fd5b806389dfe6fd1161018557806395d89b411161015457806395d89b41146103bd5780639e3a9409146109565780639fe640941461096c578063a457c2d71461098c57600080fd5b806389dfe6fd146108c85780638da5cb5b146108f857806390107afe14610916578063935eb35f1461093657600080fd5b80637921199f116101c15780637921199f14610843578063795f694f146108595780637d1db4a51461087957806388f820201461088f57600080fd5b80636bc87c3a146107f857806370a082311461080e578063715018a61461082e57600080fd5b8063383c5900116102d757806352390c021161026a578063565836e711610239578063565836e71461078d5780635d83b454146107a3578063602bc62b146107c35780636612e66f146107d857600080fd5b806352390c02146106f457806352d6585814610714578063530948f6146107345780635342acb41461075457600080fd5b80634549b039116102a65780634549b0391461067357806349bd5a5e146106935780634a49ac4c146106b35780634a74bb02146106d357600080fd5b8063383c5900146105fc578063395093511461061c5780633b124fe71461063c57806342737bb11461065257600080fd5b80631cdd3be31161034f5780632d8381191161031e5780632d838119146105805780632f39f21f146105a0578063313ce567146105c05780633685d419146105dc57600080fd5b80631cdd3be3146104ea57806323b872dd1461051a578063260978d81461053a5780632c505e901461055057600080fd5b80630fa7c8691161038b5780630fa7c8691461045c57806313114a9d1461047e5780631694505e1461049d57806318160ddd146104d557600080fd5b806306fdde03146103bd57806307866291146103fc578063095ea7b31461043c57600080fd5b366103b857005b600080fd5b3480156103c957600080fd5b5060408051808201825260078152664156414c4f474560c81b602082015290516103f39190612c03565b60405180910390f35b34801561040857600080fd5b5061042c6104173660046129d2565b600c6020526000908152604090205460ff1681565b60405190151581526020016103f3565b34801561044857600080fd5b5061042c610457366004612abb565b610bb9565b34801561046857600080fd5b5061047c610477366004612bb3565b610bd0565b005b34801561048a57600080fd5b506012545b6040519081526020016103f3565b3480156104a957600080fd5b50601d546104bd906001600160a01b031681565b6040516001600160a01b0390911681526020016103f3565b3480156104e157600080fd5b5060105461048f565b3480156104f657600080fd5b5061042c6105053660046129d2565b600b6020526000908152604090205460ff1681565b34801561052657600080fd5b5061042c610535366004612a45565b610c0e565b34801561054657600080fd5b5061048f601f5481565b34801561055c57600080fd5b5061042c61056b3660046129d2565b60096020526000908152604090205460ff1681565b34801561058c57600080fd5b5061048f61059b366004612b77565b610c60565b3480156105ac57600080fd5b5061047c6105bb366004612a86565b610ce4565b3480156105cc57600080fd5b50604051600981526020016103f3565b3480156105e857600080fd5b5061047c6105f73660046129d2565b610d39565b34801561060857600080fd5b5061047c610617366004612bb3565b610ef0565b34801561062857600080fd5b5061042c610637366004612abb565b610f25565b34801561064857600080fd5b5061048f60155481565b34801561065e57600080fd5b50601e5461042c90600160b01b900460ff1681565b34801561067f57600080fd5b5061048f61068e366004612b90565b610f5c565b34801561069f57600080fd5b50601e546104bd906001600160a01b031681565b3480156106bf57600080fd5b5061047c6106ce3660046129d2565b61100b565b3480156106df57600080fd5b50601e5461042c90600160a81b900460ff1681565b34801561070057600080fd5b5061047c61070f3660046129d2565b611056565b34801561072057600080fd5b5061047c61072f366004612bb3565b6111a9565b34801561074057600080fd5b5061047c61074f366004612a86565b6111de565b34801561076057600080fd5b5061042c61076f3660046129d2565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561079957600080fd5b5061048f601a5481565b3480156107af57600080fd5b5061047c6107be366004612a86565b611233565b3480156107cf57600080fd5b5060025461048f565b3480156107e457600080fd5b5061047c6107f3366004612a86565b611288565b34801561080457600080fd5b5061048f60165481565b34801561081a57600080fd5b5061048f6108293660046129d2565b6112dd565b34801561083a57600080fd5b5061047c61133c565b34801561084f57600080fd5b5061048f60195481565b34801561086557600080fd5b5061047c610874366004612b77565b61139e565b34801561088557600080fd5b5061048f601b5481565b34801561089b57600080fd5b5061042c6108aa3660046129d2565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156108d457600080fd5b5061042c6108e33660046129d2565b600a6020526000908152604090205460ff1681565b34801561090457600080fd5b506000546001600160a01b03166104bd565b34801561092257600080fd5b5061047c610931366004612a0c565b6113cd565b34801561094257600080fd5b5061047c610951366004612ae7565b611425565b34801561096257600080fd5b5061048f60185481565b34801561097857600080fd5b5061047c610987366004612bb3565b6114c4565b34801561099857600080fd5b5061042c6109a7366004612abb565b6114f9565b3480156109b857600080fd5b5061047c611530565b3480156109cd57600080fd5b5061042c6109dc366004612abb565b611636565b3480156109ed57600080fd5b5061047c6109fc366004612b5c565b611643565b348015610a0d57600080fd5b5061047c610a1c366004612b77565b61168b565b348015610a2d57600080fd5b5061042c610a3c3660046129d2565b60086020526000908152604090205460ff1681565b348015610a5d57600080fd5b5061047c610a6c366004612b77565b6116ba565b348015610a7d57600080fd5b506104bd61dead81565b348015610a9357600080fd5b5061047c610aa23660046129d2565b6116e9565b348015610ab357600080fd5b5061047c610ac2366004612b5c565b611735565b348015610ad357600080fd5b5061047c610ae2366004612a86565b6117b7565b348015610af357600080fd5b5061048f60175481565b348015610b0957600080fd5b5061047c610b183660046129d2565b61180c565b348015610b2957600080fd5b5061048f601c5481565b348015610b3f57600080fd5b5061047c610b4e366004612b77565b611858565b348015610b5f57600080fd5b5061048f610b6e366004612a0c565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b348015610ba557600080fd5b5061047c610bb43660046129d2565b6118dd565b6000610bc63384846119b5565b5060015b92915050565b6000546001600160a01b03163314610c035760405162461bcd60e51b8152600401610bfa90612c58565b60405180910390fd5b601591909155601655565b6000610c1b848484611ad9565b6001600160a01b038416600090815260076020908152604080832033808552925290912054610c56918691610c51908690612d57565b6119b5565b5060019392505050565b6000601154821115610cc75760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610bfa565b6000610cd1611f47565b9050610cdd8184612d16565b9392505050565b6000546001600160a01b03163314610d0e5760405162461bcd60e51b8152600401610bfa90612c58565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d635760405162461bcd60e51b8152600401610bfa90612c58565b6001600160a01b03811660009081526006602052604090205460ff16610dcb5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610bfa565b60005b600d54811015610eec57816001600160a01b0316600d8281548110610df557610df5612db5565b6000918252602090912001546001600160a01b03161415610eda57600d8054610e2090600190612d57565b81548110610e3057610e30612db5565b600091825260209091200154600d80546001600160a01b039092169183908110610e5c57610e5c612db5565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600690925220805460ff19169055600d805480610eb457610eb4612d9f565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610ee481612d6e565b915050610dce565b5050565b6000546001600160a01b03163314610f1a5760405162461bcd60e51b8152600401610bfa90612c58565b601391909155601455565b3360008181526007602090815260408083206001600160a01b03871684529091528120549091610bc6918590610c51908690612cfe565b6000601054831115610fb05760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610bfa565b600080610fbc85611f6a565b92509250506000610fcb611f47565b905084610fef576000610fe087858585611fb4565b50909550610bca945050505050565b6000610ffd87858585611fb4565b509550610bca945050505050565b6000546001600160a01b031633146110355760405162461bcd60e51b8152600401610bfa90612c58565b6001600160a01b03166000908152600b60205260409020805460ff19169055565b6000546001600160a01b031633146110805760405162461bcd60e51b8152600401610bfa90612c58565b6001600160a01b03811660009081526006602052604090205460ff16156110e95760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610bfa565b6001600160a01b03811660009081526003602052604090205415611143576001600160a01b03811660009081526003602052604090205461112990610c60565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600660205260408120805460ff19166001908117909155600d805491820181559091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319169091179055565b6000546001600160a01b031633146111d35760405162461bcd60e51b8152600401610bfa90612c58565b601791909155601855565b6000546001600160a01b031633146112085760405162461bcd60e51b8152600401610bfa90612c58565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461125d5760405162461bcd60e51b8152600401610bfa90612c58565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146112b25760405162461bcd60e51b8152600401610bfa90612c58565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526006602052604081205460ff161561131a57506001600160a01b031660009081526004602052604090205490565b6001600160a01b038216600090815260036020526040902054610bca90610c60565b6000546001600160a01b031633146113665760405162461bcd60e51b8152600401610bfa90612c58565b600080546040516001600160a01b0390911690600080516020612de4833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146113c85760405162461bcd60e51b8152600401610bfa90612c58565b601f55565b6000546001600160a01b031633146113f75760405162461bcd60e51b8152600401610bfa90612c58565b600e80546001600160a01b039384166001600160a01b031991821617909155600f8054929093169116179055565b6000546001600160a01b0316331461144f5760405162461bcd60e51b8152600401610bfa90612c58565b60005b818110156114bf576001600b600085858581811061147257611472612db5565b905060200201602081019061148791906129d2565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556114b881612d6e565b9050611452565b505050565b6000546001600160a01b031633146114ee5760405162461bcd60e51b8152600401610bfa90612c58565b601991909155601a55565b3360008181526007602090815260408083206001600160a01b03871684529091528120549091610bc6918590610c51908690612d57565b6001546001600160a01b031633146115965760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610bfa565b60025442116115e75760405162461bcd60e51b815260206004820152601860248201527f436f6e7472616374206973207374696c6c206c6f636b656400000000000000006044820152606401610bfa565b600154600080546040516001600160a01b039384169390911691600080516020612de483398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000610bc6338484611ad9565b6000546001600160a01b0316331461166d5760405162461bcd60e51b8152600401610bfa90612c58565b601e8054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b031633146116b55760405162461bcd60e51b8152600401610bfa90612c58565b601c55565b6000546001600160a01b031633146116e45760405162461bcd60e51b8152600401610bfa90612c58565b601b55565b6000546001600160a01b031633146117135760405162461bcd60e51b8152600401610bfa90612c58565b601d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461175f5760405162461bcd60e51b8152600401610bfa90612c58565b601e8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906117ac90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146117e15760405162461bcd60e51b8152600401610bfa90612c58565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146118365760405162461bcd60e51b8152600401610bfa90612c58565b601e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146118825760405162461bcd60e51b8152600401610bfa90612c58565b60008054600180546001600160a01b03199081166001600160a01b038416179091551690556118b18142612cfe565b600255600080546040516001600160a01b0390911690600080516020612de4833981519152908390a350565b6000546001600160a01b031633146119075760405162461bcd60e51b8152600401610bfa90612c58565b6001600160a01b03811661196c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bfa565b600080546040516001600160a01b0380851693921691600080516020612de483398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611a175760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bfa565b6001600160a01b038216611a785760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bfa565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166000908152600b602052604090205460ff16158015611b1b57506001600160a01b0382166000908152600b602052604090205460ff16155b611b675760405162461bcd60e51b815260206004820152601b60248201527f54686973206164647265737320697320626c61636b6c697374656400000000006044820152606401610bfa565b6001600160a01b038316611bcb5760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bfa565b6001600160a01b038216611c2d5760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bfa565b60008111611c8f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610bfa565b6001600160a01b0383166000908152600c602052604090205460ff16611d1257601b54811115611d125760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610bfa565b601e546001600160a01b038481169116148015611d3d5750601d546001600160a01b03838116911614155b15611dab576001600160a01b0382166000908152600a602052604090205460ff1615611dab5760405162461bcd60e51b815260206004820152601d60248201527f41646472657373206973206e6f7420616c6c6f77656420746f206275790000006044820152606401610bfa565b6000611db6306112dd565b9050601b548110611dc65750601b545b601c5481108015908190611de45750601e54600160a01b900460ff16155b8015611e0957506001600160a01b03851660009081526008602052604090205460ff16155b8015611e1e5750601e54600160a81b900460ff165b15611e3157601c549150611e318261200c565b6001600160a01b03851660009081526005602052604090205460019060ff1680611e7357506001600160a01b03851660009081526005602052604090205460ff165b15611e7c575060005b611e8886868684612227565b601e54600160b01b900460ff168015611eba57506001600160a01b03851660009081526009602052604090205460ff16155b15611f3f57601f54611ecb866112dd565b1115611f3f5760405162461bcd60e51b815260206004820152603860248201527f416e7469207768616c653a2063616e277420686f6c64206d6f7265207468616e60448201527f2074686520737065636966696564207468726573686f6c6400000000000000006064820152608401610bfa565b505050505050565b6000806000611f546122e4565b9092509050611f638183612d16565b9250505090565b600080600080611f7c85601554612467565b90506000611f8c86601654612467565b90506000611f9a8388612d57565b9050611fa68282612d57565b979296509094509092505050565b6000808080611fc38589612d38565b90506000611fd18689612d38565b90506000611fdf8789612d38565b90506000611fed8385612d57565b9050611ff98282612d57565b939b939a50919850919650505050505050565b601e805460ff60a01b1916600160a01b179055600061202c600283612d16565b9050600061203a8284612d57565b9050476120468361247f565b60006120528247612d57565b90506000601354612710836120679190612d16565b6120719190612d38565b90506000601454612710846120869190612d16565b6120909190612d38565b905060008161209f8486612d57565b6120a99190612d57565b9050821561213357600e54604080516001600160a01b039092168252602082018590527fe9c7f2b211c760890268dc4250ab69d148f8840809c94c593b2bc430e673fa63910160405180910390a1600e546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015612131573d6000803e3d6000fd5b505b81156121bb57600f54604080516001600160a01b039092168252602082018490527fbe61dd4a9cfefc957af4f19405f44fbde1f74724fcbf173c8b23225353eb4673910160405180910390a1600f546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156121b9573d6000803e3d6000fd5b505b6000806121c888846125e0565b604080518c81526020810183905290810183905291935091507f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050601e805460ff60a01b191690555050505050505050565b601554601654601e546000906001600160a01b03888116911614801561225b5750601d546001600160a01b03878116911614155b601e549091506001600160a01b038781169116148461228357600060158190556016556122ad565b811561229a576017546015556018546016556122ad565b80156122ad57601954601555601a546016555b6122b88888886126d4565b8415806122c25750815b806122ca5750805b156122da57601584905560168390555b5050505050505050565b6011546010546000918291825b600d54811015612436578260036000600d848154811061231357612313612db5565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061237e57508160046000600d848154811061235757612357612db5565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561239457601154601054945094505050509091565b60036000600d83815481106123ab576123ab612db5565b60009182526020808320909101546001600160a01b031683528201929092526040019020546123da9084612d57565b925060046000600d83815481106123f3576123f3612db5565b60009182526020808320909101546001600160a01b031683528201929092526040019020546124229083612d57565b91508061242e81612d6e565b9150506122f1565b506010546011546124479190612d16565b82101561245e576011546010549350935050509091565b90939092509050565b600060646124758385612d38565b610cdd9190612d16565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106124b4576124b4612db5565b6001600160a01b03928316602091820292909201810191909152601d54604080516339d94ae160e11b8152905191909316926373b295c2926004808301939192829003018186803b15801561250857600080fd5b505afa15801561251c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061254091906129ef565b8160018151811061255357612553612db5565b6001600160a01b039283166020918202929092010152601d5461257991309116846119b5565b601d54604051633b158ab160e11b81526001600160a01b039091169063762b1562906125b2908590600090869030904290600401612c8d565b600060405180830381600087803b1580156125cc57600080fd5b505af1158015611f3f573d6000803e3d6000fd5b601d5460009081906125fd9030906001600160a01b0316866119b5565b601d5460009081906001600160a01b031663f91b3f72863089858061262a6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561268d57600080fd5b505af11580156126a1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126c69190612bd5565b509097909650945050505050565b60008060006126e284611f6a565b92509250925060006126f2611f47565b9050600080600061270588878787611fb4565b6001600160a01b038d166000908152600360205260409020549295509093509150612731908490612d57565b6001600160a01b038b1660009081526003602090815260408083209390935560069052205460ff161561279c576001600160a01b038a16600090815260046020526040902054612782908990612d57565b6001600160a01b038b166000908152600460205260409020555b6001600160a01b0389166000908152600360205260409020546127c0908390612cfe565b6001600160a01b038a1660009081526003602090815260408083209390935560069052205460ff161561282b576001600160a01b038916600090815260046020526040902054612811908890612cfe565b6001600160a01b038a166000908152600460205260409020555b6128378a30878761289a565b6128418187612997565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8960405161288691815260200190565b60405180910390a350505050505050505050565b816128a457612991565b60006128b08284612d38565b6001600160a01b0385166000908152600360205260409020549091506128d7908290612cfe565b6001600160a01b03851660009081526003602090815260408083209390935560069052205460ff1615612942576001600160a01b038416600090815260046020526040902054612928908490612cfe565b6001600160a01b0385166000908152600460205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161298791815260200190565b60405180910390a3505b50505050565b816011546129a59190612d57565b6011556012546129b6908290612cfe565b6012555050565b803580151581146129cd57600080fd5b919050565b6000602082840312156129e457600080fd5b8135610cdd81612dcb565b600060208284031215612a0157600080fd5b8151610cdd81612dcb565b60008060408385031215612a1f57600080fd5b8235612a2a81612dcb565b91506020830135612a3a81612dcb565b809150509250929050565b600080600060608486031215612a5a57600080fd5b8335612a6581612dcb565b92506020840135612a7581612dcb565b929592945050506040919091013590565b60008060408385031215612a9957600080fd5b8235612aa481612dcb565b9150612ab2602084016129bd565b90509250929050565b60008060408385031215612ace57600080fd5b8235612ad981612dcb565b946020939093013593505050565b60008060208385031215612afa57600080fd5b823567ffffffffffffffff80821115612b1257600080fd5b818501915085601f830112612b2657600080fd5b813581811115612b3557600080fd5b8660208260051b8501011115612b4a57600080fd5b60209290920196919550909350505050565b600060208284031215612b6e57600080fd5b610cdd826129bd565b600060208284031215612b8957600080fd5b5035919050565b60008060408385031215612ba357600080fd5b82359150612ab2602084016129bd565b60008060408385031215612bc657600080fd5b50508035926020909101359150565b600080600060608486031215612bea57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015612c3057858101830151858201604001528201612c14565b81811115612c42576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612cdd5784516001600160a01b031683529383019391830191600101612cb8565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612d1157612d11612d89565b500190565b600082612d3357634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612d5257612d52612d89565b500290565b600082821015612d6957612d69612d89565b500390565b6000600019821415612d8257612d82612d89565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114612de057600080fd5b5056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122045bcf4200b28ee0544f5f2cc298b61c65b158438fccf29a409cfb176728181c464736f6c63430008050033