0 txs
0 calls
constructor
No constructor.
functions
getAllLiquidators
viewfunction getAllLiquidators() view returns (address[])
getCollateralWithdrawableToken
viewfunction getCollateralWithdrawableToken(address _collateral) view returns (uint256)
getLiquidatorAccess
viewfunction getLiquidatorAccess(address _liquidator) view returns (bool)
getLTVToken
viewfunction getLTVToken(uint256 _loanIdToken) view returns (uint256)
getStableCoinWithdrawable
viewfunction getStableCoinWithdrawable(address _stable) view returns (uint256)
getTotalPaybackAmountToken
viewfunction getTotalPaybackAmountToken(uint256 _loanIdToken) view returns (uint256 loanAmountwithEarnedAPYFee, uint256 earnedAPYFee)
isLiquidationPendingToken
viewfunction isLiquidationPendingToken(uint256 _loanIdToken) view returns (bool)
approveCollateralTo1inch
nonpayablefunction approveCollateralTo1inch(address[] _collateralTokens, uint256[] _amounts)
liquidateLoanToken
nonpayablefunction liquidateLoanToken(uint256 _loanId, tuple[] swapInfo)
liquidatorFacetInit
nonpayablefunction liquidatorFacetInit(address _liquidator1, address _liquidator2)
paybackToken
nonpayablefunction paybackToken(uint256 _loanId, uint256 _paybackAmount)
setLiquidator
nonpayablefunction setLiquidator(address[] _newLiquidators)
updateLiquidator
nonpayablefunction updateLiquidator(address _liquidatorWallet, bool _liquidatorRole)
withdrawExceedAltcoins
nonpayablefunction withdrawExceedAltcoins(address _tokenAddress, uint256 _amount, address _walletAddress)
withdrawStable
nonpayablefunction withdrawStable(address _tokenAddress, uint256 _amount, address _walletAddress)
events
No events.
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50614a00806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80637352570a116100975780639fbfbb05116100665780639fbfbb0514610262578063bb0df446146102aa578063c4b7d290146102bd578063d128375e146102d057600080fd5b80637352570a146101c957806373b521f6146101dc578063834f676c1461020457806384e210c41461024d57600080fd5b806339cd529f116100d357806339cd529f146101355780634432d729146101485780635e2037491461015b57806372b1faa4146101b657600080fd5b8063255c9509146100fa578063266822a41461010f57806330c0698b14610122575b600080fd5b61010d61010836600461417e565b6102e3565b005b61010d61011d366004614239565b6104ae565b61010d6101303660046142c6565b6108a7565b61010d6101433660046142ff565b610a10565b61010d610156366004614341565b610bb5565b6101a3610169366004614363565b6001600160a01b031660009081527f44fad6a3077d967f592f5890986a1c7e89eb67704a2f0b8954457a590036e181602052604090205490565b6040519081526020015b60405180910390f35b61010d6101c43660046142ff565b61109c565b61010d6101d7366004614380565b611230565b6101ef6101ea3660046143ae565b6113eb565b604080519283526020830191909152016101ad565b61023d610212366004614363565b6001600160a01b0316600090815260008051602061496b833981519152602052604090205460ff1690565b60405190151581526020016101ad565b610255611400565b6040516101ad919061440b565b6101a3610270366004614363565b6001600160a01b031660009081527f44fad6a3077d967f592f5890986a1c7e89eb67704a2f0b8954457a590036e180602052604090205490565b61010d6102b836600461441e565b611588565b6101a36102cb3660046143ae565b611701565b61023d6102de3660046143ae565b611712565b33600081815260008051602061496b833981519152602081905260409091205460ff166103485760405162461bcd60e51b815260206004820152600e60248201526d3737ba103634b8bab4b230ba37b960911b60448201526064015b60405180910390fd5b8351835160008051602061494b833981519152919081146103b95760405162461bcd60e51b815260206004820152602560248201527f636f6c6c61746572616c20616e6420616d6f756e74206c656e677468206d69736044820152640dac2e8c6d60db1b606482015260840161033f565b60005b818110156104a5578681815181106103d6576103d6614453565b60200260200101516001600160a01b031663095ea7b38460130160009054906101000a90046001600160a01b031688848151811061041657610416614453565b60200260200101516040518363ffffffff1660e01b815260040161044f9291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af115801561046e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104929190614469565b508061049d8161449c565b9150506103bc565b50505050505050565b33600081815260008051602061496b833981519152602081905260409091205460ff1661050e5760405162461bcd60e51b815260206004820152600e60248201526d3737ba103634b8bab4b230ba37b960911b604482015260640161033f565b600085815260008051602061494b8339815191526020818152604080842081516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff16151560608201526003820180548451818702810187019095528085529596959194929360808601939092908301828280156105c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116105a2575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561061857602002820191906000526020600020905b815481526020019060010190808311610604575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff166004811115610655576106556144b7565b6004811115610666576106666144b7565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001600782015481526020016008820180548060200260200160405190810160405280929190818152602001828054801561071257602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116106e15790505b5050509183525050600982015460209091019060ff166003811115610739576107396144b7565b600381111561074a5761074a6144b7565b8152600a820154602080830191909152600b9092015460409182015260008a815260018087018452828220835160608101855281546001600160a01b03168152918101549482019490945260029093015460ff16151591830191909152919250908260e0015160048111156107c1576107c16144b7565b146108005760405162461bcd60e51b815260206004820152600f60248201526e474c4d2c206e6f742061637469766560881b604482015260640161033f565b61080988611719565b61084e5760405162461bcd60e51b815260206004820152601660248201527523aa269d102634b8bab4b230ba34b7b71022b93937b960511b604482015260640161033f565b80604001511561086857610863888888611a1c565b610871565b61087188611e92565b61089d8261010001518361012001518460c001516001600160a01b0316612a409092919063ffffffff16565b5050505050505050565b33600081815260008051602061498b8339815191526020819052604090912054600160601b900460ff166108ed5760405162461bcd60e51b815260040161033f906144cd565b60008051602061496b83398151915261090585612aa8565b6109485760405162461bcd60e51b8152602060048201526014602482015273185919081b1a5c5d5a59185d1bdc88199a5c9cdd60621b604482015260640161033f565b6001600160a01b03851660009081526020829052604090205460ff16151584151514156109b05760405162461bcd60e51b8152602060048201526016602482015275474c3a2063616e6e6f742061737369676e2073616d6560501b604482015260640161033f565b6001600160a01b03851660008181526020838152604091829020805460ff191688151590811790915591519182527f7c76a56348abb1328ccfd1ab9b73c2ccc33a7ac315cf8b120d9e43601530ceae910160405180910390a25050505050565b33600081815260008051602061498b8339815191526020819052604090912054600160601b900460ff16610a565760405162461bcd60e51b815260040161033f906144cd565b6001600160a01b03851660009081527f44fad6a3077d967f592f5890986a1c7e89eb67704a2f0b8954457a590036e181602052604090205460008051602061494b8339815191529080610ae75760405162461bcd60e51b8152602060048201526019602482015278474e4d3a20737461626c65206e6f7420617661696c61626c6560381b604482015260640161033f565b80861115610b2d5760405162461bcd60e51b815260206004820152601360248201527211d3930e88105b5bdd5b9d08125b9d985b1a59606a1b604482015260640161033f565b6001600160a01b0387166000908152600d8301602052604081208054889290610b579084906144f6565b90915550610b7190506001600160a01b0388168688612a40565b7f98b35f0dc93556e1148ee6e9fd20edafccdfaa9817691016b18afaf067c2aebd878688604051610ba49392919061450d565b60405180910390a150505050505050565b600082815260008051602061494b8339815191526020818152604080842081516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552959695919492936080860193909290830182828015610c6757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c49575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020018280548015610cbf57602002820191906000526020600020905b815481526020019060010190808311610cab575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff166004811115610cfc57610cfc6144b7565b6004811115610d0d57610d0d6144b7565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016007820154815260200160088201805480602002602001604051908101604052809291908181526020018280548015610db957602002820191906000526020600020906000905b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411610d885790505b5050509183525050600982015460209091019060ff166003811115610de057610de06144b7565b6003811115610df157610df16144b7565b8152600a820154602080830191909152600b9092015460409182015260008781526001868101845290829020825160608101845281546001600160a01b03168152918101549382019390935260029092015460ff16151590820152909150336001600160a01b03168261010001516001600160a01b031614610ea95760405162461bcd60e51b815260206004820152601160248201527023a62696103737ba103137b93937bbb2b960791b604482015260640161033f565b60008260e001516004811115610ec157610ec16144b7565b14610f005760405162461bcd60e51b815260206004820152600f60248201526e474c4d2c206e6f742061637469766560881b604482015260640161033f565b600084118015610f2157506101208201518251610f1d91906144f6565b8411155b610f6d5760405162461bcd60e51b815260206004820181905260248201527f474c4d3a20496e76616c6964205061796261636b204c6f616e20416d6f756e74604482015260640161033f565b610f7685611719565b15610fcd5760405162461bcd60e51b815260206004820152602160248201527f474c4d3a20796f752063616e6e6f74207061796261636b20746869732074696d6044820152606560f81b606482015260840161033f565b600082610120015185610fe09190614531565b8351909150811415610ffb57610ff68686612b37565b611094565b6000868152602085905260408120600701805487929061101c908490614531565b909155505061010083015160c0840151611043916001600160a01b03909116903088613115565b8151604080518881523360208201526001600160a01b039092168282015260608201879052517f24e7e5ec06ca1d92fa59d84ca9300f541ae6b8c99e760ff24dfef3dd5bac281f9181900360800190a15b505050505050565b33600081815260008051602061498b8339815191526020819052604090912054600160601b900460ff166110e25760405162461bcd60e51b815260040161033f906144cd565b6001600160a01b03851660009081527f44fad6a3077d967f592f5890986a1c7e89eb67704a2f0b8954457a590036e180602052604090205460008051602061494b83398151915290806111735760405162461bcd60e51b8152602060048201526019602482015278474e4d3a20737461626c65206e6f7420617661696c61626c6560381b604482015260640161033f565b808611156111b95760405162461bcd60e51b815260206004820152601360248201527211d3930e88105b5bdd5b9d08125b9d985b1a59606a1b604482015260640161033f565b6001600160a01b0387166000908152600c83016020526040812080548892906111e39084906144f6565b909155506111fd90506001600160a01b0388168688612a40565b7f062c1ae2f04e97157b97f5d913994cadb77a7733318e501c12db301b1a172696878688604051610ba49392919061450d565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c1320547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9060008051602061496b833981519152906001600160a01b031633146112d45760405162461bcd60e51b815260206004820152601660248201527526bab9ba1037bbb7103a34329031b7b73a3930b1ba1760511b604482015260640161033f565b600281015460ff16156113295760405162461bcd60e51b815260206004820152601e60248201527f416c726561647920696e697469616c697a6564204c697175696461746f720000604482015260640161033f565b826001600160a01b0316846001600160a01b0316141561138b5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f7420616464206c697175696461746f722074776963650000000000604482015260640161033f565b6113948461313c565b61139d8361313c565b60028101805460ff191660011790556040516001600160a01b0380851691908616907f4ac395bf320bff658b0b6e961145a358317adc0b61199628ebb47ac4f7f2134c90600090a350505050565b6000806113f7836131f6565b91509150915091565b6000805160206149ab8339815191525460609060008051602061496b83398151915290600090815b8181101561149757600084600101828154811061144757611447614453565b60009182526020808320909101546001600160a01b03168083529087905260409091205490915060ff161561148457836114808161449c565b9450505b508061148f8161449c565b915050611428565b5060008267ffffffffffffffff8111156114b3576114b3614087565b6040519080825280602002602001820160405280156114dc578160200160208202803683370190505b5090506000805b8381101561157d57600086600101828154811061150257611502614453565b60009182526020808320909101546001600160a01b03168083529089905260409091205490915060ff161561156a578084848151811061154457611544614453565b6001600160a01b0390921660209283029190910190910152826115668161449c565b9350505b50806115758161449c565b9150506114e3565b509095945050505050565b33600081815260008051602061498b8339815191526020819052604090912054600160601b900460ff166115ce5760405162461bcd60e51b815260040161033f906144cd565b82516000805160206149ab8339815191525460008051602061496b83398151915291601e916115fd9190614531565b111561164b5760405162461bcd60e51b815260206004820152601b60248201527f4750523a206172726179206d61782073697a6520726561636865640000000000604482015260640161033f565b60005b84518110156116fa5761167985828151811061166c5761166c614453565b6020026020010151612aa8565b156116c65760405162461bcd60e51b815260206004820152601860248201527f616c7265616479206164646564206c697175696461746f720000000000000000604482015260640161033f565b6116e88582815181106116db576116db614453565b602002602001015161313c565b806116f28161449c565b91505061164e565b5050505050565b600061170c82613508565b92915050565b600061170c825b600081815260008051602061494b8339815191526020818152604080842081516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552879592946080860193909291908301828280156117c957602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116117ab575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561182157602002820191906000526020600020905b81548152602001906001019080831161180d575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff16600481111561185e5761185e6144b7565b600481111561186f5761186f6144b7565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001600782015481526020016008820180548060200260200160405190810160405280929190818152602001828054801561191b57602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116118ea5790505b5050509183525050600982015460209091019060ff166003811115611942576119426144b7565b6003811115611953576119536144b7565b8152600a820154602080830191909152600b90920154604091820152600087815260018087018452828220835160608101855281546001600160a01b03168152918101549482018590526002015460ff16151592810192909252929350919062015180906119c190426144f6565b6119cb9190614549565b905060006119d887613508565b9050836101a00151811115806119fd575060208401516119f9906001614531565b8210155b15611a0f575060019695505050505050565b5060009695505050505050565b600083815260008051602061494b8339815191526020818152604080842060058101805460ff60a01b1916600160a21b17905581516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552959695919492936080860193909290830182828015611ae357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611ac5575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020018280548015611b3b57602002820191906000526020600020905b815481526020019060010190808311611b27575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff166004811115611b7857611b786144b7565b6004811115611b8957611b896144b7565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016007820154815260200160088201805480602002602001604051908101604052809291908181526020018280548015611c3557602002820191906000526020600020906000905b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411611c045790505b5050509183525050600982015460209091019060ff166003811115611c5c57611c5c6144b7565b6003811115611c6d57611c6d6144b7565b8152600a820154602080830191909152600b90920154604091820152600088815260018087018452828220835160608101855281546001600160a01b03168152918101549482019490945260029093015460ff1615159183019190915291925090611cd7876131f6565b9150506000611cf98460000151856040015163ffffffff1686602001516137fc565b905080821115611d07578091505b6000611d1383836144f6565b608086015151909150878114611d815760405162461bcd60e51b815260206004820152602d60248201527f737761702063616c6c206461746120616e6420636f6c6c61746572616c206c6560448201526c0dccee8d040dad2e6dac2e8c6d609b1b606482015260840161033f565b60c08601516040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611dcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df0919061456b565b905060005b82811015611e3d57611e2b888c8c84818110611e1357611e13614453565b9050602002810190611e259190614584565b83613837565b80611e358161449c565b915050611df5565b50611e4b8787878685613c79565b7ffa37ab14c1df9a792a940b4f850843a7bc71680ea23ae40b251aba862696a4838b6004604051611e7d9291906145c7565b60405180910390a15050505050505050505050565b600081815260008051602061494b8339815191526020818152604080842060058101805460ff60a01b1916600160a21b17905581516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552959695919492936080860193909290830182828015611f5957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611f3b575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020018280548015611fb157602002820191906000526020600020905b815481526020019060010190808311611f9d575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff166004811115611fee57611fee6144b7565b6004811115611fff57611fff6144b7565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160078201548152602001600882018054806020026020016040519081016040528092919081815260200182805480156120ab57602002820191906000526020600020906000905b825461010083900a900460ff16151581526020600192830181810494850194909303909202910180841161207a5790505b5050509183525050600982015460209091019060ff1660038111156120d2576120d26144b7565b60038111156120e3576120e36144b7565b8152600a820154602080830191909152600b90920154604091820152600086815260018087018452828220835160608101855281546001600160a01b03168152918101549482019490945260029093015460ff161515918301919091529192509061214d856131f6565b915050600061216f8460000151856040015163ffffffff1686602001516137fc565b90508082111561217d578091505b506000612710306001600160a01b031663f376c6a56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e5919061456b565b85516121f191906145db565b6121fb9190614549565b905060008080805b8760800151518110156129dd576000306001600160a01b031663dc8cb8d38a60800151848151811061223757612237614453565b60200260200101516040518263ffffffff1660e01b815260040161226a91906001600160a01b0391909116815260200190565b602060405180830381865afa158015612287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ab91906145fa565b604051637b0c68e960e01b81526001600160a01b03821660048201529091503090637b0c68e990602401602060405180830381865afa1580156122f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123169190614469565b15612404576000306001600160a01b031663146a12a9838c60c001518d60800151878151811061234857612348614453565b60200260200101518e60a00151888151811061236657612366614453565b60209081029190910101516040516001600160e01b031960e087901b1681526001600160a01b0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381865afa1580156123cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f0919061456b565b90506123fc8187614531565b955050612622565b6000306001600160a01b031663518b25148b60800151858151811061242b5761242b614453565b60200260200101516040518263ffffffff1660e01b815260040161245e91906001600160a01b0391909116815260200190565b60a060405180830381865afa15801561247b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249f9190614617565b905089610140015183815181106124b8576124b8614453565b6020026020010151156125605780602001516001600160a01b03166379cc67908b61010001518c60a0015186815181106124f4576124f4614453565b60200260200101516040518363ffffffff1660e01b815260040161252d9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561254757600080fd5b505af115801561255b573d6000803e3d6000fd5b505050505b6000306001600160a01b0316630dd5a8368c60800151868151811061258757612587614453565b60200260200101518d60c001518e60a0015188815181106125aa576125aa614453565b60200260200101516040518463ffffffff1660e01b81526004016125d09392919061450d565b602060405180830381865afa1580156125ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612611919061456b565b905061261d8188614531565b965050505b885161262f908790614531565b85116126965761269188600001518a60a00151848151811061265357612653614453565b60200260200101518b60800151858151811061267157612671614453565b60200260200101516001600160a01b0316612a409092919063ffffffff16565b6129ca565b88516126a3908790614531565b851180156126af575082155b1561295357604051637b0c68e960e01b81526001600160a01b03821660048201523090637b0c68e990602401602060405180830381865afa1580156126f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271c9190614469565b156127f457306001600160a01b0316639ed4bf668a60c00151838c60800151868151811061274c5761274c614453565b60200260200101518a8e600001516127649190614531565b61276e908b6144f6565b6040516001600160e01b031960e087901b1681526001600160a01b0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381865afa1580156127c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127ed919061456b565b93506128a2565b306001600160a01b031663d1a03a588a60c001518b60800151858151811061281e5761281e614453565b6020026020010151898d600001516128369190614531565b612840908a6144f6565b6040518463ffffffff1660e01b815260040161285e9392919061450d565b602060405180830381865afa15801561287b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289f919061456b565b93505b6000848a60a0015184815181106128bb576128bb614453565b60200260200101516128cd91906144f6565b9050848b600d0160008c6080015186815181106128ec576128ec614453565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546129239190614531565b925050819055506129498960000151828c60800151868151811061267157612671614453565b60019350506129ca565b8860a00151828151811061296957612969614453565b60200260200101518a600d0160008b60800151858151811061298d5761298d614453565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546129c49190614531565b90915550505b50806129d58161449c565b915050612203565b50855160c08801516129fb916001600160a01b039091169087612a40565b7fd4e7d829c1b3d2624d56f01f3978471895c7cc0d7a98466dff9803f2b21ebda9896004604051612a2d9291906145c7565b60405180910390a1505050505050505050565b6040516001600160a01b038316602482015260448101829052612aa390849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613e90565b505050565b6000805160206149ab8339815191525460009060008051602061496b83398151915290825b81811015612b2c57846001600160a01b0316836001018281548110612af457612af4614453565b6000918252602090912001546001600160a01b03161415612b1a57506001949350505050565b80612b248161449c565b915050612acd565b506000949350505050565b600082815260008051602061494b8339815191526020818152604080842060058101805460ff60a01b1916600160a11b17905581516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552959695919492936080860193909290830182828015612bfe57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612be0575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020018280548015612c5657602002820191906000526020600020905b815481526020019060010190808311612c42575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff166004811115612c9357612c936144b7565b6004811115612ca457612ca46144b7565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016007820154815260200160088201805480602002602001604051908101604052809291908181526020018280548015612d5057602002820191906000526020600020906000905b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411612d1f5790505b5050509183525050600982015460209091019060ff166003811115612d7757612d776144b7565b6003811115612d8857612d886144b7565b8152600a820154602080830191909152600b90920154604091820152600087815260018087018452828220835160608101855281546001600160a01b03168152918101549482019490945260029093015460ff161515918301919091529192509080612df3876131f6565b915091506000612e168560000151866040015163ffffffff1687602001516137fc565b90506000612e2483836144f6565b60c08701516001600160a01b03166000908152600c89016020526040812080549293508392909190612e57908490614531565b9091555050600089815260208890526040812060070180548a9290612e7d908490614531565b90915550506101008601516101208701518751612eb792913091612ea191906144f6565b60c08a01516001600160a01b0316929190613115565b845160c0870151612ed4916001600160a01b039091169086612a40565b60808601515160005b818110156130b1576000306001600160a01b031663518b25148a608001518481518110612f0c57612f0c614453565b60200260200101516040518263ffffffff1660e01b8152600401612f3f91906001600160a01b0391909116815260200190565b60a060405180830381865afa158015612f5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f809190614617565b6020810151909150600182606001516001811115612fa057612fa06144b7565b148015612fc857508961014001518381518110612fbf57612fbf614453565b60200260200101515b1561306457806001600160a01b03166379cc67908b61010001518c60a001518681518110612ff857612ff8614453565b60200260200101516040518363ffffffff1660e01b81526004016130319291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561304b57600080fd5b505af115801561305f573d6000803e3d6000fd5b505050505b61309c338b60a00151858151811061307e5761307e614453565b60200260200101518c60800151868151811061267157612671614453565b505080806130a99061449c565b915050612edd565b50855161012088015188517f58b14131edbf96fcf7c03549447de4deea1f02c1af3eda9afe61871cc15ac740928d9233926130ec91906144f6565b600289604051613101969594939291906146b3565b60405180910390a150505050505050505050565b613136846323b872dd60e01b858585604051602401612a6c9392919061450d565b50505050565b6001600160a01b038116600081815260008051602061496b83398151915260208181526040808420805460ff191660019081179091556000805160206149ab8339815191528054808301825595527ff289f2cf6daeb99ab752c397c6005eb29fdccc1c0db4d4a85e9ac29ee3a917c390940180546001600160a01b031916861790558051938452519193927f6af78713d6702b297f85dc4581f3733df68cfbc5ef074ef02e0693e903213512929081900390910190a25050565b600081815260008051602061494b8339815191526020818152604080842081516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff161515606082015260038201805484518187028101870190955280855287969587959394936080860193909290918301828280156132aa57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161328c575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561330257602002820191906000526020600020905b8154815260200190600101908083116132ee575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff16600481111561333f5761333f6144b7565b6004811115613350576133506144b7565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160078201548152602001600882018054806020026020016040519081016040528092919081815260200182805480156133fc57602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116133cb5790505b5050509183525050600982015460209091019060ff166003811115613423576134236144b7565b6003811115613434576134346144b7565b8152600a820154602080830191909152600b90920154604091820152600088815260018087018452828220835160608101855281546001600160a01b03168152918101549482018590526002015460ff16151592810192909252929350919062015180906134a290426144f6565b6134ac9190614549565b905061016d61271082856040015163ffffffff1686600001516134cf91906145db565b6134d991906145db565b6134e39190614549565b6134ed9190614549565b83519095506134fd908690614531565b955050505050915091565b600081815260008051602061494b8339815191526020818152604080842081516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552879592946080860193909291908301828280156135b857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161359a575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561361057602002820191906000526020600020905b8154815260200190600101908083116135fc575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff16600481111561364d5761364d6144b7565b600481111561365e5761365e6144b7565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001600782015481526020016008820180548060200260200160405190810160405280929190818152602001828054801561370a57602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116136d95790505b5050509183525050600982015460209091019060ff166003811115613731576137316144b7565b6003811115613742576137426144b7565b8152600a8201546020820152600b9091015460409091015260a0810151608082015160c08301516101208401518451949550929391929091309163061e68c291869186918691613791916144f6565b6040518563ffffffff1660e01b81526004016137b094939291906146f6565b602060405180830381865afa1580156137cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137f1919061456b565b979650505050505050565b600061016d6127108361380f86886145db565b61381991906145db565b6138239190614549565b61382d9190614549565b90505b9392505050565b600060008051602061494b83398151915290506000306001600160a01b031663518b25148660800151858151811061387157613871614453565b60200260200101516040518263ffffffff1660e01b81526004016138a491906001600160a01b0391909116815260200190565b60a060405180830381865afa1580156138c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e59190614617565b905084610140015183815181106138fe576138fe614453565b6020026020010151156139a65780602001516001600160a01b03166379cc67908661010001518760a00151868151811061393a5761393a614453565b60200260200101516040518363ffffffff1660e01b81526004016139739291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561398d57600080fd5b505af11580156139a1573d6000803e3d6000fd5b505050505b846080015183815181106139bc576139bc614453565b60200260200101516001600160a01b03168460200160000160208101906139e39190614363565b6001600160a01b031614613a305760405162461bcd60e51b81526020600482015260146024820152733737ba1031b7b63630ba32b930b6103a37b5b2b760611b604482015260640161033f565b60c08501516001600160a01b0316613a4e6060860160408701614363565b6001600160a01b031614613a975760405162461bcd60e51b815260206004820152601060248201526f3737ba1039ba30b13632903a37b5b2b760811b604482015260640161033f565b30613aa860a0860160808701614363565b6001600160a01b031614613afe5760405162461bcd60e51b815260206004820152601c60248201527f7265636569766572206e6f7420636f6e747261637420697473656c6600000000604482015260640161033f565b8460a001518381518110613b1457613b14614453565b6020026020010151846020016080013514613b845760405162461bcd60e51b815260206004820152602a60248201527f636f6c6c61746572616c20616d6f756e74206e6f7420657175616c20746f20736044820152691dd85c08185b5bdd5b9d60b21b606482015260840161033f565b601382015460009081906001600160a01b03166312aa3caf613ba96020890189614363565b60208901613bbb6101008b018b614771565b613bc96101208d018d614771565b6040518763ffffffff1660e01b8152600401613bea969594939291906147e8565b60408051808303816000875af1158015613c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c2c91906148b5565b6040805130815260a08a013560208201529081018290526060810183905291935091507f59682af06c72bdcd5c447611cb2ee0ae1d7c2a7e057a3905ab61e9fce98e52a590608001610ba4565b600060008051602061494b83398151915260c08701516040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015613cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cfe919061456b565b90506000613d0c84836144f6565b8851909150811015613d7d5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e74206973206e6f7420656e6f75676820746f20636f7660448201527332b9103a3432903632b73232b913b9903637b0b760611b606482015260840161033f565b6000613df38960000151306001600160a01b03166315b97e366040518163ffffffff1660e01b8152600401602060405180830381865afa158015613dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613de9919061456b565b8b602001516137fc565b8951909150600090613e0590846144f6565b905086613e128284614531565b613e1c9190614531565b60c08b01516001600160a01b03166000908152600c8701602052604081208054909190613e4a908490614531565b909155505088518a51613e8491908490613e65908c90614531565b613e6f91906144f6565b60c08d01516001600160a01b03169190612a40565b50505050505050505050565b6000613ee5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613f659092919063ffffffff16565b9050805160001480613f06575080806020019051810190613f069190614469565b612aa35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161033f565b606061382d848460008585600080866001600160a01b03168587604051613f8c9190614905565b60006040518083038185875af1925050503d8060008114613fc9576040519150601f19603f3d011682016040523d82523d6000602084013e613fce565b606091505b5091509150613fdf87838387613fec565b925050505b949350505050565b60608315614058578251614051576001600160a01b0385163b6140515760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161033f565b5081613fe4565b613fe4838381511561406d5781518083602001fd5b8060405162461bcd60e51b815260040161033f9190614917565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156140c6576140c6614087565b604052919050565b600067ffffffffffffffff8211156140e8576140e8614087565b5060051b60200190565b6001600160a01b038116811461410757600080fd5b50565b600082601f83011261411b57600080fd5b8135602061413061412b836140ce565b61409d565b82815260059290921b8401810191818101908684111561414f57600080fd5b8286015b84811015614173578035614166816140f2565b8352918301918301614153565b509695505050505050565b6000806040838503121561419157600080fd5b823567ffffffffffffffff808211156141a957600080fd5b6141b58683870161410a565b93506020915081850135818111156141cc57600080fd5b85019050601f810186136141df57600080fd5b80356141ed61412b826140ce565b81815260059190911b8201830190838101908883111561420c57600080fd5b928401925b8284101561422a57833582529284019290840190614211565b80955050505050509250929050565b60008060006040848603121561424e57600080fd5b83359250602084013567ffffffffffffffff8082111561426d57600080fd5b818601915086601f83011261428157600080fd5b81358181111561429057600080fd5b8760208260051b85010111156142a557600080fd5b6020830194508093505050509250925092565b801515811461410757600080fd5b600080604083850312156142d957600080fd5b82356142e4816140f2565b915060208301356142f4816142b8565b809150509250929050565b60008060006060848603121561431457600080fd5b833561431f816140f2565b9250602084013591506040840135614336816140f2565b809150509250925092565b6000806040838503121561435457600080fd5b50508035926020909101359150565b60006020828403121561437557600080fd5b8135613830816140f2565b6000806040838503121561439357600080fd5b823561439e816140f2565b915060208301356142f4816140f2565b6000602082840312156143c057600080fd5b5035919050565b600081518084526020808501945080840160005b838110156144005781516001600160a01b0316875295820195908201906001016143db565b509495945050505050565b60208152600061383060208301846143c7565b60006020828403121561443057600080fd5b813567ffffffffffffffff81111561444757600080fd5b613fe48482850161410a565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561447b57600080fd5b8151613830816142b8565b634e487b7160e01b600052601160045260246000fd5b60006000198214156144b0576144b0614486565b5060010190565b634e487b7160e01b600052602160045260246000fd5b6020808252600f908201526e3737ba1039bab832b91030b236b4b760891b604082015260600190565b60008282101561450857614508614486565b500390565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000821982111561454457614544614486565b500190565b60008261456657634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561457d57600080fd5b5051919050565b6000823561013e1983360301811261459b57600080fd5b9190910192915050565b600581106145c357634e487b7160e01b600052602160045260246000fd5b9052565b8281526040810161383060208301846145a5565b60008160001904831182151516156145f5576145f5614486565b500290565b60006020828403121561460c57600080fd5b8151613830816140f2565b600060a0828403121561462957600080fd5b60405160a0810181811067ffffffffffffffff8211171561464c5761464c614087565b604052825161465a816140f2565b8152602083015161466a816140f2565b6020820152604083015161467d816142b8565b604082015260608301516002811061469457600080fd5b606082015260808301516146a7816142b8565b60808201529392505050565b8681526001600160a01b038681166020830152851660408201526060810184905260c081016146e560808301856145a5565b8260a0830152979650505050505050565b6080808252855190820181905260009060209060a0840190828901845b8281101561472f57815184529284019290840190600101614713565b5050508381038285015261474381886143c7565b6001600160a01b039690961660408501525050506060015292915050565b803561476c816140f2565b919050565b6000808335601e1984360301811261478857600080fd5b83018035915067ffffffffffffffff8211156147a357600080fd5b6020019150368190038213156147b857600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038781168252600090610140908835614807816140f2565b818116602086015250602089013561481e816140f2565b16604084810191909152880135614834816140f2565b6001600160a01b03811660608501525061485060608901614761565b6001600160a01b038116608085015250608088013560a084015260a088013560c084015260c088013560e08401528061010084015261489281840187896147bf565b90508281036101208401526148a88185876147bf565b9998505050505050505050565b600080604083850312156148c857600080fd5b505080516020909101519092909150565b60005b838110156148f45781810151838201526020016148dc565b838111156131365750506000910152565b6000825161459b8184602087016148d9565b60208152600082518060208401526149368160408501602087016148d9565b601f01601f1916919091016040019291505056fe44fad6a3077d967f592f5890986a1c7e89eb67704a2f0b8954457a590036e1745ef7c3ea0ba0c99d287ea9c77cd249ce525e87a93b496ebfa18512bf671041af7eab9f6194b2afda22cb00495e5224632ea597f3f4acdafa99041919662a14755ef7c3ea0ba0c99d287ea9c77cd249ce525e87a93b496ebfa18512bf671041b0a264697066735822122029699dabe498714290c3da3a7d9b3da324402c863a1ca40f9ab9d6059332e50264736f6c634300080a0033