0 txs
2 calls
constructor
constructor(address _Kronos, address _BUSD, address _sKronos, uint32 _secondsNeededForQueue)
functions
bondCalculator
viewfunction bondCalculator(address) view returns (address)
debtorBalance
viewfunction debtorBalance(address) view returns (uint256)
debtorQueue
viewfunction debtorQueue(address) view returns (uint32)
debtors
viewfunction debtors(uint256) view returns (address)
excessReserves
viewfunction excessReserves() view returns (uint256)
isDebtor
viewfunction isDebtor(address) view returns (bool)
isLiquidityDepositor
viewfunction isLiquidityDepositor(address) view returns (bool)
isLiquidityManager
viewfunction isLiquidityManager(address) view returns (bool)
isLiquidityToken
viewfunction isLiquidityToken(address) view returns (bool)
isReserveDepositor
viewfunction isReserveDepositor(address) view returns (bool)
isReserveManager
viewfunction isReserveManager(address) view returns (bool)
isReserveSpender
viewfunction isReserveSpender(address) view returns (bool)
isReserveToken
viewfunction isReserveToken(address) view returns (bool)
isRewardManager
viewfunction isRewardManager(address) view returns (bool)
Kronos
viewfunction Kronos() view returns (address)
LiquidityDepositorQueue
viewfunction LiquidityDepositorQueue(address) view returns (uint32)
liquidityDepositors
viewfunction liquidityDepositors(uint256) view returns (address)
LiquidityManagerQueue
viewfunction LiquidityManagerQueue(address) view returns (uint32)
liquidityManagers
viewfunction liquidityManagers(uint256) view returns (address)
LiquidityTokenQueue
viewfunction LiquidityTokenQueue(address) view returns (uint32)
liquidityTokens
viewfunction liquidityTokens(uint256) view returns (address)
manager
viewfunction manager() view returns (address)
reserveDepositorQueue
viewfunction reserveDepositorQueue(address) view returns (uint32)
reserveDepositors
viewfunction reserveDepositors(uint256) view returns (address)
ReserveManagerQueue
viewfunction ReserveManagerQueue(address) view returns (uint32)
reserveManagers
viewfunction reserveManagers(uint256) view returns (address)
reserveSpenderQueue
viewfunction reserveSpenderQueue(address) view returns (uint32)
reserveSpenders
viewfunction reserveSpenders(uint256) view returns (address)
reserveTokenQueue
viewfunction reserveTokenQueue(address) view returns (uint32)
reserveTokens
viewfunction reserveTokens(uint256) view returns (address)
rewardManagerQueue
viewfunction rewardManagerQueue(address) view returns (uint32)
rewardManagers
viewfunction rewardManagers(uint256) view returns (address)
secondsNeededForQueue
viewfunction secondsNeededForQueue() view returns (uint32)
sKronos
viewfunction sKronos() view returns (address)
sOHMQueue
viewfunction sOHMQueue() view returns (uint256)
totalDebt
viewfunction totalDebt() view returns (uint256)
totalReserves
viewfunction totalReserves() view returns (uint256)
valueOf
viewfunction valueOf(address _token, uint256 _amount) view returns (uint256 value_)
auditReserves
nonpayablefunction auditReserves()
deposit
nonpayablefunction deposit(uint256 _amount, address _token, uint256 _profit) returns (uint256 send_)
incurDebt
nonpayablefunction incurDebt(uint256 _amount, address _token)
manage
nonpayablefunction manage(address _token, uint256 _amount)
mintRewards
nonpayablefunction mintRewards(address _recipient, uint256 _amount)
pullManagement
nonpayablefunction pullManagement()
pushManagement
nonpayablefunction pushManagement(address newOwner_)
queue
nonpayablefunction queue(uint8 _managing, address _address) returns (bool)
renounceManagement
nonpayablefunction renounceManagement()
repayDebtWithOHM
nonpayablefunction repayDebtWithOHM(uint256 _amount)
repayDebtWithReserve
nonpayablefunction repayDebtWithReserve(uint256 _amount, address _token)
toggle
nonpayablefunction toggle(uint8 _managing, address _address, address _calculator) returns (bool)
withdraw
nonpayablefunction withdraw(uint256 _amount, address _token)
events
ChangeActivated
event ChangeActivated(uint8 indexed managing, address activated, bool result)
ChangeQueued
event ChangeQueued(uint8 indexed managing, address queued)
CreateDebt
event CreateDebt(address indexed debtor, address indexed token, uint256 amount, uint256 value)
Deposit
event Deposit(address indexed token, uint256 amount, uint256 value)
OwnershipPulled
event OwnershipPulled(address indexed previousOwner, address indexed newOwner)
OwnershipPushed
event OwnershipPushed(address indexed previousOwner, address indexed newOwner)
RepayDebt
event RepayDebt(address indexed debtor, address indexed token, uint256 amount, uint256 value)
ReservesAudited
event ReservesAudited(uint256 indexed totalReserves)
ReservesManaged
event ReservesManaged(address indexed token, uint256 amount)
ReservesUpdated
event ReservesUpdated(uint256 indexed totalReserves)
RewardsMinted
event RewardsMinted(address indexed caller, address indexed recipient, uint256 amount)
Withdrawal
event Withdrawal(address indexed token, uint256 amount, uint256 value)
errors
No errors.
creation bytecode
0x60c060405234801561001057600080fd5b50604051620039d6380380620039d68339818101604052608081101561003557600080fd5b5080516020820151604080840151606090940151600080546001600160a01b031916331780825592519495939491926001600160a01b0316917fea8258f2d9ddb679928cf34b78cf645b7feda9acc828e4dd82d014eaae270eba908290a36001600160a01b0384166100a657600080fd5b6001600160601b031960609490941b939093166080526001600160a01b039182166000818152600360205260408120805460ff191660019081179091556002805491820181559091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b03199081169092179055601f80549290931691161790556001600160e01b031960e09190911b1660a05260805160601c60a05160e01c613813620001c360003980611b08528061211d528061219a52806122175280612293528061232552806123a2528061241e52806124a0528061251d528061259a525080610a9e5280610e7e5280610f8f52806110435280611461528061179452806119fd5280611d8a52506138136000f3fe608060405234801561001057600080fd5b50600436106103405760003560e01c8063869871bf116101bd578063c24ad43e116100f9578063ebd83cd8116100a2578063fbfd393b1161007c578063fbfd393b14610958578063fc7b9c181461098f578063fd1ec01014610997578063fff9ee87146109b457610340565b8063ebd83cd8146108e6578063ee4e19a11461090c578063fb9395881461093257610340565b8063d796ffb8116100d3578063d796ffb814610865578063df89b34414610891578063e83afee3146108b757610340565b8063c24ad43e146107fc578063cd85641a14610822578063d031370b1461084857610340565b8063932cc8c311610166578063ab319c9a11610140578063ab319c9a14610761578063b1bd38b014610787578063b5b1d560146107ad578063bc157ac1146107ca57610340565b8063932cc8c3146106ef578063a1210a2d14610715578063a569e5711461073b57610340565b80638f59c727116101975780638f59c727146106a45780638f6a7b57146106ca5780638f840ddd146106e757610340565b8063869871bf1461065957806387d67dff1461067657806388796e361461069c57610340565b80632b7ce5001161028c5780635a96ac0a116102355780636b5e40a71161020f5780636b5e40a7146105d857806370a0502a146105f5578063788c6c01146106125780637a8960d81461065157610340565b80635a96ac0a1461057e57806368c31dd5146105865780636a20de92146105ac57610340565b806346f68ee91161026657806346f68ee91461052a578063481c6a75146105505780634e83423c1461055857610340565b80632b7ce500146104fd5780634200f45d14610505578063437f79121461050d57610340565b80630f70431f116102ee5780631af4da70116102c85780631af4da70146104a35780631eec5a9a146104c95780632789de37146104f557610340565b80630f70431f14610420578063124154ca1461043d57806312422d231461047757610340565b8063094a86511161031f578063094a8651146103b45780630b0eee30146103ec5780630c3513a81461041857610340565b8062f714ce146103455780630619aff114610373578063089208d8146103ac575b600080fd5b6103716004803603604081101561035b57600080fd5b50803590602001356001600160a01b03166109da565b005b6103906004803603602081101561038957600080fd5b5035610bc3565b604080516001600160a01b039092168252519081900360200190f35b610371610bed565b6103da600480360360208110156103ca57600080fd5b50356001600160a01b0316610c96565b60408051918252519081900360200190f35b6103716004803603604081101561040257600080fd5b506001600160a01b038135169060200135610ca8565b6103da610e71565b6103716004803603602081101561043657600080fd5b5035610f15565b6104636004803603602081101561045357600080fd5b50356001600160a01b0316611094565b604080519115158252519081900360200190f35b6103716004803603604081101561048d57600080fd5b50803590602001356001600160a01b03166110a9565b610390600480360360208110156104b957600080fd5b50356001600160a01b0316611396565b6103da600480360360408110156104df57600080fd5b506001600160a01b0381351690602001356113b1565b6103da6115a5565b6103716115ab565b610390611792565b6103906004803603602081101561052357600080fd5b50356117b6565b6103716004803603602081101561054057600080fd5b50356001600160a01b03166117c6565b6103906118c5565b6104636004803603602081101561056e57600080fd5b50356001600160a01b03166118d4565b6103716118e9565b6104636004803603602081101561059c57600080fd5b50356001600160a01b0316611993565b610371600480360360408110156105c257600080fd5b506001600160a01b0381351690602001356119a8565b610390600480360360208110156105ee57600080fd5b5035611ace565b6103906004803603602081101561060b57600080fd5b5035611ade565b6106386004803603602081101561062857600080fd5b50356001600160a01b0316611aee565b6040805163ffffffff9092168252519081900360200190f35b610638611b06565b6103906004803603602081101561066f57600080fd5b5035611b2a565b6104636004803603602081101561068c57600080fd5b50356001600160a01b0316611b3a565b610390611b4f565b610638600480360360208110156106ba57600080fd5b50356001600160a01b0316611b5e565b610390600480360360208110156106e057600080fd5b5035611b76565b6103da611b86565b6106386004803603602081101561070557600080fd5b50356001600160a01b0316611b8c565b6104636004803603602081101561072b57600080fd5b50356001600160a01b0316611ba4565b6104636004803603602081101561075157600080fd5b50356001600160a01b0316611bb9565b6106386004803603602081101561077757600080fd5b50356001600160a01b0316611bce565b6106386004803603602081101561079d57600080fd5b50356001600160a01b0316611be6565b610390600480360360208110156107c357600080fd5b5035611bfe565b6103da600480360360608110156107e057600080fd5b508035906001600160a01b036020820135169060400135611c0e565b6106386004803603602081101561081257600080fd5b50356001600160a01b0316611e9e565b6106386004803603602081101561083857600080fd5b50356001600160a01b0316611eb6565b6103906004803603602081101561085e57600080fd5b5035611ece565b6103716004803603604081101561087b57600080fd5b50803590602001356001600160a01b0316611ede565b610463600480360360208110156108a757600080fd5b50356001600160a01b0316612073565b610463600480360360408110156108cd57600080fd5b50803560ff1690602001356001600160a01b0316612088565b610463600480360360208110156108fc57600080fd5b50356001600160a01b0316612627565b6104636004803603602081101561092257600080fd5b50356001600160a01b031661263c565b6106386004803603602081101561094857600080fd5b50356001600160a01b0316612651565b6104636004803603606081101561096e57600080fd5b5060ff813516906001600160a01b0360208201358116916040013516612669565b6103da612f91565b610390600480360360208110156109ad57600080fd5b5035612f97565b610638600480360360208110156109ca57600080fd5b50356001600160a01b0316612fa7565b6001600160a01b03811660009081526003602052604090205460ff16610a36576040805162461bcd60e51b815260206004820152600c60248201526b139bdd081858d8d95c1d195960a21b604482015290519081900360640190fd5b3360009081526009602052604090205460ff161515600114610a8e576040805162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b604482015290519081900360640190fd5b6000610a9a82846113b1565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379cc679033836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015610b1357600080fd5b505af1158015610b27573d6000803e3d6000fd5b5050602154610b399250905082612fbf565b60218190556040517f93bb8edd35984706eee1b92541281f7f62d33c01c5b2ec0929a113603bd21d6690600090a2610b7b6001600160a01b0383163385613001565b604080518481526020810183905281516001600160a01b038516927fdf273cb619d95419a9cd0ec88123a0538c85064229baa6363788f743fff90deb928290030190a2505050565b60128181548110610bd357600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b03163314610c4c576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907fea8258f2d9ddb679928cf34b78cf645b7feda9acc828e4dd82d014eaae270eba908390a3600080546001600160a01b0319169055565b601b6020526000908152604090205481565b6001600160a01b0382166000908152600c602052604090205460ff1615610d21573360009081526016602052604090205460ff16610d1c576040805162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b604482015290519081900360640190fd5b610d74565b3360009081526013602052604090205460ff16610d74576040805162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b604482015290519081900360640190fd5b6000610d8083836113b1565b9050610d8a610e71565b811115610dde576040805162461bcd60e51b815260206004820152601560248201527f496e73756666696369656e742072657365727665730000000000000000000000604482015290519081900360640190fd5b602154610deb9082612fbf565b60218190556040517f93bb8edd35984706eee1b92541281f7f62d33c01c5b2ec0929a113603bd21d6690600090a2610e2d6001600160a01b0384163384613001565b6040805183815290516001600160a01b038516917f2bb2640731848fe9820ba48dbc978c1fc9bbd5f11b948bfab05b7dee3378fd80919081900360200190a2505050565b6000610f10610f076022547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ed557600080fd5b505afa158015610ee9573d6000803e3d6000fd5b505050506040513d6020811015610eff57600080fd5b505190612fbf565b60215490612fbf565b905090565b3360009081526019602052604090205460ff16610f68576040805162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b604482015290519081900360640190fd5b6040805163079cc67960e41b81523360048201526024810183905290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916379cc679091604480830192600092919082900301818387803b158015610fd657600080fd5b505af1158015610fea573d6000803e3d6000fd5b5050336000908152601b60205260409020546110099250905082612fbf565b336000908152601b60205260409020556022546110269082612fbf565b602255604080518281526020810183905281516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169233927fc6d98eecfc9c78ab62c89a82950079b54874749f1f6f24090f7acc758bc2f309929081900390910190a350565b60066020526000908152604090205460ff1681565b3360009081526019602052604090205460ff166110fc576040805162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b604482015290519081900360640190fd5b6001600160a01b03811660009081526003602052604090205460ff16611158576040805162461bcd60e51b815260206004820152600c60248201526b139bdd081858d8d95c1d195960a21b604482015290519081900360640190fd5b600061116482846113b1565b601f54604080516370a0823160e01b815233600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156111b557600080fd5b505afa1580156111c9573d6000803e3d6000fd5b505050506040513d60208110156111df57600080fd5b5051336000908152601b602052604081205491925090611200908390612fbf565b905080831115611257576040805162461bcd60e51b815260206004820152601260248201527f457863656564732064656274206c696d69740000000000000000000000000000604482015290519081900360640190fd5b336000908152601b6020526040902054611271908461306d565b336000908152601b602052604090205560225461128e908461306d565b60225560215461129e9084612fbf565b60218190556040517f93bb8edd35984706eee1b92541281f7f62d33c01c5b2ec0929a113603bd21d6690600090a26040805163a9059cbb60e01b81523360048201526024810187905290516001600160a01b0386169163a9059cbb9160448083019260209291908290030181600087803b15801561131b57600080fd5b505af115801561132f573d6000803e3d6000fd5b505050506040513d602081101561134557600080fd5b5050604080518681526020810185905281516001600160a01b0387169233927f7e1a939bed137a819b5d2979822c67f877689f7a863d5e4cb57cdca97b2977d6929081900390910190a35050505050565b6011602052600090815260409020546001600160a01b031681565b6001600160a01b03821660009081526003602052604081205460ff16156114ee576114e7836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561140e57600080fd5b505afa158015611422573d6000803e3d6000fd5b505050506040513d602081101561143857600080fd5b50516040805163313ce56760e01b8152905160ff909216600a0a916114e1916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163313ce56791600480820192602092909190829003018186803b1580156114a857600080fd5b505afa1580156114bc573d6000803e3d6000fd5b505050506040513d60208110156114d257600080fd5b5051859060ff16600a0a6130c7565b90613120565b905061159f565b6001600160a01b0383166000908152600c602052604090205460ff161561159f576001600160a01b03808416600081815260116020908152604091829020548251634249719f60e01b815260048101949094526024840187905291519190931692634249719f9260448082019391829003018186803b15801561157057600080fd5b505afa158015611584573d6000803e3d6000fd5b505050506040513d602081101561159a57600080fd5b505190505b92915050565b60205481565b6000546001600160a01b0316331461160a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805b6002548110156116e2576116d86116d16002838154811061162b57fe5b600091825260209091200154600280546001600160a01b03909216918590811061165157fe5b60009182526020918290200154604080516370a0823160e01b815230600482015290516001600160a01b03909216926370a0823192602480840193829003018186803b1580156116a057600080fd5b505afa1580156116b4573d6000803e3d6000fd5b505050506040513d60208110156116ca57600080fd5b50516113b1565b839061306d565b915060010161160e565b5060005b600b54811015611733576117296116d1600b838154811061170357fe5b600091825260209091200154600b80546001600160a01b03909216918590811061165157fe5b91506001016116e6565b50602181905560405181907f93bb8edd35984706eee1b92541281f7f62d33c01c5b2ec0929a113603bd21d6690600090a260405181907fec691f09f6924b27932253f85caf99bacc30360cc0e50a1cc4d2acc24601446690600090a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b60088181548110610bd357600080fd5b6000546001600160a01b03163314611825576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661186a5760405162461bcd60e51b815260040180806020018281038252602681526020018061374b6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917fea8258f2d9ddb679928cf34b78cf645b7feda9acc828e4dd82d014eaae270eba91a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031690565b601d6020526000908152604090205460ff1681565b6001546001600160a01b031633146119325760405162461bcd60e51b81526004018080602001828103825260228152602001806137716022913960400191505060405180910390fd5b600154600080546040516001600160a01b0393841693909116917faa151555690c956fc3ea32f106bb9f119b5237a061eaa8557cff3e51e3792c8d91a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b60036020526000908152604090205460ff1681565b336000908152601d602052604090205460ff166119fb576040805162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166340c10f1983836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611a7257600080fd5b505af1158015611a86573d6000803e3d6000fd5b50506040805184815290516001600160a01b03861693503392507ffa8ccab40e7da8146c2304cd0950334fd30a6ba093abe86261aa13911fed849c9181900360200190a35050565b60058181548110610bd357600080fd5b60158181548110610bd357600080fd5b60046020526000908152604090205463ffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60188181548110610bd357600080fd5b60096020526000908152604090205460ff1681565b601f546001600160a01b031681565b600d6020526000908152604090205463ffffffff1681565b600e8181548110610bd357600080fd5b60215481565b60076020526000908152604090205463ffffffff1681565b600f6020526000908152604090205460ff1681565b600c6020526000908152604090205460ff1681565b60176020526000908152604090205463ffffffff1681565b60146020526000908152604090205463ffffffff1681565b601c8181548110610bd357600080fd5b6001600160a01b03821660009081526003602052604081205460ff1680611c4d57506001600160a01b0383166000908152600c602052604090205460ff165b611c8d576040805162461bcd60e51b815260206004820152600c60248201526b139bdd081858d8d95c1d195960a21b604482015290519081900360640190fd5b611ca26001600160a01b038416333087613162565b6001600160a01b03831660009081526003602052604090205460ff1615611d1b573360009081526006602052604090205460ff16611d16576040805162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b604482015290519081900360640190fd5b611d6e565b336000908152600f602052604090205460ff16611d6e576040805162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b604482015290519081900360640190fd5b6000611d7a84866113b1565b9050611d868184612fbf565b91507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166340c10f1933846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611dff57600080fd5b505af1158015611e13573d6000803e3d6000fd5b5050602154611e25925090508261306d565b60218190556040517f93bb8edd35984706eee1b92541281f7f62d33c01c5b2ec0929a113603bd21d6690600090a2604080518681526020810183905281516001600160a01b038716927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15928290030190a2509392505050565b600a6020526000908152604090205463ffffffff1681565b601a6020526000908152604090205463ffffffff1681565b60028181548110610bd357600080fd5b3360009081526019602052604090205460ff16611f31576040805162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b604482015290519081900360640190fd5b6001600160a01b03811660009081526003602052604090205460ff16611f8d576040805162461bcd60e51b815260206004820152600c60248201526b139bdd081858d8d95c1d195960a21b604482015290519081900360640190fd5b611fa26001600160a01b038216333085613162565b6000611fae82846113b1565b336000908152601b6020526040902054909150611fcb9082612fbf565b336000908152601b6020526040902055602254611fe89082612fbf565b602255602154611ff8908261306d565b60218190556040517f93bb8edd35984706eee1b92541281f7f62d33c01c5b2ec0929a113603bd21d6690600090a2604080518481526020810183905281516001600160a01b0385169233927fc6d98eecfc9c78ab62c89a82950079b54874749f1f6f24090f7acc758bc2f309929081900390910190a3505050565b60166020526000908152604090205460ff1681565b600080546001600160a01b031633146120e8576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0382166120fb57600080fd5b600083600981111561210957fe5b14156121785761214363ffffffff428116907f0000000000000000000000000000000000000000000000000000000000000000906131d716565b6001600160a01b0383166000908152600760205260409020805463ffffffff191663ffffffff929092169190911790556125d6565b600183600981111561218657fe5b14156121f5576121c063ffffffff428116907f0000000000000000000000000000000000000000000000000000000000000000906131d716565b6001600160a01b0383166000908152600a60205260409020805463ffffffff191663ffffffff929092169190911790556125d6565b600283600981111561220357fe5b14156122725761223d63ffffffff428116907f0000000000000000000000000000000000000000000000000000000000000000906131d716565b6001600160a01b0383166000908152600460205260409020805463ffffffff191663ffffffff929092169190911790556125d6565b600383600981111561228057fe5b1415612303576122ce6122be63ffffffff7f000000000000000000000000000000000000000000000000000000000000000081169060029061323a16565b63ffffffff42811691906131d716565b6001600160a01b0383166000908152601460205260409020805463ffffffff191663ffffffff929092169190911790556125d6565b600483600981111561231157fe5b14156123805761234b63ffffffff428116907f0000000000000000000000000000000000000000000000000000000000000000906131d716565b6001600160a01b0383166000908152601060205260409020805463ffffffff191663ffffffff929092169190911790556125d6565b600583600981111561238e57fe5b14156123fd576123c863ffffffff428116907f0000000000000000000000000000000000000000000000000000000000000000906131d716565b6001600160a01b0383166000908152600d60205260409020805463ffffffff191663ffffffff929092169190911790556125d6565b600683600981111561240b57fe5b141561247e576124496122be63ffffffff7f000000000000000000000000000000000000000000000000000000000000000081169060029061323a16565b6001600160a01b0383166000908152601760205260409020805463ffffffff191663ffffffff929092169190911790556125d6565b600783600981111561248c57fe5b14156124fb576124c663ffffffff428116907f0000000000000000000000000000000000000000000000000000000000000000906131d716565b6001600160a01b0383166000908152601a60205260409020805463ffffffff191663ffffffff929092169190911790556125d6565b600883600981111561250957fe5b14156125785761254363ffffffff428116907f0000000000000000000000000000000000000000000000000000000000000000906131d716565b6001600160a01b0383166000908152601e60205260409020805463ffffffff191663ffffffff929092169190911790556125d6565b600983600981111561258657fe5b14156125ce576125c063ffffffff428116907f0000000000000000000000000000000000000000000000000000000000000000906131d716565b63ffffffff166020556125d6565b50600061159f565b8260098111156125e257fe5b604080516001600160a01b038516815290517f0e4f2c4b5bc209d509bc3d49348c787fefadc66a79351b470599ac0f5be52eaf9181900360200190a250600192915050565b60136020526000908152604090205460ff1681565b60196020526000908152604090205460ff1681565b601e6020526000908152604090205463ffffffff1681565b600080546001600160a01b031633146126c9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0383166126dc57600080fd5b6000808560098111156126eb57fe5b14156127b1576126fe60076006866132ab565b15612781576001600160a01b0384166000908152600760205260409020805463ffffffff191690556127316005856133c3565b61278157600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b0386161790555b506001600160a01b0383166000908152600660205260409020805460ff81161560ff199091168117909155612f33565b60018560098111156127bf57fe5b1415612885576127d2600a6009866132ab565b15612855576001600160a01b0384166000908152600a60205260409020805463ffffffff191690556128056008856133c3565b61285557600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0386161790555b506001600160a01b0383166000908152600960205260409020805460ff81161560ff199091168117909155612f33565b600285600981111561289357fe5b1415612959576128a660046003866132ab565b15612929576001600160a01b0384166000908152600460205260409020805463ffffffff191690556128d96002856133c3565b61292957600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b0386161790555b506001600160a01b0383166000908152600360205260409020805460ff81161560ff199091168117909155612f33565b600385600981111561296757fe5b1415612a6a5761297a60146013866132ab565b15612a3a57601280546001810182557fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b0319166001600160a01b0387169081179091556000908152601460205260409020805463ffffffff191690556129ea90856133c3565b612a3a57601280546001810182556000919091527fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b0319166001600160a01b0386161790555b506001600160a01b0383166000908152601360205260409020805460ff81161560ff199091168117909155612f33565b6004856009811115612a7857fe5b1415612b7b57612a8b6010600f866132ab565b15612b4b57600e80546001810182557fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0319166001600160a01b0387169081179091556000908152601060205260409020805463ffffffff19169055612afb90856133c3565b612b4b57600e80546001810182556000919091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0319166001600160a01b0386161790555b506001600160a01b0383166000908152600f60205260409020805460ff81161560ff199091168117909155612f33565b6005856009811115612b8957fe5b1415612c7157612b9c600d600c866132ab565b15612c1f576001600160a01b0384166000908152600d60205260409020805463ffffffff19169055612bcf600b856133c3565b612c1f57600b80546001810182556000919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319166001600160a01b0386161790555b506001600160a01b038381166000908152600c60209081526040808320805460ff81161560ff199091168117909155601190925290912080546001600160a01b03191692851692909217909155612f33565b6006856009811115612c7f57fe5b1415612d4557612c9260176016866132ab565b15612d15576001600160a01b0384166000908152601760205260409020805463ffffffff19169055612cc56015856133c3565b612d1557601580546001810182556000919091527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec4750180546001600160a01b0319166001600160a01b0386161790555b506001600160a01b0383166000908152601660205260409020805460ff81161560ff199091168117909155612f33565b6007856009811115612d5357fe5b1415612e1957612d66601a6019866132ab565b15612de9576001600160a01b0384166000908152601a60205260409020805463ffffffff19169055612d996018856133c3565b612de957601880546001810182556000919091527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e0180546001600160a01b0319166001600160a01b0386161790555b506001600160a01b0383166000908152601960205260409020805460ff81161560ff199091168117909155612f33565b6008856009811115612e2757fe5b1415612eed57612e3a601e601d866132ab565b15612ebd576001600160a01b0384166000908152601e60205260409020805463ffffffff19169055612e6d601c856133c3565b612ebd57601c80546001810182556000919091527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2110180546001600160a01b0319166001600160a01b0386161790555b506001600160a01b0383166000908152601d60205260409020805460ff81161560ff199091168117909155612f33565b6009856009811115612efb57fe5b1415612f2957506000602055601f80546001600160a01b0319166001600160a01b0385161790556001612f33565b6000915050612f8a565b846009811115612f3f57fe5b604080516001600160a01b0387168152831515602082015281517f0dcacb7e392f3d6a216ed2660e3dcfd40b7793d33591db2ba185a6b8e44fc477929181900390910190a260019150505b9392505050565b60225481565b600b8181548110610bd357600080fd5b60106020526000908152604090205463ffffffff1681565b6000612f8a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613413565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b1790526130689084906134aa565b505050565b600082820183811015612f8a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000826130d65750600061159f565b828202828482816130e357fe5b0414612f8a5760405162461bcd60e51b81526004018080602001828103825260218152602001806137936021913960400191505060405180910390fd5b6000612f8a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061355b565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b1790526131d19085906134aa565b50505050565b600082820163ffffffff8085169082161015612f8a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600063ffffffff831661324f5750600061159f565b82820263ffffffff808416908086169083168161326857fe5b0463ffffffff1614612f8a5760405162461bcd60e51b81526004018080602001828103825260218152602001806137936021913960400191505060405180910390fd5b6001600160a01b03811660009081526020839052604081205460ff166133b9576001600160a01b03821660009081526020859052604090205463ffffffff1661333b576040805162461bcd60e51b815260206004820152600a60248201527f4d75737420717565756500000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03821660009081526020859052604090205463ffffffff428116911611156133b1576040805162461bcd60e51b815260206004820152601160248201527f5175657565206e6f742065787069726564000000000000000000000000000000604482015290519081900360640190fd5b506001612f8a565b5060009392505050565b6000805b83548110156133b957826001600160a01b03168482815481106133e657fe5b6000918252602090912001546001600160a01b0316141561340b57600191505061159f565b6001016133c7565b600081848411156134a25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561346757818101518382015260200161344f565b50505050905090810190601f1680156134945780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60606134ff826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135c09092919063ffffffff16565b8051909150156130685780806020019051602081101561351e57600080fd5b50516130685760405162461bcd60e51b815260040180806020018281038252602a8152602001806137b4602a913960400191505060405180910390fd5b600081836135aa5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561346757818101518382015260200161344f565b5060008385816135b657fe5b0495945050505050565b60606135cf84846000856135d7565b949350505050565b60606135e285613744565b613633576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106136725780518252601f199092019160209182019101613653565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146136d4576040519150601f19603f3d011682016040523d82523d6000602084013e6136d9565b606091505b509150915081156136ed5791506135cf9050565b8051156136fd5780518082602001fd5b60405162461bcd60e51b815260206004820181815286516024840152865187939192839260440191908501908083836000831561346757818101518382015260200161344f565b3b15159056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a206d757374206265206e6577206f776e657220746f2070756c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220d728b554924af302602b852a754a00abb21f92686903d0a49f8a4dccd921372864736f6c63430007050033000000000000000000000000bec68a941fecc79e57762e258fd1490f29235d75000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56000000000000000000000000a4adc858a81d76e2159bbe67f7ee9c94b4dff9fb0000000000000000000000000000000000000000000000000000000000000000