[ { "inputs": [ { "internalType": "address", "name": "_routerAdddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "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": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "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": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "revShareWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "teamWalletUpdated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "acknowledgement", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "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": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "_addr", "type": "address" } ], "name": "blacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "lpAddress", "type": "address" } ], "name": "blacklistLiquidityPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "blacklistRenounced", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "burnAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyRevShareFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTeamFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "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": "isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransactionAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "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": "preMigrationPhase", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "preMigrationTransferrable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "revShareWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "risks", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellRevShareFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTeamFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" }, { "internalType": "bool", "name": "isAuthorized", "type": "bool" } ], "name": "setPreMigrationTransferable", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_router", "type": "address" } ], "name": "setRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "teamWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForRevShare", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForTeam", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "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": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "unblacklist", "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": [ { "internalType": "uint256", "name": "_revShareFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_teamFee", "type": "uint256" } ], "name": "updateBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxTxnAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newRevShareWallet", "type": "address" } ], "name": "updateRevShareWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_revShareFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_teamFee", "type": "uint256" } ], "name": "updateSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAtAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "updateTeamWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "toAddr", "type": "address" } ], "name": "withdrawStuckEth", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawStuckFire", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "withdrawStuckToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a0604052600c805463ffffffff19166001908117909155601c805460ff1916909117905534801561003057600080fd5b5060405161371b38038061371b83398101604081905261004f91610609565b604051806040016040528060048152602001634669726560e01b815250604051806040016040528060048152602001634649524560e01b815250816003908161009891906106d9565b5060046100a582826106d9565b5050506100be6100b96103a060201b60201c565b6103a4565b806100ca8160016103f6565b600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610123573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101479190610609565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b89190610609565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102299190610609565b6001600160a01b031660808190526102429060016103f6565b608051610250906001610429565b690a968163f0a57b4000006009819055600b55681b1ae4d6e2ef500000600a556002600f819055600160108190556011829055818082816a084595161401484a0000008161029e8482610798565b6102a89190610798565b600e55601384905560148390556015829055816102c58486610798565b6102cf9190610798565b601255600554600880546001600160a01b0319166001600160a01b0390921691821790556102fe90600161047d565b61030930600161047d565b6103156000600161047d565b61033161032a6005546001600160a01b031690565b60016103f6565b61033c3060016103f6565b610348600060016103f6565b6001601d60006103606005546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561039233826104e4565b5050505050505050506107bf565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6103fe6105a8565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b6001600160a01b0382166000818152601b6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6104856105a8565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b03821661053f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b80600260008282546105519190610798565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6005546001600160a01b031633146106025760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b565b505050565b60006020828403121561061b57600080fd5b81516001600160a01b038116811461063257600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061066357607f821691505b60208210810361068357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610604576000816000526020600020601f850160051c810160208610156106b25750805b601f850160051c820191505b818110156106d1578281556001016106be565b505050505050565b81516001600160401b038111156106f2576106f2610639565b61070681610700845461064f565b84610689565b602080601f83116001811461073b57600084156107235750858301515b600019600386901b1c1916600185901b1785556106d1565b600085815260208120601f198616915b8281101561076a5788860151825594840194600190910190840161074b565b50858210156107885787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156107b957634e487b7160e01b600052601160045260246000fd5b92915050565b608051612f336107e8600039600081816106330152818161112f01526116bf0152612f336000f3fe6080604052600436106103fe5760003560e01c80637cb332bb11610213578063c17b5b8c11610123578063f11a24d3116100ab578063f9d7ff891161007a578063f9d7ff8914610bd4578063f9f92be414610b3c578063fc81975014610be9578063fde83a3414610bfe578063fe575a8714610c1457600080fd5b8063f11a24d314610b72578063f2fde38b14610b88578063f637434214610ba8578063f8b45b0514610bbe57600080fd5b8063d729715f116100f2578063d729715f14610af0578063d85ba06314610b06578063dd62ed3e14610b1c578063e19b282314610b3c578063e2f4560514610b5c57600080fd5b8063c17b5b8c14610a7a578063c18bc19514610a9a578063c8c8ebe414610aba578063d257b34f14610ad057600080fd5b8063a457c2d7116101a6578063b62496f511610175578063b62496f5146109cb578063bbc0c742146109fb578063bc205ad314610a1a578063c024666814610a3a578063c0d7865514610a5a57600080fd5b8063a457c2d71461094b578063a9059cbb1461096b578063aa0e43881461098b578063adee28ff146109ab57600080fd5b8063924de9b7116101e2578063924de9b7146108e057806395d89b41146109005780639a7a23d6146109155780639c2e4ac61461093557600080fd5b80637cb332bb1461086d5780638095d5641461088d5780638a8c523c146108ad5780638da5cb5b146108c257600080fd5b80634a62bb651161030e57806370a08231116102a15780637571336a116102705780637571336a146107cd57806375e3661e146107ed578063782c4e991461080d57806379cc67901461082d5780637ca8448a1461084d57600080fd5b806370a082311461075857806370d5ae051461078e578063715018a6146107a3578063751039fc146107b857600080fd5b80635f189361116102dd5780635f189361146106f85780636a486a8e1461070d5780636b0c8d74146107235780636ddd17131461073857600080fd5b80634a62bb65146106555780634e29e5231461066f5780634fbee1931461069f57806359927044146106d857600080fd5b80631a8145bb11610391578063313ce56711610360578063313ce567146105a457806339509351146105c05780633dc599ff146105e057806342966c681461060157806349bd5a5e1461062157600080fd5b80631a8145bb14610536578063203e727e1461054c57806323b872dd1461056e57806324b9f3c11461058e57600080fd5b8063156c2f35116103cd578063156c2f35146104af5780631694505e146104d357806318160ddd1461050b57806319eab0421461052057600080fd5b806306fdde031461040a578063095ea7b3146104355780630e922ca71461046557806310d5de531461047f57600080fd5b3661040557005b600080fd5b34801561041657600080fd5b5061041f610c4d565b60405161042c9190612a1e565b60405180910390f35b34801561044157600080fd5b50610455610450366004612a82565b610cdf565b604051901515815260200161042c565b34801561047157600080fd5b50601c546104559060ff1681565b34801561048b57600080fd5b5061045561049a366004612aae565b601a6020526000908152604090205460ff1681565b3480156104bb57600080fd5b506104c5600f5481565b60405190815260200161042c565b3480156104df57600080fd5b506006546104f3906001600160a01b031681565b6040516001600160a01b03909116815260200161042c565b34801561051757600080fd5b506002546104c5565b34801561052c57600080fd5b506104c560135481565b34801561054257600080fd5b506104c560175481565b34801561055857600080fd5b5061056c610567366004612acb565b610cf9565b005b34801561057a57600080fd5b50610455610589366004612ae4565b610db9565b34801561059a57600080fd5b506104c560165481565b3480156105b057600080fd5b506040516012815260200161042c565b3480156105cc57600080fd5b506104556105db366004612a82565b610ddd565b3480156105ec57600080fd5b50600c54610455906301000000900460ff1681565b34801561060d57600080fd5b5061056c61061c366004612acb565b610dff565b34801561062d57600080fd5b506104f37f000000000000000000000000000000000000000000000000000000000000000081565b34801561066157600080fd5b50600c546104559060ff1681565b34801561067b57600080fd5b5061045561068a366004612aae565b601d6020526000908152604090205460ff1681565b3480156106ab57600080fd5b506104556106ba366004612aae565b6001600160a01b031660009081526019602052604090205460ff1690565b3480156106e457600080fd5b506008546104f3906001600160a01b031681565b34801561070457600080fd5b5061056c610e0c565b34801561071957600080fd5b506104c560125481565b34801561072f57600080fd5b5061056c610e29565b34801561074457600080fd5b50600c546104559062010000900460ff1681565b34801561076457600080fd5b506104c5610773366004612aae565b6001600160a01b031660009081526020819052604090205490565b34801561079a57600080fd5b506104f3600081565b3480156107af57600080fd5b5061056c610f2f565b3480156107c457600080fd5b50610455610f43565b3480156107d957600080fd5b5061056c6107e8366004612b33565b610f5d565b3480156107f957600080fd5b5061056c610808366004612aae565b610f90565b34801561081957600080fd5b506007546104f3906001600160a01b031681565b34801561083957600080fd5b5061056c610848366004612a82565b610fb9565b34801561085957600080fd5b5061056c610868366004612aae565b610fce565b34801561087957600080fd5b5061056c610888366004612aae565b610fe9565b34801561089957600080fd5b5061056c6108a8366004612b6c565b61104e565b3480156108b957600080fd5b5061056c6110cd565b3480156108ce57600080fd5b506005546001600160a01b03166104f3565b3480156108ec57600080fd5b5061056c6108fb366004612b98565b6110f2565b34801561090c57600080fd5b5061041f611116565b34801561092157600080fd5b5061056c610930366004612b33565b611125565b34801561094157600080fd5b506104c560115481565b34801561095757600080fd5b50610455610966366004612a82565b6111de565b34801561097757600080fd5b50610455610986366004612a82565b611259565b34801561099757600080fd5b5061056c6109a6366004612b33565b611267565b3480156109b757600080fd5b5061056c6109c6366004612aae565b6112a7565b3480156109d757600080fd5b506104556109e6366004612aae565b601b6020526000908152604090205460ff1681565b348015610a0757600080fd5b50600c5461045590610100900460ff1681565b348015610a2657600080fd5b5061056c610a35366004612bb5565b61130c565b348015610a4657600080fd5b5061056c610a55366004612b33565b611452565b348015610a6657600080fd5b5061056c610a75366004612aae565b6114b9565b348015610a8657600080fd5b5061056c610a95366004612b6c565b6114e3565b348015610aa657600080fd5b5061056c610ab5366004612acb565b611564565b348015610ac657600080fd5b506104c560095481565b348015610adc57600080fd5b50610455610aeb366004612acb565b611613565b348015610afc57600080fd5b506104c560155481565b348015610b1257600080fd5b506104c5600e5481565b348015610b2857600080fd5b506104c5610b37366004612bb5565b611626565b348015610b4857600080fd5b5061056c610b57366004612aae565b611651565b348015610b6857600080fd5b506104c5600a5481565b348015610b7e57600080fd5b506104c560105481565b348015610b9457600080fd5b5061056c610ba3366004612aae565b6117a3565b348015610bb457600080fd5b506104c560145481565b348015610bca57600080fd5b506104c5600b5481565b348015610be057600080fd5b5061041f611819565b348015610bf557600080fd5b5061041f611839565b348015610c0a57600080fd5b506104c560185481565b348015610c2057600080fd5b50610455610c2f366004612aae565b6001600160a01b03166000908152600d602052604090205460ff1690565b606060038054610c5c90612be3565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8890612be3565b8015610cd55780601f10610caa57610100808354040283529160200191610cd5565b820191906000526020600020905b815481529060010190602001808311610cb857829003601f168201915b5050505050905090565b600033610ced818585611859565b60019150505b92915050565b610d0161197d565b670de0b6b3a76400006103e8610d1660025490565b610d21906005612c33565b610d2b9190612c4a565b610d359190612c4a565b811015610da15760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e352560881b60648201526084015b60405180910390fd5b610db381670de0b6b3a7640000612c33565b60095550565b600033610dc78582856119d7565b610dd2858585611a4b565b506001949350505050565b600033610ced818585610df08383611626565b610dfa9190612c6c565b611859565b610e093382612296565b50565b610e1461197d565b600c805463ff00000019166301000000179055565b610e3161197d565b6040516370a0823160e01b815230600482018190526000916370a0823190602401602060405180830381865afa158015610e6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e939190612c7f565b60405163a9059cbb60e01b815233600482015260248101829052909150309063a9059cbb906044016020604051808303816000875af1158015610eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efe9190612c98565b5060405133904780156108fc02916000818181858888f19350505050158015610f2b573d6000803e3d6000fd5b5050565b610f3761197d565b610f4160006123c8565b565b6000610f4d61197d565b50600c805460ff19169055600190565b610f6561197d565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b610f9861197d565b6001600160a01b03166000908152600d60205260409020805460ff19169055565b610fc48233836119d7565b610f2b8282612296565b610fd661197d565b610e096001600160a01b0382164761241a565b610ff161197d565b6008546040516001600160a01b03918216918316907f8aa0f85050aca99be43beb823e0457e77966b3baf697a289b03681978f96166890600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b61105661197d565b600f83905560108290556011819055806110708385612c6c565b61107a9190612c6c565b600e819055600510156110c85760405162461bcd60e51b8152602060048201526016602482015275213abc903332b2b99036bab9ba103132901e1e901a9760511b6044820152606401610d98565b505050565b6110d561197d565b600c805462ffff00191662010100179055601c805460ff19169055565b6110fa61197d565b600c8054911515620100000262ff000019909216919091179055565b606060048054610c5c90612be3565b61112d61197d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036111d45760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610d98565b610f2b828261246b565b600033816111ec8286611626565b90508381101561124c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610d98565b610dd28286868403611859565b600033610ced818585611a4b565b61126f61197d565b6001600160a01b0382166000908152601d60205260409020805460ff191682151517905561129d8282611452565b610f2b8282610f5d565b6112af61197d565b6007546040516001600160a01b03918216918316907fc9f2d63eee8632b33d7a7db5252eb29036e81ee4fbe29260febe0c49ffb8a7bb90600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b61131461197d565b6001600160a01b03821661136a5760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610d98565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156113b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d59190612c7f565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c9190612c98565b50505050565b61145a61197d565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6114c161197d565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6114eb61197d565b601383905560148290556015819055806115058385612c6c565b61150f9190612c6c565b6012819055600510156110c85760405162461bcd60e51b815260206004820152601760248201527f53656c6c2066656573206d757374206265203c3d20352e0000000000000000006044820152606401610d98565b61156c61197d565b670de0b6b3a76400006103e861158160025490565b61158c90600a612c33565b6115969190612c4a565b6115a09190612c4a565b8110156115fb5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263312e302560e01b6064820152608401610d98565b61160d81670de0b6b3a7640000612c33565b600b5550565b600061161d61197d565b50600a55600190565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61165961197d565b600c546301000000900460ff16156116bd5760405162461bcd60e51b815260206004820152602160248201527f5465616d20686173207265766f6b656420626c61636b6c6973742072696768746044820152607360f81b6064820152608401610d98565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415801561171c57506001600160a01b038116737a250d5630b4cf539739df2c5dacb4c659f2488d14155b61177f5760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f7420626c61636b6c69737420746f6b656e277320763220726f757460448201526d32b91037b9103b19103837b7b61760911b6064820152608401610d98565b6001600160a01b03166000908152600d60205260409020805460ff19166001179055565b6117ab61197d565b6001600160a01b0381166118105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610d98565b610e09816123c8565b60606040518060e0016040528060a18152602001612e2560a19139905090565b6060604051806060016040528060388152602001612ec660389139905090565b6001600160a01b0383166118bb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610d98565b6001600160a01b03821661191c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610d98565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b03163314610f415760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610d98565b60006119e38484611626565b9050600019811461144c5781811015611a3e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610d98565b61144c8484848403611859565b6001600160a01b038316611a715760405162461bcd60e51b8152600401610d9890612cb5565b6001600160a01b038216611a975760405162461bcd60e51b8152600401610d9890612cfa565b6001600160a01b0383166000908152600d602052604090205460ff1615611af55760405162461bcd60e51b815260206004820152601260248201527114d95b99195c88189b1858dadb1a5cdd195960721b6044820152606401610d98565b6001600160a01b0382166000908152600d602052604090205460ff1615611b555760405162461bcd60e51b8152602060048201526014602482015273149958d95a5d995c88189b1858dadb1a5cdd195960621b6044820152606401610d98565b601c5460ff1615611bda576001600160a01b0383166000908152601d602052604090205460ff16611bda5760405162461bcd60e51b815260206004820152602960248201527f4e6f7420617574686f72697a656420746f207472616e73666572207072652d6d60448201526834b3b930ba34b7b71760b91b6064820152608401610d98565b80600003611bee576110c8838360006124bf565b600c5460ff1615611f61576005546001600160a01b03848116911614801590611c2557506005546001600160a01b03838116911614155b8015611c3957506001600160a01b03821615155b8015611c4d57506001600160a01b03821615155b8015611c635750600654600160a01b900460ff16155b15611f6157600c54610100900460ff16611cfb576001600160a01b03831660009081526019602052604090205460ff1680611cb657506001600160a01b03821660009081526019602052604090205460ff165b611cfb5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610d98565b6001600160a01b0383166000908152601b602052604090205460ff168015611d3c57506001600160a01b0382166000908152601a602052604090205460ff16155b15611e2057600954811115611db15760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610d98565b600b546001600160a01b038316600090815260208190526040902054611dd79083612c6c565b1115611e1b5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610d98565b611f61565b6001600160a01b0382166000908152601b602052604090205460ff168015611e6157506001600160a01b0383166000908152601a602052604090205460ff16155b15611ed757600954811115611e1b5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610d98565b6001600160a01b0382166000908152601a602052604090205460ff16611f6157600b546001600160a01b038316600090815260208190526040902054611f1d9083612c6c565b1115611f615760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610d98565b30600090815260208190526040902054600a5481108015908190611f8d5750600c5462010000900460ff165b8015611fa35750600654600160a01b900460ff16155b8015611fc857506001600160a01b0385166000908152601b602052604090205460ff16155b8015611fed57506001600160a01b03851660009081526019602052604090205460ff16155b801561201257506001600160a01b03841660009081526019602052604090205460ff16155b15612040576006805460ff60a01b1916600160a01b1790556120326125e9565b6006805460ff60a01b191690555b6006546001600160a01b03861660009081526019602052604090205460ff600160a01b90920482161591168061208e57506001600160a01b03851660009081526019602052604090205460ff165b15612097575060005b60008115612282576001600160a01b0386166000908152601b602052604090205460ff1680156120c957506000601254115b15612187576120ee60646120e8601254886127c490919063ffffffff16565b906127d7565b9050601254601454826121019190612c33565b61210b9190612c4a565b6017600082825461211c9190612c6c565b90915550506012546015546121319083612c33565b61213b9190612c4a565b6018600082825461214c9190612c6c565b90915550506012546013546121619083612c33565b61216b9190612c4a565b6016600082825461217c9190612c6c565b909155506122649050565b6001600160a01b0387166000908152601b602052604090205460ff1680156121b157506000600e54115b15612264576121d060646120e8600e54886127c490919063ffffffff16565b9050600e54601054826121e39190612c33565b6121ed9190612c4a565b601760008282546121fe9190612c6c565b9091555050600e546011546122139083612c33565b61221d9190612c4a565b6018600082825461222e9190612c6c565b9091555050600e54600f546122439083612c33565b61224d9190612c4a565b6016600082825461225e9190612c6c565b90915550505b8015612275576122758730836124bf565b61227f8186612d3d565b94505b61228d8787876124bf565b50505050505050565b6001600160a01b0382166122f65760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610d98565b6001600160a01b0382166000908152602081905260409020548181101561236a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610d98565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080600080600085875af19050806110c85760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606401610d98565b6001600160a01b0382166000818152601b6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166124e55760405162461bcd60e51b8152600401610d9890612cb5565b6001600160a01b03821661250b5760405162461bcd60e51b8152600401610d9890612cfa565b6001600160a01b038316600090815260208190526040902054818110156125835760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610d98565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361144c565b30600090815260208190526040812054905060006018546016546017546126109190612c6c565b61261a9190612c6c565b9050811580612627575080155b15612630575050565b600a5461263e906014612c33565b82111561265657600a54612653906014612c33565b91505b6000600282601754856126699190612c33565b6126739190612c4a565b61267d9190612c4a565b9050600061268b84836127e3565b905047612697826127ef565b60006126a347836127e3565b905060006126d160026017546126b99190612c4a565b6126c39088612d3d565b6016546120e89085906127c4565b905060006126ff60026017546126e79190612c4a565b6126f19089612d3d565b6018546120e89086906127c4565b905060008161270e8486612d3d565b6127189190612d3d565b600060178190556016819055601855600854909150612740906001600160a01b03168361241a565b6000871180156127505750600081115b156127a35761275f8782612949565b601754604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6007546127b9906001600160a01b03164761241a565b505050505050505050565b60006127d08284612c33565b9392505050565b60006127d08284612c4a565b60006127d08284612d3d565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061282457612824612d50565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561287d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a19190612d66565b816001815181106128b4576128b4612d50565b6001600160a01b0392831660209182029290920101526006546128da9130911684611859565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790612913908590600090869030904290600401612d83565b600060405180830381600087803b15801561292d57600080fd5b505af1158015612941573d6000803e3d6000fd5b505050505050565b6006546129619030906001600160a01b031684611859565b6006546001600160a01b031663f305d71982308560008061298a6005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156129f2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612a179190612df6565b5050505050565b60006020808352835180602085015260005b81811015612a4c57858101830151858201604001528201612a30565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e0957600080fd5b60008060408385031215612a9557600080fd5b8235612aa081612a6d565b946020939093013593505050565b600060208284031215612ac057600080fd5b81356127d081612a6d565b600060208284031215612add57600080fd5b5035919050565b600080600060608486031215612af957600080fd5b8335612b0481612a6d565b92506020840135612b1481612a6d565b929592945050506040919091013590565b8015158114610e0957600080fd5b60008060408385031215612b4657600080fd5b8235612b5181612a6d565b91506020830135612b6181612b25565b809150509250929050565b600080600060608486031215612b8157600080fd5b505081359360208301359350604090920135919050565b600060208284031215612baa57600080fd5b81356127d081612b25565b60008060408385031215612bc857600080fd5b8235612bd381612a6d565b91506020830135612b6181612a6d565b600181811c90821680612bf757607f821691505b602082108103612c1757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610cf357610cf3612c1d565b600082612c6757634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610cf357610cf3612c1d565b600060208284031215612c9157600080fd5b5051919050565b600060208284031215612caa57600080fd5b81516127d081612b25565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610cf357610cf3612c1d565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612d7857600080fd5b81516127d081612a6d565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015612dd55784516001600160a01b031683529383019391830191600101612db0565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612e0b57600080fd5b835192506020840151915060408401519050925092509256fe54686520646576656c6f7065727320626568696e642053746f6b652046697265206172656e27742062726967687420616e64207465737420696e2070726f642c20646f206e6f74207370656e64206d6f6e6579206f6e207468697320756e6c65737320796f752061726520676f696e6720746f20706c6179207468652067616d652c2065766572797468696e6720696e2063727970746f206973207269736b792e496e737069726564206279204672656e2050657420616e6420556e69626f742e204c6574277320686176652066756e206f6e636861696e21a26469706673582212202e18f711d85e55488631cbf53f7ca153dbdd02f89207e646fcfcdafc0b0a863864736f6c634300081900330000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad24