0 txs
1 call
constructor
No constructor.
functions
chainedSpeedMarketsAMM
viewfunction chainedSpeedMarketsAMM() view returns (address)
getBonusesPerCollateral
viewfunction getBonusesPerCollateral(address[] collaterals) view returns (uint256[] bonuses)
getChainedMarketsData
viewfunction getChainedMarketsData(address[] marketsArray) view returns (tuple[])
getChainedSpeedMarketsAMMParameters
viewfunction getChainedSpeedMarketsAMMParameters(address _walletAddress) view returns (tuple)
getDirectionalRiskPerAsset
viewfunction getDirectionalRiskPerAsset(bytes32 asset) view returns (tuple[])
getMarketsData
viewfunction getMarketsData(address[] marketsArray) view returns (tuple[])
getRiskPerAsset
viewfunction getRiskPerAsset(bytes32 asset) view returns (tuple)
getSpeedMarketsAMMParameters
viewfunction getSpeedMarketsAMMParameters(address _walletAddress) view returns (tuple)
lastPauseTime
viewfunction lastPauseTime() view returns (uint256)
nominatedOwner
viewfunction nominatedOwner() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
speedMarketsAMM
viewfunction speedMarketsAMM() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
initialize
nonpayablefunction initialize(address _owner, address _speedMarketsAMM)
nominateNewOwner
nonpayablefunction nominateNewOwner(address _owner)
setOwner
nonpayablefunction setOwner(address _owner)
setPaused
nonpayablefunction setPaused(bool _paused)
setSpeedMarketsAMM
nonpayablefunction setSpeedMarketsAMM(address _speedMarketsAMM, address _chainedSpeedMarketsAMM)
transferOwnershipAtInit
nonpayablefunction transferOwnershipAtInit(address proxyAddress)
events
OwnerChanged
event OwnerChanged(address oldOwner, address newOwner)
OwnerNominated
event OwnerNominated(address newOwner)
PauseChanged
event PauseChanged(bool isPaused)
SetSpeedMarketsAMM
event SetSpeedMarketsAMM(address _speedMarketsAMM, address _chainedSpeedMarketsAMM)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50614b08806100206000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806379ba5097116100ad578063b7c46c1e11610071578063b7c46c1e146102b0578063c3b83f5f146102d0578063d01b279e146102e3578063d9a10e9414610303578063dc17ea5b1461031b57600080fd5b806379ba5097146102385780638da5cb5b1461024057806391b4ded9146102595780639f293fb114610270578063b1a8ab3e1461029057600080fd5b80632c303f62116100f45780632c303f62146101b5578063485cc955146101d557806353a47bb7146101e857806358dc0d63146102085780635c975abb1461021b57600080fd5b806301a494341461013157806313af40351461015a5780631627540c1461016f57806316c38b3c146101825780631ca7415c14610195575b600080fd5b61014461013f3660046140ed565b61032e565b6040516101519190614905565b60405180910390f35b61016d6101683660046140ed565b610c6f565b005b61016d61017d3660046140ed565b610d92565b61016d6101903660046142e2565b610de5565b6101a86101a336600461431a565b610e5b565b6040516101519190614797565b6101c86101c3366004614164565b61120c565b60405161015191906144fd565b61016d6101e336600461412c565b612388565b6001546101fb906001600160a01b031681565b60405161015191906144cf565b61016d61021636600461412c565b61246c565b6003546102289060ff1681565b6040519015158152602001610151565b61016d6124f1565b6000546101fb906201000090046001600160a01b031681565b61026260025481565b604051908152602001610151565b61028361027e366004614164565b6125dc565b6040516101519190614677565b6102a361029e366004614164565b6132e4565b60405161015191906147ea565b6102c36102be3660046140ed565b61343e565b6040516101519190614811565b61016d6102de3660046140ed565b613b74565b6102f66102f136600461431a565b613c77565b60405161015191906148ee565b6003546101fb9061010090046001600160a01b031681565b6004546101fb906001600160a01b031681565b6103c2604051806102000160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160401b0316815260200160006001600160401b0316815260200160608152602001606081526020016000815260200160008152602001600081526020016000151581525090565b60035460405163023fb25960e01b815260009161010090046001600160a01b03169063023fb259906103f89086906004016144cf565b60a06040518083038186803b15801561041057600080fd5b505afa158015610424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104489190614260565b60808101519091506000816001600160401b0381111561047857634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156104a1578160200160208202803683370190505b5090506000826001600160401b038111156104cc57634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156104f5578160200160208202803683370190505b50905060005b8381101561066b57600354604051632b18dfc560e11b8152600481018390526101009091046001600160a01b031690635631bf8a9060240160206040518083038186803b15801561054b57600080fd5b505afa15801561055f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105839190614332565b8382815181106105a357634e487b7160e01b600052603260045260246000fd5b6020908102919091010152600354604051634eb7c43b60e01b8152600481018390526101009091046001600160a01b031690634eb7c43b9060240160206040518083038186803b1580156105f657600080fd5b505afa15801561060a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062e9190614332565b82828151811061064e57634e487b7160e01b600052603260045260246000fd5b60209081029190910101528061066381614a5e565b9150506104fb565b50604080516102008101825285518152602080870151908201529081016001600160a01b03881661069d5760006106a3565b60408601515b81526020016001600160a01b0388166106bd5760006106c3565b60608601515b8152602001600360019054906101000a90046001600160a01b03166001600160a01b03166312aa38336040518163ffffffff1660e01b815260040160206040518083038186803b15801561071657600080fd5b505afa15801561072a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074e9190614332565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b03166307b53bb46040518163ffffffff1660e01b815260040160206040518083038186803b1580156107a157600080fd5b505afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190614332565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b0316633e7ad1de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561082c57600080fd5b505afa158015610840573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108649190614332565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b0316635403f80f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b757600080fd5b505afa1580156108cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ef9190614332565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b031663a201b3076040518163ffffffff1660e01b815260040160206040518083038186803b15801561094257600080fd5b505afa158015610956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097a919061438a565b6001600160401b03168152602001600360019054906101000a90046001600160a01b03166001600160a01b031663cf898ca96040518163ffffffff1660e01b815260040160206040518083038186803b1580156109d657600080fd5b505afa1580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e919061438a565b6001600160401b03168152602001838152602001828152602001600360019054906101000a90046001600160a01b03166001600160a01b031663704ce43e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a7657600080fd5b505afa158015610a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190614332565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b031663e91558666040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0157600080fd5b505afa158015610b15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b399190614332565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b031663d69fb6686040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8c57600080fd5b505afa158015610ba0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc49190614332565b81526020016001600160a01b038816610bde576000610c61565b60035460405162d9267b60e31b81526101009091046001600160a01b0316906306c933d890610c11908b906004016144cf565b60206040518083038186803b158015610c2957600080fd5b505afa158015610c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6191906142fe565b151590529695505050505050565b6001600160a01b038116610cc65760405162461bcd60e51b815260206004820152601960248201527804f776e657220616464726573732063616e6e6f74206265203603c1b60448201526064015b60405180910390fd5b600154600160a01b900460ff1615610d325760405162461bcd60e51b815260206004820152602960248201527f416c726561647920696e697469616c697a65642c20757365206e6f6d696e617460448201526832a732bba7bbb732b960b91b6064820152608401610cbd565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b038316620100000262010000600160b01b0319909116178155604051600080516020614ab383398151915291610d879184906144e3565b60405180910390a150565b610d9a613dac565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610d879083906144cf565b610ded613dac565b60035460ff1615158115151415610e015750565b6003805460ff191682151590811790915560ff1615610e1f57426002555b60035460405160ff909116151581527f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec590602001610d87565b50565b60408051600280825260608083018452926000929190602083019080368337019050509050600081600081518110610ea357634e487b7160e01b600052603260045260246000fd5b60200260200101906001811115610eca57634e487b7160e01b600052602160045260246000fd5b90816001811115610eeb57634e487b7160e01b600052602160045260246000fd5b81525050600181600181518110610f1257634e487b7160e01b600052603260045260246000fd5b60200260200101906001811115610f3957634e487b7160e01b600052602160045260246000fd5b90816001811115610f5a57634e487b7160e01b600052602160045260246000fd5b81525050600081516001600160401b03811115610f8757634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610fdd57816020015b610fca6040805160608101909152806000815260200160008152602001600081525090565b815260200190600190039081610fa55790505b50905060005b825181101561120457600083828151811061100e57634e487b7160e01b600052603260045260246000fd5b602002602001015190508083838151811061103957634e487b7160e01b600052603260045260246000fd5b602002602001015160000190600181111561106457634e487b7160e01b600052602160045260246000fd5b9081600181111561108557634e487b7160e01b600052602160045260246000fd5b90525060035460405163016ff7f560e21b81526101009091046001600160a01b0316906305bfdfd4906110be90899085906004016147fd565b60206040518083038186803b1580156110d657600080fd5b505afa1580156110ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110e9190614332565b83838151811061112e57634e487b7160e01b600052603260045260246000fd5b602090810291909101810151015260035460405163e11f951d60e01b81526101009091046001600160a01b03169063e11f951d9061117290899085906004016147fd565b60206040518083038186803b15801561118a57600080fd5b505afa15801561119e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c29190614332565b8383815181106111e257634e487b7160e01b600052603260045260246000fd5b60209081029190910101516040015250806111fc81614a5e565b915050610fe3565b509392505050565b60606000826001600160401b0381111561123657634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156112f457816020015b60408051610240810182526000808252602080830182905292820181905260608083018290526080830182905260a0830182905260c0830181905260e0830181905261010083015261012082018190526101408201819052610160820181905261018082018190526101a082018190526101c082018190526101e08201819052610200820181905261022082015282526000199092019101816112545790505b50905060005b8381101561237e57600085858381811061132457634e487b7160e01b600052603260045260246000fd5b905060200201602081019061133991906140ed565b9050806001600160a01b0316634f8632ba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561137457600080fd5b505afa158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ac9190614110565b8383815181106113cc57634e487b7160e01b600052603260045260246000fd5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561142957600080fd5b505afa15801561143d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114619190614332565b83838151811061148157634e487b7160e01b600052603260045260246000fd5b60200260200101516020018181525050806001600160a01b0316638b13b64b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ca57600080fd5b505afa1580156114de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611502919061438a565b83838151811061152257634e487b7160e01b600052603260045260246000fd5b6020026020010151604001906001600160401b031690816001600160401b031681525050806001600160a01b03166320c1bb466040518163ffffffff1660e01b815260040160206040518083038186803b15801561157f57600080fd5b505afa158015611593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b7919061438a565b8383815181106115d757634e487b7160e01b600052603260045260246000fd5b6020026020010151606001906001600160401b031690816001600160401b031681525050806001600160a01b03166351d8044f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561163457600080fd5b505afa158015611648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166c919061438a565b83838151811061168c57634e487b7160e01b600052603260045260246000fd5b6020026020010151608001906001600160401b031690816001600160401b031681525050806001600160a01b031663855d68cb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116e957600080fd5b505afa1580156116fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117219190614369565b83838151811061174157634e487b7160e01b600052603260045260246000fd5b602002602001015160a0019060070b908160070b815250506000816001600160a01b031663e004b5bf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561179457600080fd5b505afa1580156117a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cc91906143b1565b60ff166001600160401b038111156117f457634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561181d578160200160208202803683370190505b5090506000826001600160a01b03166377680bb56040518163ffffffff1660e01b815260040160206040518083038186803b15801561185b57600080fd5b505afa15801561186f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118939190614332565b6001600160401b038111156118b857634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156118e1578160200160208202803683370190505b5090506000836001600160a01b03166377680bb56040518163ffffffff1660e01b815260040160206040518083038186803b15801561191f57600080fd5b505afa158015611933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119579190614332565b6001600160401b0381111561197c57634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156119a5578160200160208202803683370190505b50905060005b846001600160a01b031663e004b5bf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156119e457600080fd5b505afa1580156119f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1c91906143b1565b60ff16811015611d9957604051635f51b5c760e01b8152600481018290526001600160a01b03861690635f51b5c79060240160206040518083038186803b158015611a6657600080fd5b505afa158015611a7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9e919061434a565b848281518110611abe57634e487b7160e01b600052603260045260246000fd5b60200260200101906001811115611ae557634e487b7160e01b600052602160045260246000fd5b90816001811115611b0657634e487b7160e01b600052602160045260246000fd5b81525050846001600160a01b03166377680bb56040518163ffffffff1660e01b815260040160206040518083038186803b158015611b4357600080fd5b505afa158015611b57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7b9190614332565b811015611d87576040516317a569fb60e11b8152600481018290526001600160a01b03861690632f4ad3f69060240160206040518083038186803b158015611bc257600080fd5b505afa925050508015611bf2575060408051601f3d908101601f19168201909252611bef91810190614369565b60015b611c2c573d808015611c20576040519150601f19603f3d011682016040523d82523d6000602084013e611c25565b606091505b5050611cda565b506040516317a569fb60e11b8152600481018290526001600160a01b03861690632f4ad3f69060240160206040518083038186803b158015611c6d57600080fd5b505afa158015611c81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca59190614369565b838281518110611cc557634e487b7160e01b600052603260045260246000fd5b602002602001019060070b908160070b815250505b60405163027160a360e51b8152600481018290526001600160a01b03861690634e2c14609060240160206040518083038186803b158015611d1a57600080fd5b505afa158015611d2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d529190614369565b828281518110611d7257634e487b7160e01b600052603260045260246000fd5b602002602001019060070b908160070b815250505b80611d9181614a5e565b9150506119ab565b5082868681518110611dbb57634e487b7160e01b600052603260045260246000fd5b602002602001015160c0018190525081868681518110611deb57634e487b7160e01b600052603260045260246000fd5b602002602001015160e0018190525080868681518110611e1b57634e487b7160e01b600052603260045260246000fd5b60200260200101516101000181905250836001600160a01b0316631fcc8bb26040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6457600080fd5b505afa158015611e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9c9190614332565b868681518110611ebc57634e487b7160e01b600052603260045260246000fd5b60200260200101516101200181815250506000600460009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b815260040160206040518083038186803b158015611f1d57600080fd5b505afa158015611f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f559190614110565b90506000611f638683613e26565b905080888881518110611f8657634e487b7160e01b600052603260045260246000fd5b602002602001015161014001906001600160a01b031690816001600160a01b031681525050816001600160a01b0316816001600160a01b031614888881518110611fe057634e487b7160e01b600052603260045260246000fd5b602090810291909101015190151561016090910152611ffe86613f0d565b88888151811061201e57634e487b7160e01b600052603260045260246000fd5b6020026020010151610180018181525050856001600160a01b0316635c8127376040518163ffffffff1660e01b815260040160206040518083038186803b15801561206857600080fd5b505afa15801561207c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a09190614332565b8888815181106120c057634e487b7160e01b600052603260045260246000fd5b60200260200101516101a0018181525050856001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b15801561210a57600080fd5b505afa15801561211e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214291906142fe565b88888151811061216257634e487b7160e01b600052603260045260246000fd5b60200260200101516101c0019015159081151581525050856001600160a01b0316633a2c1e556040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b257600080fd5b505afa1580156121c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ea91906142fe565b88888151811061220a57634e487b7160e01b600052603260045260246000fd5b60200260200101516101e0019015159081151581525050856001600160a01b031663d69fb6686040518163ffffffff1660e01b815260040160206040518083038186803b15801561225a57600080fd5b505afa15801561226e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122929190614332565b8888815181106122b257634e487b7160e01b600052603260045260246000fd5b6020026020010151610200018181525050856001600160a01b031663cf09e0d06040518163ffffffff1660e01b815260040160206040518083038186803b1580156122fc57600080fd5b505afa158015612310573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123349190614332565b88888151811061235457634e487b7160e01b600052603260045260246000fd5b6020026020010151610220018181525050505050505050808061237690614a5e565b9150506112fa565b5090505b92915050565b600054610100900460ff166123a35760005460ff16156123a7565b303b155b61240a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610cbd565b600054610100900460ff1615801561242c576000805461ffff19166101011790555b61243583610c6f565b60038054610100600160a81b0319166101006001600160a01b038516021790558015612467576000805461ff00191690555b505050565b612474613dac565b60038054610100600160a81b0319166101006001600160a01b038581169190910291909117909155600480546001600160a01b0319169183169190911790556040517f58cdb7e3ecb56fe758429959e8977ca9e1de157dc08685f4b5de5c6db99037e0906124e590849084906144e3565b60405180910390a15050565b6001546001600160a01b031633146125695760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610cbd565b600054600154604051600080516020614ab3833981519152926125a0926001600160a01b03620100009092048216929116906144e3565b60405180910390a1600180546000805462010000600160b01b0319166001600160a01b03831662010000021790556001600160a01b0319169055565b60606000826001600160401b0381111561260657634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156126b557816020015b604080516102008101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e08201819052610100820181905261012082018190526101408201819052610160820181905261018082018190526101a082018190526101c082018190526101e082015282526000199092019101816126245790505b50905060005b8381101561237e5760008585838181106126e557634e487b7160e01b600052603260045260246000fd5b90506020020160208101906126fa91906140ed565b9050806001600160a01b0316634f8632ba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561273557600080fd5b505afa158015612749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276d9190614110565b83838151811061278d57634e487b7160e01b600052603260045260246000fd5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156127ea57600080fd5b505afa1580156127fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128229190614332565b83838151811061284257634e487b7160e01b600052603260045260246000fd5b60200260200101516020018181525050806001600160a01b03166351d8044f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561288b57600080fd5b505afa15801561289f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c3919061438a565b8383815181106128e357634e487b7160e01b600052603260045260246000fd5b6020026020010151604001906001600160401b031690816001600160401b031681525050806001600160a01b031663c52987cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561294057600080fd5b505afa158015612954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129789190614369565b83838151811061299857634e487b7160e01b600052603260045260246000fd5b60200260200101516060019060070b908160070b81525050806001600160a01b031663645539ed6040518163ffffffff1660e01b815260040160206040518083038186803b1580156129e957600080fd5b505afa1580156129fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a21919061434a565b838381518110612a4157634e487b7160e01b600052603260045260246000fd5b6020026020010151608001906001811115612a6c57634e487b7160e01b600052602160045260246000fd5b90816001811115612a8d57634e487b7160e01b600052602160045260246000fd5b81525050806001600160a01b0316631fcc8bb26040518163ffffffff1660e01b815260040160206040518083038186803b158015612aca57600080fd5b505afa158015612ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b029190614332565b838381518110612b2257634e487b7160e01b600052603260045260246000fd5b602002602001015160a0018181525050806001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b158015612b6b57600080fd5b505afa158015612b7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba391906142fe565b838381518110612bc357634e487b7160e01b600052603260045260246000fd5b6020026020010151610120019015159081151581525050806001600160a01b031663a6b513ee6040518163ffffffff1660e01b815260040160206040518083038186803b158015612c1357600080fd5b505afa158015612c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c4b9190614369565b838381518110612c6b57634e487b7160e01b600052603260045260246000fd5b6020026020010151610140019060070b908160070b81525050806001600160a01b031663653721476040518163ffffffff1660e01b815260040160206040518083038186803b158015612cbd57600080fd5b505afa158015612cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf5919061434a565b838381518110612d1557634e487b7160e01b600052603260045260246000fd5b602002602001015161016001906001811115612d4157634e487b7160e01b600052602160045260246000fd5b90816001811115612d6257634e487b7160e01b600052602160045260246000fd5b81525050806001600160a01b0316633a2c1e556040518163ffffffff1660e01b815260040160206040518083038186803b158015612d9f57600080fd5b505afa158015612db3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dd791906142fe565b838381518110612df757634e487b7160e01b600052603260045260246000fd5b60200260200101516101800190151590811515815250506000600360019054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b815260040160206040518083038186803b158015612e5e57600080fd5b505afa158015612e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e969190614110565b90506000612ea48383613e26565b905080858581518110612ec757634e487b7160e01b600052603260045260246000fd5b602002602001015160c001906001600160a01b031690816001600160a01b031681525050816001600160a01b0316816001600160a01b031614858581518110612f2057634e487b7160e01b600052603260045260246000fd5b602090810291909101015190151560e090910152612f3d83613f0d565b858581518110612f5d57634e487b7160e01b600052603260045260246000fd5b602090810291909101015161010090810191909152600354046001600160a01b031663fd6e9b97898987818110612fa457634e487b7160e01b600052603260045260246000fd5b9050602002016020810190612fb991906140ed565b6040518263ffffffff1660e01b8152600401612fd591906144cf565b60206040518083038186803b158015612fed57600080fd5b505afa158015613001573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061302591906142fe565b1561316f57826001600160a01b031663d69fb6686040518163ffffffff1660e01b815260040160206040518083038186803b15801561306357600080fd5b505afa158015613077573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061309b9190614332565b8585815181106130bb57634e487b7160e01b600052603260045260246000fd5b60200260200101516101a0018181525050826001600160a01b031663704ce43e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561310557600080fd5b505afa158015613119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061313d9190614332565b85858151811061315d57634e487b7160e01b600052603260045260246000fd5b60200260200101516101c00181815250505b60035461010090046001600160a01b03166301bea6368989878181106131a557634e487b7160e01b600052603260045260246000fd5b90506020020160208101906131ba91906140ed565b6040518263ffffffff1660e01b81526004016131d691906144cf565b60206040518083038186803b1580156131ee57600080fd5b505afa158015613202573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061322691906142fe565b156132ce57826001600160a01b031663cf09e0d06040518163ffffffff1660e01b815260040160206040518083038186803b15801561326457600080fd5b505afa158015613278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061329c9190614332565b8585815181106132bc57634e487b7160e01b600052603260045260246000fd5b60200260200101516101e00181815250505b50505080806132dc90614a5e565b9150506126bb565b6060816001600160401b0381111561330c57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015613335578160200160208202803683370190505b50905060005b828110156134375760035461010090046001600160a01b0316633c1ae42185858481811061337957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061338e91906140ed565b6040518263ffffffff1660e01b81526004016133aa91906144cf565b60206040518083038186803b1580156133c257600080fd5b505afa1580156133d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133fa9190614332565b82828151811061341a57634e487b7160e01b600052603260045260246000fd5b60209081029190910101528061342f81614a5e565b91505061333b565b5092915050565b613446614058565b6004805460405163023fb25960e01b81526000926001600160a01b039092169163023fb25991613478918791016144cf565b60806040518083038186803b15801561349057600080fd5b505afa1580156134a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134c891906141d3565b90506134e7604051806040016040528060008152602001600081525090565b600480546040805160016221f06960e01b0319815290516001600160a01b039092169263ffde0f97928282019260209290829003018186803b15801561352c57600080fd5b505afa158015613540573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135649190614332565b8152600480546040805163dc56e7b360e01b815290516001600160a01b039092169263dc56e7b3928282019260209290829003018186803b1580156135a857600080fd5b505afa1580156135bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135e09190614332565b8160200181815250506000600460009054906101000a90046001600160a01b03166001600160a01b03166323b312156040518163ffffffff1660e01b815260040160206040518083038186803b15801561363957600080fd5b505afa15801561364d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136719190614332565b90506000600460009054906101000a90046001600160a01b03166001600160a01b031663f823c6436040518163ffffffff1660e01b815260040160206040518083038186803b1580156136c357600080fd5b505afa1580156136d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136fb9190614332565b905060006137098383614a47565b613714906001614a10565b90506000816001600160401b0381111561373e57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015613767578160200160208202803683370190505b50905060005b8281101561382c576004805460405163c80a4fa560e01b81529182018390526001600160a01b03169063c80a4fa59060240160206040518083038186803b1580156137b757600080fd5b505afa1580156137cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137ef9190614332565b82828151811061380f57634e487b7160e01b600052603260045260246000fd5b60209081029190910101528061382481614a5e565b91505061376d565b50604080516101a08101825287518152602080890151908201529081016001600160a01b038a1661385e576000613864565b60408801515b81526020016001600160a01b038a1661387e576000613884565b60608801515b8152602001858152602001848152602001600460009054906101000a90046001600160a01b03166001600160a01b03166335f127526040518163ffffffff1660e01b815260040160206040518083038186803b1580156138e357600080fd5b505afa1580156138f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391b919061438a565b6001600160401b03168152602001600460009054906101000a90046001600160a01b03166001600160a01b0316631b1ad49d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561397757600080fd5b505afa15801561398b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139af919061438a565b6001600160401b03168152602001600460009054906101000a90046001600160a01b03166001600160a01b03166312aa38336040518163ffffffff1660e01b815260040160206040518083038186803b158015613a0b57600080fd5b505afa158015613a1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a439190614332565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b03166307b53bb46040518163ffffffff1660e01b815260040160206040518083038186803b158015613a9657600080fd5b505afa158015613aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ace9190614332565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b0316636c9259f46040518163ffffffff1660e01b815260040160206040518083038186803b158015613b2157600080fd5b505afa158015613b35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b599190614332565b81526020810196909652604090950152509195945050505050565b613b7c613dac565b6001600160a01b038116613bc45760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610cbd565b600154600160a81b900460ff1615613c145760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481d1c985b9cd9995c9c9959606a1b6044820152606401610cbd565b600080546001600160a01b038084166201000090810262010000600160b01b031990931692909217928390556001805460ff60a81b1916600160a81b179055604051600080516020614ab383398151915293610d879390049091169084906144e3565b6040805180820190915260008082526020820152604080518082019091526000808252602082015260035460405163e60a4d2560e01b8152600481018590526101009091046001600160a01b03169063e60a4d259060240160206040518083038186803b158015613ce757600080fd5b505afa158015613cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d1f9190614332565b81526003546040516362298c0160e11b8152600481018590526101009091046001600160a01b03169063c45318029060240160206040518083038186803b158015613d6957600080fd5b505afa158015613d7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613da19190614332565b602082015292915050565b6000546201000090046001600160a01b03163314613e245760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610cbd565b565b60408051600481526024810182526020810180516001600160e01b031663d8dfeb4560e01b17905290516000917fd8dfeb45c97bc90ccb0083a78e72bfb0b5ba747c4da0382471fb4cb159c965b591839182916001600160a01b03881691613e8d91614496565b600060405180830381855afa9150503d8060008114613ec8576040519150601f19603f3d011682016040523d82523d6000602084013e613ecd565b606091505b5091509150818015613ee0575080516020145b15613f035780806020019051810190613ef99190614110565b9350505050612382565b5092949350505050565b60408051600481526024810182526020810180516001600160e01b03166331de8ea560e11b17905290516000917f63bd1d4a88bedfb7160db00a11fe1bffc8c945fca05210a721e82aed2623941391839182916001600160a01b03871691613f7491614496565b600060405180830381855afa9150503d8060008114613faf576040519150601f19603f3d011682016040523d82523d6000602084013e613fb4565b606091505b50915091508115613fdc5780806020019051810190613fd39190614332565b95945050505050565b846001600160a01b0316631fcc8bb26040518163ffffffff1660e01b815260040160206040518083038186803b15801561401557600080fd5b505afa158015614029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061404d9190614332565b613fd3906002614a28565b604051806101a0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160401b0316815260200160006001600160401b031681526020016000815260200160008152602001600081526020016140e0604051806040016040528060008152602001600081525090565b8152602001606081525090565b6000602082840312156140fe578081fd5b813561410981614a8f565b9392505050565b600060208284031215614121578081fd5b815161410981614a8f565b6000806040838503121561413e578081fd5b823561414981614a8f565b9150602083013561415981614a8f565b809150509250929050565b60008060208385031215614176578182fd5b82356001600160401b038082111561418c578384fd5b818501915085601f83011261419f578384fd5b8135818111156141ad578485fd5b8660208260051b85010111156141c1578485fd5b60209290920196919550909350505050565b6000608082840312156141e4578081fd5b82601f8301126141f2578081fd5b604051608081018181106001600160401b038211171561422057634e487b7160e01b83526041600452602483fd5b604052808360808101861015614234578384fd5b835b6004811015614255578151835260209283019290910190600101614236565b509195945050505050565b600060a08284031215614271578081fd5b82601f83011261427f578081fd5b60405160a081018181106001600160401b03821117156142ad57634e487b7160e01b83526041600452602483fd5b604052808360a081018610156142c1578384fd5b835b60058110156142555781518352602092830192909101906001016142c3565b6000602082840312156142f3578081fd5b813561410981614aa4565b60006020828403121561430f578081fd5b815161410981614aa4565b60006020828403121561432b578081fd5b5035919050565b600060208284031215614343578081fd5b5051919050565b60006020828403121561435b578081fd5b815160028110614109578182fd5b60006020828403121561437a578081fd5b81518060070b8114614109578182fd5b60006020828403121561439b578081fd5b81516001600160401b0381168114614109578182fd5b6000602082840312156143c2578081fd5b815160ff81168114614109578182fd5b6000815180845260208085019450808401835b83811015614408576143f8878351614474565b95820195908201906001016143e5565b509495945050505050565b6000815180845260208085019450808401835b8381101561440857815160070b87529582019590820190600101614426565b6000815180845260208085019450808401835b8381101561440857815187529582019590820190600101614458565b6002811061449257634e487b7160e01b600052602160045260246000fd5b9052565b60008251815b818110156144b6576020818601810151858301520161449c565b818111156144c45782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b60006020808301818452808551808352604092508286019150828160051b870101848801865b8381101561466957888303603f19018552815180516001600160a01b031684528781015188850152868101516001600160401b03908116888601526060808301518216908601526080808301519091169085015260a08082015160070b9085015260c08082015161024082870181905291906145a1838801826143d2565b9250505060e080830151868303828801526145bc8382614413565b9250505061010080830151868303828801526145d88382614413565b9250505061012080830151818701525061014080830151614603828801826001600160a01b03169052565b50506101608281015115159086015261018080830151908601526101a080830151908601526101c0808301511515908601526101e08083015115159086015261020080830151908601526102209182015191909401529386019390860190600101614523565b509098975050505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561478a57815180516001600160a01b031685528681015187860152858101516001600160401b03168686015260608082015160070b908601526080808201516146e382880182614474565b505060a0818101519086015260c0808201516001600160a01b03169086015260e0808201511515908601526101008082015190860152610120808201511515908601526101408082015160070b908601526101608082015161474782880182614474565b5050610180818101511515908601526101a080820151908601526101c080820151908601526101e090810151908501526102009093019290850190600101614694565b5091979650505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561478a5781516147c9858251614474565b808701518588015285015185850152606090930192908501906001016147b4565b6020815260006141096020830184614445565b828152604081016141096020830184614474565b6020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a082015160c0820152600060c083015161486a60e08401826001600160401b03169052565b5060e0830151610100614887818501836001600160401b03169052565b84015161012084810191909152840151610140808501919091528401516101608085019190915284015190506101806148cc8185018380518252602090810151910152565b8401516101c08481015290506148e66101e0840182614445565b949350505050565b815181526020808301519082015260408101612382565b6020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a082015160c082015260c082015160e0820152600060e0830151610100818185015280850151915050610120614979818501836001600160401b03169052565b8401519050610140614995848201836001600160401b03169052565b8085015191505061020061016081818601526149b5610220860184614445565b9250808601519050610180601f1986850301818701526149d58483614445565b908701516101a0878101919091528701516101c0808801919091528701516101e0808801919091529096015115159190940152509192915050565b60008219821115614a2357614a23614a79565b500190565b6000816000190483118215151615614a4257614a42614a79565b500290565b600082821015614a5957614a59614a79565b500390565b6000600019821415614a7257614a72614a79565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610e5857600080fd5b8015158114610e5857600080fdfeb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159ca2646970667358221220b244c75e1328e786f6921220fc0bfc43a5f15d74aa75c94e91aa8add23535f5564736f6c63430008040033