0 txs
0 calls
constructor
constructor()
functions
_feeRecipient
viewfunction _feeRecipient() view returns (address)
addressesProvider
viewfunction addressesProvider() view returns (address)
admin
viewfunction admin() view returns (address)
DAI_ADDRESS
viewfunction DAI_ADDRESS() view returns (address)
DAI_JOIN_ADDRESS
viewfunction DAI_JOIN_ADDRESS() view returns (address)
daiJoin
viewfunction daiJoin() 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)
EXCHANGE_WETH_ADDRESS
viewfunction EXCHANGE_WETH_ADDRESS() view returns (address)
getCdpInfo
viewfunction getCdpInfo(address _manager, uint256 _cdpId, bytes32 _ilk) view returns (uint256, uint256)
getManagerAddr
purefunction getManagerAddr(uint8 _managerType) pure returns (address)
getOwner
viewfunction getOwner(address _manager, uint256 _cdpId) view returns (address)
getPrice
viewfunction getPrice(bytes32 _ilk) view returns (uint256)
KYBER_ETH_ADDRESS
viewfunction KYBER_ETH_ADDRESS() view returns (address)
LENDING_POOL_ADDRESS_PROVIDER
viewfunction LENDING_POOL_ADDRESS_PROVIDER() view returns (address)
owner
viewfunction owner() view returns (address)
packExchangeData
purefunction packExchangeData(tuple _exData) pure returns (bytes)
SAVER_EXCHANGE_REGISTRY
viewfunction SAVER_EXCHANGE_REGISTRY() view returns (address)
SERVICE_FEE
viewfunction SERVICE_FEE() view returns (uint256)
SPOTTER_ADDRESS
viewfunction SPOTTER_ADDRESS() view returns (address)
spotter
viewfunction spotter() view returns (address)
unpackExchangeData
purefunction unpackExchangeData(bytes _data) pure returns (tuple _exData)
VAT_ADDRESS
viewfunction VAT_ADDRESS() view returns (address)
vat
viewfunction vat() view returns (address)
ZRX_ALLOWLIST_ADDR
viewfunction ZRX_ALLOWLIST_ADDR() view returns (address)
executeOperation
nonpayablefunction executeOperation(address _reserve, uint256 _amount, uint256 _fee, bytes _params)
kill
nonpayablefunction kill()
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
0x6080604052600380546001600160a01b0319167324a42fd28c976a61df5d00d0599c34c4f90748c817905534801561003657600080fd5b50600354600080546001600160a01b03199081166001600160a01b0390931692909217905560018054821633179055600280549091167325efa336886c74ea8e282ac466bdcd0199f85bb9179055613b07806100936000396000f3fe6080604052600436106102085760003560e01c806381b9428011610118578063c11645bc116100a0578063cf786f8f1161006f578063cf786f8f1461032f578063cfac57c7146104d1578063deca5f8814610525578063ee87255814610545578063f851a440146105655761020f565b8063c11645bc146104d1578063c50ebaf8146104e6578063c72c4d10146104fb578063cc694d48146105105761020f565b8063a342f238116100e7578063a342f23814610445578063a3b8e5d11461045a578063a46a66c914610487578063a7304bf71461049c578063ae08fd10146104bc5761020f565b806381b94280146103f15780638c8a7958146104065780638da5cb5b1461041b57806398ab3d49146104305761020f565b806331d98b3f1161019b57806341c0e1b51161016a57806341c0e1b514610392578063449b9ffa146103a75780634d93667e146103bc57806350c86de5146103dc5780636738929f146102b85761020f565b806331d98b3f1461030257806336569e771461032f5780633a128322146103445780634115fe6b146103645761020f565b80632a4c0a1a116101d75780632a4c0a1a146102a35780632e77468d146102b85780632f634a90146102cd578063314b6332146102ed5761020f565b806308d4f52a146102145780631e48907b1461024a578063278d58311461026c57806329f7fc9e146102815761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061023461022f366004613503565b61057a565b604051610241919061387c565b60405180910390f35b34801561025657600080fd5b5061026a6102653660046131d7565b6105a4565b005b34801561027857600080fd5b506102346105dd565b34801561028d57600080fd5b50610296610605565b60405161024191906137fc565b3480156102af57600080fd5b5061029661061d565b3480156102c457600080fd5b50610296610635565b3480156102d957600080fd5b506102966102e836600461325d565b61064d565b3480156102f957600080fd5b50610296610749565b34801561030e57600080fd5b5061032261031d366004613365565b610761565b604051610241919061385c565b34801561033b57600080fd5b5061029661091f565b34801561035057600080fd5b5061026a61035f36600461325d565b610937565b34801561037057600080fd5b5061038461037f3660046133c8565b6109d1565b604051610241929190613a23565b34801561039e57600080fd5b5061026a610bed565b3480156103b357600080fd5b50610234610c12565b3480156103c857600080fd5b506102966103d7366004613429565b610c44565b3480156103e857600080fd5b50610322610ca3565b3480156103fd57600080fd5b50610296610ca9565b34801561041257600080fd5b50610296610cc1565b34801561042757600080fd5b50610296610cd9565b34801561043c57600080fd5b50610296610ce8565b34801561045157600080fd5b50610296610cf7565b34801561046657600080fd5b5061047a610475366004613395565b610d0f565b60405161024191906139af565b34801561049357600080fd5b50610296610d2b565b3480156104a857600080fd5b5061026a6104b73660046131d7565b610d43565b3480156104c857600080fd5b50610234610d7c565b3480156104dd57600080fd5b50610296610dad565b3480156104f257600080fd5b50610234610dc5565b34801561050757600080fd5b50610296610df4565b34801561051c57600080fd5b50610234610e03565b34801561053157600080fd5b5061026a6105403660046131d7565b610e2e565b34801561055157600080fd5b5061026a610560366004613288565b610e5b565b34801561057157600080fd5b50610296610fda565b60608160405160200161058d91906139af565b60405160208183030381529060405290505b919050565b6002546001600160a01b031633146105bb57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b81525081565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b736b175474e89094c44da98b954eedeac495271d0f81565b7365c79fcb50ca1594b025960e539ed7a9a6d434a381565b600080836001600160a01b0316638161b120846040518263ffffffff1660e01b815260040161067c919061385c565b60206040518083038186803b15801561069457600080fd5b505afa1580156106a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cc91906131f3565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561070757600080fd5b505afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f91906131f3565b9150505b92915050565b7325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d81565b604051636cb1c69b60e11b815260009081907365c79fcb50ca1594b025960e539ed7a9a6d434a39063d9638d369061079d90869060040161385c565b604080518083038186803b1580156107b457600080fd5b505afa1580156107c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ec91906133fc565b604051636cb1c69b60e11b8152909250600091507335d1b3f3d7966a1dfe207aa4514c12a259a0492b9063d9638d369061082a90879060040161385c565b60a06040518083038186803b15801561084257600080fd5b505afa158015610856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087a9190613661565b505092505050610917610911827365c79fcb50ca1594b025960e539ed7a9a6d434a36001600160a01b031663495d32cb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108d457600080fd5b505afa1580156108e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090c919061337d565b610fe9565b83610fe9565b949350505050565b7335d1b3f3d7966a1dfe207aa4514c12a259a0492b81565b6001546001600160a01b0316331461094e57600080fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03831614156109b3576001546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156109ad573d6000803e3d6000fd5b506109cd565b6001546109cd906001600160a01b0384811691168361102a565b5050565b6000806000856001600160a01b03166336569e776040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0f57600080fd5b505afa158015610a23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4791906131f3565b90506000866001600160a01b0316632726b073876040518263ffffffff1660e01b8152600401610a77919061385c565b60206040518083038186803b158015610a8f57600080fd5b505afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac791906131f3565b9050600080836001600160a01b0316632424be5c88856040518363ffffffff1660e01b8152600401610afa929190613865565b604080518083038186803b158015610b1157600080fd5b505afa158015610b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b49919061363e565b915091506000846001600160a01b031663d9638d36896040518263ffffffff1660e01b8152600401610b7b919061385c565b60a06040518083038186803b158015610b9357600080fd5b505afa158015610ba7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcb9190613661565b50505091505082610bdc8383610fe9565b965096505050505050935093915050565b6001546001600160a01b03163314610c0457600080fd5b6001546001600160a01b0316ff5b6040518060400160405280601681526020017516995c9bde08195e18da185b99d9481a5b9d985b1a5960521b81525081565b600080826001811115610c5357fe5b1415610c745750735ef30b9986345249bc32d8928b7ee64de9435e3961059f565b6001826001811115610c8257fe5b141561059f5750733f30c2381cd8b917dd96eb2f1a4f96d91324bbed61059f565b61019081565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b734ba1f38427b33b8ab7bb0490200dae1f1c36823f81565b6001546001600160a01b031681565b6003546001600160a01b031681565b7339c4a92dc506300c3ea4c67ca4ca611102ee6f2a81565b610d17612d7a565b81806020019051810190610743919061360b565b731b14e8d511c9a4395425314f849bd737baf8208f81565b6002546001600160a01b03163314610d5a57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6040518060400160405280601581526020017413d99998da185a5b8819185d18481a5b9d985b1a59605a1b81525081565b739759a6ac90977b93b58547b4a71c78317f391a2881565b604051806040016040528060138152602001724465737420616d6f756e74206d697373696e6760681b81525081565b6000546001600160a01b031681565b6040518060400160405280600f81526020016e15dc985c1c195c881a5b9d985b1a59608a1b81525081565b6001546001600160a01b03163314610e4557600080fd5b6002546001600160a01b031615610d5a57600080fd5b60006060610e6b8385018561320f565b91509150610e77612df6565b610e7f612d7a565b82806020019051810190610e939190613445565b91509150610e9f612e3a565b6040518061014001604052808460000151815260200184604001518152602001846060015181526020018460800151815260200184602001516001600160a01b03168152602001866001600160a01b031681526020018981526020018460c00151151581526020018b6001600160a01b031681526020018a815250905060008160a001516001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5b57600080fd5b505afa158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9391906131f3565b61019060a08501526001600160a01b03811660c085015260e0850151909150600090610fbe90610c44565b9050610fcc83858484611085565b505050505050505050505050565b6002546001600160a01b031681565b60006b033b2e3c9fd0803ce800000061101b611005858561122a565b60026b033b2e3c9fd0803ce80000005b0461124e565b8161102257fe5b049392505050565b6110808363a9059cbb60e01b8484604051602401611049929190613810565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261125e565b505050565b8351604051632c2cb9fd60e01b81526111139183916001600160a01b03831690632c2cb9fd906110b990849060040161385c565b60206040518083038186803b1580156110d157600080fd5b505afa1580156110e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611109919061337d565b87604001516112ed565b600061112d8286600001518760800151886020015161155b565b905060008560e0015115611154576040850182905261114b85611873565b91506111719050565b60c0860151604087015101606086015261116d85611bba565b9150505b60006111808760800151611f3e565b90508660e00151156111a35750736b175474e89094c44da98b954eedeac495271d0f5b86606001516111b182611ff6565b10156111d85760405162461bcd60e51b81526004016111cf9061388f565b60405180910390fd5b6112028761010001516111fd8960c001518a61012001516120a090919063ffffffff16565b6120cc565b61122181736b175474e89094c44da98b954eedeac495271d0f87612160565b50505050505050565b60008115806112455750508082028282828161124257fe5b04145b61074357600080fd5b8082018281101561074357600080fd5b60606112b3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121fb9092919063ffffffff16565b80519091501561108057808060200190518101906112d19190613319565b6110805760405162461bcd60e51b81526004016111cf9061393f565b604051632726b07360e01b81526000906001600160a01b03861690632726b0739061131c90879060040161385c565b60206040518083038186803b15801561133457600080fd5b505afa158015611348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136c91906131f3565b9050739759a6ac90977b93b58547b4a71c78317f391a286001600160a01b031663f4b9fa756040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156113bd57600080fd5b505af11580156113d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f591906131f3565b6001600160a01b031663095ea7b3739759a6ac90977b93b58547b4a71c78317f391a28846040518363ffffffff1660e01b8152600401611436929190613810565b600060405180830381600087803b15801561145057600080fd5b505af1158015611464573d6000803e3d6000fd5b5050604051633b4da69f60e01b8152739759a6ac90977b93b58547b4a71c78317f391a289250633b4da69f91506114a19084908690600401613810565b600060405180830381600087803b1580156114bb57600080fd5b505af11580156114cf573d6000803e3d6000fd5b50505050846001600160a01b03166345e6bdcd8560006115047335d1b3f3d7966a1dfe207aa4514c12a259a0492b868961220a565b6040518463ffffffff1660e01b815260040161152293929190613a0d565b600060405180830381600087803b15801561153c57600080fd5b505af1158015611550573d6000803e3d6000fd5b505050505050505050565b6000846001600160a01b03166345e6bdcd85611576856123ce565b60000360006040518463ffffffff1660e01b815260040161159993929190613a0d565b600060405180830381600087803b1580156115b357600080fd5b505af11580156115c7573d6000803e3d6000fd5b50506040516313771f0760e31b81526001600160a01b0388169250639bb8f83891506115fb908790309087906004016139ee565b600060405180830381600087803b15801561161557600080fd5b505af1158015611629573d6000803e3d6000fd5b505050506000829050836001600160a01b031663b3bcfa826040518163ffffffff1660e01b815260040160206040518083038186803b15801561166b57600080fd5b505afa15801561167f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a3919061337d565b60121461172d57836001600160a01b031663b3bcfa826040518163ffffffff1660e01b815260040160206040518083038186803b1580156116e357600080fd5b505afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b919061337d565b601203600a0a838161172957fe5b0490505b60405163ef693bed60e01b81526001600160a01b0385169063ef693bed9061175b9030908590600401613810565b600060405180830381600087803b15801561177557600080fd5b505af1158015611789573d6000803e3d6000fd5b50505050611796846123f0565b1561186a57836001600160a01b0316637bd2bea76040518163ffffffff1660e01b815260040160206040518083038186803b1580156117d457600080fd5b505afa1580156117e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180c91906131f3565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b8152600401611837919061385c565b600060405180830381600087803b15801561185157600080fd5b505af1158015611865573d6000803e3d6000fd5b505050505b95945050505050565b600080600080600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031686600001516001600160a01b0316141561192e5785516118b8906124cd565b6001600160a01b031686526040808701518151630d0e30db60e41b8152915173c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29263d0e30db09291600480830192600092919082900301818588803b15801561191457600080fd5b505af1158015611928573d6000803e3d6000fd5b50505050505b61194a86604001518760c0015188600001518960a00151612514565b604087018051919091039052610120860151606001511561198757611970866000612767565b925090508015611987578561012001516020015192505b806119a157611997866000612965565b91508560e0015192505b60006119c073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2611ff6565b1115611aa6576040516370a0823160e01b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d9082906370a0823190611a059030906004016137fc565b602060405180830381600087803b158015611a1f57600080fd5b505af1158015611a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a57919061337d565b6040518263ffffffff1660e01b8152600401611a73919061385c565b600060405180830381600087803b158015611a8d57600080fd5b505af1158015611aa1573d6000803e3d6000fd5b505050505b60208601516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21415611b4957611ae186608001518760400151612ba7565b611afe73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee611ff6565b10156040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b81525090611b435760405162461bcd60e51b81526004016111cf919061387c565b50611baf565b611b5b86608001518760400151612ba7565b611b688760200151611ff6565b10156040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b81525090611bad5760405162461bcd60e51b81526004016111cf919061387c565b505b509092509050915091565b6000806000806000856060015160001415604051806040016040528060138152602001724465737420616d6f756e74206d697373696e6760681b81525090611c155760405162461bcd60e51b81526004016111cf919061387c565b50611c3286604001518760c0015188600001518960a00151612514565b60408701805191909103905285516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611ce5578551611c6f906124cd565b6001600160a01b031686526040808701518151630d0e30db60e41b8152915173c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29263d0e30db09291600480830192600092919082900301818588803b158015611ccb57600080fd5b505af1158015611cdf573d6000803e3d6000fd5b50505050505b6101208601516060015115611d1657611cff866001612767565b925090508015611d16578561012001516020015192505b80611d3057611d26866001612965565b91508560e0015192505b6000611d4f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2611ff6565b1115611e35576040516370a0823160e01b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d9082906370a0823190611d949030906004016137fc565b602060405180830381600087803b158015611dae57600080fd5b505af1158015611dc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de6919061337d565b6040518263ffffffff1660e01b8152600401611e02919061385c565b600060405180830381600087803b158015611e1c57600080fd5b505af1158015611e30573d6000803e3d6000fd5b505050505b60208601516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21415611ecb578560600151611e8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee611ff6565b10156040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b81525090611ec55760405162461bcd60e51b81526004016111cf919061387c565b50611f24565b8560600151611edd8760200151611ff6565b10156040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b81525090611f225760405162461bcd60e51b81526004016111cf919061387c565b505b82611f328760200151611ff6565b94509450505050915091565b600080826001600160a01b0316637bd2bea76040518163ffffffff1660e01b815260040160206040518083038186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb291906131f3565b90506001600160a01b03811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc214156107435773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee91505061059f565b60006001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561202457504761059f565b6040516370a0823160e01b81526001600160a01b038316906370a08231906120509030906004016137fc565b60206040518083038186803b15801561206857600080fd5b505afa15801561207c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610743919061337d565b6000828201838110156120c55760405162461bcd60e51b81526004016111cf906138d1565b9392505050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801561211b57600080fd5b505afa15801561212f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215391906131f3565b9050611080818484612bcf565b471561219d576040516001600160a01b038216904780156108fc02916000818181858888f1935050505015801561219b573d6000803e3d6000fd5b505b60006121a884611ff6565b11156121cc576121cc816121bb85611ff6565b6001600160a01b038616919061102a565b60006121d783611ff6565b111561108057611080816121ea84611ff6565b6001600160a01b038516919061102a565b60606109178484600085612c65565b600080846001600160a01b0316636c25b346856040518263ffffffff1660e01b815260040161223991906137fc565b60206040518083038186803b15801561225157600080fd5b505afa158015612265573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612289919061337d565b90506000856001600160a01b031663d9638d36856040518263ffffffff1660e01b81526004016122b9919061385c565b60a06040518083038186803b1580156122d157600080fd5b505afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123099190613661565b5050509150506000866001600160a01b0316632424be5c86886040518363ffffffff1660e01b815260040161233f929190613865565b604080518083038186803b15801561235657600080fd5b505afa15801561236a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238e919061363e565b9150506123a382848161239d57fe5b046123ce565b9350808411156123be576123b6816123ce565b6000036123c3565b836000035b979650505050505050565b80600081121561059f5760405162461bcd60e51b81526004016111cf90613989565b6000739759a6ac90977b93b58547b4a71c78317f391a286001600160a01b038316141561241f5750600061059f565b816001600160a01b0316637bd2bea76040518163ffffffff1660e01b815260040160206040518083038186803b15801561245857600080fd5b505afa15801561246c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249091906131f3565b6001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031614156124c55750600161059f565b506000919050565b60006001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146124f95781610743565b5073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2919050565b600081158015906125a75750604051632cdc77ab60e21b8152731b14e8d511c9a4395425314f849bd737baf8208f9063b371deac906125579087906004016137fc565b60206040518083038186803b15801561256f57600080fd5b505afa158015612583573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a79190613319565b1561263657604051636eeb543160e01b8152731b14e8d511c9a4395425314f849bd737baf8208f90636eeb5431906125e39087906004016137fc565b60206040518083038186803b1580156125fb57600080fd5b505afa15801561260f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612633919061337d565b91505b8161264357506000610917565b81858161264c57fe5b049050600a85048111156126605750600a84045b60007339c4a92dc506300c3ea4c67ca4ca611102ee6f2a6001600160a01b031663b38779eb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156126af57600080fd5b505afa1580156126c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e791906131f3565b90506001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561274a576040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015612744573d6000803e3d6000fd5b5061275e565b61275e6001600160a01b038516828461102a565b50949350505050565b610120820151602001516040516302f5cc7960e11b81526000918291734ba1f38427b33b8ab7bb0490200dae1f1c36823f916305eb98f2916127ac91906004016137fc565b60206040518083038186803b1580156127c457600080fd5b505afa1580156127d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127fc9190613319565b61280b5750600090508061295e565b6101208401515160405163e0aa279760e01b81527325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d9163e0aa27979161284891906004016137fc565b60206040518083038186803b15801561286057600080fd5b505afa158015612874573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128989190613319565b6128a75750600090508061295e565b61012084015151604085015185516128ca926001600160a01b039091169161102a565b610120840151805160809091015160405163097396a160e31b81526001600160a01b0390921691634b9cb508919061290890889088906004016139c2565b60408051808303818588803b15801561292057600080fd5b505af1158015612934573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906129599190613339565b915091505b9250929050565b60e082015160405163e0aa279760e01b81526000917325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d9163e0aa2797916129a2916004016137fc565b60206040518083038186803b1580156129ba57600080fd5b505afa1580156129ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f29190613319565b6040518060400160405280600f81526020016e15dc985c1c195c881a5b9d985b1a59608a1b81525090612a385760405162461bcd60e51b81526004016111cf919061387c565b5060e083015160408401518451612a5a926001600160a01b039091169161102a565b6000826001811115612a6857fe5b1415612b0e578260e001516001600160a01b0316635b6f36fc8460000151856020015186604001518761010001516040518563ffffffff1660e01b8152600401612ab59493929190613829565b602060405180830381600087803b158015612acf57600080fd5b505af1158015612ae3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b07919061337d565b9050610743565b8260e001516001600160a01b0316633924db668460000151856020015186606001518761010001516040518563ffffffff1660e01b8152600401612b559493929190613829565b602060405180830381600087803b158015612b6f57600080fd5b505af1158015612b83573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c5919061337d565b6000670de0b6b3a764000061101b612bbf858561122a565b6002670de0b6b3a7640000611015565b612bd7612d29565b6001600160a01b0316826001600160a01b03161415612c5157826001600160a01b031681604051612c07906137f9565b60006040518083038185875af1925050503d8060008114612c44576040519150601f19603f3d011682016040523d82523d6000602084013e612c49565b606091505b505050611080565b6110806001600160a01b038316848361102a565b6060612c7085612d41565b612c8c5760405162461bcd60e51b81526004016111cf90613908565b60006060866001600160a01b03168587604051612ca991906137dd565b60006040518083038185875af1925050503d8060008114612ce6576040519150601f19603f3d011682016040523d82523d6000602084013e612ceb565b606091505b50915091508115612cff5791506109179050565b805115612d0f5780518082602001fd5b8360405162461bcd60e51b81526004016111cf919061387c565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610917575050151592915050565b60405180610140016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160608152602001612df1612eaa565b905290565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081018290529060e0820190612df1565b6040518061014001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160001515815260200160006001600160a01b03168152602001600081525090565b6040518060c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001606081525090565b803561074381613aac565b805161074381613aac565b8051801515811461074357600080fd5b600082601f830112612f31578081fd5b8135612f44612f3f82613a58565b613a31565b9150808252836020828501011115612f5b57600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112612f84578081fd5b8151612f92612f3f82613a58565b9150808252836020828501011115612fa957600080fd5b612fba816020840160208601613a7c565b5092915050565b805161074381613ac4565b6000610140808385031215612fdf578182fd5b612fe881613a31565b915050612ff58383612f06565b81526130048360208401612f06565b602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015261303e8360c08401612f06565b60c08201526130508360e08401612f06565b60e08201526101008083015167ffffffffffffffff8082111561307257600080fd5b61307e86838701612f74565b8385015261012092508285015191508082111561309a57600080fd5b506130a78582860161314b565b82840152505092915050565b600060c082840312156130c4578081fd5b6130ce60c0613a31565b905081356130db81613aac565b815260208201356130eb81613aac565b602082015260408201356130fe81613aac565b80604083015250606082013560608201526080820135608082015260a082013567ffffffffffffffff81111561313357600080fd5b61313f84828501612f21565b60a08301525092915050565b600060c0828403121561315c578081fd5b61316660c0613a31565b9050815161317381613aac565b8152602082015161318381613aac565b6020820152604082015161319681613aac565b80604083015250606082015160608201526080820151608082015260a082015167ffffffffffffffff8111156131cb57600080fd5b61313f84828501612f74565b6000602082840312156131e8578081fd5b81356120c581613aac565b600060208284031215613204578081fd5b81516120c581613aac565b60008060408385031215613221578081fd5b823561322c81613aac565b9150602083013567ffffffffffffffff811115613247578182fd5b61325385828601612f21565b9150509250929050565b6000806040838503121561326f578182fd5b823561327a81613aac565b946020939093013593505050565b60008060008060006080868803121561329f578081fd5b85356132aa81613aac565b94506020860135935060408601359250606086013567ffffffffffffffff808211156132d4578283fd5b818801915088601f8301126132e7578283fd5b8135818111156132f5578384fd5b896020828501011115613306578384fd5b9699959850939650602001949392505050565b60006020828403121561332a578081fd5b815180151581146120c5578182fd5b6000806040838503121561334b578182fd5b6133558484612f11565b9150602083015190509250929050565b600060208284031215613376578081fd5b5035919050565b60006020828403121561338e578081fd5b5051919050565b6000602082840312156133a6578081fd5b813567ffffffffffffffff8111156133bc578182fd5b61073f84828501612f21565b6000806000606084860312156133dc578081fd5b83356133e781613aac565b95602085013595506040909401359392505050565b6000806040838503121561340e578182fd5b825161341981613aac565b6020939093015192949293505050565b60006020828403121561343a578081fd5b81356120c581613ac4565b600080828403610120811215613459578283fd5b61010080821215613468578384fd5b61347181613a31565b9150845182526134848660208701612f06565b60208301526040850151604083015260608501516060830152608085015160808301526134b48660a08701612f11565b60a08301526134c68660c08701612f11565b60c08301526134d88660e08701612fc1565b60e083015284015190925067ffffffffffffffff8111156134f7578182fd5b61325385828601612fcc565b600060208284031215613514578081fd5b813567ffffffffffffffff8082111561352b578283fd5b8184019150610140808387031215613541578384fd5b61354a81613a31565b90506135568684612efb565b81526135658660208501612efb565b602082015260408301356040820152606083013560608201526080830135608082015260a083013560a082015261359f8660c08501612efb565b60c08201526135b18660e08501612efb565b60e082015261010080840135838111156135c9578586fd5b6135d588828701612f21565b82840152505061012080840135838111156135ee578586fd5b6135fa888287016130b3565b918301919091525095945050505050565b60006020828403121561361c578081fd5b815167ffffffffffffffff811115613632578182fd5b61073f84828501612fcc565b60008060408385031215613650578182fd5b505080516020909101519092909150565b600080600080600060a08688031215613678578283fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b6001600160a01b03169052565b600081518084526136c5816020860160208601613a7c565b601f01601f19169290920160200192915050565b60006101406136e98484516136a0565b60208301516136fb60208601826136a0565b5060408301516040850152606083015160608501526080830151608085015260a083015160a085015260c083015161373660c08601826136a0565b5060e083015161374960e08601826136a0565b50610100808401518282870152613762838701826136ad565b92505050610120808401518583038287015261377e8382613788565b9695505050505050565b600060018060a01b0380835116845280602084015116602085015280604084015116604085015250606082015160608401526080820151608084015260a082015160c060a085015261073f60c08501826136ad565b600082516137ef818460208701613a7c565b9190910192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061377e908301846136ad565b90815260200190565b9182526001600160a01b0316602082015260400190565b6000602082526120c560208301846136ad565b60208082526022908201527f42656c6f77206d696e2e206e756d626572206f66206574682073706563696669604082015261195960f21b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252600c908201526b696e742d6f766572666c6f7760a01b604082015260600190565b6000602082526120c560208301846136d9565b6000604082526139d560408301856136d9565b9050600283106139e157fe5b8260208301529392505050565b9283526001600160a01b03919091166020830152604082015260600190565b9283526020830191909152604082015260600190565b918252602082015260400190565b60405181810167ffffffffffffffff81118282101715613a5057600080fd5b604052919050565b600067ffffffffffffffff821115613a6e578081fd5b50601f01601f191660200190565b60005b83811015613a97578181015183820152602001613a7f565b83811115613aa6576000848401525b50505050565b6001600160a01b0381168114613ac157600080fd5b50565b60028110613ac157600080fdfea26469706673582212203d9c3920c6b15f4da0b966d01528be083287b0f284a39e1ba7ea77599ebe02d464736f6c634300060c0033