0 txs
0 calls
constructor
No constructor.
functions
_feeRecipient
viewfunction _feeRecipient() view returns (address)
admin
viewfunction admin() view returns (address)
AUTOMATIC_SERVICE_FEE
viewfunction AUTOMATIC_SERVICE_FEE() view returns (uint256)
BOT_REGISTRY_ADDRESS
viewfunction BOT_REGISTRY_ADDRESS() 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_COLL_TYPE
viewfunction ETH_COLL_TYPE() view returns (bytes32)
EXCHANGE_WETH_ADDRESS
viewfunction EXCHANGE_WETH_ADDRESS() view returns (address)
getManagerAddr
purefunction getManagerAddr(uint8 _managerType) pure returns (address)
getMaxCollateral
viewfunction getMaxCollateral(address _managerAddr, uint256 _safeId, bytes32 _collType, address _joinAddr) view returns (uint256)
getMaxDebt
viewfunction getMaxDebt(address _managerAddr, uint256 _safeId, bytes32 _collType) view returns (uint256)
getOwner
viewfunction getOwner(address _manager, uint256 _safeId) view returns (address)
getSafeInfo
viewfunction getSafeInfo(address _manager, uint256 _safeId, bytes32 _collType) view returns (uint256, uint256)
KYBER_ETH_ADDRESS
viewfunction KYBER_ETH_ADDRESS() view returns (address)
logger
viewfunction logger() view returns (address)
MANUAL_SERVICE_FEE
viewfunction MANUAL_SERVICE_FEE() view returns (uint256)
ORACLE_RELAYER_ADDRESS
viewfunction ORACLE_RELAYER_ADDRESS() view returns (address)
oracleRelayer
viewfunction oracleRelayer() view returns (address)
owner
viewfunction owner() view returns (address)
packExchangeData
purefunction packExchangeData(tuple _exData) pure returns (bytes)
RAI_ADDRESS
viewfunction RAI_ADDRESS() view returns (address)
RAI_JOIN_ADDRESS
viewfunction RAI_JOIN_ADDRESS() view returns (address)
raiJoin
viewfunction raiJoin() view returns (address)
SAFE_ENGINE_ADDRESS
viewfunction SAFE_ENGINE_ADDRESS() view returns (address)
safeEngine
viewfunction safeEngine() view returns (address)
SAVER_EXCHANGE_REGISTRY
viewfunction SAVER_EXCHANGE_REGISTRY() view returns (address)
TAX_COLLECTOR_ADDRESS
viewfunction TAX_COLLECTOR_ADDRESS() view returns (address)
unpackExchangeData
purefunction unpackExchangeData(bytes _data) pure returns (tuple _exData)
WETH_ADDR
viewfunction WETH_ADDR() view returns (address)
ZRX_ALLOWLIST_ADDR
viewfunction ZRX_ALLOWLIST_ADDR() view returns (address)
boost
payablefunction boost(tuple _exchangeData, uint256 _safeId, uint256 _gasCost, address _joinAddr, uint8 _managerType) payable
callFunction
nonpayablefunction callFunction(address, tuple, bytes _params)
getPrice
nonpayablefunction getPrice(bytes32 _collType) returns (uint256)
kill
nonpayablefunction kill()
repay
payablefunction repay(tuple _exchangeData, uint256 _safeId, uint256 _gasCost, address _joinAddr, uint8 _managerType) payable
setAdminByAdmin
nonpayablefunction setAdminByAdmin(address _admin)
setAdminByOwner
nonpayablefunction setAdminByOwner(address _admin)
setOwnerByAdmin
nonpayablefunction setOwnerByAdmin(address _owner)
withdrawStuckFunds
nonpayablefunction withdrawStuckFunds(address _token, uint256 _amount)
events
No events.
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50600080546001600160a01b03199081163317909155600180549091167325efa336886c74ea8e282ac466bdcd0199f85bb91790556150c9806100546000396000f3fe6080604052600436106102605760003560e01c80638b41871311610144578063c7975824116100b6578063d6bd32031161007a578063d6bd320314610430578063dd6d903c146105fa578063deca5f881461061a578063e870b9cd1461063a578063f24ccbfe1461064d578063f851a4401461066257610267565b8063c7975824146105a8578063c89b232d146105bb578063c9969750146105d0578063cc694d48146105e5578063d38d89af146103a757610267565b8063a46a66c911610108578063a46a66c914610534578063a7304bf714610549578063abe7f1a414610406578063ae08fd1014610569578063b235a2231461057e578063c50ebaf81461059357610267565b80638b418713146104a85780638c8a7958146104c85780638da5cb5b146104dd578063a342f238146104f2578063a3b8e5d11461050757610267565b8063423140b4116101dd578063526d6461116101a1578063526d64611461041b57806367aea313146104305780636c60e5081461044557806381b942801461047357806382dfc5f7146104735780638aa0fd0e1461048857610267565b8063423140b4146103a7578063449b9ffa146103bc5780634d2ab9dc146103d15780634d93667e146103e65780634faf61ab1461040657610267565b80632f634a90116102245780632f634a901461031d578063314b63321461033d57806331d98b3f146103525780633a1283221461037257806341c0e1b51461039257610267565b806304c9805c1461026c57806308d4f52a146102975780631e48907b146102c4578063278d5831146102e657806329f7fc9e146102fb57610267565b3661026757005b600080fd5b34801561027857600080fd5b50610281610677565b60405161028e9190614df9565b60405180910390f35b3480156102a357600080fd5b506102b76102b23660046148b3565b61067d565b60405161028e9190614e4e565b3480156102d057600080fd5b506102e46102df3660046145ae565b6106a7565b005b3480156102f257600080fd5b506102b76106e0565b34801561030757600080fd5b50610310610708565b60405161028e9190614c29565b34801561032957600080fd5b5061031061033836600461466f565b610720565b34801561034957600080fd5b5061031061081c565b34801561035e57600080fd5b5061028161036d366004614781565b610834565b34801561037e57600080fd5b506102e461038d36600461466f565b6109fb565b34801561039e57600080fd5b506102e4610a94565b3480156103b357600080fd5b50610310610ab9565b3480156103c857600080fd5b506102b7610ad1565b3480156103dd57600080fd5b50610281610b03565b3480156103f257600080fd5b50610310610401366004614897565b610b09565b34801561041257600080fd5b50610310610b36565b34801561042757600080fd5b50610310610b4e565b34801561043c57600080fd5b50610310610b66565b34801561045157600080fd5b506104656104603660046146c7565b610b7e565b60405161028e929190614fd7565b34801561047f57600080fd5b50610310610d9b565b34801561049457600080fd5b506102816104a33660046146c7565b610db3565b3480156104b457600080fd5b506102e46104c33660046145e6565b610e83565b3480156104d457600080fd5b50610310611008565b3480156104e957600080fd5b50610310611020565b3480156104fe57600080fd5b5061031061102f565b34801561051357600080fd5b506105276105223660046147b1565b611047565b60405161028e9190614f3f565b34801561054057600080fd5b50610310611063565b34801561055557600080fd5b506102e46105643660046145ae565b61107b565b34801561057557600080fd5b506102b76110b4565b34801561058a57600080fd5b506103106110e5565b34801561059f57600080fd5b506102b76110fd565b6102e46105b63660046149ee565b61112c565b3480156105c757600080fd5b50610281611313565b3480156105dc57600080fd5b5061031061131f565b3480156105f157600080fd5b506102b7611337565b34801561060657600080fd5b506102816106153660046146fb565b611362565b34801561062657600080fd5b506102e46106353660046145ae565b6114ce565b6102e46106483660046149ee565b6114fb565b34801561065957600080fd5b506103106116da565b34801561066e57600080fd5b506103106116f2565b61014d81565b6060816040516020016106909190614f3f565b60405160208183030381529060405290505b919050565b6001546001600160a01b031633146106be57600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b81525081565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b600080836001600160a01b031663a2a4d76e846040518263ffffffff1660e01b815260040161074f9190614df9565b60206040518083038186803b15801561076757600080fd5b505afa15801561077b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079f91906145ca565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107da57600080fd5b505afa1580156107ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081291906145ca565b9150505b92915050565b7325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d81565b60405163d07900bb60e01b81526000908190734ed9c0dca0479bc64d8f4eb3007126d5791f78519063d07900bb90610870908690600401614df9565b604080518083038186803b15801561088757600080fd5b505afa15801561089b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bf919061469a565b60405163d07900bb60e01b81529092506000915073cc88a9d330da1133df3a7bd823b95e52511a69629063d07900bb906108fd908790600401614df9565b60c06040518083038186803b15801561091557600080fd5b505afa158015610929573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094d9190614a87565b505050925050506000734ed9c0dca0479bc64d8f4eb3007126d5791f78516001600160a01b031663c5b748c06040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156109a557600080fd5b505af11580156109b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dd9190614799565b90506109f26109ec8383611701565b84611701565b95945050505050565b6000546001600160a01b03163314610a1257600080fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0383161415610a7657600080546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015610a70573d6000803e3d6000fd5b50610a90565b600054610a90906001600160a01b03848116911683611740565b5050565b6000546001600160a01b03163314610aab57600080fd5b6000546001600160a01b0316ff5b730a5653cca4db1b6e265f47caf6969e64f1cfdc4581565b6040518060400160405280601681526020017516995c9bde08195e18da185b99d9481a5b9d985b1a5960521b81525081565b61019081565b600080828015610b1557fe5b14156106a2575073efe0b4ca532769a3ae758fd82e1426a03a94f1856106a2565b734ed9c0dca0479bc64d8f4eb3007126d5791f785181565b73637726f8b08a7abe3ae3acab01a80e2d8ddef77b81565b73cc88a9d330da1133df3a7bd823b95e52511a696281565b6000806000856001600160a01b03166367aea3136040518163ffffffff1660e01b815260040160206040518083038186803b158015610bbc57600080fd5b505afa158015610bd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf491906145ca565b90506000866001600160a01b031663434efcbd876040518263ffffffff1660e01b8152600401610c249190614df9565b60206040518083038186803b158015610c3c57600080fd5b505afa158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7491906145ca565b9050600080836001600160a01b0316633d42250488856040518363ffffffff1660e01b8152600401610ca7929190614e02565b604080518083038186803b158015610cbe57600080fd5b505afa158015610cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf69190614a64565b915091506000846001600160a01b031663d07900bb896040518263ffffffff1660e01b8152600401610d289190614df9565b60c06040518083038186803b158015610d4057600080fd5b505afa158015610d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d789190614a87565b5050505091505082610d8a8383611701565b965096505050505050935093915050565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806000610dc3868686610b7e565b60405163d07900bb60e01b8152919350915060009073cc88a9d330da1133df3a7bd823b95e52511a69629063d07900bb90610e02908890600401614df9565b60c06040518083038186803b158015610e1a57600080fd5b505afa158015610e2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e529190614a87565b50505092505050610e76610e6f610e698584611701565b8461179b565b600a61179b565b93505050505b9392505050565b6060610e8d6141f4565b82806020019051810190610ea191906147e4565b91509150610ead61422a565b610eb683611047565b90506000610ec78360a00151610b09565b90506000816001600160a01b031663a2a4d76e85604001516040518263ffffffff1660e01b8152600401610efb9190614df9565b60206040518083038186803b158015610f1357600080fd5b505afa158015610f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4b91906145ca565b9050836020015115610f6657610f6183856117ab565b610f70565b610f7083856119f9565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004016000604051808303818588803b158015610fbf57600080fd5b505af1158015610fd3573d6000803e3d6000fd5b50508651610ffe935073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29250849150600201611740565b5050505050505050565b734ba1f38427b33b8ab7bb0490200dae1f1c36823f81565b6000546001600160a01b031681565b7339c4a92dc506300c3ea4c67ca4ca611102ee6f2a81565b61104f61422a565b8180602001905181019061081691906148e6565b731b14e8d511c9a4395425314f849bd737baf8208f81565b6001546001600160a01b0316331461109257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6040518060400160405280601581526020017413d99998da185a5b8819185d18481a5b9d985b1a59605a1b81525081565b7303ab458634910aad20ef5f1c8ee96f1d6ac5491981565b604051806040016040528060138152602001724465737420616d6f756e74206d697373696e6760681b81525081565b600061113782610b09565b905060006111458287610720565b90506000826001600160a01b031663918b7cfe886040518263ffffffff1660e01b81526004016111759190614df9565b60206040518083038186803b15801561118d57600080fd5b505afa1580156111a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c59190614799565b905060006111d98489848c60400151611bfe565b6001600160a01b03841660c08b015290506111f261202e565b6111fe57610190611202565b61014d5b60a08a015261121187826120bd565b810360408a015260006112238a612223565b915050611234858a89846001612573565b47156112685760405132904780156108fc02916000818181858888f19350505050158015611266573d6000803e3d6000fd5b505b735c55b921f590a89c1ebe84df170e655a82b621266001600160a01b031663d061ce5030338c888f60400151876040516020016112a89493929190614f9d565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016112d593929190614cf4565b600060405180830381600087803b1580156112ef57600080fd5b505af1158015611303573d6000803e3d6000fd5b5050505050505050505050505050565b644554482d4160d81b81565b73cdb05aeda142a1b0d6044c09c64e4226c1a281eb81565b6040518060400160405280600f81526020016e15dc985c1c195c881a5b9d985b1a59608a1b81525081565b6000806000611372878787610b7e565b60405163d07900bb60e01b8152919350915060009073cc88a9d330da1133df3a7bd823b95e52511a69629063d07900bb906113b1908990600401614df9565b60c06040518083038186803b1580156113c957600080fd5b505afa1580156113dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114019190614a87565b5050509250505060006114318461142c611426676765c793fa10079d601b1b86612895565b866128b5565b61179b565b90506000866001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561146e57600080fd5b505afa158015611482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a69190614799565b601203600a0a82816114b457fe5b04905060646063820204955050505050505b949350505050565b6000546001600160a01b031633146114e557600080fd5b6001546001600160a01b03161561109257600080fd5b600061150682610b09565b905060006115148287610720565b90506000826001600160a01b031663918b7cfe886040518263ffffffff1660e01b81526004016115449190614df9565b60206040518083038186803b15801561155c57600080fd5b505afa158015611570573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115949190614799565b90506115a88388878b6040015160016128dd565b506001600160a01b03821660c08901526115c061202e565b6115cc576101906115d0565b61014d5b60a089015260006115e089612223565b9150506115ed87826120bd565b90036115fc8489848487612bf8565b47156116305760405132904780156108fc02916000818181858888f1935050505015801561162e573d6000803e3d6000fd5b505b735c55b921f590a89c1ebe84df170e655a82b621266001600160a01b031663d061ce5030338b878e60400151876040516020016116709493929190614f9d565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161169d93929190614c57565b600060405180830381600087803b1580156116b757600080fd5b505af11580156116cb573d6000803e3d6000fd5b50505050505050505050505050565b735c55b921f590a89c1ebe84df170e655a82b6212681565b6001546001600160a01b031681565b6000676765c793fa10079d601b1b61173161171c8585612ff4565b6002676765c793fa10079d601b1b5b04613018565b8161173857fe5b049392505050565b6117968363a9059cbb60e01b848460405160240161175f929190614d91565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613028565b505050565b8082038281111561081657600080fd5b8051604051632e1a7d4d60e01b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc291632e1a7d4d916117e39190600401614df9565b600060405180830381600087803b1580156117fd57600080fd5b505af1158015611811573d6000803e3d6000fd5b5050505060006118248260a00151610b09565b90506000611836828460400151610720565b90506000826001600160a01b031663918b7cfe85604001516040518263ffffffff1660e01b815260040161186a9190614df9565b60206040518083038186803b15801561188257600080fd5b505afa158015611896573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ba9190614799565b845160408701526001600160a01b03831660c087015290506118da61202e565b6118e6576101906118ea565b61014d5b60a086015260006118fa86612223565b91505061190b8560600151826120bd565b810390506119208486604001518484876130b7565b9050611933848660400151848487612bf8565b61194d8486604001518760800151886000015160006128dd565b50735c55b921f590a89c1ebe84df170e655a82b621266001600160a01b031663d061ce5030338860400151878b60400151876040516020016119929493929190614f9d565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016119bf93929190614ca3565b600060405180830381600087803b1580156119d957600080fd5b505af11580156119ed573d6000803e3d6000fd5b50505050505050505050565b6000611a088260a00151610b09565b90506000611a1a828460400151610720565b90506000826001600160a01b031663918b7cfe85604001516040518263ffffffff1660e01b8152600401611a4e9190614df9565b60206040518083038186803b158015611a6657600080fd5b505afa158015611a7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9e9190614799565b9050611aba838560400151866080015187600001516000612573565b6000611ad0848660400151848960400151611bfe565b9050611ae08560600151826120bd565b810360408701526001600160a01b03831660c0870152611afe61202e565b611b0a57610190611b0e565b61014d5b60a08701526000611b1e87612223565b915050611b378587604001518860800151846001612573565b611b518587604001518860800151896000015160006128dd565b50735c55b921f590a89c1ebe84df170e655a82b621266001600160a01b031663d061ce5030338960400151888c6040015187604051602001611b969493929190614f9d565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401611bc393929190614d40565b600060405180830381600087803b158015611bdd57600080fd5b505af1158015611bf1573d6000803e3d6000fd5b5050505050505050505050565b6040516336286ddd60e11b8152600090819073cdb05aeda142a1b0d6044c09c64e4226c1a281eb90636c50dbba90611c3a908790600401614df9565b602060405180830381600087803b158015611c5457600080fd5b505af1158015611c68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8c9190614799565b9050600073cc88a9d330da1133df3a7bd823b95e52511a69626001600160a01b031663fabde80c886001600160a01b031663434efcbd896040518263ffffffff1660e01b8152600401611cdf9190614df9565b60206040518083038186803b158015611cf757600080fd5b505afa158015611d0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2f91906145ca565b6040518263ffffffff1660e01b8152600401611d4b9190614c29565b60206040518083038186803b158015611d6357600080fd5b505afa158015611d77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9b9190614799565b90506000611daa888888610db3565b9050808510611dc157611dbe81600161179b565b94505b876001600160a01b031663c78101f8886000611dde8988886133cd565b6040518463ffffffff1660e01b8152600401611dfc93929190614fc1565b600060405180830381600087803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b50505050876001600160a01b031663660e16078830611e4889613450565b6040518463ffffffff1660e01b8152600401611e6693929190614f7e565b600060405180830381600087803b158015611e8057600080fd5b505af1158015611e94573d6000803e3d6000fd5b50506040516306eb54df60e01b815273cc88a9d330da1133df3a7bd823b95e52511a696292506306eb54df9150611ee5903090730a5653cca4db1b6e265f47caf6969e64f1cfdc4590600401614c3d565b60206040518083038186803b158015611efd57600080fd5b505afa158015611f11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f359190614799565b611fb757604051631b29a84160e31b815273cc88a9d330da1133df3a7bd823b95e52511a69629063d94d420890611f8490730a5653cca4db1b6e265f47caf6969e64f1cfdc4590600401614c29565b600060405180830381600087803b158015611f9e57600080fd5b505af1158015611fb2573d6000803e3d6000fd5b505050505b60405163ef693bed60e01b8152730a5653cca4db1b6e265f47caf6969e64f1cfdc459063ef693bed90611ff09030908990600401614d91565b600060405180830381600087803b15801561200a57600080fd5b505af115801561201e573d6000803e3d6000fd5b50969a9950505050505050505050565b6040516320eb73ed60e11b815260009073637726f8b08a7abe3ae3acab01a80e2d8ddef77b906341d6e7da90612068903290600401614c29565b60206040518083038186803b15801561208057600080fd5b505afa158015612094573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b89190614744565b905090565b6000821561221a5760006120d8644554482d4160d81b610834565b905060006120e68583611701565b9050600584048111156120f95750600583045b60007339c4a92dc506300c3ea4c67ca4ca611102ee6f2a6001600160a01b031663b38779eb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561214857600080fd5b505afa15801561215c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218091906145ca565b60405163a9059cbb60e01b81529091507303ab458634910aad20ef5f1c8ee96f1d6ac549199063a9059cbb906121bc9084908690600401614d91565b602060405180830381600087803b1580156121d657600080fd5b505af11580156121ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220e9190614744565b50819350505050610816565b50600092915050565b600080600080600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031686600001516001600160a01b031614156122de57855161226890613467565b6001600160a01b031686526040808701518151630d0e30db60e41b8152915173c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29263d0e30db09291600480830192600092919082900301818588803b1580156122c457600080fd5b505af11580156122d8573d6000803e3d6000fd5b50505050505b6122fa86604001518760c0015188600001518960a001516134ae565b604087018051919091039052610120860151606001511561233757612320866000613701565b925090508015612337578561012001516020015192505b80612351576123478660006138ff565b91508560e0015192505b600061237073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2613b41565b1115612456576040516370a0823160e01b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d9082906370a08231906123b5903090600401614c29565b602060405180830381600087803b1580156123cf57600080fd5b505af11580156123e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124079190614799565b6040518263ffffffff1660e01b81526004016124239190614df9565b600060405180830381600087803b15801561243d57600080fd5b505af1158015612451573d6000803e3d6000fd5b505050505b60208601516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2141561250257612491866080015187604001516128b5565b6124ae73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee613b41565b10156040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b815250906124fc5760405162461bcd60e51b81526004016124f39190614e4e565b60405180910390fd5b50612568565b612514866080015187604001516128b5565b6125218760200151613b41565b10156040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b815250906125665760405162461bcd60e51b81526004016124f39190614e4e565b505b509092509050915091565b600061257e84613beb565b80156125875750815b1561266057836001600160a01b031663d8dfeb456040518163ffffffff1660e01b815260040160206040518083038186803b1580156125c557600080fd5b505afa1580156125d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125fd91906145ca565b6001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505061265983613cc8565b9050612675565b61267261266d8585613cea565b613cc8565b90505b6126fb8484866001600160a01b031663d8dfeb456040518163ffffffff1660e01b815260040160206040518083038186803b1580156126b357600080fd5b505afa1580156126c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126eb91906145ca565b6001600160a01b03169190613d6c565b604051633b4da69f60e01b81526001600160a01b03851690633b4da69f906127299030908790600401614d91565b600060405180830381600087803b15801561274357600080fd5b505af1158015612757573d6000803e3d6000fd5b50506040516348c5be7f60e11b815273cc88a9d330da1133df3a7bd823b95e52511a696292506399bec31591506001600160a01b0389169063918b7cfe906127a3908a90600401614df9565b60206040518083038186803b1580156127bb57600080fd5b505afa1580156127cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f39190614799565b60405163434efcbd60e01b81526001600160a01b038a169063434efcbd9061281f908b90600401614df9565b60206040518083038186803b15801561283757600080fd5b505afa15801561284b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286f91906145ca565b30308660006040518763ffffffff1660e01b81526004016119bf96959493929190614e19565b6000816117316128ad85670de0b6b3a7640000612ff4565b60028561172b565b6000670de0b6b3a76400006117316128cd8585612ff4565b6002670de0b6b3a764000061172b565b600080839050846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561291c57600080fd5b505afa158015612930573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129549190614799565b6012146129d757846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561299457600080fd5b505afa1580156129a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129cc9190614799565b601203600a0a840290505b866001600160a01b031663c78101f8876129f084613cc8565b60000360006040518463ffffffff1660e01b8152600401612a1393929190614fc1565b600060405180830381600087803b158015612a2d57600080fd5b505af1158015612a41573d6000803e3d6000fd5b505060405163438ac0d160e11b81526001600160a01b038a16925063871581a29150612a7590899030908690600401614f7e565b600060405180830381600087803b158015612a8f57600080fd5b505af1158015612aa3573d6000803e3d6000fd5b505060405163ef693bed60e01b81526001600160a01b038816925063ef693bed9150612ad59030908890600401614d91565b600060405180830381600087803b158015612aef57600080fd5b505af1158015612b03573d6000803e3d6000fd5b50505050612b1085613beb565b8015612b195750825b15612bed57846001600160a01b031663d8dfeb456040518163ffffffff1660e01b815260040160206040518083038186803b158015612b5757600080fd5b505afa158015612b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8f91906145ca565b6001600160a01b0316632e1a7d4d856040518263ffffffff1660e01b8152600401612bba9190614df9565b600060405180830381600087803b158015612bd457600080fd5b505af1158015612be8573d6000803e3d6000fd5b505050505b509195945050505050565b60405163434efcbd60e01b81526000906001600160a01b0387169063434efcbd90612c27908890600401614df9565b60206040518083038186803b158015612c3f57600080fd5b505afa158015612c53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7791906145ca565b90506000612c9b73cc88a9d330da1133df3a7bd823b95e52511a6962838488613dab565b905080841115612d3e577303ab458634910aad20ef5f1c8ee96f1d6ac5491963a9059cbb84612cca878561179b565b6040518363ffffffff1660e01b8152600401612ce7929190614d91565b602060405180830381600087803b158015612d0157600080fd5b505af1158015612d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d399190614744565b508093505b604051636eb1769f60e11b81527303ab458634910aad20ef5f1c8ee96f1d6ac549199063dd62ed3e90612d8b903090730a5653cca4db1b6e265f47caf6969e64f1cfdc4590600401614c3d565b60206040518083038186803b158015612da357600080fd5b505afa158015612db7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ddb9190614799565b612e825760405163095ea7b360e01b81527303ab458634910aad20ef5f1c8ee96f1d6ac549199063095ea7b390612e2e90730a5653cca4db1b6e265f47caf6969e64f1cfdc459060001990600401614d91565b602060405180830381600087803b158015612e4857600080fd5b505af1158015612e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e809190614744565b505b604051633b4da69f60e01b8152730a5653cca4db1b6e265f47caf6969e64f1cfdc4590633b4da69f90612ebb9085908890600401614d91565b600060405180830381600087803b158015612ed557600080fd5b505af1158015612ee9573d6000803e3d6000fd5b5050604051633eaf7a0360e21b815260009250612f84915073cc88a9d330da1133df3a7bd823b95e52511a696290819063fabde80c90612f2d908890600401614c29565b60206040518083038186803b158015612f4557600080fd5b505afa158015612f59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7d9190614799565b8589613f8d565b6040516318f0203f60e31b81529091506001600160a01b0389169063c78101f890612fb8908a906000908690600401614fc1565b600060405180830381600087803b158015612fd257600080fd5b505af1158015612fe6573d6000803e3d6000fd5b505050505050505050505050565b600081158061300f5750508082028282828161300c57fe5b04145b61081657600080fd5b8082018281101561081657600080fd5b606061307d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166140ed9092919063ffffffff16565b805190915015611796578080602001905181019061309b9190614744565b6117965760405162461bcd60e51b81526004016124f390614ecf565b6000806131d073cc88a9d330da1133df3a7bd823b95e52511a6962886001600160a01b031663434efcbd896040518263ffffffff1660e01b81526004016130fe9190614df9565b60206040518083038186803b15801561311657600080fd5b505afa15801561312a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061314e91906145ca565b60405163434efcbd60e01b81526001600160a01b038b169063434efcbd9061317a908c90600401614df9565b60206040518083038186803b15801561319257600080fd5b505afa1580156131a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ca91906145ca565b88613dab565b90508084111561326f5760405163a9059cbb60e01b81527303ab458634910aad20ef5f1c8ee96f1d6ac549199063a9059cbb9061321590869085890390600401614d91565b602060405180830381600087803b15801561322f57600080fd5b505af1158015613243573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132679190614744565b5090506109f2565b60405163d07900bb60e01b81528482039060009073cc88a9d330da1133df3a7bd823b95e52511a69629063d07900bb906132ad908a90600401614df9565b60c06040518083038186803b1580156132c557600080fd5b505afa1580156132d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132fd9190614a87565b50945050505050676765c793fa10079d601b1b818161331857fe5b049050808210156133c05760405163a9059cbb60e01b8152828203907303ab458634910aad20ef5f1c8ee96f1d6ac549199063a9059cbb906133609089908590600401614d91565b602060405180830381600087803b15801561337a57600080fd5b505af115801561338e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133b29190614744565b50860393506109f292505050565b5093979650505050505050565b60006133e484676765c793fa10079d601b1b612ff4565b821015610e7c5761341a8361340d61340787676765c793fa10079d601b1b612ff4565b8561179b565b8161341457fe5b04613cc8565b905061343184676765c793fa10079d601b1b612ff4565b61343b8285612ff4565b1061344657806114c6565b6001019392505050565b600061081682676765c793fa10079d601b1b612ff4565b60006001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146134935781610816565b5073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2919050565b600081158015906135415750604051632cdc77ab60e21b8152731b14e8d511c9a4395425314f849bd737baf8208f9063b371deac906134f1908790600401614c29565b60206040518083038186803b15801561350957600080fd5b505afa15801561351d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135419190614744565b156135d057604051636eeb543160e01b8152731b14e8d511c9a4395425314f849bd737baf8208f90636eeb54319061357d908790600401614c29565b60206040518083038186803b15801561359557600080fd5b505afa1580156135a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135cd9190614799565b91505b816135dd575060006114c6565b8185816135e657fe5b049050600a85048111156135fa5750600a84045b60007339c4a92dc506300c3ea4c67ca4ca611102ee6f2a6001600160a01b031663b38779eb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561364957600080fd5b505afa15801561365d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061368191906145ca565b90506001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156136e4576040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156136de573d6000803e3d6000fd5b506136f8565b6136f86001600160a01b0385168284611740565b50949350505050565b610120820151602001516040516302f5cc7960e11b81526000918291734ba1f38427b33b8ab7bb0490200dae1f1c36823f916305eb98f2916137469190600401614c29565b60206040518083038186803b15801561375e57600080fd5b505afa158015613772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137969190614744565b6137a5575060009050806138f8565b6101208401515160405163e0aa279760e01b81527325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d9163e0aa2797916137e29190600401614c29565b60206040518083038186803b1580156137fa57600080fd5b505afa15801561380e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138329190614744565b613841575060009050806138f8565b6101208401515160408501518551613864926001600160a01b0390911691611740565b610120840151805160809091015160405163097396a160e31b81526001600160a01b0390921691634b9cb50891906138a29088908890600401614f52565b60408051808303818588803b1580156138ba57600080fd5b505af11580156138ce573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906138f39190614760565b915091505b9250929050565b60e082015160405163e0aa279760e01b81526000917325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d9163e0aa27979161393c91600401614c29565b60206040518083038186803b15801561395457600080fd5b505afa158015613968573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061398c9190614744565b6040518060400160405280600f81526020016e15dc985c1c195c881a5b9d985b1a59608a1b815250906139d25760405162461bcd60e51b81526004016124f39190614e4e565b5060e0830151604084015184516139f4926001600160a01b0390911691611740565b6000826001811115613a0257fe5b1415613aa8578260e001516001600160a01b0316635b6f36fc8460000151856020015186604001518761010001516040518563ffffffff1660e01b8152600401613a4f9493929190614daa565b602060405180830381600087803b158015613a6957600080fd5b505af1158015613a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aa19190614799565b9050610816565b8260e001516001600160a01b0316633924db668460000151856020015186606001518761010001516040518563ffffffff1660e01b8152600401613aef9493929190614daa565b602060405180830381600087803b158015613b0957600080fd5b505af1158015613b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7c9190614799565b60006001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415613b6f5750476106a2565b6040516370a0823160e01b81526001600160a01b038316906370a0823190613b9b903090600401614c29565b60206040518083038186803b158015613bb357600080fd5b505afa158015613bc7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108169190614799565b6000730a5653cca4db1b6e265f47caf6969e64f1cfdc456001600160a01b0383161415613c1a575060006106a2565b816001600160a01b031663d8dfeb456040518163ffffffff1660e01b815260040160206040518083038186803b158015613c5357600080fd5b505afa158015613c67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c8b91906145ca565b6001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03161415613cc0575060016106a2565b506000919050565b8060008112156106a25760405162461bcd60e51b81526004016124f390614f19565b6000610e7c82846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015613d2957600080fd5b505afa158015613d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d619190614799565b601203600a0a612ff4565b613d8c8363095ea7b360e01b84600060405160240161175f929190614ddd565b6117968363095ea7b360e01b848460405160240161175f929190614d91565b600080856001600160a01b031663d07900bb846040518263ffffffff1660e01b8152600401613dda9190614df9565b60c06040518083038186803b158015613df257600080fd5b505afa158015613e06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e2a9190614a87565b505050509150506000866001600160a01b0316633d42250485876040518363ffffffff1660e01b8152600401613e61929190614e02565b604080518083038186803b158015613e7857600080fd5b505afa158015613e8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb09190614a64565b9150506000876001600160a01b031663fabde80c886040518263ffffffff1660e01b8152600401613ee19190614c29565b60206040518083038186803b158015613ef957600080fd5b505afa158015613f0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f319190614799565b90506000613f48613f428486612ff4565b8361179b565b9050676765c793fa10079d601b1b8104945080613f7086676765c793fa10079d601b1b612ff4565b10613f7b5784613f80565b846001015b9998505050505050505050565b600080856001600160a01b031663d07900bb846040518263ffffffff1660e01b8152600401613fbc9190614df9565b60c06040518083038186803b158015613fd457600080fd5b505afa158015613fe8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061400c9190614a87565b50505050915050600081116140335760405162461bcd60e51b81526004016124f390614e61565b604051630f50894160e21b81526000906001600160a01b03881690633d422504906140649087908990600401614e02565b604080518083038186803b15801561407b57600080fd5b505afa15801561408f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140b39190614a64565b9150506140c282878161341457fe5b9250808311156140dd576140d581613cc8565b6000036140e2565b826000035b979650505050505050565b60606114c684846000856060614102856141bb565b61411e5760405162461bcd60e51b81526004016124f390614e98565b60006060866001600160a01b0316858760405161413b9190614c0d565b60006040518083038185875af1925050503d8060008114614178576040519150601f19603f3d011682016040523d82523d6000602084013e61417d565b606091505b509150915081156141915791506114c69050565b8051156141a15780518082602001fd5b8360405162461bcd60e51b81526004016124f39190614e4e565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906114c6575050151592915050565b6040805160c08101825260008082526020820181905291810182905260608101829052608081018290529060a08201905b905290565b60405180610140016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152602001606081526020016142256040518060c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001606081525090565b803561081681615060565b805161081681615060565b600082601f830112614313578081fd5b81356143266143218261500c565b614fe5565b915080825283602082850101111561433d57600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112614366578081fd5b81516143746143218261500c565b915080825283602082850101111561438b57600080fd5b61439c816020840160208601615030565b5092915050565b60006101408083850312156143b6578182fd5b6143bf81614fe5565b9150506143cc83836142ed565b81526143db83602084016142ed565b602082015260408201356040820152606082013560608201526080820135608082015260a082013560a08201526144158360c084016142ed565b60c08201526144278360e084016142ed565b60e08201526101008083013567ffffffffffffffff8082111561444957600080fd5b61445586838701614303565b8385015261012092508285013591508082111561447157600080fd5b5061447e8582860161448a565b82840152505092915050565b600060c0828403121561449b578081fd5b6144a560c0614fe5565b905081356144b281615060565b815260208201356144c281615060565b602082015260408201356144d581615060565b80604083015250606082013560608201526080820135608082015260a082013567ffffffffffffffff81111561450a57600080fd5b61451684828501614303565b60a08301525092915050565b600060c08284031215614533578081fd5b61453d60c0614fe5565b9050815161454a81615060565b8152602082015161455a81615060565b6020820152604082015161456d81615060565b80604083015250606082015160608201526080820151608082015260a082015167ffffffffffffffff8111156145a257600080fd5b61451684828501614356565b6000602082840312156145bf578081fd5b8135610e7c81615060565b6000602082840312156145db578081fd5b8151610e7c81615060565b600080600083850360808112156145fb578283fd5b843561460681615060565b93506040601f1982011215614619578283fd5b506146246040614fe5565b602085013561463281615060565b8152604085013560208201529150606084013567ffffffffffffffff811115614659578182fd5b61466586828701614303565b9150509250925092565b60008060408385031215614681578182fd5b823561468c81615060565b946020939093013593505050565b600080604083850312156146ac578182fd5b82516146b781615060565b6020939093015192949293505050565b6000806000606084860312156146db578081fd5b83356146e681615060565b95602085013595506040909401359392505050565b60008060008060808587031215614710578182fd5b843561471b81615060565b93506020850135925060408501359150606085013561473981615060565b939692955090935050565b600060208284031215614755578081fd5b8151610e7c81615078565b60008060408385031215614772578182fd5b825180151581146146b7578283fd5b600060208284031215614792578081fd5b5035919050565b6000602082840312156147aa578081fd5b5051919050565b6000602082840312156147c2578081fd5b813567ffffffffffffffff8111156147d8578182fd5b61081284828501614303565b60008082840360e08112156147f7578283fd5b835167ffffffffffffffff81111561480d578384fd5b61481986828701614356565b93505060c0601f198201121561482d578182fd5b5061483860c0614fe5565b60208401518152604084015161484d81615078565b6020820152606084810151604083015260808501519082015260a084015161487481615060565b608082015260c084015161488781615086565b60a0820152919491935090915050565b6000602082840312156148a8578081fd5b8135610e7c81615086565b6000602082840312156148c4578081fd5b813567ffffffffffffffff8111156148da578182fd5b610812848285016143a3565b6000602082840312156148f7578081fd5b815167ffffffffffffffff8082111561490e578283fd5b8184019150610140808387031215614924578384fd5b61492d81614fe5565b905061493986846142f8565b815261494886602085016142f8565b602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526149828660c085016142f8565b60c08201526149948660e085016142f8565b60e082015261010080840151838111156149ac578586fd5b6149b888828701614356565b82840152505061012080840151838111156149d1578586fd5b6149dd88828701614522565b918301919091525095945050505050565b600080600080600060a08688031215614a05578283fd5b853567ffffffffffffffff811115614a1b578384fd5b614a27888289016143a3565b95505060208601359350604086013592506060860135614a4681615060565b91506080860135614a5681615086565b809150509295509295909350565b60008060408385031215614a76578182fd5b505080516020909101519092909150565b60008060008060008060c08789031215614a9f578384fd5b865195506020870151945060408701519350606087015192506080870151915060a087015190509295509295509295565b6001600160a01b03169052565b60008151808452614af5816020860160208601615030565b601f01601f19169290920160200192915050565b6000610140614b19848451614ad0565b6020830151614b2b6020860182614ad0565b5060408301516040850152606083015160608501526080830151608085015260a083015160a085015260c0830151614b6660c0860182614ad0565b5060e0830151614b7960e0860182614ad0565b50610100808401518282870152614b9283870182614add565b925050506101208084015185830382870152614bae8382614bb8565b9695505050505050565b600060018060a01b0380835116845280602084015116602085015280604084015116604085015250606082015160608401526080820151608084015260a082015160c060a085015261081260c0850182614add565b60008251614c1f818460208701615030565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0384811682528316602082015260806040820181905260089082015267524149526570617960c01b60a082015260c0606082018190526000906109f290830184614add565b6001600160a01b03848116825283166020820152608060408201819052600d908201526c524149466c617368526570617960981b60a082015260c0606082018190526000906109f290830184614add565b6001600160a01b0384811682528316602082015260806040820181905260089082015267149052509bdbdcdd60c21b60a082015260c0606082018190526000906109f290830184614add565b6001600160a01b03848116825283166020820152608060408201819052600d908201526c149052519b185cda109bdbdcdd609a1b60a082015260c0606082018190526000906109f290830184614add565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090614bae90830184614add565b6001600160a01b0392909216825260ff16602082015260400190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9586526001600160a01b039485166020870152928416604086015292166060840152608083019190915260a082015260c00190565b600060208252610e7c6020830184614add565b60208082526017908201527f696e76616c69642d636f6c6c61746572616c2d74797065000000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252600c908201526b696e742d6f766572666c6f7760a01b604082015260600190565b600060208252610e7c6020830184614b09565b600060408252614f656040830185614b09565b905060028310614f7157fe5b8260208301529392505050565b9283526001600160a01b03919091166020830152604082015260600190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b9283526020830191909152604082015260600190565b918252602082015260400190565b60405181810167ffffffffffffffff8111828210171561500457600080fd5b604052919050565b600067ffffffffffffffff821115615022578081fd5b50601f01601f191660200190565b60005b8381101561504b578181015183820152602001615033565b8381111561505a576000848401525b50505050565b6001600160a01b038116811461507557600080fd5b50565b801515811461507557600080fd5b6001811061507557600080fdfea26469706673582212203ab62626175f788e2d22b5b7f03f5623619f0a98254cd3e7ef6b6fe834264ed064736f6c634300060c0033