42 txs
365 calls
constructor
constructor()
functions
_maxTxAmount
viewfunction _maxTxAmount() view returns (uint256)
_maxWalletToken
viewfunction _maxWalletToken() view returns (uint256)
allowance
viewfunction allowance(address holder, address spender) view returns (uint256)
autoLiquidityReceiver
viewfunction autoLiquidityReceiver() view returns (address)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
buyCooldownEnabled
viewfunction buyCooldownEnabled() view returns (bool)
cooldownTimerInterval
viewfunction cooldownTimerInterval() view returns (uint8)
decimals
purefunction decimals() pure returns (uint8)
devFee
viewfunction devFee() view returns (uint256)
devFeeReceiver
viewfunction devFeeReceiver() view returns (address)
distributor
viewfunction distributor() view returns (address)
feeDenominator
viewfunction feeDenominator() view returns (uint256)
getCirculatingSupply
viewfunction getCirculatingSupply() view returns (uint256)
getLiquidityBacking
viewfunction getLiquidityBacking(uint256 accuracy) view returns (uint256)
getOwner
viewfunction getOwner() view returns (address)
isAuthorized
viewfunction isAuthorized(address adr) view returns (bool)
isOverLiquified
viewfunction isOverLiquified(uint256 target, uint256 accuracy) view returns (bool)
isOwner
viewfunction isOwner(address account) view returns (bool)
liquidityFee
viewfunction liquidityFee() view returns (uint256)
marketingFee
viewfunction marketingFee() view returns (uint256)
marketingFeeReceiver
viewfunction marketingFeeReceiver() view returns (address)
name
purefunction name() pure returns (string)
pair
viewfunction pair() view returns (address)
reflectionFee
viewfunction reflectionFee() view returns (uint256)
router
viewfunction router() view returns (address)
sellMultiplier
viewfunction sellMultiplier() view returns (uint256)
swapEnabled
viewfunction swapEnabled() view returns (bool)
swapThreshold
viewfunction swapThreshold() view returns (uint256)
symbol
purefunction symbol() pure returns (string)
totalFee
viewfunction totalFee() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
tradingOpen
viewfunction tradingOpen() view returns (bool)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
approveMax
nonpayablefunction approveMax(address spender) returns (bool)
authorize
nonpayablefunction authorize(address adr)
clearStuckBalance_sender
nonpayablefunction clearStuckBalance_sender(uint256 amountPercentage)
clearStuckBalance
nonpayablefunction clearStuckBalance(uint256 amountPercentage)
cooldownEnabled
nonpayablefunction cooldownEnabled(bool _status, uint8 _interval)
manualSend
nonpayablefunction manualSend()
multiTransfer_fixed
nonpayablefunction multiTransfer_fixed(address from, address[] addresses, uint256 tokens)
multiTransfer
nonpayablefunction multiTransfer(address from, address[] addresses, uint256[] tokens)
openTrading
nonpayablefunction openTrading()
removeLimits
nonpayablefunction removeLimits()
renounceOwnership
nonpayablefunction renounceOwnership()
set_sell_multiplier
nonpayablefunction set_sell_multiplier(uint256 Multiplier)
setDistributionCriteria
nonpayablefunction setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution)
setDistributorSettings
nonpayablefunction setDistributorSettings(uint256 gas)
setFeeReceivers
nonpayablefunction setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver)
setFees
nonpayablefunction setFees(uint256 _liquidityFee, uint256 _reflectionFee, uint256 _marketingFee, uint256 _devFee, uint256 _feeDenominator)
setIsDividendExempt
nonpayablefunction setIsDividendExempt(address holder, bool exempt)
setIsFeeExempt
nonpayablefunction setIsFeeExempt(address holder, bool exempt)
setIsTimelockExempt
nonpayablefunction setIsTimelockExempt(address holder, bool exempt)
setIsTxLimitExempt
nonpayablefunction setIsTxLimitExempt(address holder, bool exempt)
setMaxTxPercent_base1000
nonpayablefunction setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000)
setMaxWalletPercent_base1000
nonpayablefunction setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000)
setSwapBackSettings
nonpayablefunction setSwapBackSettings(bool _enabled, uint256 _amount)
setTargetLiquidity
nonpayablefunction setTargetLiquidity(uint256 _target, uint256 _denominator)
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address adr)
unauthorize
nonpayablefunction unauthorize(address adr)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
AutoLiquify
event AutoLiquify(uint256 amountBNB, uint256 amountBOG)
OwnershipTransferred
event OwnershipTransferred(address owner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x6080604052600280546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560038054821661dead17905560048054909116905561004e6009600a610595565b61005c90633b9aca006105aa565b6005556064600554600261007091906105aa565b61007a91906105c1565b6006556064600554600261008e91906105aa565b61009891906105c1565b6007555f600e556003600f5560026010556012601155601154600e54600f546010546100c491906105e0565b6100ce91906105e0565b6100d891906105e0565b6012556064601381905560c86014908155601855601955601b805460ff60a01b19169055622dc6c0601d55601e805461ffff19166114001790556020805460ff19166001179055600554612710906101319060326105aa565b61013b91906105c1565b602155348015610149575f5ffd5b505f8054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155601a8054737a250d5630b4cf539739df2c5dacb4c659f2488d931683179055825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa1580156101cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101f091906105f3565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af115801561023e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026291906105f3565b601b80546001600160a01b0319166001600160a01b03928316179055305f908152600960209081526040808320601a8054861685529252918290205f1990555490519116906102b090610491565b6001600160a01b039091168152602001604051809103905ff0801580156102d9573d5f5f3e3d5ffd5b50601c80546001600160a01b039283166001600160a01b031991821617909155335f818152600a60209081526040808320805460ff199081166001908117909255600b84528285208054821683179055600c8452828520805482168317905560038054891686528386208054831684179055308087528487208054841685179055601b548a168752600d86528487208054841685179055865283862080548316841790555488168552828520805482168317905560158054881687179055601680548816871790556017805490971686179096556005549484526008835281842094909455601a805487168452918490529091208054909316909117909155546103e591165f19610425565b5060055460405190815233905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610619565b335f8181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061047f9086815260200190565b60405180910390a35060015b92915050565b610d4a806135f783390190565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104ed578085048111156104d1576104d161049e565b60018416156104df57908102905b60019390931c9280026104b6565b935093915050565b5f826105035750600161048b565b8161050f57505f61048b565b8160018114610525576002811461052f5761054b565b600191505061048b565b60ff8411156105405761054061049e565b50506001821b61048b565b5060208310610133831016604e8410600b841016171561056e575081810a61048b565b61057a5f1984846104b2565b805f190482111561058d5761058d61049e565b029392505050565b5f6105a360ff8416836104f5565b9392505050565b808202811582820484141761048b5761048b61049e565b5f826105db57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561048b5761048b61049e565b5f60208284031215610603575f5ffd5b81516001600160a01b03811681146105a3575f5ffd5b612fd1806106265f395ff3fe608060405260043610610395575f3560e01c8063751039fc116101de578063d51ed1c811610108578063f2fde38b1161009d578063f887ea401161006d578063f887ea4014610a92578063fe9fbb8014610ab1578063fed0d2a114610ad0578063ffb54a9914610ae5575f5ffd5b8063f2fde38b14610a21578063f429389014610a40578063f708a64f14610a54578063f84ba65d14610a73575f5ffd5b8063df20fd49116100d8578063df20fd49146109a5578063e96fada2146109c4578063ec72d65f146109e3578063f0b37c0414610a02575f5ffd5b8063d51ed1c814610904578063d7c0103214610923578063dab84ee714610942578063dd62ed3e14610961575f5ffd5b80639d1944f51161017e578063bd9ab5371161014e578063bd9ab53714610893578063bfe10928146108b2578063c9567bf9146108d1578063ca33e64c146108e5575f5ffd5b80639d1944f514610817578063a8aa1b3114610836578063a9059cbb14610855578063b6a5d7de14610874575f5ffd5b806383ad7994116101b957806383ad79941461078f578063893d20e8146107a457806395d89b41146107d457806398118cb414610802575f5ffd5b8063751039fc1461075157806378109e54146107655780637d1db4a51461077a575f5ffd5b80632d594567116102bf578063617fe0ed1161025f5780636ddd17131161022f5780636ddd1713146106d257806370a08231146106eb578063715018a61461071f578063722b62ad14610733575f5ffd5b8063617fe0ed14610670578063658d4b7f146106895780636827e764146106a85780636b67c4df146106bd575f5ffd5b8063335f6a431161029a578063335f6a43146105f457806344a33fd21461061357806350db71fb14610632578063571ac8b014610651575f5ffd5b80632d594567146105875780632f54bf6e146105a6578063313ce567146105d3575f5ffd5b806318160ddd11610335578063201e799111610305578063201e79911461051657806323b872dd146105355780632b112e49146105545780632d48e89614610568575f5ffd5b806318160ddd146104af5780631ca0a28d146104c35780631da1db5e146104e25780631df4ccfc14610501575f5ffd5b806309302dc61161037057806309302dc61461042d578063095ea7b31461044c5780631161ae391461047b578063180b0d7e1461049a575f5ffd5b80630445b667146103a057806304a66b48146103c857806306fdde03146103e9575f5ffd5b3661039c57005b5f5ffd5b3480156103ab575f5ffd5b506103b560215481565b6040519081526020015b60405180910390f35b3480156103d3575f5ffd5b506103e76103e2366004612ab1565b610b05565b005b3480156103f4575f5ffd5b506040805180820190915260138152721155120814dd1c985d1959de4814995dd85c99606a1b60208201525b6040516103bf9190612ae8565b348015610438575f5ffd5b506103e7610447366004612b1d565b610bc7565b348015610457575f5ffd5b5061046b610466366004612b48565b610c11565b60405190151581526020016103bf565b348015610486575f5ffd5b5061046b610495366004612b72565b610c7d565b3480156104a5575f5ffd5b506103b560135481565b3480156104ba575f5ffd5b506005546103b5565b3480156104ce575f5ffd5b506103e76104dd366004612bda565b610c90565b3480156104ed575f5ffd5b506103e76104fc366004612b1d565b61103f565b34801561050c575f5ffd5b506103b560125481565b348015610521575f5ffd5b506103e7610530366004612b72565b6110b5565b348015610540575f5ffd5b5061046b61054f366004612c5c565b6110e5565b34801561055f575f5ffd5b506103b56111a3565b348015610573575f5ffd5b506103e7610582366004612b72565b6111f3565b348015610592575f5ffd5b506103e76105a1366004612cae565b611275565b3480156105b1575f5ffd5b5061046b6105c0366004612ce8565b5f546001600160a01b0391821691161490565b3480156105de575f5ffd5b5060095b60405160ff90911681526020016103bf565b3480156105ff575f5ffd5b506103e761060e366004612d03565b6112c5565b34801561061e575f5ffd5b506103e761062d366004612b1d565b6115d1565b34801561063d575f5ffd5b506103e761064c366004612d5b565b611607565b34801561065c575f5ffd5b5061046b61066b366004612ce8565b611656565b34801561067b575f5ffd5b50601e5461046b9060ff1681565b348015610694575f5ffd5b506103e76106a3366004612d5b565b611662565b3480156106b3575f5ffd5b506103b560115481565b3480156106c8575f5ffd5b506103b560105481565b3480156106dd575f5ffd5b5060205461046b9060ff1681565b3480156106f6575f5ffd5b506103b5610705366004612ce8565b6001600160a01b03165f9081526008602052604090205490565b34801561072a575f5ffd5b506103e76116b1565b34801561073e575f5ffd5b50601e546105e290610100900460ff1681565b34801561075c575f5ffd5b506103e761171e565b348015610770575f5ffd5b506103b560075481565b348015610785575f5ffd5b506103b560065481565b34801561079a575f5ffd5b506103b5600f5481565b3480156107af575f5ffd5b505f546001600160a01b03165b6040516001600160a01b0390911681526020016103bf565b3480156107df575f5ffd5b5060408051808201909152600681526529aa2920aa2960d11b6020820152610420565b34801561080d575f5ffd5b506103b5600e5481565b348015610822575f5ffd5b506103e7610831366004612b1d565b611750565b348015610841575f5ffd5b50601b546107bc906001600160a01b031681565b348015610860575f5ffd5b5061046b61086f366004612b48565b611788565b34801561087f575f5ffd5b506103e761088e366004612ce8565b611794565b34801561089e575f5ffd5b506103e76108ad366004612b1d565b6117e3565b3480156108bd575f5ffd5b50601c546107bc906001600160a01b031681565b3480156108dc575f5ffd5b506103e761182d565b3480156108f0575f5ffd5b506015546107bc906001600160a01b031681565b34801561090f575f5ffd5b506103b561091e366004612b1d565b61186b565b34801561092e575f5ffd5b506103e761093d366004612d8e565b6118b0565b34801561094d575f5ffd5b506017546107bc906001600160a01b031681565b34801561096c575f5ffd5b506103b561097b366004612dd6565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b3480156109b0575f5ffd5b506103e76109bf366004612e02565b611914565b3480156109cf575f5ffd5b506016546107bc906001600160a01b031681565b3480156109ee575f5ffd5b506103e76109fd366004612b1d565b611950565b348015610a0d575f5ffd5b506103e7610a1c366004612ce8565b61197e565b348015610a2c575f5ffd5b506103e7610a3b366004612ce8565b6119c7565b348015610a4b575f5ffd5b506103e7611a5b565b348015610a5f575f5ffd5b506103e7610a6e366004612d5b565b611b86565b348015610a7e575f5ffd5b506103e7610a8d366004612d5b565b611c8a565b348015610a9d575f5ffd5b50601a546107bc906001600160a01b031681565b348015610abc575f5ffd5b5061046b610acb366004612ce8565b611cd9565b348015610adb575f5ffd5b506103b560145481565b348015610af0575f5ffd5b50601b5461046b90600160a01b900460ff1681565b610b0e33611cd9565b610b335760405162461bcd60e51b8152600401610b2a90612e1c565b60405180910390fd5b600e859055600f84905560108390556011829055610b5d82610b5785818989611cf6565b90611cf6565b6012556013819055610b70600382612e55565b60125410610bc05760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e20333325000000006044820152606401610b2a565b5050505050565b5f546001600160a01b03163314610bf05760405162461bcd60e51b8152600401610b2a90612e74565b6103e881600554610c019190612e94565b610c0b9190612e55565b60075550565b335f8181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c6b9086815260200190565b60405180910390a35060015b92915050565b5f82610c888361186b565b119392505050565b5f546001600160a01b03163314610cb95760405162461bcd60e51b8152600401610b2a90612e74565b6101f58310610d205760405162461bcd60e51b815260206004820152602d60248201527f474153204572726f723a206d61782061697264726f70206c696d69742069732060448201526c3530302061646472657373657360981b6064820152608401610b2a565b828114610d805760405162461bcd60e51b815260206004820152602860248201527f4d69736d61746368206265747765656e204164647265737320616e6420746f6b604482015267195b8818dbdd5b9d60c21b6064820152608401610b2a565b5f805b84811015610db957838382818110610d9d57610d9d612eab565b9050602002013582610daf9190612ebf565b9150600101610d83565b5080610dd9876001600160a01b03165f9081526008602052604090205490565b1015610e275760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c657400000000006044820152606401610b2a565b5f5b84811015610faa57610e7a87878784818110610e4757610e47612eab565b9050602002016020810190610e5c9190612ce8565b868685818110610e6e57610e6e612eab565b90506020020135611d54565b50600d5f878784818110610e9057610e90612eab565b9050602002016020810190610ea59190612ce8565b6001600160a01b0316815260208101919091526040015f205460ff16610fa257601c546001600160a01b03166314b6ca96878784818110610ee857610ee8612eab565b9050602002016020810190610efd9190612ce8565b60085f8a8a87818110610f1257610f12612eab565b9050602002016020810190610f279190612ce8565b6001600160a01b03166001600160a01b031681526020019081526020015f20546040518363ffffffff1660e01b8152600401610f789291906001600160a01b03929092168252602082015260400190565b5f604051808303815f87803b158015610f8f575f5ffd5b505af1925050508015610fa0575060015b505b600101610e29565b506001600160a01b0386165f908152600d602052604090205460ff1661103757601c546001600160a01b038781165f8181526008602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044015f604051808303815f87803b158015611024575f5ffd5b505af1925050508015611035575060015b505b505050505050565b61104833611cd9565b6110645760405162461bcd60e51b8152600401610b2a90612e1c565b60165447906001600160a01b03166108fc60646110818585612e94565b61108b9190612e55565b6040518115909202915f818181858888f193505050501580156110b0573d5f5f3e3d5ffd5b505050565b6110be33611cd9565b6110da5760405162461bcd60e51b8152600401610b2a90612e1c565b601891909155601955565b6001600160a01b0383165f9081526009602090815260408083203384529091528120545f191461118e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f90815260098252838120338252909152919091205461116a918490611e37565b6001600160a01b0385165f9081526009602090815260408083203384529091529020555b611199848484611e6f565b90505b9392505050565b6004546001600160a01b03165f908152600860205260408120546111ee906003546001600160a01b03165f908152600860205260409020546111e8906005549061242b565b9061242b565b905090565b6111fc33611cd9565b6112185760405162461bcd60e51b8152600401610b2a90612e1c565b601c546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b5f604051808303815f87803b158015611263575f5ffd5b505af1158015611037573d5f5f3e3d5ffd5b5f546001600160a01b0316331461129e5760405162461bcd60e51b8152600401610b2a90612e74565b601e805461ffff191692151561ff0019169290921761010060ff9290921691909102179055565b5f546001600160a01b031633146112ee5760405162461bcd60e51b8152600401610b2a90612e74565b61032182106113555760405162461bcd60e51b815260206004820152602d60248201527f474153204572726f723a206d61782061697264726f70206c696d69742069732060448201526c3830302061646472657373657360981b6064820152608401610b2a565b5f6113608383612e94565b905080611381866001600160a01b03165f9081526008602052604090205490565b10156113cf5760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c657400000000006044820152606401610b2a565b5f5b8381101561153a5761140a868686848181106113ef576113ef612eab565b90506020020160208101906114049190612ce8565b85611d54565b50600d5f86868481811061142057611420612eab565b90506020020160208101906114359190612ce8565b6001600160a01b0316815260208101919091526040015f205460ff1661153257601c546001600160a01b03166314b6ca9686868481811061147857611478612eab565b905060200201602081019061148d9190612ce8565b60085f8989878181106114a2576114a2612eab565b90506020020160208101906114b79190612ce8565b6001600160a01b03166001600160a01b031681526020019081526020015f20546040518363ffffffff1660e01b81526004016115089291906001600160a01b03929092168252602082015260400190565b5f604051808303815f87803b15801561151f575f5ffd5b505af1925050508015611530575060015b505b6001016113d1565b506001600160a01b0385165f908152600d602052604090205460ff16610bc057601c546001600160a01b038681165f8181526008602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044015f604051808303815f87803b1580156115b4575f5ffd5b505af19250505080156115c5575060015b15610bc0575050505050565b6115da33611cd9565b6115f65760405162461bcd60e51b8152600401610b2a90612e1c565b47336108fc60646110818585612e94565b61161033611cd9565b61162c5760405162461bcd60e51b8152600401610b2a90612e1c565b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f610c77825f19610c11565b61166b33611cd9565b6116875760405162461bcd60e51b8152600401610b2a90612e1c565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146116da5760405162461bcd60e51b8152600401610b2a90612e74565b6040515f81527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a15f80546001600160a01b0319169055565b61172733611cd9565b6117435760405162461bcd60e51b8152600401610b2a90612e1c565b6005546006819055600755565b61175933611cd9565b6117755760405162461bcd60e51b8152600401610b2a90612e1c565b620b71b08110611783575f5ffd5b601d55565b5f61119c338484611e6f565b5f546001600160a01b031633146117bd5760405162461bcd60e51b8152600401610b2a90612e74565b6001600160a01b03165f908152600160208190526040909120805460ff19169091179055565b5f546001600160a01b0316331461180c5760405162461bcd60e51b8152600401610b2a90612e74565b6103e88160055461181d9190612e94565b6118279190612e55565b60065550565b5f546001600160a01b031633146118565760405162461bcd60e51b8152600401610b2a90612e74565b601b805460ff60a01b1916600160a01b179055565b5f610c776118776111a3565b601b546001600160a01b03165f908152600860205260409020546118aa906118a3906002905b9061246c565b859061246c565b906124ea565b6118b933611cd9565b6118d55760405162461bcd60e51b8152600401610b2a90612e1c565b601580546001600160a01b039485166001600160a01b031991821617909155601680549385169382169390931790925560178054919093169116179055565b61191d33611cd9565b6119395760405162461bcd60e51b8152600401610b2a90612e1c565b6020805460ff191692151592909217909155602155565b5f546001600160a01b031633146119795760405162461bcd60e51b8152600401610b2a90612e74565b601455565b5f546001600160a01b031633146119a75760405162461bcd60e51b8152600401610b2a90612e74565b6001600160a01b03165f908152600160205260409020805460ff19169055565b5f546001600160a01b031633146119f05760405162461bcd60e51b8152600401610b2a90612e74565b5f80546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b5f546001600160a01b03163314611a845760405162461bcd60e51b8152600401610b2a90612e74565b478015611b83575f306001600160a01b031663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ac8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aec9190612ed2565b90505f816001600160a01b0316836040515f6040518083038185875af1925050503d805f8114611b37576040519150601f19603f3d011682016040523d82523d5f602084013e611b3c565b606091505b50509050806110b05760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401610b2a565b50565b611b8f33611cd9565b611bab5760405162461bcd60e51b8152600401610b2a90612e1c565b6001600160a01b0382163014801590611bd25750601b546001600160a01b03838116911614155b611bda575f5ffd5b6001600160a01b0382165f908152600d60205260409020805460ff19168215801591909117909155611c3e57601c54604051630a5b654b60e11b81526001600160a01b0384811660048301525f6024830152909116906314b6ca969060440161124c565b601c546001600160a01b038381165f8181526008602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca969060440161124c565b5050565b611c9333611cd9565b611caf5760405162461bcd60e51b8152600401610b2a90612e1c565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b6001600160a01b03165f9081526001602052604090205460ff1690565b5f80611d028385612ebf565b90508381101561119c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b2a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600890915291822054611da4918490611e37565b6001600160a01b038086165f908152600860205260408082209390935590851681522054611dd29083611cf6565b6001600160a01b038085165f8181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e259086815260200190565b60405180910390a35060019392505050565b5f8184841115611e5a5760405162461bcd60e51b8152600401610b2a9190612ae8565b505f611e668486612eed565b95945050505050565b6022545f9060ff1615611e8e57611e87848484611d54565b905061119c565b6001600160a01b0384165f9081526001602052604090205460ff16158015611ece57506001600160a01b0383165f9081526001602052604090205460ff16155b15611f2357601b54600160a01b900460ff16611f235760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610b2a565b6001600160a01b0384165f9081526001602052604090205460ff16158015611f5457506001600160a01b0383163014155b8015611f6e57506003546001600160a01b03848116911614155b8015611f885750601b546001600160a01b03848116911614155b8015611fa257506016546001600160a01b03848116911614155b8015611fbc57506017546001600160a01b03848116911614155b8015611fd657506015546001600160a01b03848116911614155b15612076576001600160a01b0383165f908152600860205260409020546007546120008483612ebf565b11156120745760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610b2a565b505b601b546001600160a01b0385811691161480156120955750601e5460ff165b80156120b957506001600160a01b0383165f908152600c602052604090205460ff16155b15612160576001600160a01b0383165f908152601f602052604090205442116121325760405162461bcd60e51b815260206004820152602560248201527f506c65617365207761697420666f7220316d696e206265747765656e2074776f604482015264206275797360d81b6064820152608401610b2a565b601e5461214790610100900460ff1642612ebf565b6001600160a01b0384165f908152601f60205260409020555b61216a848361252b565b612172612593565b1561217f5761217f6125e0565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f908152600890915291909120546121d0918490611e37565b6001600160a01b0385165f90815260086020908152604080832093909355600a90529081205460ff16156122045782612222565b601b5461222290869085906001600160a01b038881169116146129bd565b6001600160a01b0385165f908152600860205260409020549091506122479082611cf6565b6001600160a01b038086165f908152600860209081526040808320949094559188168152600d909152205460ff166122e657601c546001600160a01b038681165f8181526008602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044015f604051808303815f87803b1580156122d3575f5ffd5b505af19250505080156122e4575060015b505b6001600160a01b0384165f908152600d602052604090205460ff1661237257601c546001600160a01b038581165f8181526008602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044015f604051808303815f87803b15801561235f575f5ffd5b505af1925050508015612370575060015b505b601c54601d546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916123aa9160040190815260200190565b5f604051808303815f87803b1580156123c1575f5ffd5b505af19250505080156123d2575060015b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161241891815260200190565b60405180910390a3506001949350505050565b5f61119c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e37565b5f825f0361247b57505f610c77565b5f6124868385612e94565b9050826124938583612e55565b1461119c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b2a565b5f61119c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a85565b6006548111158061255357506001600160a01b0382165f908152600b602052604090205460ff165b611c865760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610b2a565b601b545f906001600160a01b031633148015906125b3575060225460ff16155b80156125c1575060205460ff165b80156111ee575050602154305f90815260086020526040902054101590565b6022805460ff191660011790556018546019545f916125fe91610c7d565b61260a57600e5461260c565b5f5b90505f61262f60026118aa6012546118aa8660215461246c90919063ffffffff16565b90505f6126478260215461242b90919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f8151811061267f5761267f612eab565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106126b0576126b0612eab565b6001600160a01b039283166020918202929092010152601a5460405163791ac94760e01b81524792919091169063791ac947906126f99086905f90879030904290600401612f00565b5f604051808303815f87803b158015612710575f5ffd5b505af1158015612722573d5f5f3e3d5ffd5b505050505f61273a824761242b90919063ffffffff16565b90505f61275461274b8860026124ea565b6012549061242b565b90505f61276860026118aa8481878d61246c565b90505f612784836118aa600f548761246c90919063ffffffff16565b90505f6127a0846118aa6010548861246c90919063ffffffff16565b90505f6127bc856118aa6011548961246c90919063ffffffff16565b9050601c5f9054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004015f604051808303818588803b15801561280b575f5ffd5b505af19350505050801561281d575060015b506016546040515f916001600160a01b03169061753090859084818181858888f193505050503d805f811461286d576040519150601f19603f3d011682016040523d82523d5f602084013e612872565b606091505b50506017546040519192506001600160a01b0316906175309084905f818181858888f193505050503d805f81146128c4576040519150601f19603f3d011682016040523d82523d5f602084013e6128c9565b606091505b505f9250508b1590506129a557601a5460155460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015612943573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906129689190612f70565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506022805460ff1916905550505050505050505050565b5f5f826129cb5760646129cf565b6014545b90505f6129fd60135460646129e49190612e94565b6118aa8461189d6012548a61246c90919063ffffffff16565b305f90815260086020526040902054909150612a199082611cf6565b305f81815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612a699085815260200190565b60405180910390a3612a7b858261242b565b9695505050505050565b5f8183612aa55760405162461bcd60e51b8152600401610b2a9190612ae8565b505f611e668486612e55565b5f5f5f5f5f60a08688031215612ac5575f5ffd5b505083359560208501359550604085013594606081013594506080013592509050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215612b2d575f5ffd5b5035919050565b6001600160a01b0381168114611b83575f5ffd5b5f5f60408385031215612b59575f5ffd5b8235612b6481612b34565b946020939093013593505050565b5f5f60408385031215612b83575f5ffd5b50508035926020909101359150565b5f5f83601f840112612ba2575f5ffd5b50813567ffffffffffffffff811115612bb9575f5ffd5b6020830191508360208260051b8501011115612bd3575f5ffd5b9250929050565b5f5f5f5f5f60608688031215612bee575f5ffd5b8535612bf981612b34565b9450602086013567ffffffffffffffff811115612c14575f5ffd5b612c2088828901612b92565b909550935050604086013567ffffffffffffffff811115612c3f575f5ffd5b612c4b88828901612b92565b969995985093965092949392505050565b5f5f5f60608486031215612c6e575f5ffd5b8335612c7981612b34565b92506020840135612c8981612b34565b929592945050506040919091013590565b80358015158114612ca9575f5ffd5b919050565b5f5f60408385031215612cbf575f5ffd5b612cc883612c9a565b9150602083013560ff81168114612cdd575f5ffd5b809150509250929050565b5f60208284031215612cf8575f5ffd5b813561119c81612b34565b5f5f5f5f60608587031215612d16575f5ffd5b8435612d2181612b34565b9350602085013567ffffffffffffffff811115612d3c575f5ffd5b612d4887828801612b92565b9598909750949560400135949350505050565b5f5f60408385031215612d6c575f5ffd5b8235612d7781612b34565b9150612d8560208401612c9a565b90509250929050565b5f5f5f60608486031215612da0575f5ffd5b8335612dab81612b34565b92506020840135612dbb81612b34565b91506040840135612dcb81612b34565b809150509250925092565b5f5f60408385031215612de7575f5ffd5b8235612df281612b34565b91506020830135612cdd81612b34565b5f5f60408385031215612e13575f5ffd5b612b6483612c9a565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f82612e6f57634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b8082028115828204841417610c7757610c77612e41565b634e487b7160e01b5f52603260045260245ffd5b80820180821115610c7757610c77612e41565b5f60208284031215612ee2575f5ffd5b815161119c81612b34565b81810381811115610c7757610c77612e41565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015612f505783516001600160a01b0316835260209384019390920191600101612f29565b50506001600160a01b039590951660608401525050608001529392505050565b5f5f5f60608486031215612f82575f5ffd5b505081516020830151604090930151909492935091905056fea2646970667358221220bb571517a2d8cf629fcbd996588aeadbc8693b88af8e2239aab26b942b5ba3b664736f6c634300081c00336080604052600180546001600160a01b03199081167314cf922aa1512adfc34409b63e18d391e4a86a2f179091556002805490911673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790556ec097ce7bc90715b34b9f1000000000600c556104b0600d55655af3107a4000600e5534801561007a575f5ffd5b50604051610d4a380380610d4a833981016040819052610099916100f2565b6001600160a01b0381166100c157737a250d5630b4cf539739df2c5dacb4c659f2488d6100c3565b805b600380546001600160a01b03929092166001600160a01b03199283161790555f8054909116331790555061011f565b5f60208284031215610102575f5ffd5b81516001600160a01b0381168114610118575f5ffd5b9392505050565b610c1e8061012c5f395ff3fe6080604052600436106100d9575f3560e01c8063ce7c2ac21161007c578063efca2eed11610057578063efca2eed14610215578063f0fc6bca1461022a578063ffb2c4791461023e578063ffd49c841461025d575f5ffd5b8063ce7c2ac2146101a3578063d0e30db0146101f8578063e2d2e21914610200575f5ffd5b80632d48e896116100b75780632d48e896146101455780633a98ef39146101645780634fab0ae814610179578063997664d71461018e575f5ffd5b806311ce023d146100dd57806314b6ca961461010557806328fd319814610126575b5f5ffd5b3480156100e8575f5ffd5b506100f2600c5481565b6040519081526020015b60405180910390f35b348015610110575f5ffd5b5061012461011f366004610a8b565b610272565b005b348015610131575f5ffd5b506100f2610140366004610ab3565b6103e0565b348015610150575f5ffd5b5061012461015f366004610acc565b610466565b34801561016f575f5ffd5b506100f260085481565b348015610184575f5ffd5b506100f2600e5481565b348015610199575f5ffd5b506100f260095481565b3480156101ae575f5ffd5b506101dd6101bd366004610ab3565b60076020525f908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016100fc565b610124610486565b34801561020b575f5ffd5b506100f2600b5481565b348015610220575f5ffd5b506100f2600a5481565b348015610235575f5ffd5b506101246104d7565b348015610249575f5ffd5b50610124610258366004610aec565b6104e2565b348015610268575f5ffd5b506100f2600d5481565b5f546001600160a01b03163314610287575f5ffd5b6001600160a01b0382165f90815260076020526040902054156102ad576102ad826105dd565b5f811180156102d157506001600160a01b0382165f90815260076020526040902054155b1561033657600480546001600160a01b0384165f818152600560205260408120839055600183018455929092527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610368565b8015801561035a57506001600160a01b0382165f9081526007602052604090205415155b156103685761036882610735565b6001600160a01b0382165f9081526007602052604090205460085461039891839161039291610845565b9061088f565b6008556001600160a01b0382165f9081526007602052604090208190556103be816108ed565b6001600160a01b039092165f9081526007602052604090206001019190915550565b6001600160a01b0381165f90815260076020526040812054810361040557505f919050565b6001600160a01b0382165f90815260076020526040812054610426906108ed565b6001600160a01b0384165f9081526007602052604090206001015490915080821161045457505f9392505050565b61045e8282610845565b949350505050565b5f546001600160a01b0316331461047b575f5ffd5b600d91909155600e55565b5f546001600160a01b0316331461049b575f5ffd5b6009546104a8903461088f565b600955600854600c546104d2916104c9916104c39034610909565b90610987565b600b549061088f565b600b55565b6104e0336105dd565b565b5f546001600160a01b031633146104f7575f5ffd5b6004545f819003610506575050565b5f805a90505f5b848310801561051b57508381105b156105d65783600f541061052e575f600f555b61055f6004600f548154811061054657610546610b03565b5f918252602090912001546001600160a01b03166109c8565b15610595576105956004600f548154811061057c5761057c610b03565b5f918252602090912001546001600160a01b03166105dd565b6105aa6105a35a8490610845565b849061088f565b92505a600f80549193505f6105be83610b2b565b919050555080806105ce90610b2b565b91505061050d565b5050505050565b6001600160a01b0381165f9081526007602052604081205490036105fe5750565b5f610608826103e0565b9050801561073157600a5461061d908261088f565b600a556040515f906001600160a01b0384169083908381818185875af1925050503d805f8114610668576040519150601f19603f3d011682016040523d82523d5f602084013e61066d565b606091505b50509050806106b95760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b60448201526064015b60405180910390fd5b6001600160a01b0383165f90815260066020908152604080832042905560079091529020600201546106eb908361088f565b6001600160a01b0384165f908152600760205260409020600281019190915554610714906108ed565b6001600160a01b0384165f90815260076020526040902060010155505b5050565b6004805461074590600190610b43565b8154811061075557610755610b03565b5f9182526020808320909101546001600160a01b038481168452600590925260409092205460048054929093169291811061079257610792610b03565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600591829052604081205460048054919392916107dd90600190610b43565b815481106107ed576107ed610b03565b5f9182526020808320909101546001600160a01b03168352820192909252604001902055600480548061082257610822610b56565b5f8281526020902081015f1990810180546001600160a01b031916905501905550565b5f61088683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a0c565b90505b92915050565b5f8061089b8385610b6a565b9050838110156108865760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106b0565b5f610889600c546104c3600b548561090990919063ffffffff16565b5f825f0361091857505f610889565b5f6109238385610b7d565b9050826109308583610b94565b146108865760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106b0565b5f61088683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a44565b600d546001600160a01b0382165f90815260066020526040812054909142916109f19190610b6a565b1080156108895750600e54610a05836103e0565b1192915050565b5f8184841115610a2f5760405162461bcd60e51b81526004016106b09190610bb3565b505f610a3b8486610b43565b95945050505050565b5f8183610a645760405162461bcd60e51b81526004016106b09190610bb3565b505f610a3b8486610b94565b80356001600160a01b0381168114610a86575f5ffd5b919050565b5f5f60408385031215610a9c575f5ffd5b610aa583610a70565b946020939093013593505050565b5f60208284031215610ac3575f5ffd5b61088682610a70565b5f5f60408385031215610add575f5ffd5b50508035926020909101359150565b5f60208284031215610afc575f5ffd5b5035919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201610b3c57610b3c610b17565b5060010190565b8181038181111561088957610889610b17565b634e487b7160e01b5f52603160045260245ffd5b8082018082111561088957610889610b17565b808202811582820484141761088957610889610b17565b5f82610bae57634e487b7160e01b5f52601260045260245ffd5b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea2646970667358221220809516064267e8d6f027811c3761534ac465b59f7f1ffc898978f4bc6017a2cc64736f6c634300081c0033