0 txs
0 calls
constructor
No constructor.
functions
_feeRecipient
viewfunction _feeRecipient() view returns (address)
AAVE_LENDING_POOL_ADDRESSES
viewfunction AAVE_LENDING_POOL_ADDRESSES() view returns (address)
AAVE_REFERRAL_CODE
viewfunction AAVE_REFERRAL_CODE() view returns (uint16)
AUTOMATIC_SERVICE_FEE
viewfunction AUTOMATIC_SERVICE_FEE() view returns (uint256)
BOT_REGISTRY_ADDRESS
viewfunction BOT_REGISTRY_ADDRESS() view returns (address)
DEFISAVER_LOGGER
viewfunction DEFISAVER_LOGGER() view returns (address)
DISCOUNT_ADDR
viewfunction DISCOUNT_ADDR() view returns (address)
DISCOUNT_ADDRESS
viewfunction DISCOUNT_ADDRESS() view returns (address)
ERR_DEST_AMOUNT_MISSING
viewfunction ERR_DEST_AMOUNT_MISSING() view returns (string)
ERR_NOT_ZEROX_EXCHANGE
viewfunction ERR_NOT_ZEROX_EXCHANGE() view returns (string)
ERR_OFFCHAIN_DATA_INVALID
viewfunction ERR_OFFCHAIN_DATA_INVALID() view returns (string)
ERR_SLIPPAGE_HIT
viewfunction ERR_SLIPPAGE_HIT() view returns (string)
ERR_WRAPPER_INVALID
viewfunction ERR_WRAPPER_INVALID() view returns (string)
ETH_ADDR
viewfunction ETH_ADDR() view returns (address)
EXCHANGE_WETH_ADDRESS
viewfunction EXCHANGE_WETH_ADDRESS() view returns (address)
feeRecipient
viewfunction feeRecipient() view returns (address)
gasToken
viewfunction gasToken() view returns (address)
getMaxBoost
viewfunction getMaxBoost(address _borrowAddress, address _collateralAddress, address _user) view returns (uint256)
getMaxBorrow
viewfunction getMaxBorrow(address _borrowAddress, address _user) view returns (uint256)
getMaxCollateral
viewfunction getMaxCollateral(address _collateralAddress, address _user) view returns (uint256)
KYBER_ETH_ADDRESS
viewfunction KYBER_ETH_ADDRESS() view returns (address)
MANUAL_SERVICE_FEE
viewfunction MANUAL_SERVICE_FEE() view returns (uint256)
NINETY_NINE_PERCENT_WEI
viewfunction NINETY_NINE_PERCENT_WEI() view returns (uint256)
packExchangeData
purefunction packExchangeData(tuple _exData) pure returns (bytes)
SAVER_EXCHANGE_REGISTRY
viewfunction SAVER_EXCHANGE_REGISTRY() view returns (address)
unpackExchangeData
purefunction unpackExchangeData(bytes _data) pure returns (tuple _exData)
VARIABLE_RATE
viewfunction VARIABLE_RATE() view returns (uint256)
ZRX_ALLOWLIST_ADDR
viewfunction ZRX_ALLOWLIST_ADDR() view returns (address)
boost
payablefunction boost(tuple _data, uint256 _gasCost) payable
repay
payablefunction repay(tuple _data, uint256 _gasCost) payable
sendContractBalance
nonpayablefunction sendContractBalance(address _token, address _user, uint256 _amount)
sendFullContractBalance
nonpayablefunction sendFullContractBalance(address _token, address _user)
events
No events.
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50613d71806100206000396000f3fe6080604052600436106101e75760003560e01c80635c1e417211610102578063a46a66c911610095578063c91d59fe11610064578063c91d59fe14610497578063cb9827e1146104ac578063cc694d48146104bf578063ce245c80146104d4576101ee565b8063a46a66c9146103d7578063ae08fd1014610458578063bfe142a31461046d578063c50ebaf814610482576101ee565b8063870e44d9116100d1578063870e44d9146104015780638c8a795814610416578063a342f23814610323578063a3b8e5d11461042b576101ee565b80635c1e4172146103b75780637753f47b146102a25780637b925ab1146103d757806381b94280146103ec576101ee565b806339df18781161017a57806349a3d7371161014957806349a3d7371461034d5780634d2ab9dc1461036d57806351c4a63114610382578063526d6461146103a2576101ee565b806339df1878146102f9578063449b9ffa1461030e5780634690484014610323578063475b40fd14610338576101ee565b8063278d5831116101b6578063278d58311461028d57806329f7fc9e146102a25780632b6e6581146102c4578063314b6332146102e4576101ee565b806304c9805c146101f357806305a363de1461021e57806308d4f52a146102405780631ec18ec01461026d576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b506102086104e9565b6040516102159190613c51565b60405180910390f35b34801561022a57600080fd5b506102336104ef565b6040516102159190613c42565b34801561024c57600080fd5b5061026061025b366004613511565b6104f4565b6040516102159190613b6f565b34801561027957600080fd5b506102086102883660046133d4565b61051e565b34801561029957600080fd5b5061026061076c565b3480156102ae57600080fd5b506102b7610794565b6040516102159190613980565b3480156102d057600080fd5b506102086102df3660046133d4565b6107a6565b3480156102f057600080fd5b506102b7610c92565b34801561030557600080fd5b506102b7610caa565b34801561031a57600080fd5b50610260610cc2565b34801561032f57600080fd5b506102b7610cf4565b61034b61034636600461364c565b610d0c565b005b34801561035957600080fd5b5061034b6103683660046133d4565b611278565b34801561037957600080fd5b5061020861132c565b34801561038e57600080fd5b5061034b61039d366004613456565b611332565b3480156103ae57600080fd5b506102b76113b0565b3480156103c357600080fd5b506102086103d236600461340c565b6113c8565b3480156103e357600080fd5b506102b7611766565b3480156103f857600080fd5b506102b761177e565b34801561040d57600080fd5b50610208611796565b34801561042257600080fd5b506102b76117a2565b34801561043757600080fd5b5061044b6104463660046134de565b6117ba565b6040516102159190613c03565b34801561046457600080fd5b506102606117d6565b34801561047957600080fd5b506102b7611807565b34801561048e57600080fd5b50610260611819565b3480156104a357600080fd5b506102b7611848565b61034b6104ba36600461364c565b61185b565b3480156104cb57600080fd5b50610260611e6f565b3480156104e057600080fd5b50610208611e9a565b61014d81565b604081565b6060816040516020016105079190613c03565b60405160208183030381529060405290505b919050565b600080600080516020613cfc8339815191526001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056857600080fd5b505afa15801561057c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a091906133b8565b90506000600080516020613cfc8339815191526001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156105eb57600080fd5b505afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062391906133b8565b90506000826001600160a01b031663bf92857c866040518263ffffffff1660e01b81526004016106539190613980565b6101006040518083038186803b15801561066c57600080fd5b505afa158015610680573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a49190613750565b5050509450505050506000826001600160a01b031663b3596f07886040518263ffffffff1660e01b81526004016106db9190613980565b60206040518083038186803b1580156106f357600080fd5b505afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b919061368f565b905061075f61073988611e9f565b601203600a0a6107498484611f39565b8161075057fe5b04670dbd2fc137a30000611f6a565b9450505050505b92915050565b6040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b81525081565b600080516020613d1c83398151915281565b600080600080516020613cfc8339815191526001600160a01b0316632f58b80d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107f057600080fd5b505afa158015610804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082891906133b8565b90506000600080516020613cfc8339815191526001600160a01b031663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801561087357600080fd5b505afa158015610887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ab91906133b8565b90506000600080516020613cfc8339815191526001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156108f657600080fd5b505afa15801561090a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092e91906133b8565b9050600061093b87611e9f565b601203600a0a90506000806000866001600160a01b0316632c6d0e9b8a6040518263ffffffff1660e01b81526004016109749190613980565b6101006040518083038186803b15801561098d57600080fd5b505afa1580156109a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c591906136e7565b50505094505093509350506000866001600160a01b0316635fc526ff8c6040518263ffffffff1660e01b81526004016109fe9190613980565b60806040518083038186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4e91906136a7565b50509150506000866001600160a01b031663b3596f078d6040518263ffffffff1660e01b8152600401610a819190613980565b60206040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad1919061368f565b90506000886001600160a01b03166318a4dbca8e8e6040518363ffffffff1660e01b8152600401610b03929190613a37565b60206040518083038186803b158015610b1b57600080fd5b505afa158015610b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b53919061368f565b90506000610b6388830284611f6a565b905085610b7c5750995061076698505050505050505050565b6000610ba4610b9e610b8e888b611f92565b610b998a6064611f92565b611fb6565b87611fc6565b9050818111610bb35780610bb5565b815b9050878110610be45788610bc98986611f39565b81610bd057fe5b049c50505050505050505050505050610766565b6000610bfd610bf3888b611f6a565b610b998886611f6a565b90506000610c2f610c2083610c1b610c158888611fb6565b8b611f6a565b611fd1565b610c2a8c86611fb6565b611f39565b905087811015610c6e57610c5a610c54610c49838d611f92565b610b998c6064611f92565b82611fc6565b9250838311610c695782610c6b565b835b92505b610c7c8b6107498589611f39565b9e50505050505050505050505050505092915050565b7325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d81565b735c55b921f590a89c1ebe84df170e655a82b6212681565b6040518060400160405280601681526020017516995c9bde08195e18da185b99d9481a5b9d985b1a5960521b81525081565b7339c4a92dc506300c3ea4c67ca4ca611102ee6f2a81565b6040516370a0823160e01b815260149081906eb3f879cb30fe243b4dfee438691c04906370a0823190610d43903090600401613980565b60206040518083038186803b158015610d5b57600080fd5b505afa158015610d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d93919061368f565b10610e1e5760405163d8ccd0f360e01b81526eb3f879cb30fe243b4dfee438691c049063d8ccd0f390610dca908490600401613c51565b602060405180830381600087803b158015610de457600080fd5b505af1158015610df8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1c9190613496565b505b6000600080516020613cfc8339815191526001600160a01b031663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6757600080fd5b505afa158015610e7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9f91906133b8565b90506000600080516020613cfc8339815191526001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610eea57600080fd5b505afa158015610efe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2291906133b8565b90506000610f2e611fe1565b8651604051631a59df7760e11b81529192506000916001600160a01b038616916334b3beee91610f619190600401613980565b60206040518083038186803b158015610f7957600080fd5b505afa158015610f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb191906133b8565b604080890151905163db006a7560e01b81529192506001600160a01b0383169163db006a7591610fe391600401613c51565b600060405180830381600087803b158015610ffd57600080fd5b505af1158015611011573d6000803e3d6000fd5b505050506040870151602088015188516001600160a01b039182169116146110855761103b61205e565b6110475761019061104b565b61014d5b60a08901526001600160a01b03831660c0890152611068886120ed565b90508091505061107e8184898b60200151612431565b9003611098565b6110958184898b60200151612431565b90035b60208801516001600160a01b0316600080516020613d1c833981519152141561112757602088015160405163173aba7160e21b81526001600160a01b03861691635ceae9c49184916110f09183903090600401613afd565b6000604051808303818588803b15801561110957600080fd5b505af115801561111d573d6000803e3d6000fd5b505050505061119c565b611135886020015186612668565b602088015160405163173aba7160e21b81526001600160a01b03861691635ceae9c491611169919085903090600401613afd565b600060405180830381600087803b15801561118357600080fd5b505af1158015611197573d6000803e3d6000fd5b505050505b6111b9600080516020613d1c8339815191523261039d473461269c565b6111c7886020015184611278565b735c55b921f590a89c1ebe84df170e655a82b621266001600160a01b031663d061ce5030338b600001518c602001518d604001518760405160200161120f9493929190613a84565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161123c93929190613994565b600060405180830381600087803b15801561125657600080fd5b505af115801561126a573d6000803e3d6000fd5b505050505050505050505050565b6001600160a01b038216600080516020613d1c83398151915214156112a7576112a2828247611332565b611328565b6113288282846001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016112d89190613980565b60206040518083038186803b1580156112f057600080fd5b505afa158015611304573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039d919061368f565b5050565b61019081565b8061133c576113ab565b6001600160a01b038316600080516020613d1c8339815191521415611397576040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611391573d6000803e3d6000fd5b506113ab565b6113ab6001600160a01b03841683836126b5565b505050565b73637726f8b08a7abe3ae3acab01a80e2d8ddef77b81565b600080600080516020613cfc8339815191526001600160a01b0316632f58b80d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561141257600080fd5b505afa158015611426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144a91906133b8565b90506000600080516020613cfc8339815191526001600160a01b031663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801561149557600080fd5b505afa1580156114a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cd91906133b8565b90506000600080516020613cfc8339815191526001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561151857600080fd5b505afa15801561152c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155091906133b8565b90506000806000856001600160a01b0316632c6d0e9b896040518263ffffffff1660e01b81526004016115839190613980565b6101006040518083038186803b15801561159c57600080fd5b505afa1580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d491906136e7565b50505094505093509350506000856001600160a01b0316635fc526ff8b6040518263ffffffff1660e01b815260040161160d9190613980565b60806040518083038186803b15801561162557600080fd5b505afa158015611639573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165d91906136a7565b505091505061167661166f8584611f92565b6064611fc6565b935060006116b26116a461169d61168d8888611fb6565b611698606487611fb6565b611fc6565b6064611f92565b670dbd2fc137a30000611f6a565b90506000866001600160a01b031663b3596f078e6040518263ffffffff1660e01b81526004016116e29190613980565b60206040518083038186803b1580156116fa57600080fd5b505afa15801561170e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611732919061368f565b905061173d8d611e9f565b601203600a0a61174d8383611f39565b8161175457fe5b049d9c50505050505050505050505050565b731b14e8d511c9a4395425314f849bd737baf8208f81565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b670dbd2fc137a3000081565b734ba1f38427b33b8ab7bb0490200dae1f1c36823f81565b6117c261301a565b818060200190518101906107669190613544565b6040518060400160405280601581526020017413d99998da185a5b8819185d18481a5b9d985b1a59605a1b81525081565b600080516020613cfc83398151915281565b604051806040016040528060138152602001724465737420616d6f756e74206d697373696e6760681b81525081565b6eb3f879cb30fe243b4dfee438691c0481565b6040516370a0823160e01b815260149081906eb3f879cb30fe243b4dfee438691c04906370a0823190611892903090600401613980565b60206040518083038186803b1580156118aa57600080fd5b505afa1580156118be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e2919061368f565b1061196d5760405163d8ccd0f360e01b81526eb3f879cb30fe243b4dfee438691c049063d8ccd0f390611919908490600401613c51565b602060405180830381600087803b15801561193357600080fd5b505af1158015611947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196b9190613496565b505b6000600080516020613cfc8339815191526001600160a01b031663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b1580156119b657600080fd5b505afa1580156119ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ee91906133b8565b90506000600080516020613cfc8339815191526001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a3957600080fd5b505afa158015611a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7191906133b8565b9050600080826001600160a01b03166328dd2d018860200151306040518363ffffffff1660e01b8152600401611aa8929190613a37565b6101406040518083038186803b158015611ac157600080fd5b505afa158015611ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af991906137ac565b9950505050505094505050506000611b0f611fe1565b9050836001600160a01b031663c858f5f989600001518a6040015186600014611b385786611b3b565b60025b604080518563ffffffff1660e01b8152600401611b5b9493929190613b45565b600060405180830381600087803b158015611b7557600080fd5b505af1158015611b89573d6000803e3d6000fd5b50505050600088600001516001600160a01b031689602001516001600160a01b031614611c0657611bb861205e565b611bc457610190611bc8565b61014d5b60a08a01526001600160a01b03821660c08a0152611be5896120ed565b905080915050611bff8960600151838a8c60200151612431565b9003611c24565b88604001519050611c218960600151838a8c60200151612431565b90035b60208901516001600160a01b0316600080516020613d1c8339815191521415611cb357602089015160408051636968703360e11b81526001600160a01b0388169263d2d0e066928592611c7c92918491600401613b20565b6000604051808303818588803b158015611c9557600080fd5b505af1158015611ca9573d6000803e3d6000fd5b5050505050611d27565b611cc1896020015187612668565b602089015160408051636968703360e11b81526001600160a01b0388169263d2d0e06692611cf492869190600401613b20565b600060405180830381600087803b158015611d0e57600080fd5b505af1158015611d22573d6000803e3d6000fd5b505050505b82611d92576020890151604051635a3b74b960e01b81526001600160a01b03871691635a3b74b991611d5f9190600190600401613aad565b600060405180830381600087803b158015611d7957600080fd5b505af1158015611d8d573d6000803e3d6000fd5b505050505b611daf600080516020613d1c8339815191523261039d473461269c565b611dbd896020015183611278565b735c55b921f590a89c1ebe84df170e655a82b621266001600160a01b031663d061ce5030338c600001518d602001518e6040015187604051602001611e059493929190613a84565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401611e32939291906139ea565b600060405180830381600087803b158015611e4c57600080fd5b505af1158015611e60573d6000803e3d6000fd5b50505050505050505050505050565b6040518060400160405280600f81526020016e15dc985c1c195c881a5b9d985b1a59608a1b81525081565b600281565b60006001600160a01b038216600080516020613d1c8339815191521415611ec857506012610519565b816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611f0157600080fd5b505afa158015611f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610766919061368f565b600081611f5b611f5185670de0b6b3a7640000611f92565b6002855b04611fd1565b81611f6257fe5b049392505050565b6000670de0b6b3a7640000611f5b611f828585611f92565b6002670de0b6b3a7640000611f55565b6000811580611fad57505080820282828281611faa57fe5b04145b61076657600080fd5b8082038281111561076657600080fd5b6000818381611f6257fe5b8082018281101561076657600080fd5b600080309050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561202057600080fd5b505afa158015612034573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205891906133b8565b91505090565b6040516320eb73ed60e11b815260009073637726f8b08a7abe3ae3acab01a80e2d8ddef77b906341d6e7da90612098903290600401613980565b60206040518083038186803b1580156120b057600080fd5b505afa1580156120c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e89190613496565b905090565b6000806000806000600080516020613d1c8339815191526001600160a01b031686600001516001600160a01b031614156121a257855161212c9061270b565b6001600160a01b031686526040808701518151630d0e30db60e41b8152915173c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29263d0e30db09291600480830192600092919082900301818588803b15801561218857600080fd5b505af115801561219c573d6000803e3d6000fd5b50505050505b6121be86604001518760c0015188600001518960a0015161274c565b60408701805191909103905261012086015160600151156121fb576121e4866000612999565b9250905080156121fb578561012001516020015192505b806122155761220b866000612b97565b91508560e0015192505b600061223473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2612dd9565b111561231a576040516370a0823160e01b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d9082906370a0823190612279903090600401613980565b602060405180830381600087803b15801561229357600080fd5b505af11580156122a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cb919061368f565b6040518263ffffffff1660e01b81526004016122e79190613c51565b600060405180830381600087803b15801561230157600080fd5b505af1158015612315573d6000803e3d6000fd5b505050505b60208601516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc214156123c05761235586608001518760400151611f6a565b61236c600080516020613d1c833981519152612dd9565b10156040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b815250906123ba5760405162461bcd60e51b81526004016123b19190613b6f565b60405180910390fd5b50612426565b6123d286608001518760400151611f6a565b6123df8760200151612dd9565b10156040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b815250906124245760405162461bcd60e51b81526004016123b19190613b6f565b505b509092509050915091565b60008261244057506000612660565b6000600080516020613cfc8339815191526001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561248957600080fd5b505afa15801561249d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c191906133b8565b90506000816001600160a01b031663b3596f07856040518263ffffffff1660e01b81526004016124f19190613980565b60206040518083038186803b15801561250957600080fd5b505afa15801561251d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612541919061368f565b905061254d8582611f6a565b945084925060058704831115612564576005870492505b60007339c4a92dc506300c3ea4c67ca4ca611102ee6f2a6001600160a01b031663b38779eb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156125b357600080fd5b505afa1580156125c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125eb91906133b8565b90506001600160a01b038516600080516020613d1c8339815191521415612648576040516001600160a01b0382169085156108fc029086906000818181858888f19350505050158015612642573d6000803e3d6000fd5b5061265c565b61265c6001600160a01b03861682866126b5565b5050505b949350505050565b6001600160a01b038216600080516020613d1c83398151915214611328576113286001600160a01b03831682600019612e45565b6000818311156126ac57816126ae565b825b9392505050565b6113ab8363a9059cbb60e01b84846040516024016126d4929190613ae4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612e84565b60006001600160a01b038216600080516020613d1c833981519152146127315781610766565b5073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2919050565b600081158015906127df5750604051632cdc77ab60e21b8152731b14e8d511c9a4395425314f849bd737baf8208f9063b371deac9061278f908790600401613980565b60206040518083038186803b1580156127a757600080fd5b505afa1580156127bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127df9190613496565b1561286e57604051636eeb543160e01b8152731b14e8d511c9a4395425314f849bd737baf8208f90636eeb54319061281b908790600401613980565b60206040518083038186803b15801561283357600080fd5b505afa158015612847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286b919061368f565b91505b8161287b57506000612660565b81858161288457fe5b049050600a85048111156128985750600a84045b60007339c4a92dc506300c3ea4c67ca4ca611102ee6f2a6001600160a01b031663b38779eb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156128e757600080fd5b505afa1580156128fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061291f91906133b8565b90506001600160a01b038416600080516020613d1c833981519152141561297c576040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015612976573d6000803e3d6000fd5b50612990565b6129906001600160a01b03851682846126b5565b50949350505050565b610120820151602001516040516302f5cc7960e11b81526000918291734ba1f38427b33b8ab7bb0490200dae1f1c36823f916305eb98f2916129de9190600401613980565b60206040518083038186803b1580156129f657600080fd5b505afa158015612a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2e9190613496565b612a3d57506000905080612b90565b6101208401515160405163e0aa279760e01b81527325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d9163e0aa279791612a7a9190600401613980565b60206040518083038186803b158015612a9257600080fd5b505afa158015612aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aca9190613496565b612ad957506000905080612b90565b6101208401515160408501518551612afc926001600160a01b03909116916126b5565b610120840151805160809091015160405163097396a160e31b81526001600160a01b0390921691634b9cb5089190612b3a9088908890600401613c16565b60408051808303818588803b158015612b5257600080fd5b505af1158015612b66573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612b8b91906134b2565b915091505b9250929050565b60e082015160405163e0aa279760e01b81526000917325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d9163e0aa279791612bd491600401613980565b60206040518083038186803b158015612bec57600080fd5b505afa158015612c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c249190613496565b6040518060400160405280600f81526020016e15dc985c1c195c881a5b9d985b1a59608a1b81525090612c6a5760405162461bcd60e51b81526004016123b19190613b6f565b5060e083015160408401518451612c8c926001600160a01b03909116916126b5565b6000826001811115612c9a57fe5b1415612d40578260e001516001600160a01b0316635b6f36fc8460000151856020015186604001518761010001516040518563ffffffff1660e01b8152600401612ce79493929190613a51565b602060405180830381600087803b158015612d0157600080fd5b505af1158015612d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d39919061368f565b9050610766565b8260e001516001600160a01b0316633924db668460000151856020015186606001518761010001516040518563ffffffff1660e01b8152600401612d879493929190613a51565b602060405180830381600087803b158015612da157600080fd5b505af1158015612db5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ae919061368f565b60006001600160a01b038216600080516020613d1c8339815191521415612e01575047610519565b6040516370a0823160e01b81526001600160a01b038316906370a0823190612e2d903090600401613980565b60206040518083038186803b158015611f0157600080fd5b612e658363095ea7b360e01b8460006040516024016126d4929190613ac8565b6113ab8363095ea7b360e01b84846040516024016126d4929190613ae4565b6060612ed9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612f139092919063ffffffff16565b8051909150156113ab5780806020019051810190612ef79190613496565b6113ab5760405162461bcd60e51b81526004016123b190613bb9565b606061266084846000856060612f2885612fe1565b612f445760405162461bcd60e51b81526004016123b190613b82565b60006060866001600160a01b03168587604051612f619190613964565b60006040518083038185875af1925050503d8060008114612f9e576040519150601f19603f3d011682016040523d82523d6000602084013e612fa3565b606091505b50915091508115612fb75791506126609050565b805115612fc75780518082602001fd5b8360405162461bcd60e51b81526004016123b19190613b6f565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590612660575050151592915050565b60405180610140016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160608152602001613091613096565b905290565b6040518060c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001606081525090565b803561076681613cd5565b805161076681613cd5565b8051801515811461076657600080fd5b600082601f83011261311d578081fd5b813561313061312b82613c81565b613c5a565b915080825283602082850101111561314757600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112613170578081fd5b815161317e61312b82613c81565b915080825283602082850101111561319557600080fd5b6131a6816020840160208601613ca5565b5092915050565b60006101408083850312156131c0578182fd5b6131c981613c5a565b9150506131d683836130e7565b81526131e583602084016130e7565b602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015261321f8360c084016130e7565b60c08201526132318360e084016130e7565b60e08201526101008083013567ffffffffffffffff8082111561325357600080fd5b61325f8683870161310d565b8385015261012092508285013591508082111561327b57600080fd5b5061328885828601613294565b82840152505092915050565b600060c082840312156132a5578081fd5b6132af60c0613c5a565b905081356132bc81613cd5565b815260208201356132cc81613cd5565b602082015260408201356132df81613cd5565b80604083015250606082013560608201526080820135608082015260a082013567ffffffffffffffff81111561331457600080fd5b6133208482850161310d565b60a08301525092915050565b600060c0828403121561333d578081fd5b61334760c0613c5a565b9050815161335481613cd5565b8152602082015161336481613cd5565b6020820152604082015161337781613cd5565b80604083015250606082015160608201526080820151608082015260a082015167ffffffffffffffff8111156133ac57600080fd5b61332084828501613160565b6000602082840312156133c9578081fd5b81516126ae81613cd5565b600080604083850312156133e6578081fd5b82356133f181613cd5565b9150602083013561340181613cd5565b809150509250929050565b600080600060608486031215613420578081fd5b833561342b81613cd5565b9250602084013561343b81613cd5565b9150604084013561344b81613cd5565b809150509250925092565b60008060006060848603121561346a578283fd5b833561347581613cd5565b9250602084013561348581613cd5565b929592945050506040919091013590565b6000602082840312156134a7578081fd5b81516126ae81613ced565b600080604083850312156134c4578081fd5b6134ce84846130fd565b9150602083015190509250929050565b6000602082840312156134ef578081fd5b813567ffffffffffffffff811115613505578182fd5b6126608482850161310d565b600060208284031215613522578081fd5b813567ffffffffffffffff811115613538578182fd5b612660848285016131ad565b600060208284031215613555578081fd5b815167ffffffffffffffff8082111561356c578283fd5b8184019150610140808387031215613582578384fd5b61358b81613c5a565b905061359786846130f2565b81526135a686602085016130f2565b602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526135e08660c085016130f2565b60c08201526135f28660e085016130f2565b60e0820152610100808401518381111561360a578586fd5b61361688828701613160565b828401525050610120808401518381111561362f578586fd5b61363b8882870161332c565b918301919091525095945050505050565b6000806040838503121561365e578182fd5b823567ffffffffffffffff811115613674578283fd5b613680858286016131ad565b95602094909401359450505050565b6000602082840312156136a0578081fd5b5051919050565b600080600080608085870312156136bc578182fd5b84519350602085015192506040850151915060608501516136dc81613ced565b939692955090935050565b600080600080600080600080610100898b031215613703578586fd5b885197506020890151965060408901519550606089015194506080890151935060a0890151925060c0890151915060e089015161373f81613ced565b809150509295985092959890939650565b600080600080600080600080610100898b03121561376c578182fd5b505086516020880151604089015160608a015160808b015160a08c015160c08d015160e0909d0151959e949d50929b919a50985090965094509092509050565b6000806000806000806000806000806101408b8d0312156137cb578384fd5b8a51995060208b0151985060408b0151975060608b0151965060808b0151955060a08b0151945060c08b0151935060e08b015192506101008b015191506138168c6101208d016130fd565b90509295989b9194979a5092959850565b6001600160a01b03169052565b6000815180845261384c816020860160208601613ca5565b601f01601f19169290920160200192915050565b6000610140613870848451613827565b60208301516138826020860182613827565b5060408301516040850152606083015160608501526080830151608085015260a083015160a085015260c08301516138bd60c0860182613827565b5060e08301516138d060e0860182613827565b506101008084015182828701526138e983870182613834565b925050506101208084015185830382870152613905838261390f565b9695505050505050565b600060018060a01b0380835116845280602084015116602085015280604084015116604085015250606082015160608401526080820151608084015260a082015160c060a085015261266060c0850182613834565b60008251613976818460208701613ca5565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b038481168252831660208201526080604082018190526009908201526841617665526570617960b81b60a082015260c0606082018190526000906139e190830184613834565b95945050505050565b6001600160a01b038481168252831660208201526080604082018190526009908201526810585d99509bdbdcdd60ba1b60a082015260c0606082018190526000906139e190830184613834565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061390590830184613834565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b0392909216825260ff16602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6001600160a01b03939093168352602083019190915261ffff16604082015260600190565b6001600160a01b039490941684526020840192909252604083015261ffff16606082015260800190565b6000602082526126ae6020830184613834565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6000602082526126ae6020830184613860565b600060408252613c296040830185613860565b905060028310613c3557fe5b8260208301529392505050565b61ffff91909116815260200190565b90815260200190565b60405181810167ffffffffffffffff81118282101715613c7957600080fd5b604052919050565b600067ffffffffffffffff821115613c97578081fd5b50601f01601f191660200190565b60005b83811015613cc0578181015183820152602001613ca8565b83811115613ccf576000848401525b50505050565b6001600160a01b0381168114613cea57600080fd5b50565b8015158114613cea57600080fdfe00000000000000000000000024a42fd28c976a61df5d00d0599c34c4f90748c8000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea2646970667358221220412e86fa1e257ad361e9ace7e20545d3d435ca4af3de172f634e786b5841a9dc64736f6c634300060c0033