2.5k txs
14.9k calls
constructor
constructor()
functions
allowance
viewfunction allowance(address holder, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
deadBlocks
viewfunction deadBlocks() view returns (uint256)
decimals
purefunction decimals() pure returns (uint8)
getCirculatingSupply
viewfunction getCirculatingSupply() view returns (uint256)
getOwner
viewfunction getOwner() view returns (address)
getTotalFee
viewfunction getTotalFee(bool selling) view returns (uint256)
isFeeExempt
viewfunction isFeeExempt(address) view returns (bool)
isTxLimitExempt
viewfunction isTxLimitExempt(address) view returns (bool)
lastBuy
viewfunction lastBuy(address) view returns (uint256)
lastSell
viewfunction lastSell(address) view returns (uint256)
launchedAt
viewfunction launchedAt() view returns (uint256)
launchedTime
viewfunction launchedTime() view returns (uint256)
liquidityCreator
viewfunction liquidityCreator(address) view returns (bool)
liquidityFeeReceiver
viewfunction liquidityFeeReceiver() view returns (address)
marketingFeeReceiver
viewfunction marketingFeeReceiver() view returns (address)
maxBuyTxTokens
viewfunction maxBuyTxTokens() view returns (uint256)
maxSellTxTokens
viewfunction maxSellTxTokens() view returns (uint256)
maxWalletTokens
viewfunction maxWalletTokens() view returns (uint256)
name
purefunction name() pure returns (string)
owner
viewfunction owner() view returns (address)
pair
viewfunction pair() view returns (address)
protected
viewfunction protected(address) view returns (uint256)
protectionCount
viewfunction protectionCount() view returns (uint256)
rateLimit
viewfunction rateLimit() view returns (uint256)
router
viewfunction router() view returns (address)
shouldTakeFee
viewfunction shouldTakeFee(address sender, address recipient) view returns (bool)
swapEnabled
viewfunction swapEnabled() view returns (bool)
swapMinimum
viewfunction swapMinimum() view returns (uint256)
swapThreshold
viewfunction swapThreshold() view returns (uint256)
symbol
purefunction symbol() pure returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
transferTax
viewfunction transferTax() view returns (bool)
addLiquidityPool
nonpayablefunction addLiquidityPool(address lp, bool isPool)
airdrop
nonpayablefunction airdrop(address[] addresses, uint256[] amounts)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
approveMax
nonpayablefunction approveMax(address spender) returns (bool)
clearStuckBalance
nonpayablefunction clearStuckBalance(uint256 amountPercentage, address adr)
disablePause
nonpayablefunction disablePause()
disableProtection
nonpayablefunction disableProtection()
openTrading
nonpayablefunction openTrading(uint256 _deadBlocks, uint256 _protection, uint256 _limit)
pauseTrading
nonpayablefunction pauseTrading()
protectWallet
nonpayablefunction protectWallet(address[] _wallets, bool _protect)
renounceOwnership
nonpayablefunction renounceOwnership()
setFeeReceivers
nonpayablefunction setFeeReceivers(address _liquidityFeeReceiver, address _marketingFeeReceiver)
setFees
nonpayablefunction setFees(uint256 _liquidityFee, uint256 _liquiditySellFee, uint256 _marketingFee, uint256 _marketingSellFee, uint256 _feeDenominator)
setIsFeeExempt
nonpayablefunction setIsFeeExempt(address holder, bool exempt)
setIsTxLimitExempt
nonpayablefunction setIsTxLimitExempt(address holder, bool exempt)
setMaxWallet
nonpayablefunction setMaxWallet(uint256 numerator, uint256 divisor)
setProtection
nonpayablefunction setProtection(bool _protect, uint256 _addTime)
setRateLimit
nonpayablefunction setRateLimit(uint256 rate)
setSwapBackSettings
nonpayablefunction setSwapBackSettings(bool _enabled, uint256 _denominator, uint256 _swapMinimum)
setTeamMember
nonpayablefunction setTeamMember(address _team, bool _enabled)
setTxLimit
nonpayablefunction setTxLimit(uint256 buyNumerator, uint256 sellNumerator, uint256 divisor)
toggleTransferTax
nonpayablefunction toggleTransferTax()
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)
FeesSet
event FeesSet(uint256 totalBuyFees, uint256 totalSellFees, uint256 denominator)
FundsDistributed
event FundsDistributed(uint256 marketingETH, uint256 liquidityETH, uint256 liquidityTokens)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ProtectedWallet
event ProtectedWallet(address, address, uint256, uint8)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x6080604052600180546001600160a01b031990811661dead17909155600280549091169055620000326009600a62000618565b6200004290633b9aca0062000630565b60035560c8600354600162000058919062000630565b6200006491906200064a565b60045560c860035460016200007a919062000630565b6200008691906200064a565b600555606460035460016200009c919062000630565b620000a891906200064a565b600655610190600e55610190600f5560646010556064601155601054600e54620000d391906200066d565b601255601154600f54620000e891906200066d565b6013556127106014556015805474456ce64b4ec0643fa0b02312b32b9bd364f175c2006001600160a81b0319909116179055601680546001600160a01b031990811673456ce64b4ec0643fa0b02312b32b9bd364f175c21790915560188054909116737a250d5630b4cf539739df2c5dacb4c659f2488d179055601b805461ffff1990811660011790915560238054909116905560026024556025805460ff191690556003546200019d906103e8906200064a565b602655612710600354620001b291906200064a565b602755348015620001c257600080fd5b50620001ce33620004b3565b601854601780546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200022b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000251919062000683565b6001600160a01b031663c9c65396601760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d9919062000683565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000326573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034c919062000683565b601f80546001600160a01b0319166001600160a01b039290921691821790556000908152601960205260408120805460ff19166001179055600019906008906200039e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120601880548416835290855283822095909555308082526008855283822086548416835285528382206000199055815483168252600b85528382208054600160ff199182168117909255835485168452600d87528584208054821683179055918352600c865284832080548316821790558254841683528483208054831682179055955483168252838220805482168717905585548316825283822080549091169095179094556003548454821685526007845282852081905584549251908152911692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620006ae565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200055a5781600019048211156200053e576200053e62000503565b808516156200054c57918102915b93841c93908002906200051e565b509250929050565b600082620005735750600162000612565b81620005825750600062000612565b81600181146200059b5760028114620005a657620005c6565b600191505062000612565b60ff841115620005ba57620005ba62000503565b50506001821b62000612565b5060208310610133831016604e8410600b8410161715620005eb575081810a62000612565b620005f7838362000519565b80600019048211156200060e576200060e62000503565b0290505b92915050565b60006200062960ff84168362000562565b9392505050565b808202811582820484141762000612576200061262000503565b6000826200066857634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000612576200061262000503565b6000602082840312156200069657600080fd5b81516001600160a01b03811681146200062957600080fd5b612e3580620006be6000396000f3fe6080604052600436106103855760003560e01c806370a08231116101d1578063bfa21d6a11610102578063dd62ed3e116100a0578063f84ba65d1161006f578063f84ba65d14610a9b578063f8821a6214610abb578063f887ea4014610ad1578063fabb0b4f14610af157600080fd5b8063dd62ed3e146109f5578063e96fada214610a3b578063f1f3bca314610a5b578063f2fde38b14610a7b57600080fd5b8063d0889358116100dc578063d088935814610970578063d686014214610990578063d912b2ce146109b0578063dae39f92146109c557600080fd5b8063bfa21d6a146108fe578063c1adf7bc14610923578063c287184e1461095057600080fd5b80639b02c4021161016f578063a9059cbb11610149578063a9059cbb14610893578063abe57e70146108b3578063bafe446b146108d3578063bf56b371146108e857600080fd5b80639b02c4021461083d578063a4b45c0014610853578063a8aa1b311461087357600080fd5b8063893d20e8116101ab578063893d20e8146107915780638b42507f146107c35780638da5cb5b146107f357806395d89b411461081157600080fd5b806370a082311461072c578063715018a6146107625780638124f7ac1461077757600080fd5b8063421dd7c7116102b6578063584f969a11610254578063658d4b7f11610223578063658d4b7f146106a557806367243482146106c55780636ddd1713146106e55780636f4ce428146106ff57600080fd5b8063584f969a1461064557806360bba03d1461065a57806361e08e721461067a57806363a803e11461069057600080fd5b8063507139351161029057806350713935146105cf57806356a227f2146105ef578063571ac8b01461060f5780635804f1e41461062f57600080fd5b8063421dd7c71461056d57806346d7edaa14610582578063492a937b146105af57600080fd5b8063234e949411610323578063313ce567116102fd578063313ce567146104e1578063332402f8146104fd57806334848b9a1461051d5780633f4218e01461053d57600080fd5b8063234e94941461049757806323b872dd146104ac5780632b112e49146104cc57600080fd5b8063095db78f1161035f578063095db78f1461041d578063095ea7b31461043d5780631031e36e1461046d57806318160ddd1461048257600080fd5b80630445b6671461039157806304a66b48146103ba57806306fdde03146103dc57600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a760265481565b6040519081526020015b60405180910390f35b3480156103c657600080fd5b506103da6103d5366004612786565b610b07565b005b3480156103e857600080fd5b5060408051808201909152600f81526e426c6f636b636861696e204265747360881b60208201525b6040516103b191906127c1565b34801561042957600080fd5b506103da610438366004612870565b610c83565b34801561044957600080fd5b5061045d6104583660046128d9565b610e36565b60405190151581526020016103b1565b34801561047957600080fd5b506103da610ea3565b34801561048e57600080fd5b506003546103a7565b3480156104a357600080fd5b506103a7610f08565b3480156104b857600080fd5b5061045d6104c7366004612905565b610f28565b3480156104d857600080fd5b506103a7610fbd565b3480156104ed57600080fd5b50604051600981526020016103b1565b34801561050957600080fd5b5061045d610518366004612946565b610ffe565b34801561052957600080fd5b506103da61053836600461297f565b6110a5565b34801561054957600080fd5b5061045d6105583660046129ab565b600b6020526000908152604090205460ff1681565b34801561057957600080fd5b506103da611146565b34801561058e57600080fd5b506103a761059d3660046129ab565b601a6020526000908152604090205481565b3480156105bb57600080fd5b506103da6105ca3660046129c8565b61119b565b3480156105db57600080fd5b506103da6105ea36600461297f565b611237565b3480156105fb57600080fd5b506103da61060a3660046129fd565b6112b0565b34801561061b57600080fd5b5061045d61062a3660046129ab565b6113b4565b34801561063b57600080fd5b506103a760215481565b34801561065157600080fd5b506103da6113c2565b34801561066657600080fd5b506103da6106753660046129c8565b611417565b34801561068657600080fd5b506103a760245481565b34801561069c57600080fd5b506103a761144a565b3480156106b157600080fd5b506103da6106c03660046129c8565b611465565b3480156106d157600080fd5b506103da6106e0366004612a22565b611498565b3480156106f157600080fd5b5060255461045d9060ff1681565b34801561070b57600080fd5b506103a761071a3660046129ab565b60096020526000908152604090205481565b34801561073857600080fd5b506103a76107473660046129ab565b6001600160a01b031660009081526007602052604090205490565b34801561076e57600080fd5b506103da6115dd565b34801561078357600080fd5b5060155461045d9060ff1681565b34801561079d57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016103b1565b3480156107cf57600080fd5b5061045d6107de3660046129ab565b600c6020526000908152604090205460ff1681565b3480156107ff57600080fd5b506000546001600160a01b03166107ab565b34801561081d57600080fd5b506040805180820190915260038152622121a160e91b6020820152610410565b34801561084957600080fd5b506103a7601d5481565b34801561085f57600080fd5b506103da61086e366004612946565b6115f1565b34801561087f57600080fd5b50601f546107ab906001600160a01b031681565b34801561089f57600080fd5b5061045d6108ae3660046128d9565b611631565b3480156108bf57600080fd5b506103da6108ce366004612a8e565b61163e565b3480156108df57600080fd5b506103a761168d565b3480156108f457600080fd5b506103a760205481565b34801561090a57600080fd5b506015546107ab9061010090046001600160a01b031681565b34801561092f57600080fd5b506103a761093e3660046129ab565b600a6020526000908152604090205481565b34801561095c57600080fd5b506103da61096b366004612ab0565b6116a8565b34801561097c57600080fd5b506103da61098b366004612ac9565b6116c3565b34801561099c57600080fd5b506103da6109ab366004612afc565b611715565b3480156109bc57600080fd5b506103da6117a6565b3480156109d157600080fd5b5061045d6109e03660046129ab565b600d6020526000908152604090205460ff1681565b348015610a0157600080fd5b506103a7610a10366004612946565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b348015610a4757600080fd5b506016546107ab906001600160a01b031681565b348015610a6757600080fd5b506103a7610a76366004612b18565b6117c2565b348015610a8757600080fd5b506103da610a963660046129ab565b6117ff565b348015610aa757600080fd5b506103da610ab63660046129c8565b611878565b348015610ac757600080fd5b506103a760275481565b348015610add57600080fd5b506017546107ab906001600160a01b031681565b348015610afd57600080fd5b506103a760225481565b610b0f6118ab565b610b198486612b49565b6002610b258688612b49565b610b2f9190612b5c565b610b3a906002612b7e565b14610ba95760405162461bcd60e51b815260206004820152603460248201527f4c697175696469747920666565206d75737420626520616e206576656e206e756044820152736d6265722064756520746f20726f756e64696e6760601b60648201526084015b60405180910390fd5b60108590556011849055600e839055600f829055610bc78386612b49565b601255610bd48285612b49565b6013556014819055610be7600282612b5c565b601354601254610bf79190612b49565b1115610c355760405162461bcd60e51b815260206004820152600d60248201526c08ccacae640e8dede40d0d2ced609b1b6044820152606401610ba0565b60125460135460145460408051938452602084019290925282820152517f01bae858246c904512695a3f6d48ab88abb7a0192fdd7c53b043e60317795f459181900360600190a15050505050565b3360009081526029602052604090205460ff1680610cab57506000546001600160a01b031633145b610cc75760405162461bcd60e51b8152600401610ba090612b95565b8015610cdc57601b5460ff16610cdc57600080fd5b60005b82811015610e30578115610d6b57601d8054906000610cfd83612bcc565b91905055507f47e78c0c4ce6dbe67ff01d67de13c04f361afa37858e7056d665001d746855ea32858584818110610d3657610d36612be5565b9050602002016020810190610d4b91906129ab565b436002604051610d5e9493929190612bfb565b60405180910390a1610dcb565b601a6000858584818110610d8157610d81612be5565b9050602002016020810190610d9691906129ab565b6001600160a01b0316815260208101919091526040016000205415610dcb57601d8054906000610dc583612c26565b91905055505b81610dd7576000610dd9565b435b601a6000868685818110610def57610def612be5565b9050602002016020810190610e0491906129ab565b6001600160a01b0316815260208101919091526040016000205580610e2881612bcc565b915050610cdf565b50505050565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610e919086815260200190565b60405180910390a35060015b92915050565b3360009081526029602052604090205460ff1680610ecb57506000546001600160a01b031633145b610ee75760405162461bcd60e51b8152600401610ba090612b95565b602354610100900460ff1615610efc57600080fd5b6023805460ff19169055565b6000610f166009600a612d21565b600554610f239190612b5c565b905090565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610fa8576001600160a01b0384166000908152600860209081526040808320338452909152902054610f83908390612d30565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610fb3848484611905565b90505b9392505050565b6002546001600160a01b039081166000908152600760205260408082205460015490931682528120549091610ff191612b49565b600354610f239190612d30565b60155460009060ff1615801561102d57506001600160a01b03821660009081526019602052604090205460ff16155b801561105257506001600160a01b03831660009081526019602052604090205460ff16155b1561105f57506000610e9d565b6001600160a01b0383166000908152600b602052604090205460ff16158015610fb65750506001600160a01b03166000908152600b602052604090205460ff1615919050565b3360009081526029602052604090205460ff16806110cd57506000546001600160a01b031633145b6110e95760405162461bcd60e51b8152600401610ba090612b95565b60235460ff161580156110fc5750600a83105b61110557600080fd5b60228390556023805460ff19166001179055436020556111258242612b49565b601e556111346009600a612d21565b61113e9082612b7e565b601c55505050565b3360009081526029602052604090205460ff168061116e57506000546001600160a01b031633145b61118a5760405162461bcd60e51b8152600401610ba090612b95565b601b805461ffff1916610100179055565b6111a36118ab565b601f546001600160a01b039081169083160361120c5760405162461bcd60e51b815260206004820152602260248201527f43616e277420616c7465722063757272656e74206c697175696469747920706160448201526134b960f11b6064820152608401610ba0565b6001600160a01b03919091166000908152601960205260409020805460ff1916911515919091179055565b61123f6118ab565b60008311801561124f5750600082115b801561125b5750600081115b801561126957506127108111155b61127257600080fd5b80836003546112819190612b7e565b61128b9190612b5c565b600455600354819061129e908490612b7e565b6112a89190612b5c565b600555505050565b3360009081526029602052604090205460ff16806112d857506000546001600160a01b031633145b6112f45760405162461bcd60e51b8152600401610ba090612b95565b4780156113af5760006001600160a01b03831660646113138685612b7e565b61131d9190612b5c565b604051600081818185875af1925050503d8060008114611359576040519150601f19603f3d011682016040523d82523d6000602084013e61135e565b606091505b5050905080610e305760405162461bcd60e51b815260206004820152601860248201527f4661696c656420746f207472616e736665722066756e647300000000000000006044820152606401610ba0565b505050565b6000610e9d82600019610e36565b3360009081526029602052604090205460ff16806113ea57506000546001600160a01b031633145b6114065760405162461bcd60e51b8152600401610ba090612b95565b6023805461ffff1916610101179055565b61141f6118ab565b6001600160a01b03919091166000908152602960205260409020805460ff1916911515919091179055565b60006114586009600a612d21565b600654610f239190612b5c565b61146d6118ab565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6114a06118ab565b82158015906114ae57508083145b6114b757600080fd5b3360005b848110156115d557601960008787848181106114d9576114d9612be5565b90506020020160208101906114ee91906129ab565b6001600160a01b0316815260208101919091526040016000205460ff1615801561155d5750600d600087878481811061152957611529612be5565b905060200201602081019061153e91906129ab565b6001600160a01b0316815260208101919091526040016000205460ff16155b156115c3576115c18287878481811061157857611578612be5565b905060200201602081019061158d91906129ab565b6115996009600a612d21565b8787868181106115ab576115ab612be5565b905060200201356115bc9190612b7e565b611e01565b505b806115cd81612bcc565b9150506114bb565b505050505050565b6115e56118ab565b6115ef6000611ebb565b565b6115f96118ab565b60158054610100600160a81b0319166101006001600160a01b0394851602179055601680546001600160a01b03191691909216179055565b6000610fb6338484611905565b6116466118ab565b6000821180156116565750600081115b801561166457506127108111155b61166d57600080fd5b808260035461167c9190612b7e565b6116869190612b5c565b6006555050565b600061169b6009600a612d21565b600454610f239190612b5c565b6116b06118ab565b603c8111156116be57600080fd5b602455565b6116cb6118ab565b600082116116d857600080fd5b6025805460ff19168415151790556003546116f4908390612b5c565b6026556117036009600a612d21565b61170d9082612b7e565b602755505050565b3360009081526029602052604090205460ff168061173d57506000546001600160a01b031633145b6117595760405162461bcd60e51b8152600401610ba090612b95565b601b54610100900460ff161561176e57600080fd5b601b805460ff191683151517905562015180811061178b57600080fd5b80601e600082825461179d9190612b49565b90915550505050565b6117ae6118ab565b6015805460ff19811660ff90911615179055565b6000436022546020546117d59190612b49565b106117e9576001601454610e9d9190612d30565b81156117f757505060135490565b505060125490565b6118076118ab565b6001600160a01b03811661186c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ba0565b61187581611ebb565b50565b6118806118ab565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146115ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ba0565b60006001600160a01b03841661195d5760405162461bcd60e51b815260206004820152601860248201527f42455032303a207472616e736665722066726f6d2030783000000000000000006044820152606401610ba0565b6001600160a01b0383166119ac5760405162461bcd60e51b8152602060048201526016602482015275042455032303a207472616e7366657220746f203078360541b6044820152606401610ba0565b600082116119f45760405162461bcd60e51b8152602060048201526015602482015274416d6f756e74206d757374206265203e207a65726f60581b6044820152606401610ba0565b6001600160a01b038416600090815260076020526040902054821115611a535760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610ba0565b602054158015611a7b57506001600160a01b03831660009081526019602052604090205460ff165b15611b02576001600160a01b0384166000908152600d602052604090205460ff16611ae85760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206e6f74206164646564207965742e00000000000000006044820152606401610ba0565b611b0243602055426021556025805460ff19166001179055565b60235460ff16611b8f576001600160a01b0384166000908152600d602052604090205460ff1680611b4b57506001600160a01b0383166000908152600d602052604090205460ff165b611b8f5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b6044820152606401610ba0565b611b9a848484611f0b565b6001600160a01b03831660009081526019602052604090205460ff16158015611bd157506001546001600160a01b03848116911614155b15611c00576001600160a01b0383166000908152600c602052604090205460ff16611c0057611c008383612251565b601b5460ff168015611c13575042601e54115b15611cdd576001600160a01b03841660009081526019602052604090205460ff168015611c495750326001600160a01b03841614155b8015611c6b57506001600160a01b0383166000908152601a6020526040902054155b15611cdd576001600160a01b0383166000908152601a60205260408120439055601d805491611c9983612bcc565b91905055507f47e78c0c4ce6dbe67ff01d67de13c04f361afa37858e7056d665001d746855ea3284436000604051611cd49493929190612bfb565b60405180910390a15b60285460ff1615611cfa57611cf3848484611e01565b9050610fb6565b6001600160a01b038416600090815260076020526040902054611d1e908390612d30565b6001600160a01b03851660009081526007602052604090205581611d428585610ffe565b15611d7657611d5184846122d6565b9050611d5c84612354565b8015611d685750600083115b15611d7657611d76836123e6565b6001600160a01b038416600090815260076020526040902054611d9a908290612b49565b6001600160a01b0380861660008181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611dee9085815260200190565b60405180910390a3506001949350505050565b6001600160a01b038316600090815260076020526040812054611e25908390612d30565b6001600160a01b038086166000908152600760205260408082209390935590851681522054611e55908390612b49565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ea99086815260200190565b60405180910390a35060019392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166000908152600c602052604090205460ff1680611f4a57506001600160a01b0382166000908152600c602052604090205460ff165b15611f5457505050565b6001600160a01b03831660009081526019602052604090205460ff16611f7c57600554611f80565b6004545b811115611fc35760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610ba0565b6024546001600160a01b0383166000908152600a60205260409020544391611fea91612b49565b11156120385760405162461bcd60e51b815260206004820152601d60248201527f5472616e736665722072617465206c696d69742065786365656465642e0000006044820152606401610ba0565b6001600160a01b0383166000908152601a60205260409020541561211b576120626009600a612d21565b601c5461206f9190612b7e565b811115801561209457506001600160a01b038316600090815260096020526040902054155b80156120a1575042601e54115b6120ff5760405162461bcd60e51b815260206004820152602960248201527f57616c6c65742070726f7465637465642c20706c6561736520636f6e746163746044820152681039bab83837b93a1760b91b6064820152608401610ba0565b6001600160a01b03831660009081526009602052604090204390555b6001600160a01b03821660009081526019602052604090205460ff161561215a5750506001600160a01b03166000908152600960205260409020439055565b6121648383610ffe565b156113af57601b5460ff16801561217c575042601e54115b80156121965750326000908152600a602052604090205443145b80156121b857506001600160a01b0382166000908152601a6020526040902054155b15612219576001600160a01b0382166000908152601a602052604090819020439081905590517f47e78c0c4ce6dbe67ff01d67de13c04f361afa37858e7056d665001d746855ea916122109132918691600190612bfb565b60405180910390a15b6001600160a01b0382166000818152600a6020526040902043905532146113af57326000908152600a60205260409020439055505050565b6006546001600160a01b038316600090815260076020526040902054819061227a908490612b49565b11156113af5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610ba0565b6001600160a01b03821660009081526019602052604081205460145460ff909116908290612303836117c2565b61230d9086612b7e565b6123179190612b5c565b3060009081526007602052604081208054929350839290919061233b908490612b49565b9091555061234b90508185612d30565b95945050505050565b3360009081526019602052604081205460ff16158015612377575060285460ff16155b8015612385575060255460ff165b80156123a957506001600160a01b03821660009081526019602052604090205460ff165b80156123c657506027543060009081526007602052604090205410155b8015610e9d575060006013546012546123df9190612b49565b1192915050565b6028805460ff1916600117905560135460125460009161240591612b49565b90506000602654831061241a5760265461241c565b825b306000908152600760205260409020549091508111156124485750306000908152600760205260409020545b600060115460105461245a9190612b49565b9050600083600261246b8486612b7e565b6124759190612b5c565b61247f9190612b5c565b905061248b8184612d30565b604080516002808252606082018352929550600092909160208301908036833701905050905030816000815181106124c5576124c5612be5565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561251e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125429190612d43565b8160018151811061255557612555612be5565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b81524792919091169063791ac9479061259f908890600090879030904290600401612d60565b600060405180830381600087803b1580156125b957600080fd5b505af11580156125cd573d6000803e3d6000fd5b50505050600081476125df9190612d30565b905060006125ee600287612b5c565b6125f89089612d30565b905060008160026126098986612b7e565b6126139190612b5c565b61261d9190612b5c565b9050600061262b8285612d30565b9050801561268a576016546040516000916001600160a01b03169083908381818185875af1925050503d8060008114612680576040519150601f19603f3d011682016040523d82523d6000602084013e612685565b606091505b505050505b861561272e5760175460155460405163f305d71960e01b8152306004820152602481018a905260006044820181905260648201526001600160a01b03610100909204821660848201524260a482015291169063f305d71990849060c40160606040518083038185885af1158015612705573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061272a9190612dd1565b5050505b60408051828152602081018490529081018890527fdaf6233a382145376035341e71f8a04305f7e323d0fe3e58c908cf0a26b76df99060600160405180910390a150506028805460ff19169055505050505050505050565b600080600080600060a0868803121561279e57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600060208083528351808285015260005b818110156127ee578581018301518582016040015282016127d2565b506000604082860101526040601f19601f8301168501019250505092915050565b60008083601f84011261282157600080fd5b50813567ffffffffffffffff81111561283957600080fd5b6020830191508360208260051b850101111561285457600080fd5b9250929050565b8035801515811461286b57600080fd5b919050565b60008060006040848603121561288557600080fd5b833567ffffffffffffffff81111561289c57600080fd5b6128a88682870161280f565b90945092506128bb90506020850161285b565b90509250925092565b6001600160a01b038116811461187557600080fd5b600080604083850312156128ec57600080fd5b82356128f7816128c4565b946020939093013593505050565b60008060006060848603121561291a57600080fd5b8335612925816128c4565b92506020840135612935816128c4565b929592945050506040919091013590565b6000806040838503121561295957600080fd5b8235612964816128c4565b91506020830135612974816128c4565b809150509250929050565b60008060006060848603121561299457600080fd5b505081359360208301359350604090920135919050565b6000602082840312156129bd57600080fd5b8135610fb6816128c4565b600080604083850312156129db57600080fd5b82356129e6816128c4565b91506129f46020840161285b565b90509250929050565b60008060408385031215612a1057600080fd5b823591506020830135612974816128c4565b60008060008060408587031215612a3857600080fd5b843567ffffffffffffffff80821115612a5057600080fd5b612a5c8883890161280f565b90965094506020870135915080821115612a7557600080fd5b50612a828782880161280f565b95989497509550505050565b60008060408385031215612aa157600080fd5b50508035926020909101359150565b600060208284031215612ac257600080fd5b5035919050565b600080600060608486031215612ade57600080fd5b612ae78461285b565b95602085013595506040909401359392505050565b60008060408385031215612b0f57600080fd5b6128f78361285b565b600060208284031215612b2a57600080fd5b610fb68261285b565b634e487b7160e01b600052601160045260246000fd5b80820180821115610e9d57610e9d612b33565b600082612b7957634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610e9d57610e9d612b33565b6020808252601b908201527f43616c6c6572206973206e6f742061207465616d206d656d6265720000000000604082015260600190565b600060018201612bde57612bde612b33565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039485168152929093166020830152604082015260ff909116606082015260800190565b600081612c3557612c35612b33565b506000190190565b600181815b80851115612c78578160001904821115612c5e57612c5e612b33565b80851615612c6b57918102915b93841c9390800290612c42565b509250929050565b600082612c8f57506001610e9d565b81612c9c57506000610e9d565b8160018114612cb25760028114612cbc57612cd8565b6001915050610e9d565b60ff841115612ccd57612ccd612b33565b50506001821b610e9d565b5060208310610133831016604e8410600b8410161715612cfb575081810a610e9d565b612d058383612c3d565b8060001904821115612d1957612d19612b33565b029392505050565b6000610fb660ff841683612c80565b81810381811115610e9d57610e9d612b33565b600060208284031215612d5557600080fd5b8151610fb6816128c4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612db05784516001600160a01b031683529383019391830191600101612d8b565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612de657600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220c63fd7638b8181d6240fbeaac683d91850b5d6831332d4113ca31bdbc82b236764736f6c63430008110033