0 txs
0 calls
constructor
constructor(string[] stringParams, address[] addressParams, uint256[] numberParams, bool[] boolParams)
functions
_buyBurnFee
viewfunction _buyBurnFee() view returns (uint256)
_buyFundFee
viewfunction _buyFundFee() view returns (uint256)
_buyLiquidityFee
viewfunction _buyLiquidityFee() view returns (uint256)
_buyRewardFee
viewfunction _buyRewardFee() view returns (uint256)
_feeWhiteList
viewfunction _feeWhiteList(address) view returns (bool)
_getReserves
viewfunction _getReserves() view returns (uint256 rOther, uint256 rThis, uint256 balanceOther)
_mainPair
viewfunction _mainPair() view returns (address)
_rewardList
viewfunction _rewardList(address) view returns (bool)
_rewardTokenDistributor
viewfunction _rewardTokenDistributor() view returns (address)
_sellBurnFee
viewfunction _sellBurnFee() view returns (uint256)
_sellFundFee
viewfunction _sellFundFee() view returns (uint256)
_sellLiquidityFee
viewfunction _sellLiquidityFee() view returns (uint256)
_sellRewardFee
viewfunction _sellRewardFee() view returns (uint256)
_strictCheck
viewfunction _strictCheck() view returns (bool)
_swapPairList
viewfunction _swapPairList(address) view returns (bool)
_swapRouter
viewfunction _swapRouter() view returns (address)
_swapRouters
viewfunction _swapRouters(address) view returns (bool)
_tokenDistributor
viewfunction _tokenDistributor() view returns (address)
addLiquidityFee
viewfunction addLiquidityFee() view returns (uint256)
airdropEnable
viewfunction airdropEnable() view returns (bool)
airdropNumbs
viewfunction airdropNumbs() view returns (uint256)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
antiSYNC
viewfunction antiSYNC() view returns (bool)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
batchBots
viewfunction batchBots() view returns (uint256)
currency
viewfunction currency() view returns (address)
currencyIsEth
viewfunction currencyIsEth() view returns (bool)
decimals
viewfunction decimals() view returns (uint256)
enableChangeTax
viewfunction enableChangeTax() view returns (bool)
enableKillBatchBots
viewfunction enableKillBatchBots() view returns (bool)
enableKillBlock
viewfunction enableKillBlock() view returns (bool)
enableOffTrade
viewfunction enableOffTrade() view returns (bool)
enableRewardList
viewfunction enableRewardList() view returns (bool)
enableSwapLimit
viewfunction enableSwapLimit() view returns (bool)
enableTransferFee
viewfunction enableTransferFee() view returns (bool)
enableWalletLimit
viewfunction enableWalletLimit() view returns (bool)
ETH
viewfunction ETH() view returns (address)
fundAddress
viewfunction fundAddress() view returns (address)
generateLpReceiverAddr
viewfunction generateLpReceiverAddr() view returns (address)
holderRewardCondition
viewfunction holderRewardCondition() view returns (uint256)
isAddV2
viewfunction isAddV2() view returns (bool)
isMaxEatExempt
viewfunction isMaxEatExempt(address) view returns (bool)
isRemoveV2
viewfunction isRemoveV2() view returns (bool)
isReward
viewfunction isReward(address account) view returns (uint256)
kb
viewfunction kb() view returns (uint256)
killBatchBlockNumber
viewfunction killBatchBlockNumber() view returns (uint256)
limitEnable
viewfunction limitEnable() view returns (bool)
lpRewardGas
viewfunction lpRewardGas() view returns (uint256)
maxBuyAmount
viewfunction maxBuyAmount() view returns (uint256)
maxWalletAmount
viewfunction maxWalletAmount() view returns (uint256)
name
viewfunction name() view returns (string)
numTokensSellRate
viewfunction numTokensSellRate() view returns (uint256)
owner
viewfunction owner() view returns (address)
processRewardWaitBlock
viewfunction processRewardWaitBlock() view returns (uint256)
ReceiveAddress
viewfunction ReceiveAddress() view returns (address)
removeLiquidityFee
viewfunction removeLiquidityFee() view returns (uint256)
rewardPath
viewfunction rewardPath(uint256) view returns (address)
startLPBlock
viewfunction startLPBlock() view returns (uint256)
startTradeBlock
viewfunction startTradeBlock() view returns (uint256)
swapAtAmount
viewfunction swapAtAmount() view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalFundAmountReceive
viewfunction totalFundAmountReceive() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
transferFee
viewfunction transferFee() view returns (uint256)
user2blocks
viewfunction user2blocks(address) view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
changeSwapLimit
nonpayablefunction changeSwapLimit(uint256 _maxBuyAmount)
changeWalletLimit
nonpayablefunction changeWalletLimit(uint256 _amount)
claimToken
nonpayablefunction claimToken(address token, uint256 amount, address to)
completeCustoms
nonpayablefunction completeCustoms(uint256[] customs)
disableChangeTax
nonpayablefunction disableChangeTax()
disableKillBatchBot
nonpayablefunction disableKillBatchBot()
disableSwapLimit
nonpayablefunction disableSwapLimit()
disableWalletLimit
nonpayablefunction disableWalletLimit()
launch
nonpayablefunction launch()
multi_bclist
nonpayablefunction multi_bclist(address[] addresses, bool value)
multiAddHolder
nonpayablefunction multiAddHolder(address[] accounts)
renounceOwnership
nonpayablefunction renounceOwnership()
setAddLiquidityFee
nonpayablefunction setAddLiquidityFee(uint256 newValue)
setAirDropEnable
nonpayablefunction setAirDropEnable(bool status)
setAirdropNumbs
nonpayablefunction setAirdropNumbs(uint256 newValue)
setAntiSYNCEnable
nonpayablefunction setAntiSYNCEnable(bool s)
setEnableTransferFee
nonpayablefunction setEnableTransferFee(bool status)
setExcludeHolder
nonpayablefunction setExcludeHolder(address addr, bool enable)
setFeeWhiteList
nonpayablefunction setFeeWhiteList(address[] addr, bool enable)
setFundAddress
nonpayablefunction setFundAddress(address addr)
setGenerateLpReceiverAddr
nonpayablefunction setGenerateLpReceiverAddr(address newAddr)
setHolderRewardCondition
nonpayablefunction setHolderRewardCondition(uint256 amount)
setisMaxEatExempt
nonpayablefunction setisMaxEatExempt(address holder, bool exempt)
setkb
nonpayablefunction setkb(uint256 a)
setLpRewardGas
nonpayablefunction setLpRewardGas(uint256 newValue)
setNumTokensSellRate
nonpayablefunction setNumTokensSellRate(uint256 newValue)
setProcessRewardWaitBlock
nonpayablefunction setProcessRewardWaitBlock(uint256 newValue)
setRemoveLiquidityFee
nonpayablefunction setRemoveLiquidityFee(uint256 newValue)
setRewardPath
nonpayablefunction setRewardPath(address[] newPath)
setStrictCheck
nonpayablefunction setStrictCheck(bool enable)
setSwapAtAmount
nonpayablefunction setSwapAtAmount(uint256 newValue)
setSwapPairList
nonpayablefunction setSwapPairList(address addr, bool enable)
setSwapRouter
nonpayablefunction setSwapRouter(address addr, bool enable)
setTransferFee
nonpayablefunction setTransferFee(uint256 newValue)
startLP
nonpayablefunction startLP()
stopLP
nonpayablefunction stopLP()
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Failed_AddLiquidity
event Failed_AddLiquidity()
Failed_swapExactTokensForETHSupportingFeeOnTransferTokens
event Failed_swapExactTokensForETHSupportingFeeOnTransferTokens()
Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens
event Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 value)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x60806040526003600755600a805460ff1990811660019081179092556026805461ff0019166101001790556000602781905560288054831690556064602955602a55602b80549091168217905562055730602c556039553480156200006357600080fd5b5060405162005dfb38038062005dfb833981016040819052620000869162000f4b565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35083600081518110620000dd57620000dd620010ef565b602002602001015160049081620000f5919062001194565b50836001815181106200010c576200010c620010ef565b60200260200101516005908162000124919062001194565b50816000815181106200013b576200013b620010ef565b6020026020010151600681905550600082600181518110620001615762000161620010ef565b6020026020010151905080600e819055506127108162000182919062001276565b602a55835184906000906200019b576200019b620010ef565b6020908102919091010151600380546001600160a01b039092166001600160a01b0319928316811790915560318054909216179055835184906001908110620001e857620001e8620010ef565b6020026020010151601060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000846002815181106200022e576200022e620010ef565b60200260200101519050846003815181106200024e576200024e620010ef565b6020026020010151602260006101000a8154816001600160a01b0302191690836001600160a01b0316021790555084600481518110620002925762000292620010ef565b6020026020010151602060016101000a8154816001600160a01b0302191690836001600160a01b0316021790555083600281518110620002d657620002d6620010ef565b602002602001015160088190555083600481518110620002fa57620002fa620010ef565b6020026020010151600981905550826000815181106200031e576200031e620010ef565b6020026020010151602360146101000a81548160ff02191690831515021790555082600181518110620003555762000355620010ef565b6020026020010151602360156101000a81548160ff021916908315150217905550826002815181106200038c576200038c620010ef565b6020026020010151602360166101000a81548160ff02191690831515021790555082600381518110620003c357620003c3620010ef565b6020026020010151602360176101000a81548160ff02191690831515021790555082600481518110620003fa57620003fa620010ef565b6020026020010151602360186101000a81548160ff02191690831515021790555082600581518110620004315762000431620010ef565b6020026020010151602360196101000a81548160ff02191690831515021790555082600681518110620004685762000468620010ef565b602090810291909101810151815460ff1916901515179055825183906007908110620004985762000498620010ef565b6020026020010151601e60006101000a81548160ff02191690831515021790555082600881518110620004cf57620004cf620010ef565b6020026020010151602860006101000a81548160ff02191690831515021790555082600981518110620005065762000506620010ef565b6020908102919091018101516026805460ff19169115159190911790555460ff1615620005b357806001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200056c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000592919062001299565b601080546001600160a01b0319166001600160a01b03929092169190911790555b60408051602081019091526010546001600160a01b03168152620005dc90602490600162000cd6565b5060105460205461010090046001600160a01b039081169116146200065457602054602480546001810182556000919091527f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec40180546101009092046001600160a01b03166001600160a01b03199092169190911790555b600f80546001600160a01b0319166001600160a01b038381169182179092553060009081526002602090815260408083208484529091529081902060001990819055601054915163095ea7b360e01b8152600481019390935260248301529091169063095ea7b3906044016020604051808303816000875af1158015620006df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007059190620012be565b506001600160a01b0381166000818152602560209081526040808320805460ff19166001179055805163c45a015560e01b8152905192939263c45a0155926004808401939192918290030181865afa15801562000766573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200078c919062001299565b6010546040516364e329cb60e11b81523060048201526001600160a01b0391821660248201529192506000919083169063c9c65396906044016020604051808303816000875af1158015620007e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200080b919062001299565b602380546001600160a01b0319166001600160a01b0383169081179091556000908152601160205260409020805460ff191660011790558651909150869060059081106200085d576200085d620010ef565b602002602001015160148190555085600681518110620008815762000881620010ef565b602002602001015160158190555085600781518110620008a557620008a5620010ef565b602002602001015160168190555085600881518110620008c957620008c9620010ef565b602002602001015160178190555085600981518110620008ed57620008ed620010ef565b602002602001015160188190555085600a81518110620009115762000911620010ef565b602002602001015160198190555085600b81518110620009355762000935620010ef565b6020026020010151601a8190555085600c81518110620009595762000959620010ef565b6020908102919091010151601b5560285460ff1615620009a757601b54601a546019546018546200098b9190620012dc565b620009979190620012dc565b620009a39190620012dc565b602d555b85600d81518110620009bd57620009bd620010ef565b6020026020010151601f8190555085600e81518110620009e157620009e1620010ef565b602002602001015160078190555085600f8151811062000a055762000a05620010ef565b602090810291909101810151602755602280546001600160a01b03908116600090815260018452604080822089905592549251888152929091169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3602280546001600160a01b03908116600090815260026020908152604080832088851680855290835281842060001990556003805486168552600b84528285208054600160ff19918216811790925588548816875284872080548216831790553080885285882080548316841790553288528588208054831684179055600d87528588208054831684179055925488168752848720805482168317905597548716865283862080548916821790559185528285208054881683179055602354861685528285208054881683179055845281842080548716821790557fdc7fafdc41998a74ecacb8f8bd877011aba1f1d03a3a0d37a2e7879a393b1d6a8054871682179055603583527f842397100357c7bc9e13c9e286c8970fd4253dcc8e63c78c74e0f9bb8b96fef4805487168217905561dead9093527ffd9710f9dbce9f2e8f4e79c0ce62a7641dd683775526d5e48a398d09871c96c280549095169092179093558254815163313ce56760e01b81529151600a946101009092049093169263313ce5679260048082019392918290030181865afa15801562000c15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c3b9190620012f8565b62000c4890600a6200140f565b62000c54919062001276565b6037556010546040516001600160a01b039091169062000c749062000d40565b6001600160a01b039091168152602001604051809103906000f08015801562000ca1573d6000803e3d6000fd5b50601260016101000a8154816001600160a01b0302191690836001600160a01b0316021790555050505050505050506200141d565b82805482825590600052602060002090810192821562000d2e579160200282015b8281111562000d2e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000cf7565b5062000d3c92915062000d4e565b5090565b6101478062005cb483390190565b5b8082111562000d3c576000815560010162000d4f565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000da65762000da662000d65565b604052919050565b60006001600160401b0382111562000dca5762000dca62000d65565b5060051b60200190565b80516001600160a01b038116811462000dec57600080fd5b919050565b600082601f83011262000e0357600080fd5b8151602062000e1c62000e168362000dae565b62000d7b565b82815260059290921b8401810191818101908684111562000e3c57600080fd5b8286015b8481101562000e625762000e548162000dd4565b835291830191830162000e40565b509695505050505050565b600082601f83011262000e7f57600080fd5b8151602062000e9262000e168362000dae565b82815260059290921b8401810191818101908684111562000eb257600080fd5b8286015b8481101562000e62578051835291830191830162000eb6565b8051801515811462000dec57600080fd5b600082601f83011262000ef257600080fd5b8151602062000f0562000e168362000dae565b82815260059290921b8401810191818101908684111562000f2557600080fd5b8286015b8481101562000e625762000f3d8162000ecf565b835291830191830162000f29565b6000806000806080858703121562000f6257600080fd5b84516001600160401b038082111562000f7a57600080fd5b818701915087601f83011262000f8f57600080fd5b8151602062000fa262000e168362000dae565b82815260059290921b8401810191818101908b84111562000fc257600080fd5b8286015b848110156200106f5780518681111562000fdf57600080fd5b8701603f81018e1362000ff157600080fd5b848101518781111562001008576200100862000d65565b6200101c601f8201601f1916870162000d7b565b8181528f6040838501011115620010335760008081fd5b60005b82811015620010545783810160400151828201890152870162001036565b50600091810187019190915284525091830191830162000fc6565b50918a01519198509093505050808211156200108a57600080fd5b620010988883890162000df1565b94506040870151915080821115620010af57600080fd5b620010bd8883890162000e6d565b93506060870151915080821115620010d457600080fd5b50620010e38782880162000ee0565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b600181811c908216806200111a57607f821691505b6020821081036200113b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200118f57600081815260208120601f850160051c810160208610156200116a5750805b601f850160051c820191505b818110156200118b5782815560010162001176565b5050505b505050565b81516001600160401b03811115620011b057620011b062000d65565b620011c881620011c1845462001105565b8462001141565b602080601f831160018114620012005760008415620011e75750858301515b600019600386901b1c1916600185901b1785556200118b565b600085815260208120601f198616915b82811015620012315788860151825594840194600190910190840162001210565b5085821015620012505787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b6000826200129457634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620012ac57600080fd5b620012b78262000dd4565b9392505050565b600060208284031215620012d157600080fd5b620012b78262000ecf565b80820180821115620012f257620012f262001260565b92915050565b6000602082840312156200130b57600080fd5b5051919050565b600181815b808511156200135357816000190482111562001337576200133762001260565b808516156200134557918102915b93841c939080029062001317565b509250929050565b6000826200136c57506001620012f2565b816200137b57506000620012f2565b81600181146200139457600281146200139f57620013bf565b6001915050620012f2565b60ff841115620013b357620013b362001260565b50506001821b620012f2565b5060208310610133831016604e8410600b8410161715620013e4575081810a620012f2565b620013f0838362001312565b806000190482111562001407576200140762001260565b029392505050565b6000620012b783836200135b565b614887806200142d6000396000f3fe60806040526004361061061a5760003560e01c80637abdc1ca11610329578063b02d757f116101b6578063d598643311610102578063e5c2b0a6116100a0578063eb10b7411161007a578063eb10b74114611221578063ef6e4f1714611237578063f2fde38b1461124d578063fa3c49471461126d57600080fd5b8063e5c2b0a6146111c1578063e82bef29146111e1578063ea10510e1461120157600080fd5b8063dc44b6a0116100dc578063dc44b6a01461112f578063dd62ed3e14611145578063e32759cf1461118b578063e5a6b10f146111a157600080fd5b8063d5986433146110d4578063d710569b146110f5578063dac1dcfe1461111557600080fd5b8063c0aa931e1161016f578063ce0192f911610149578063ce0192f914611058578063ce391c9f1461106e578063ce4d9f151461108e578063d285e6ab146110be57600080fd5b8063c0aa931e14610ff7578063c213d62d14611017578063c92d567e1461103757600080fd5b8063b02d757f14610f3a578063bba30f8f14610f5b578063bd25bf2914610f7b578063be4fe9a514610fab578063bfac5ee014610fc1578063bfc3137e14610fe157600080fd5b80638f02bb5b116102755780639cc0e3c71161022e578063a9059cbb11610208578063a9059cbb14610ece578063aa4bde2814610eee578063aa582b4214610f04578063acb2ad6f14610f2457600080fd5b80639cc0e3c714610e6d578063a23270d714610e8d578063a842486114610eae57600080fd5b80638f02bb5b14610dd85780638f6cd17d14610df8578063948df71414610e0e57806395d89b4114610e2d57806395e3667914610e42578063992db38f14610e5857600080fd5b80638718b24f116102e25780638c2fc7ad116102bc5780638c2fc7ad14610d655780638d84917514610d855780638da5cb5b14610d9a5780638e1e083814610db857600080fd5b80638718b24f14610d1457806388790a6814610d3957806388e765ff14610d4f57600080fd5b80637abdc1ca14610c635780637db1342c14610c7957806381d09def14610c995780638322fff214610cb957806385dc300414610cde5780638691752414610cfe57600080fd5b80632dab693f116104a75780634d5ce038116103f35780636402511e116103ac57806370a082311161038657806370a0823114610bee578063715018a614610c0e5780637959473614610c2357806379dc880c14610c4357600080fd5b80636402511e14610b9f57806369768b5014610bbf578063697cfc1914610bd957600080fd5b80634d5ce03814610af2578063553193ca14610b125780635a7ba73c14610b28578063605324f214610b495780636108a3db14610b69578063621823e614610b8957600080fd5b80633c11100d116104605780634188bf5a1161043a5780634188bf5a14610a7c5780634482004e14610a9c57806346c123b614610ab25780634a9a774014610ad257600080fd5b80633c11100d146109ef5780633ccfdbcd14610a1f57806340aa81fe14610a4c57600080fd5b80632dab693f1461095e578063313ce5671461097457806335c96089146109895780633b1cd187146109a35780633bb82eb6146109b95780633bfe62ca146109d957600080fd5b806314a432c91161056657806318160ddd1161051f5780631dbbaebd116104f95780631dbbaebd146108c6578063206c17bb146108e65780632171dcc91461091e57806323b872dd1461093e57600080fd5b806318160ddd1461087d5780631846a5a41461089257806318d12855146108b157600080fd5b806314a432c9146107dd578063150e4c47146107fd57806315d07d821461081d57806316f2f1a814610837578063172246fc1461084d57806317417bb81461086757600080fd5b8063060e304e116105d357806307313d8d116105ad57806307313d8d1461076457806307c3adf014610784578063095ea7b3146107a85780630f890b86146107c857600080fd5b8063060e304e1461070d578063063be69e1461072d57806306fdde031461074257600080fd5b806301339c211461062657806301873d8f1461063d57806301986fad1461068257806303da2b23146106b257806304c23ffe146106d357806305833c2b146106ed57600080fd5b3661062157005b600080fd5b34801561063257600080fd5b5061063b61128d565b005b34801561064957600080fd5b5061066d6106583660046142f9565b60256020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561068e57600080fd5b5061066d61069d3660046142f9565b600b6020526000908152604090205460ff1681565b3480156106be57600080fd5b5060235461066d90600160c01b900460ff1681565b3480156106df57600080fd5b50602b5461066d9060ff1681565b3480156106f957600080fd5b5061063b610708366004614324565b6112c6565b34801561071957600080fd5b5061063b61072836600461435d565b61131b565b34801561073957600080fd5b5061063b61134a565b34801561074e57600080fd5b50610757611383565b6040516106799190614376565b34801561077057600080fd5b5061063b61077f3660046143c4565b611415565b34801561079057600080fd5b5061079a60165481565b604051908152602001610679565b3480156107b457600080fd5b5061066d6107c33660046143e1565b611459565b3480156107d457600080fd5b5061063b611470565b3480156107e957600080fd5b5061063b6107f836600461435d565b6114a9565b34801561080957600080fd5b5061063b610818366004614459565b6114d8565b34801561082957600080fd5b5060205461066d9060ff1681565b34801561084357600080fd5b5061079a60175481565b34801561085957600080fd5b50601e5461066d9060ff1681565b34801561087357600080fd5b5061079a601f5481565b34801561088957600080fd5b50600e5461079a565b34801561089e57600080fd5b5060265461066d90610100900460ff1681565b3480156108bd57600080fd5b5061063b611579565b3480156108d257600080fd5b5061063b6108e13660046144b0565b6115aa565b3480156108f257600080fd5b50600f54610906906001600160a01b031681565b6040516001600160a01b039091168152602001610679565b34801561092a57600080fd5b5061063b610939366004614324565b6116ce565b34801561094a57600080fd5b5061066d6109593660046144f2565b611723565b34801561096a57600080fd5b5061079a60075481565b34801561098057600080fd5b5060065461079a565b34801561099557600080fd5b5060265461066d9060ff1681565b3480156109af57600080fd5b5061079a602e5481565b3480156109c557600080fd5b5061063b6109d436600461435d565b6117ba565b3480156109e557600080fd5b5061079a60185481565b3480156109fb57600080fd5b5061066d610a0a3660046142f9565b60116020526000908152604090205460ff1681565b348015610a2b57600080fd5b5061079a610a3a3660046142f9565b601c6020526000908152604090205481565b348015610a5857600080fd5b5061066d610a673660046142f9565b600d6020526000908152604090205460ff1681565b348015610a8857600080fd5b50602354610906906001600160a01b031681565b348015610aa857600080fd5b5061079a60325481565b348015610abe57600080fd5b5061063b610acd3660046143c4565b6117e9565b348015610ade57600080fd5b50601354610906906001600160a01b031681565b348015610afe57600080fd5b5061079a610b0d3660046142f9565b611826565b348015610b1e57600080fd5b5061079a60215481565b348015610b3457600080fd5b5060235461066d90600160a81b900460ff1681565b348015610b5557600080fd5b5061063b610b6436600461435d565b61185c565b348015610b7557600080fd5b5061063b610b84366004614459565b6118e3565b348015610b9557600080fd5b5061079a60395481565b348015610bab57600080fd5b5061063b610bba36600461435d565b61197c565b348015610bcb57600080fd5b50600a5461066d9060ff1681565b348015610be557600080fd5b5061063b6119ab565b348015610bfa57600080fd5b5061079a610c093660046142f9565b6119e4565b348015610c1a57600080fd5b5061063b611a8c565b348015610c2f57600080fd5b5061063b610c3e3660046143c4565b611b00565b348015610c4f57600080fd5b5061063b610c5e36600461435d565b611b69565b348015610c6f57600080fd5b5061079a601b5481565b348015610c8557600080fd5b5061063b610c9436600461435d565b611b98565b348015610ca557600080fd5b5061063b610cb43660046144b0565b611bc7565b348015610cc557600080fd5b506020546109069061010090046001600160a01b031681565b348015610cea57600080fd5b5061063b610cf93660046142f9565b611ddf565b348015610d0a57600080fd5b5061079a602a5481565b348015610d2057600080fd5b506012546109069061010090046001600160a01b031681565b348015610d4557600080fd5b5061079a60195481565b348015610d5b57600080fd5b5061079a60085481565b348015610d7157600080fd5b5061063b610d80366004614324565b611e43565b348015610d9157600080fd5b5061063b611e98565b348015610da657600080fd5b506000546001600160a01b0316610906565b348015610dc457600080fd5b50603154610906906001600160a01b031681565b348015610de457600080fd5b5061063b610df336600461435d565b611ece565b348015610e0457600080fd5b5061079a60295481565b348015610e1a57600080fd5b5060285461066d90610100900460ff1681565b348015610e3957600080fd5b50610757611efd565b348015610e4e57600080fd5b5061079a601d5481565b348015610e6457600080fd5b5061063b611f0c565b348015610e7957600080fd5b50610906610e8836600461435d565b611f3c565b348015610e9957600080fd5b5060235461066d90600160b81b900460ff1681565b348015610eba57600080fd5b5061063b610ec9366004614324565b611f66565b348015610eda57600080fd5b5061066d610ee93660046143e1565b611fbb565b348015610efa57600080fd5b5061079a60095481565b348015610f1057600080fd5b5061063b610f1f3660046144b0565b611fc8565b348015610f3057600080fd5b5061079a602d5481565b348015610f4657600080fd5b5060235461066d90600160b01b900460ff1681565b348015610f6757600080fd5b5061063b610f7636600461435d565b6120ee565b348015610f8757600080fd5b5061066d610f963660046142f9565b600c6020526000908152604090205460ff1681565b348015610fb757600080fd5b5061079a601a5481565b348015610fcd57600080fd5b5061063b610fdc366004614533565b61211d565b348015610fed57600080fd5b5061079a602f5481565b34801561100357600080fd5b5061063b61101236600461435d565b61221f565b34801561102357600080fd5b5061063b61103236600461435d565b61224e565b34801561104357600080fd5b5060235461066d90600160a01b900460ff1681565b34801561106457600080fd5b5061079a60145481565b34801561107a57600080fd5b50602254610906906001600160a01b031681565b34801561109a57600080fd5b506110a361227d565b60408051938452602084019290925290820152606001610679565b3480156110ca57600080fd5b5061079a602c5481565b3480156110e057600080fd5b5060235461066d90600160c81b900460ff1681565b34801561110157600080fd5b5061063b6111103660046142f9565b6123b1565b34801561112157600080fd5b5060285461066d9060ff1681565b34801561113b57600080fd5b5061079a60155481565b34801561115157600080fd5b5061079a61116036600461456a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561119757600080fd5b5061079a60275481565b3480156111ad57600080fd5b50601054610906906001600160a01b031681565b3480156111cd57600080fd5b5061063b6111dc36600461435d565b6123fd565b3480156111ed57600080fd5b50600354610906906001600160a01b031681565b34801561120d57600080fd5b5061063b61121c3660046143c4565b61242c565b34801561122d57600080fd5b5061079a60375481565b34801561124357600080fd5b5061079a60305481565b34801561125957600080fd5b5061063b6112683660046142f9565b612469565b34801561127957600080fd5b5060285461066d9062010000900460ff1681565b6000546001600160a01b031633146112c05760405162461bcd60e51b81526004016112b790614598565b60405180910390fd5b43602155565b6000546001600160a01b031633146112f05760405162461bcd60e51b81526004016112b790614598565b6001600160a01b03919091166000908152603560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146113455760405162461bcd60e51b81526004016112b790614598565b602955565b6000546001600160a01b031633146113745760405162461bcd60e51b81526004016112b790614598565b6023805460ff60b81b19169055565b606060048054611392906145b8565b80601f01602080910402602001604051908101604052809291908181526020018280546113be906145b8565b801561140b5780601f106113e05761010080835404028352916020019161140b565b820191906000526020600020905b8154815290600101906020018083116113ee57829003601f168201915b5050505050905090565b6000546001600160a01b0316331461143f5760405162461bcd60e51b81526004016112b790614598565b602680549115156101000261ff0019909216919091179055565b600061146633848461252f565b5060015b92915050565b6000546001600160a01b0316331461149a5760405162461bcd60e51b81526004016112b790614598565b6023805460ff60c81b19169055565b6000546001600160a01b031633146114d35760405162461bcd60e51b81526004016112b790614598565b600755565b6000546001600160a01b031633146115025760405162461bcd60e51b81526004016112b790614598565b60005b828110156115735781600b6000868685818110611524576115246145ec565b905060200201602081019061153991906142f9565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061156b81614618565b915050611505565b50505050565b6000546001600160a01b031633146115a35760405162461bcd60e51b81526004016112b790614598565b6000603255565b6000546001600160a01b031633146115d45760405162461bcd60e51b81526004016112b790614598565b60005b818110156116c9576023546000906001600160a01b03166370a08231858585818110611605576116056145ec565b905060200201602081019061161a91906142f9565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561165e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116829190614631565b11156116b7576116b783838381811061169d5761169d6145ec565b90506020020160208101906116b291906142f9565b612591565b806116c181614618565b9150506115d7565b505050565b6000546001600160a01b031633146116f85760405162461bcd60e51b81526004016112b790614598565b6001600160a01b03919091166000908152602560205260409020805460ff1916911515919091179055565b6000611730848484612662565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146117b0576001600160a01b038416600090815260026020908152604080832033845290915290205461178b90839061464a565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146117e45760405162461bcd60e51b81526004016112b790614598565b603955565b6000546001600160a01b031633146118135760405162461bcd60e51b81526004016112b790614598565b602b805460ff1916911515919091179055565b6001600160a01b0381166000908152600c602052604081205460ff161561184f57506001919050565b506000919050565b919050565b6000546001600160a01b031633146118865760405162461bcd60e51b81526004016112b790614598565b62030d40811015801561189c5750621e84808111155b6118de5760405162461bcd60e51b8152602060048201526013602482015272746f6f2068696768206f7220746f6f206c6f7760681b60448201526064016112b7565b602c55565b6000546001600160a01b0316331461190d5760405162461bcd60e51b81526004016112b790614598565b60005b828110156115735781600c600086868581811061192f5761192f6145ec565b905060200201602081019061194491906142f9565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561197581614618565b9050611910565b6000546001600160a01b031633146119a65760405162461bcd60e51b81526004016112b790614598565b602a55565b6000546001600160a01b031633146119d55760405162461bcd60e51b81526004016112b790614598565b6023805460ff60c01b19169055565b6023546000906001600160a01b038381169116148015611a0e57506023546001600160a01b031633145b8015611a1c575060265460ff165b15611a70576023546001600160a01b0316600090815260016020526040902054611a705760405162461bcd60e51b81526020600482015260056024820152642173796e6360d81b60448201526064016112b7565b506001600160a01b031660009081526001602052604090205490565b6000546001600160a01b03163314611ab65760405162461bcd60e51b81526004016112b790614598565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314611b2a5760405162461bcd60e51b81526004016112b790614598565b8015611b6057601b54601a54601954601854611b46919061465d565b611b50919061465d565b611b5a919061465d565b602d5550565b6000602d555b50565b6000546001600160a01b03163314611b935760405162461bcd60e51b81526004016112b790614598565b602e55565b6000546001600160a01b03163314611bc25760405162461bcd60e51b81526004016112b790614598565b600955565b6000546001600160a01b03163314611bf15760405162461bcd60e51b81526004016112b790614598565b808067ffffffffffffffff811115611c0b57611c0b614670565b604051908082528060200260200182016040528015611c34578160200160208202803683370190505b508051611c499160249160209091019061426a565b5060005b81811015611cca57838382818110611c6757611c676145ec565b9050602002016020810190611c7c91906142f9565b60248281548110611c8f57611c8f6145ec565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580611cc281614618565b915050611c4d565b50601054602480546001600160a01b0390921691600090611ced57611ced6145ec565b6000918252602090912001546001600160a01b031614611d4f5760405162461bcd60e51b815260206004820152601860248201527f646f6e742073757070726f74207468697320706174682031000000000000000060448201526064016112b7565b60205461010090046001600160a01b03166024611d6d60018461464a565b81548110611d7d57611d7d6145ec565b6000918252602090912001546001600160a01b0316146116c95760405162461bcd60e51b815260206004820152601860248201527f646f6e742073757070726f74207468697320706174682032000000000000000060448201526064016112b7565b6000546001600160a01b03163314611e095760405162461bcd60e51b81526004016112b790614598565b600380546001600160a01b039092166001600160a01b0319909216821790556000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b03163314611e6d5760405162461bcd60e51b81526004016112b790614598565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314611ec25760405162461bcd60e51b81526004016112b790614598565b601e805460ff19169055565b6000546001600160a01b03163314611ef85760405162461bcd60e51b81526004016112b790614598565b602d55565b606060058054611392906145b8565b6000546001600160a01b03163314611f365760405162461bcd60e51b81526004016112b790614598565b43603255565b60248181548110611f4c57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b03163314611f905760405162461bcd60e51b81526004016112b790614598565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6000611466338484612662565b6000546001600160a01b03163314611ff25760405162461bcd60e51b81526004016112b790614598565b81816000818110612005576120056145ec565b60200291909101356014555081816001818110612024576120246145ec565b60200291909101356015555081816002818110612043576120436145ec565b60200291909101356016555081816003818110612062576120626145ec565b60200291909101356017555081816004818110612081576120816145ec565b602002919091013560185550818160058181106120a0576120a06145ec565b602002919091013560195550818160068181106120bf576120bf6145ec565b6020029190910135601a5550818160078181106120de576120de6145ec565b6020029190910135601b55505050565b6000546001600160a01b031633146121185760405162461bcd60e51b81526004016112b790614598565b602f55565b6003546001600160a01b031633148061214057506000546001600160a01b031633145b6121765760405162461bcd60e51b815260206004820152600760248201526610a33ab73232b960c91b60448201526064016112b7565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af11580156121c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e99190614686565b506040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015611573573d6000803e3d6000fd5b6000546001600160a01b031633146122495760405162461bcd60e51b81526004016112b790614598565b600855565b6000546001600160a01b031633146122785760405162461bcd60e51b81526004016112b790614598565b603755565b600080600080602360009054906101000a90046001600160a01b03169050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156122dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230091906146ba565b506010546001600160701b039283169450911691506001600160a01b03163081101561233157829650819550612338565b8196508295505b6023546040516370a0823160e01b81526001600160a01b039182166004820152908216906370a0823190602401602060405180830381865afa158015612382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a69190614631565b945050505050909192565b6000546001600160a01b031633146123db5760405162461bcd60e51b81526004016112b790614598565b603180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146124275760405162461bcd60e51b81526004016112b790614598565b602755565b6000546001600160a01b031633146124565760405162461bcd60e51b81526004016112b790614598565b6026805460ff1916911515919091179055565b6000546001600160a01b031633146124935760405162461bcd60e51b81526004016112b790614598565b6001600160a01b0381166124d45760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016112b7565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b803b801561259d575050565b6001600160a01b038216600090815260346020526040812054900361265e5760335415806125fc5750816001600160a01b031660336000815481106125e4576125e46145ec565b6000918252602090912001546001600160a01b031614155b1561265e57603380546001600160a01b0384166000818152603460205260408120839055600183018455929092527f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a820180546001600160a01b03191690911790555b5050565b6001600160a01b038316600090815260016020526040902054818110156126be5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016112b7565b60006126c985611826565b11156127085760405162461bcd60e51b815260206004820152600e60248201526d6973526577617264203e2030202160901b60448201526064016112b7565b602354600090819081908190819081906001600160a01b038a8116911614801561274157503360009081526025602052604090205460ff165b80156127555750326001600160a01b038b16145b156127935761276388612da8565b905060008111801561277a575063ffffffff8a3b16155b15612793576028805461ff001916610100179055600191505b6023546000906001600160a01b03908116908c16036127d3576127b589612e13565b905080156127d3576028805462ff0000191662010000179055600193505b6001600160a01b038b166000908152600b602052604090205460ff1615801561281557506001600160a01b038a166000908152600b602052604090205460ff16155b80156128285750602654610100900460ff165b801561283657506000602754115b801561287c57506001600160a01b038b1660009081526011602052604090205460ff168061287c57506001600160a01b038a1660009081526011602052604090205460ff165b15612900576000805b6027548110156128e35760408051602081018390529081018c90524260608201526080016040516020818303038152906040528051906020012060001c91506128d08d836001612ee2565b50806128db81614618565b915050612885565b506027546128f29060016146ff565b6128fc908b61464a565b9950505b6021541580156129195750602354600160a01b900460ff165b156129f8576001600160a01b038b166000908152600b602052604090205460ff1615801561296057506001600160a01b038a166000908152600b602052604090205460ff16155b801561298557506001600160a01b038b1660009081526011602052604090205460ff16155b80156129aa57506001600160a01b038a1660009081526011602052604090205460ff16155b156129f857893b63ffffffff16156129f85760405162461bcd60e51b8152602060048201526011602482015270063616e7420616464206f74686572206c7607c1b60448201526064016112b7565b6001600160a01b038b1660009081526011602052604090205460ff1680612a3757506001600160a01b038a1660009081526011602052604090205460ff165b15612d22576001600160a01b038b166000908152600b602052604090205460ff16158015612a7e57506001600160a01b038a166000908152600b602052604090205460ff16155b15612cfc57602354600160a01b900460ff1615612ae85760215415158080612ab057506032546000108015612ab05750835b612ae65760405162461bcd60e51b815260206004820152600760248201526670617573696e6760c81b60448201526064016112b7565b505b602354600160a01b900460ff168015612b0a5750602354600160a81b900460ff165b8015612b245750600754602154612b21919061465d565b43105b8015612b4957506001600160a01b038a1660009081526011602052604090205460ff16155b15612b72576001600160a01b038a166000908152600c60205260409020805460ff191660011790555b601e5460ff168015612b9c57506001600160a01b038b1660009081526011602052604090205460ff165b8015612bb65750601f54602154612bb3919061465d565b43105b15612c1557326000908152601c60205260409020544314612be857326000908152601c60205260409020439055612c15565b601d8054906000612bf883614618565b9190505550612c088b8b8b612f97565b5050505050505050505050565b6001600160a01b038a1660009081526011602052604090205460ff1615612ce65760125460ff16158015612c47575082155b15612ce65730600090815260016020526040902054602a54811115612ce4576000601954601a54601854601554601654601454612c84919061465d565b612c8e919061465d565b612c98919061465d565b612ca2919061465d565b612cac919061465d565b90506000606460295484612cc091906146ff565b612cca919061471e565b905082811115612cd75750815b612ce1818361301d565b50505b505b82158015612cf2575083155b15612cfc57600196505b6001600160a01b038a1660009081526011602052604090205460ff1615612d2257600195505b6001600160a01b038b1660009081526011602052604090205460ff16158015612d6457506001600160a01b038a1660009081526011602052604090205460ff16155b15612d6e57600194505b612d7e8b8b8b8a8a8a898b6136a7565b6001600160a01b038b163014612c08578515612d9d57612d9d8b612591565b612c08602c54613aab565b600080600080612db661227d565b92509250925060008084118015612dcd5750600083115b15612dea5782612ddd85886146ff565b612de7919061471e565b90505b612df4818561465d565b8210612e0a57612e0682878686613e7b565b5094505b50505050919050565b6000806000612e2061227d565b9250509150818111612edb576023548490612e43906001600160a01b03166119e4565b612e4d919061464a565b602360009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ea0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec49190614631565b612ece90866146ff565b612ed8919061471e565b92505b5050919050565b6001600160a01b038316600090815260016020526040812080548391908390612f0c90849061464a565b90915550506001600160a01b03831660009081526001602052604081208054849290612f3990849061465d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f8591815260200190565b60405180910390a35060019392505050565b6001600160a01b038316600090815260016020526040902054612fbb90829061464a565b6001600160a01b0384166000908152600160205260408120919091556064612fe483605a6146ff565b612fee919061471e565b6003549091506130099085906001600160a01b03168361416b565b6115738484613018848661464a565b61416b565b6012805460ff19166001179055801580613035575081155b61369957600060155460195461304b919061465d565b9050600082600261305c84876146ff565b613066919061471e565b613070919061471e565b9050600061307f60028461471e565b613089908561464a565b6010546040805160028082526060820183529394506001600160a01b03909216926000929160208301908036833701905050905030816000815181106130d1576130d16145ec565b6001600160a01b039283166020918202929092010152601054825191169082906001908110613102576131026145ec565b6001600160a01b039283166020918202929092010152600f5416635c11d79561312b868a61464a565b60125460405160e084901b6001600160e01b03191681526131659291600091879161010090046001600160a01b0316904290600401614740565b600060405180830381600087803b15801561317f57600080fd5b505af1925050508015613190575060015b6131c957604051600081527f6c37756e80daba6f4df0d5bfa6cddadfe23601acc1a27dc8d4aa427de91467889060200160405180910390a15b6012546040516370a0823160e01b81526001600160a01b03610100909204821660048201526000918416906370a0823190602401602060405180830381865afa15801561321a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061323e9190614631565b905080156132ca576012546040516323b872dd60e01b81526101009091046001600160a01b039081166004830152306024830152604482018390528416906323b872dd906064016020604051808303816000875af11580156132a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132c89190614686565b505b60008460026132d989856146ff565b6132e3919061471e565b6132ed919061471e565b9050600085601854601454613302919061465d565b61330c90856146ff565b613316919061471e565b905080156134585760205460ff16156133c757601054604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561336f57600080fd5b505af1158015613383573d6000803e3d6000fd5b50506003546040516001600160a01b03909116925083156108fc02915083906000818181858888f193505050501580156133c1573d6000803e3d6000fd5b50613440565b60035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529086169063a9059cbb906044016020604051808303816000875af115801561341a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061343e9190614686565b505b8060306000828254613452919061465d565b90915550505b6000871180156134685750600082115b1561354057600f5460105460315460405162e8e33760e81b81523060048201526001600160a01b039283166024820152604481018b90526064810186905260006084820181905260a482015290821660c48201524260e482015291169063e8e3370090610104016060604051808303816000875af192505050801561350a575060408051601f3d908101601f19168201909252613507918101906147b1565b60015b61353c576040517f0e944a8ae3ee1160b2678930fb103c5ceadb14ecbb4c16e311d7402f7011322c90600090a1613540565b5050505b601a54601654613550919061465d565b600003613564575050505050505050613699565b6010546020546001600160a01b0391821661010090910490911603613590575050505050505050613699565b600f546040516370a0823160e01b81523060048201526001600160a01b0391821691635c11d79591908816906370a0823190602401602060405180830381865afa1580156135e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136069190614631565b6000602430426040518663ffffffff1660e01b815260040161362c9594939291906147df565b600060405180830381600087803b15801561364657600080fd5b505af1925050508015613657575060015b61369057604051600181527f6c37756e80daba6f4df0d5bfa6cddadfe23601acc1a27dc8d4aa427de91467889060200160405180910390a15b50505050505050505b50506012805460ff19169055565b6001600160a01b0388166000908152600160205260409020546136cb90879061464a565b6001600160a01b0389166000908152600160205260408120919091558515613835576000851561371957601954601a54601854613708919061465d565b613712919061465d565b9050613793565b60165460155460145461372c919061465d565b613736919061465d565b602354909150600160b81b900460ff1615613793576008548811156137935760405162461bcd60e51b81526020600482015260136024820152721bdd995c881b585e08189d5e48185b5bdd5b9d606a1b60448201526064016112b7565b60006127106137a2838b6146ff565b6137ac919061471e565b905080156137cb576137be818461465d565b92506137cb8b308361416b565b6000876137f4576127106017548b6137e391906146ff565b6137ed919061471e565b9050613812565b612710601b548b61380591906146ff565b61380f919061471e565b90505b801561383157613822818561465d565b93506138318c61dead8361416b565b5050505b83801561385b57506001600160a01b0389166000908152600b602052604090205460ff16155b801561388057506001600160a01b0388166000908152600b602052604090205460ff16155b156138c3576000612710602d548961389891906146ff565b6138a2919061471e565b905080156138c1576138b4818361465d565b91506138c18a308361416b565b505b8280156138e957506001600160a01b0389166000908152600b602052604090205460ff16155b801561390e57506001600160a01b0388166000908152600b602052604090205460ff16155b15613951576000612710602e548961392691906146ff565b613930919061471e565b9050801561394f57613942818361465d565b915061394f8a308361416b565b505b81801561397757506001600160a01b0389166000908152600b602052604090205460ff16155b801561399c57506001600160a01b0388166000908152600b602052604090205460ff16155b156139e1576000612710602f54896139b491906146ff565b6139be919061471e565b905080156139df576139d0818361465d565b91506139df8a61dead8361416b565b505b6001600160a01b0388166000908152600d602052604090205460ff16158015613a135750602354600160c01b900460ff165b15613a91576009546001600160a01b0389166000908152600160205260409020548290613a41908a9061465d565b613a4b919061464a565b1115613a915760405162461bcd60e51b81526020600482015260156024820152741bdd995c881b585e081dd85b1b195d081b1a5b5a5d605a1b60448201526064016112b7565b613aa08989613018848b61464a565b505050505050505050565b43603954603854613abc919061465d565b1115613ac55750565b6020546040516370a0823160e01b81523060048201526101009091046001600160a01b03169060009082906370a0823190602401602060405180830381865afa158015613b16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b3a9190614631565b9050603754811015613b4b57505050565b602354604080516318160ddd60e01b815290516001600160a01b039092169160009183916318160ddd916004808201926020929091908290030181865afa158015613b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bbe9190614631565b603354909150600090819081908180805a6040516370a0823160e01b81523060048201529091506001600160a01b038c16906370a0823190602401602060405180830381865afa158015613c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c3a9190614631565b99505b8b83108015613c4b57508382105b15613e69578360365410613c5f5760006036555b603360365481548110613c7457613c746145ec565b6000918252602090912001546040516370a0823160e01b81526001600160a01b03918216600482018190529850908a16906370a0823190602401602060405180830381865afa158015613ccb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cef9190614631565b9550600086118015613d1a57506001600160a01b03871660009081526035602052604090205460ff16155b15613e275787613d2a878c6146ff565b613d34919061471e565b9450600085118015613dad57506040516370a0823160e01b815230600482015285906001600160a01b038d16906370a0823190602401602060405180830381865afa158015613d87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dab9190614631565b115b15613e275760405163a9059cbb60e01b81526001600160a01b038881166004830152602482018790528c169063a9059cbb906044016020604051808303816000875af1158015613e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e259190614686565b505b5a613e32908261464a565b613e3c908461465d565b92505a603680549192506000613e5183614618565b91905055508180613e6190614618565b925050613c3d565b50504360385550505050505050505050565b6000806000602360009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ed3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ef79190614631565b90506000600f60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f729190614834565b6001600160a01b031663017e7e586040518163ffffffff1660e01b8152600401602060405180830381865afa158015613faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fd39190614834565b60235460408051637464fc3d60e01b815290519293506001600160a01b0380851615159360009390911691637464fc3d9160048083019260209291908290030181865afa158015614028573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061404c9190614631565b905081156140f15780156140f157600061406e614069898b6146ff565b6141e3565b9050600061407b836141e3565b9050808211156140ee576000614091828461464a565b61409b90886146ff565b6140a69060086146ff565b905060006140b58360086146ff565b6140c08560116146ff565b6140ca919061465d565b90506140d6818361471e565b985088156140eb576140e8898961465d565b97505b50505b50505b60006140fd898c61464a565b905084600003614128576103e86141176140698c846146ff565b614121919061464a565b965061415d565b61415a8961413687846146ff565b614140919061471e565b8961414b888e6146ff565b614155919061471e565b614252565b96505b505050505094509492505050565b6001600160a01b03821660009081526001602052604090205461418f90829061465d565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906125849085815260200190565b6000600382111561424457508060006141fd60028361471e565b61420890600161465d565b90505b8181101561423e57905080600281614223818661471e565b61422d919061465d565b614237919061471e565b905061420b565b50919050565b811561185757506001919050565b60008183106142615781614263565b825b9392505050565b8280548282559060005260206000209081019282156142bf579160200282015b828111156142bf57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061428a565b506142cb9291506142cf565b5090565b5b808211156142cb57600081556001016142d0565b6001600160a01b0381168114611b6657600080fd5b60006020828403121561430b57600080fd5b8135614263816142e4565b8015158114611b6657600080fd5b6000806040838503121561433757600080fd5b8235614342816142e4565b9150602083013561435281614316565b809150509250929050565b60006020828403121561436f57600080fd5b5035919050565b600060208083528351808285015260005b818110156143a357858101830151858201604001528201614387565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156143d657600080fd5b813561426381614316565b600080604083850312156143f457600080fd5b82356143ff816142e4565b946020939093013593505050565b60008083601f84011261441f57600080fd5b50813567ffffffffffffffff81111561443757600080fd5b6020830191508360208260051b850101111561445257600080fd5b9250929050565b60008060006040848603121561446e57600080fd5b833567ffffffffffffffff81111561448557600080fd5b6144918682870161440d565b90945092505060208401356144a581614316565b809150509250925092565b600080602083850312156144c357600080fd5b823567ffffffffffffffff8111156144da57600080fd5b6144e68582860161440d565b90969095509350505050565b60008060006060848603121561450757600080fd5b8335614512816142e4565b92506020840135614522816142e4565b929592945050506040919091013590565b60008060006060848603121561454857600080fd5b8335614553816142e4565b92506020840135915060408401356144a5816142e4565b6000806040838503121561457d57600080fd5b8235614588816142e4565b91506020830135614352816142e4565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b600181811c908216806145cc57607f821691505b60208210810361423e57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161462a5761462a614602565b5060010190565b60006020828403121561464357600080fd5b5051919050565b8181038181111561146a5761146a614602565b8082018082111561146a5761146a614602565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561469857600080fd5b815161426381614316565b80516001600160701b038116811461185757600080fd5b6000806000606084860312156146cf57600080fd5b6146d8846146a3565b92506146e6602085016146a3565b9150604084015163ffffffff811681146144a557600080fd5b600081600019048311821515161561471957614719614602565b500290565b60008261473b57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156147905784516001600160a01b03168352938301939183019160010161476b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156147c657600080fd5b8351925060208401519150604084015190509250925092565b600060a082018783526020878185015260a0604085015281875480845260c0860191508860005282600020935060005b818110156147905784546001600160a01b03168352600194850194928401920161480f565b60006020828403121561484657600080fd5b8151614263816142e456fea26469706673582212205f06a8c8715c7ddb6d3d4309f424504db786923087b6eb8efb5bb5d9c3f9a8ad64736f6c63430008100033608060405234801561001057600080fd5b5060405161014738038061014783398101604081905261002f916100a8565b60405163095ea7b360e01b815233600482015260001960248201526001600160a01b0382169063095ea7b3906044016020604051808303816000875af115801561007d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100a191906100d8565b50506100fa565b6000602082840312156100ba57600080fd5b81516001600160a01b03811681146100d157600080fd5b9392505050565b6000602082840312156100ea57600080fd5b815180151581146100d157600080fd5b603f806101086000396000f3fe6080604052600080fdfea264697066735822122012b6d7e8fa762cf215e1cf4640c1a71f45d2a35dc49d041504ce32f2b05ddb7564736f6c634300081000330000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b5067207468652046726f670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004506f50670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000006dfc6cf0c3d8ad10710408476173d6576e207206000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e0000000000000000000000006dfc6cf0c3d8ad10710408476173d6576e20720600000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000115eec47f6cf7e350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000