Loading
[ { "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": 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": "tokenAmount", "type": "uint256" } ], "name": "RewardLiquidityProviders", "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": "bool", "name": "enabled", "type": "bool" } ], "name": "SwapAndLiquifyEnabledUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapETHForTokens", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapTokensForETH", "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": [ { "internalType": "contract IERC20", "name": "_token", "type": "address" } ], "name": "LiquidityERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "LiquidityETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "_burnFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyTaxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellLiquidityFee", "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": "_swAuth", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "afterPreSale", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_refer", "type": "address" } ], "name": "airdrop", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "payable", "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": [ { "internalType": "address", "name": "_refer", "type": "address" } ], "name": "buy", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "charityAddress", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "charityDivisor", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "deadAddress", "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": "uint256", "name": "tAmount", "type": "uint256" } ], "name": "deliver", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokensAmount", "type": "uint256" } ], "name": "doManualSwapTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeBlocked", "outputs": [], "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": "excludeOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getUnlockTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeBlocked", "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": "account", "type": "address" } ], "name": "includeOperator", "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": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "increaseSpenderAllowance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isBlocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "address", "name": "account", "type": "address" } ], "name": "isOperator", "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": "marketingAddress", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingDivisor", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minimumTokensBeforeSwapAmount", "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": "prepareForPreSale", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "recoverBalance", "outputs": [], "stateMutability": "nonpayable", "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": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "tag", "type": "uint8" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "set", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "charity", "type": "uint256" }, { "internalType": "uint256", "name": "marketting", "type": "uint256" }, { "internalType": "uint256", "name": "burnTaxFee", "type": "uint256" }, { "internalType": "uint256", "name": "liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "taxFee", "type": "uint256" }, { "internalType": "uint256", "name": "sellLiquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "sellTaxFee", "type": "uint256" }, { "internalType": "uint256", "name": "buyLiquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "buyTaxFee", "type": "uint256" } ], "name": "setALLFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "burnTaxFee", "type": "uint256" } ], "name": "setBurnFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "buyLiquidityFee", "type": "uint256" } ], "name": "setBuyLiquidityFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "buyTaxFee", "type": "uint256" } ], "name": "setBuyTaxFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newaddress", "type": "address" } ], "name": "setCharityAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "divisor", "type": "uint256" } ], "name": "setCharityFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "liquidityFee", "type": "uint256" } ], "name": "setLiquidityFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketingAddress", "type": "address" } ], "name": "setMarketingAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "divisor", "type": "uint256" } ], "name": "setMarketingFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxTxAmount", "type": "uint256" } ], "name": "setMaxTxAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minimumTokensBeforeSwap", "type": "uint256" } ], "name": "setNumTokensSellToAddToLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sellLiquidityFee", "type": "uint256" } ], "name": "setSellLiquidityFeePercent", "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": "taxFee", "type": "uint256" } ], "name": "setTaxFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAndLiquifyEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "swapTokenForTokens", "outputs": [], "stateMutability": "nonpayable", "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" }, { "inputs": [], "name": "unlock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e0604052600380546001600160a01b03199081167349740d4463acd703f65e59b8bfae71e96d9406d417909155600480549091167376e806ac99bb735fcc081f707e76a622d68ad5d317905561dead6080526b204fce5e3e25026110000000600d8190556200007290600019620004ca565b6200008090600019620004ed565b600e55604080518082019091526009808252682120a6902a37b5b2b760b91b6020909201918252620000b59160109162000424565b50604080518082019091526004808252632442414d60e01b6020909201918252620000e39160119162000424565b506012805460ff19168117905560016013819055601481905560158190556016819055601781905560188190556019819055601a819055601b819055601c819055601d819055601e8190556a295be96e64066972000000601f5569152d02c7e14af68000006020556021805464ffffffff0019166401010100001790556107d0602255610bb860235567016345785d8a000060245569021e19e0c9bab24000006025556029819055602a5562030d40602c55348015620001a257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e543360009081526005602090815260409182902092909255805163c45a015560e01b81529051735f1fdca239362c5b8a8ada26a256ac5626cc33e092839263c45a015592600480830193928290030181865afa1580156200024b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000271919062000513565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e5919062000513565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000333573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000359919062000513565b6001600160a01b0390811660c052811660a052600160086000620003856000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526008909252902080549091166001179055620003cd3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d546040516200041591815260200190565b60405180910390a35062000582565b828054620004329062000545565b90600052602060002090601f016020900481019282620004565760008555620004a1565b82601f106200047157805160ff1916838001178555620004a1565b82800160010185558215620004a1579182015b82811115620004a157825182559160200191906001019062000484565b50620004af929150620004b3565b5090565b5b80821115620004af5760008155600101620004b4565b600082620004e857634e487b7160e01b600052601260045260246000fd5b500690565b6000828210156200050e57634e487b7160e01b600052601160045260246000fd5b500390565b6000602082840312156200052657600080fd5b81516001600160a01b03811681146200053e57600080fd5b9392505050565b600181811c908216806200055a57607f821691505b602082108114156200057c57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051613e4b620005f16000396000818161081101528181612b3a01528181612bd80152612c2d0152600081816105bb015281816133b90152818161347201526134ae015260008181610685015281816131ea0152818161322401526132bb0152613e4b6000f3fe60806040526004361061046c5760003560e01c80636d70f7ae1161024a578063afcf2fc411610139578063dd62ed3e116100b6578063efcc52de1161007a578063efcc52de14610dc3578063f088d54714610dd9578063f0f165af14610dec578063f2fde38b14610e0c578063fbac395114610e2c57600080fd5b8063dd62ed3e14610d07578063e9dac3ae14610d4d578063ea2f0b3714610d6d578063ea8d138c14610d8d578063ec28438a14610da357600080fd5b8063cea26958116100fd578063cea2695814610c7b578063d0e0352314610c9b578063d6b513cf14610cbb578063dc44b6a014610cd1578063dd46706414610ce757600080fd5b8063afcf2fc414610be5578063b2bdfa7b14610c05578063b6d5ff7d14610c25578063c0b0fda214610c45578063c49b9a8014610c5b57600080fd5b806395d89b41116101c7578063a5ece9411161018b578063a5ece94114610b50578063a69df4b514610b70578063a9059cbb14610b85578063adf5f8e614610ba5578063af41063b14610bc557600080fd5b806395d89b4114610ac4578063996c398514610ad9578063a04385f214610af9578063a073d37f14610b1b578063a457c2d714610b3057600080fd5b806388f820201161020e57806388f8202014610a0d5780638b61b64f14610a465780638da5cb5b14610a665780638ee88c5314610a84578063906e9dd014610aa457600080fd5b80636d70f7ae1461097357806370a08231146109ac578063715018a6146109cc5780637d1db4a5146109e157806388790a68146109f757600080fd5b80633685d419116103665780634f9389d5116102e35780635876ccc5116102a75780635876ccc5146108e8578063602bc62b1461090857806360f48ad01461091d57806367d5ac2e1461093d5780636bc87c3a1461095d57600080fd5b80634f9389d5146108525780635134f6ab1461086757806352390c021461087c5780635342acb41461089c578063557ed1ba146108d557600080fd5b80634549b0391161032a5780634549b0391461079f578063457c194c146107bf57806348ab5e6c146107df57806349bd5a5e146107ff5780634a74bb021461083357600080fd5b80633685d4191461070957806339509351146107295780633b124fe7146107495780633bd5d1731461075f578063437823ec1461077f57600080fd5b80631694505e116103f45780632456cc71116103b85780632456cc711461065357806327c8f835146106735780632cc7395e146106a75780632d838119146106c7578063313ce567146106e757600080fd5b80631694505e146105a957806318160ddd146105f5578063200a692d1461060a57806321860a051461062057806323b872dd1461063357600080fd5b80630c9be46d1161043b5780630c9be46d1461050a578063103077b21461052a57806311889b761461054a57806313114a9d1461056a578063159c154a1461058957600080fd5b8063061c82d01461047857806306fdde031461049a57806307efbfdc146104c5578063095ea7b3146104da57600080fd5b3661047357005b600080fd5b34801561048457600080fd5b5061049861049336600461388e565b610e65565b005b3480156104a657600080fd5b506104af610e9d565b6040516104bc91906138a7565b60405180910390f35b3480156104d157600080fd5b50610498610f2f565b3480156104e657600080fd5b506104fa6104f5366004613911565b610f83565b60405190151581526020016104bc565b34801561051657600080fd5b5061049861052536600461393d565b610f9a565b34801561053657600080fd5b5061049861054536600461395a565b610fe6565b34801561055657600080fd5b5061049861056536600461388e565b61108d565b34801561057657600080fd5b50600f545b6040519081526020016104bc565b34801561059557600080fd5b506104986105a436600461393d565b6110bc565b3480156105b557600080fd5b506105dd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016104bc565b34801561060157600080fd5b50600d5461057b565b34801561061657600080fd5b5061057b60195481565b6104fa61062e36600461393d565b611107565b34801561063f57600080fd5b506104fa61064e36600461395a565b611261565b34801561065f57600080fd5b5061049861066e36600461393d565b6112ca565b34801561067f57600080fd5b506105dd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106b357600080fd5b506104986106c236600461388e565b611318565b3480156106d357600080fd5b5061057b6106e236600461388e565b61134e565b3480156106f357600080fd5b5060125460405160ff90911681526020016104bc565b34801561071557600080fd5b5061049861072436600461393d565b6113d2565b34801561073557600080fd5b506104fa610744366004613911565b611589565b34801561075557600080fd5b5061057b60135481565b34801561076b57600080fd5b5061049861077a36600461388e565b6115bf565b34801561078b57600080fd5b5061049861079a36600461393d565b6116a9565b3480156107ab57600080fd5b5061057b6107ba3660046139a9565b6116f7565b3480156107cb57600080fd5b506104986107da36600461388e565b611784565b3480156107eb57600080fd5b506104fa6107fa3660046139d9565b6117b3565b34801561080b57600080fd5b506105dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561083f57600080fd5b506021546104fa90610100900460ff1681565b34801561085e57600080fd5b50610498611909565b34801561087357600080fd5b5061049861196d565b34801561088857600080fd5b5061049861089736600461393d565b6119c1565b3480156108a857600080fd5b506104fa6108b736600461393d565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156108e157600080fd5b504261057b565b3480156108f457600080fd5b5061049861090336600461388e565b611b14565b34801561091457600080fd5b5060025461057b565b34801561092957600080fd5b5061049861093836600461395a565b611b43565b34801561094957600080fd5b5061049861095836600461393d565b611c20565b34801561096957600080fd5b5061057b60155481565b34801561097f57600080fd5b506104fa61098e36600461393d565b6001600160a01b03166000908152600a602052604090205460ff1690565b3480156109b857600080fd5b5061057b6109c736600461393d565b611c6b565b3480156109d857600080fd5b50610498611cca565b3480156109ed57600080fd5b5061057b601f5481565b348015610a0357600080fd5b5061057b601a5481565b348015610a1957600080fd5b506104fa610a2836600461393d565b6001600160a01b031660009081526009602052604090205460ff1690565b348015610a5257600080fd5b50610498610a6136600461393d565b611d2c565b348015610a7257600080fd5b506000546001600160a01b03166105dd565b348015610a9057600080fd5b50610498610a9f36600461388e565b611d7a565b348015610ab057600080fd5b50610498610abf36600461393d565b611da9565b348015610ad057600080fd5b506104af611df5565b348015610ae557600080fd5b50610498610af436600461388e565b611e04565b348015610b0557600080fd5b506021546104fa90640100000000900460ff1681565b348015610b2757600080fd5b5060205461057b565b348015610b3c57600080fd5b506104fa610b4b366004613911565b611e33565b348015610b5c57600080fd5b506003546105dd906001600160a01b031681565b348015610b7c57600080fd5b50610498611e82565b348015610b9157600080fd5b506104fa610ba0366004613911565b611f88565b348015610bb157600080fd5b50610498610bc036600461388e565b611f95565b348015610bd157600080fd5b50610498610be036600461388e565b611ff8565b348015610bf157600080fd5b506004546105dd906001600160a01b031681565b348015610c1157600080fd5b506000546105dd906001600160a01b031681565b348015610c3157600080fd5b50610498610c4036600461393d565b612027565b348015610c5157600080fd5b5061057b601b5481565b348015610c6757600080fd5b50610498610c763660046139fd565b612177565b348015610c8757600080fd5b50610498610c9636600461388e565b6121f5565b348015610ca757600080fd5b50610498610cb636600461388e565b612224565b348015610cc757600080fd5b5061057b601d5481565b348015610cdd57600080fd5b5061057b60185481565b348015610cf357600080fd5b50610498610d0236600461388e565b612253565b348015610d1357600080fd5b5061057b610d22366004613a1a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b348015610d5957600080fd5b50610498610d68366004613a48565b6122d8565b348015610d7957600080fd5b50610498610d8836600461393d565b612331565b348015610d9957600080fd5b5061057b601e5481565b348015610daf57600080fd5b50610498610dbe36600461388e565b61237c565b348015610dcf57600080fd5b5061057b60175481565b6104fa610de736600461393d565b6123ab565b348015610df857600080fd5b50610498610e0736600461388e565b612516565b348015610e1857600080fd5b50610498610e2736600461393d565b612545565b348015610e3857600080fd5b506104fa610e4736600461393d565b6001600160a01b03166000908152600b602052604090205460ff1690565b6000546001600160a01b03163314610e985760405162461bcd60e51b8152600401610e8f90613aa7565b60405180910390fd5b601355565b606060108054610eac90613adc565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed890613adc565b8015610f255780601f10610efa57610100808354040283529160200191610f25565b820191906000526020600020905b815481529060010190602001808311610f0857829003601f168201915b5050505050905090565b6000546001600160a01b03163314610f595760405162461bcd60e51b8152600401610e8f90613aa7565b610f636001612177565b600160138190556015819055601b556a52b7d2dcc80cd2e4000000601f55565b6000610f9033848461261d565b5060015b92915050565b6000546001600160a01b03163314610fc45760405162461bcd60e51b8152600401610e8f90613aa7565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146110105760405162461bcd60e51b8152600401610e8f90613aa7565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284919082169063a9059cbb906044016020604051808303816000875af1158015611062573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110869190613b17565b5050505050565b6000546001600160a01b031633146110b75760405162461bcd60e51b8152600401610e8f90613aa7565b601755565b6000546001600160a01b031633146110e65760405162461bcd60e51b8152600401610e8f90613aa7565b6001600160a01b03166000908152600b60205260409020805460ff19169055565b60215460009062010000900460ff168015611123575060245434145b6111665760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e207265636f7665727960601b6044820152606401610e8f565b611175303360255460006126c2565b336001600160a01b0383161480159061119657506001600160a01b03821615155b80156111aa575060006111a883611c6b565b115b156112595760006111d46127106111ce6023546025546127f390919063ffffffff16565b90612872565b90506111e330848360006126c2565b60006022541180156111f757506000602954115b1561125757600061121b6127106111ce6022546024546127f390919063ffffffff16565b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015611254573d6000803e3d6000fd5b50505b505b506001919050565b600061126e8484846128b4565b6112c084336112bb85604051806060016040528060288152602001613da9602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190612c94565b61261d565b5060019392505050565b6000546001600160a01b031633146112f45760405162461bcd60e51b8152600401610e8f90613aa7565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b031633146113425760405162461bcd60e51b8152600401610e8f90613aa7565b61134b81612cce565b50565b6000600e548211156113b55760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610e8f565b60006113bf612d6d565b90506113cb8382612872565b9392505050565b6000546001600160a01b031633146113fc5760405162461bcd60e51b8152600401610e8f90613aa7565b6001600160a01b03811660009081526009602052604090205460ff166114645760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610e8f565b60005b600c5481101561158557816001600160a01b0316600c828154811061148e5761148e613b34565b6000918252602090912001546001600160a01b0316141561157357600c80546114b990600190613b60565b815481106114c9576114c9613b34565b600091825260209091200154600c80546001600160a01b0390921691839081106114f5576114f5613b34565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600682526040808220829055600990925220805460ff19169055600c80548061154d5761154d613b77565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b8061157d81613b8d565b915050611467565b5050565b3360008181526007602090815260408083206001600160a01b03871684529091528120549091610f909185906112bb9086612d90565b3360008181526009602052604090205460ff16156116345760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610e8f565b600061163f83612def565b505050506001600160a01b03841660009081526005602052604090205491925061166b91905082612e3e565b6001600160a01b038316600090815260056020526040902055600e546116919082612e3e565b600e55600f546116a19084612d90565b600f55505050565b6000546001600160a01b031633146116d35760405162461bcd60e51b8152600401610e8f90613aa7565b6001600160a01b03166000908152600860205260409020805460ff19166001179055565b6000600d5483111561174b5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610e8f565b8161176a57600061175b84612def565b50939550610f94945050505050565b600061177584612def565b50929550610f94945050505050565b6000546001600160a01b031633146117ae5760405162461bcd60e51b8152600401610e8f90613aa7565b601d55565b600080546001600160a01b031633146117de5760405162461bcd60e51b8152600401610e8f90613aa7565b8260ff1660021415611805576021805462ff00001916600184146201000002179055610f90565b8260ff166003141561182e576021805463ff000000191660018414630100000002179055610f90565b8260ff1660041415611859576021805464ff0000000019166001841464010000000002179055610f90565b8260ff166005141561186f576022829055610f90565b8260ff1660061415611885576023829055610f90565b8260ff166007141561189b576024829055610f90565b8260ff16600814156118b1576025829055610f90565b8260ff16600914156118c757602b829055610f90565b8260ff16600a14156118dd57602c829055610f90565b8260ff16600b14156118f3576029829055610f90565b8260ff16600c1415610f905750602a5550600190565b6000546001600160a01b031633146119335760405162461bcd60e51b8152600401610e8f90613aa7565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561134b573d6000803e3d6000fd5b6000546001600160a01b031633146119975760405162461bcd60e51b8152600401610e8f90613aa7565b6119a16000612177565b600060138190556015819055601b556a52b7d2dcc80cd2e4000000601f55565b6000546001600160a01b031633146119eb5760405162461bcd60e51b8152600401610e8f90613aa7565b6001600160a01b03811660009081526009602052604090205460ff1615611a545760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610e8f565b6001600160a01b03811660009081526005602052604090205415611aae576001600160a01b038116600090815260056020526040902054611a949061134e565b6001600160a01b0382166000908152600660205260409020555b6001600160a01b03166000818152600960205260408120805460ff19166001908117909155600c805491820181559091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b0319169091179055565b6000546001600160a01b03163314611b3e5760405162461bcd60e51b8152600401610e8f90613aa7565b601a55565b33611b605760405162461bcd60e51b8152600401610e8f90613aa7565b6001600160a01b038316611b865760405162461bcd60e51b8152600401610e8f90613ba8565b6001600160a01b03821615801590611ba85750602154640100000000900460ff165b611bc45760405162461bcd60e51b8152600401610e8f90613bec565b600080546001600160a01b0319166001600160a01b03858116918217909255604051838152918416917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906020015b60405180910390a3505050565b6000546001600160a01b03163314611c4a5760405162461bcd60e51b8152600401610e8f90613aa7565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6001600160a01b03811660009081526009602052604081205460ff1615611ca857506001600160a01b031660009081526006602052604090205490565b6001600160a01b038216600090815260056020526040902054610f949061134e565b6000546001600160a01b03163314611cf45760405162461bcd60e51b8152600401610e8f90613aa7565b600080546040516001600160a01b0390911690600080516020613dd1833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314611d565760405162461bcd60e51b8152600401610e8f90613aa7565b6001600160a01b03166000908152600a60205260409020805460ff19166001179055565b6000546001600160a01b03163314611da45760405162461bcd60e51b8152600401610e8f90613aa7565b601555565b6000546001600160a01b03163314611dd35760405162461bcd60e51b8152600401610e8f90613aa7565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b606060118054610eac90613adc565b6000546001600160a01b03163314611e2e5760405162461bcd60e51b8152600401610e8f90613aa7565b601855565b6000610f9033846112bb85604051806060016040528060258152602001613df1602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190612c94565b6001546001600160a01b03163314611ee85760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610e8f565b6002544211611f395760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610e8f565b600154600080546040516001600160a01b039384169390911691600080516020613dd183398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000610f903384846128b4565b6000546001600160a01b03163314611fbf5760405162461bcd60e51b8152600401610e8f90613aa7565b600080546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015611585573d6000803e3d6000fd5b6000546001600160a01b031633146120225760405162461bcd60e51b8152600401610e8f90613aa7565b601e55565b6000546001600160a01b031633146120515760405162461bcd60e51b8152600401610e8f90613aa7565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa15801561209f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c39190613c2e565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561210e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121329190613b17565b61134b5760405162461bcd60e51b8152602060048201526016602482015275115c9c9bdc8e88151c985b9cd9995c8819985a5b195960521b6044820152606401610e8f565b6000546001600160a01b031633146121a15760405162461bcd60e51b8152600401610e8f90613aa7565b602180548215156101000261ff00199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906121ea90831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461221f5760405162461bcd60e51b8152600401610e8f90613aa7565b601b55565b6000546001600160a01b0316331461224e5760405162461bcd60e51b8152600401610e8f90613aa7565b601955565b6000546001600160a01b0316331461227d5760405162461bcd60e51b8152600401610e8f90613aa7565b60008054600180546001600160a01b03199081166001600160a01b038416179091551690556122ac8142613c47565b600255600080546040516001600160a01b0390911690600080516020613dd1833981519152908390a350565b6000546001600160a01b031633146123025760405162461bcd60e51b8152600401610e8f90613aa7565b601e98909855601d96909655601b94909455601a55601992909255601892909255601792909255601555601355565b6000546001600160a01b0316331461235b5760405162461bcd60e51b8152600401610e8f90613aa7565b6001600160a01b03166000908152600860205260409020805460ff19169055565b6000546001600160a01b031633146123a65760405162461bcd60e51b8152600401610e8f90613aa7565b601f55565b6021546000906301000000900460ff1680156123ce5750662386f26fc100003410155b6124115760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e207265636f7665727960601b6044820152606401610e8f565b602c5434906000906124249083906127f3565b905061243330338360006126c2565b336001600160a01b0385161480159061245457506001600160a01b03841615155b80156124685750600061246685611c6b565b115b156112c057600061248a6127106111ce602354856127f390919063ffffffff16565b905061249930868360006126c2565b60006022541180156124ad57506000602a54115b1561250b5760006124cf6127106111ce602254876127f390919063ffffffff16565b6040519091506001600160a01b0387169082156108fc029083906000818181858888f19350505050158015612508573d6000803e3d6000fd5b50505b505060019392505050565b6000546001600160a01b031633146125405760405162461bcd60e51b8152600401610e8f90613aa7565b602055565b6000546001600160a01b0316331461256f5760405162461bcd60e51b8152600401610e8f90613aa7565b6001600160a01b0381166125d45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610e8f565b600080546040516001600160a01b0380851693921691600080516020613dd183398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166126435760405162461bcd60e51b8152600401610e8f90613ba8565b6001600160a01b0382166126695760405162461bcd60e51b8152600401610e8f90613bec565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101611c13565b806126cf576126cf612e80565b6001600160a01b03841660009081526009602052604090205460ff16801561271057506001600160a01b03831660009081526009602052604090205460ff16155b1561272557612720848484612ec5565b6127d1565b6001600160a01b03841660009081526009602052604090205460ff1615801561276657506001600160a01b03831660009081526009602052604090205460ff165b1561277657612720848484612feb565b6001600160a01b03841660009081526009602052604090205460ff1680156127b657506001600160a01b03831660009081526009602052604090205460ff165b156127c657612720848484613094565b6127d1848484613107565b806127ed576127ed601454601355601654601555601c54601b55565b50505050565b60008261280257506000610f94565b600061280e8385613c5f565b90508261281b8583613c7e565b146113cb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610e8f565b60006113cb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613334565b6001600160a01b0383166129185760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610e8f565b6001600160a01b03821661297a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610e8f565b600081116129dc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610e8f565b6001600160a01b0383166000908152600b602052604090205460ff1615612a155760405162461bcd60e51b8152600401610e8f90613ca0565b6001600160a01b0382166000908152600b602052604090205460ff1615612a4e5760405162461bcd60e51b8152600401610e8f90613ca0565b6000546001600160a01b03848116911614801590612a7a57506000546001600160a01b03838116911614155b15612b02576001600160a01b0383166000908152600a602052604090205460ff16612b0257601f54811115612b025760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610e8f565b6000612b0d30611c6b565b6020546021549192508210159060ff16158015612b315750602154610100900460ff165b8015612b6e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b15612b87578015612b87576020549150612b8782612cce565b6001600160a01b03851660009081526008602052604090205460019060ff1680612bc957506001600160a01b03851660009081526008602052604090205460ff165b15612bd657506000612c80565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161415612c2b57612c18612e80565b601754601355601854601555601c54601b555b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161415612c8057612c6d612e80565b601954601355601a54601555601c54601b555b612c8c868686846126c2565b505050505050565b60008184841115612cb85760405162461bcd60e51b8152600401610e8f91906138a7565b506000612cc58486613b60565b95945050505050565b6021805460ff1916600117905547612ce582613362565b6000612cf14783612e3e565b90506000612d0f60646111ce601d54856127f390919063ffffffff16565b90506000612d2d60646111ce601e54866127f390919063ffffffff16565b600354909150612d46906001600160a01b03168361355b565b600454612d5c906001600160a01b03168261355b565b50506021805460ff19169055505050565b6000806000612d7a613596565b9092509050612d898282612872565b9250505090565b600080612d9d8385613c47565b9050838110156113cb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610e8f565b6000806000806000806000806000612e068a613718565b9250925092506000806000612e248d8686612e1f612d6d565b61375a565b919f909e50909c50959a5093985091965092945050505050565b60006113cb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c94565b601354158015612e905750601554155b8015612e9c5750601b54155b15612ea357565b6013805460145560158054601655601b8054601c556000928390559082905555565b600080600080600080612ed787612def565b6001600160a01b038f16600090815260066020526040902054959b50939950919750955093509150612f099088612e3e565b6001600160a01b038a16600090815260066020908152604080832093909355600590522054612f389087612e3e565b6001600160a01b03808b1660009081526005602052604080822093909355908a1681522054612f679086612d90565b6001600160a01b038916600090815260056020526040902055612f89816137aa565b612f938483613832565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612fd891815260200190565b60405180910390a3505050505050505050565b600080600080600080612ffd87612def565b6001600160a01b038f16600090815260056020526040902054959b5093995091975095509350915061302f9087612e3e565b6001600160a01b03808b16600090815260056020908152604080832094909455918b168152600690915220546130659084612d90565b6001600160a01b038916600090815260066020908152604080832093909355600590522054612f679086612d90565b6000806000806000806130a687612def565b6001600160a01b038f16600090815260066020526040902054959b509399509197509550935091506130d89088612e3e565b6001600160a01b038a1660009081526006602090815260408083209390935560059052205461302f9087612e3e565b60008060008060008061311987612def565b9550955095509550955095506000613147601b5461314160648b61287290919063ffffffff16565b906127f3565b9050600061315d613156612d6d565b83906127f3565b90506131698782612e3e565b96506131758583612e3e565b6001600160a01b038c1660009081526005602052604090205490955061319b9089612e3e565b6001600160a01b03808d1660009081526005602052604080822093909355908c16815220546131ca9088612d90565b6001600160a01b03808c16600090815260056020526040808220939093557f00000000000000000000000000000000000000000000000000000000000000009091168152205461321a9082612d90565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660009081526005602052604090205561325c836137aa565b6132668685613832565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516132ab91815260200190565b60405180910390a38115613327577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161331e91815260200190565b60405180910390a35b5050505050505050505050565b600081836133555760405162461bcd60e51b8152600401610e8f91906138a7565b506000612cc58486613c7e565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061339757613397613b34565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134399190613cea565b8160018151811061344c5761344c613b34565b60200260200101906001600160a01b031690816001600160a01b031681525050613497307f00000000000000000000000000000000000000000000000000000000000000008461261d565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906134ec908590600090869030904290600401613d4b565b600060405180830381600087803b15801561350657600080fd5b505af115801561351a573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161354f929190613d87565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015613591573d6000803e3d6000fd5b505050565b600e54600d546000918291825b600c548110156136e8578260056000600c84815481106135c5576135c5613b34565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061363057508160066000600c848154811061360957613609613b34565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561364657600e54600d54945094505050509091565b61368c60056000600c848154811061366057613660613b34565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490612e3e565b92506136d460066000600c84815481106136a8576136a8613b34565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390612e3e565b9150806136e081613b8d565b9150506135a3565b50600d54600e546136f891612872565b82101561370f57600e54600d549350935050509091565b90939092509050565b60008060008061372785613856565b9050600061373486613872565b9050600061374c826137468986612e3e565b90612e3e565b979296509094509092505050565b600080808061376988866127f3565b9050600061377788876127f3565b9050600061378588886127f3565b90506000613797826137468686612e3e565b939b939a50919850919650505050505050565b60006137b4612d6d565b905060006137c283836127f3565b306000908152600560205260409020549091506137df9082612d90565b3060009081526005602090815260408083209390935560099052205460ff1615613591573060009081526006602052604090205461381d9084612d90565b30600090815260066020526040902055505050565b600e5461383f9083612e3e565b600e55600f5461384f9082612d90565b600f555050565b6000610f9460646111ce601354856127f390919063ffffffff16565b6000610f9460646111ce601554856127f390919063ffffffff16565b6000602082840312156138a057600080fd5b5035919050565b600060208083528351808285015260005b818110156138d4578581018301518582016040015282016138b8565b818111156138e6576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461134b57600080fd5b6000806040838503121561392457600080fd5b823561392f816138fc565b946020939093013593505050565b60006020828403121561394f57600080fd5b81356113cb816138fc565b60008060006060848603121561396f57600080fd5b833561397a816138fc565b9250602084013561398a816138fc565b929592945050506040919091013590565b801515811461134b57600080fd5b600080604083850312156139bc57600080fd5b8235915060208301356139ce8161399b565b809150509250929050565b600080604083850312156139ec57600080fd5b823560ff8116811461392f57600080fd5b600060208284031215613a0f57600080fd5b81356113cb8161399b565b60008060408385031215613a2d57600080fd5b8235613a38816138fc565b915060208301356139ce816138fc565b60008060008060008060008060006101208a8c031215613a6757600080fd5b505087359960208901359950604089013598606081013598506080810135975060a0810135965060c0810135955060e08101359450610100013592509050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680613af057607f821691505b60208210811415613b1157634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215613b2957600080fd5b81516113cb8161399b565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082821015613b7257613b72613b4a565b500390565b634e487b7160e01b600052603160045260246000fd5b6000600019821415613ba157613ba1613b4a565b5060010190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b600060208284031215613c4057600080fd5b5051919050565b60008219821115613c5a57613c5a613b4a565b500190565b6000816000190483118215151615613c7957613c79613b4a565b500290565b600082613c9b57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602a908201527f5472616e736665722063616e206e6f7420626520646f6e6520666f7220626c6f604082015269636b656420757365727360b01b606082015260800190565b600060208284031215613cfc57600080fd5b81516113cb816138fc565b600081518084526020808501945080840160005b83811015613d405781516001600160a01b031687529582019590820190600101613d1b565b509495945050505050565b85815284602082015260a060408201526000613d6a60a0830186613d07565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000613da06040830184613d07565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201bc912ec73b648a6daefc5157d48dda0c04061515aee35f214a0772ac48bf02564736f6c634300080b0033