0 txs
0 calls
constructor
constructor(address _adapterRegistry)
functions
adapterRegistry
viewfunction adapterRegistry() view returns (address)
getOracleInfo
viewfunction getOracleInfo(address oracleAddress, address[] bases, address[] quotes) view returns (tuple)
getValidAdapters
viewfunction getValidAdapters(address base, address quote) view returns (address[])
isStalePullOracle
viewfunction isStalePullOracle(address oracleAddress, bytes failureReason) view returns (bool)
TTL_ERROR
viewfunction TTL_ERROR() view returns (int256)
TTL_INFINITY
viewfunction TTL_INFINITY() view returns (int256)
TTL_LIQUIDATION
viewfunction TTL_LIQUIDATION() view returns (int256)
TTL_MORE_THAN_ONE_YEAR
viewfunction TTL_MORE_THAN_ONE_YEAR() view returns (int256)
events
No events.
errors
No errors.
creation bytecode
0x60a060405234801562000010575f80fd5b5060405162003f5d38038062003f5d833981016040819052620000339162000045565b6001600160a01b031660805262000074565b5f6020828403121562000056575f80fd5b81516001600160a01b03811681146200006d575f80fd5b9392505050565b608051613eca620000935f395f818160cc01526102750152613eca5ff3fe608060405234801561000f575f80fd5b5060043610610085575f3560e01c806372537d9a1161005857806372537d9a1461012d578063900bb8a614610154578063aa2c31361461017b578063b25664311461019b575f80fd5b806317a35823146100895780634abee02a146100b157806350b5c16a146100c75780636410b79214610106575b5f80fd5b61009c6100973660046134cf565b6101bb565b60405190151581526020015b60405180910390f35b6100b96101fe565b6040519081526020016100a8565b6100ee7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a8565b6100b97ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81565b6100b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6100b97f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b61018e61018936600461354d565b61022c565b6040516100a89190613584565b6101ae6101a93660046136c6565b6102eb565b6040516100a891906137cd565b5f806101c783856137df565b90506101d385826128db565b806101e357506101e38582612a8d565b806101f357506101f38582612c34565b9150505b9392505050565b61022960017f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613854565b81565b6040517f7c8b72c70000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015282811660248301524260448301526060917f000000000000000000000000000000000000000000000000000000000000000090911690637c8b72c7906064015f60405180830381865afa1580156102bb573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526102e2919081019061387a565b90505b92915050565b61031760405180606001604052805f6001600160a01b0316815260200160608152602001606081525090565b6060805f816001600160a01b038816156103db5760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f06fdde030000000000000000000000000000000000000000000000000000000017905290516001600160a01b038a169161039791613904565b5f60405180830381855afa9150503d805f81146103cf576040519150601f19603f3d011682016040523d82523d5f602084013e6103d4565b606091505b5090925090505b8180156103ea57506020815110155b1561040a5780806020019051810190610403919061391f565b9350610455565b6040518060600160405280896001600160a01b0316815260200160405180602001604052805f815250815260200160405180602001604052805f8152508152509450505050506101f7565b505060408051808201909152600f81527f436861696e6c696e6b4f7261636c6500000000000000000000000000000000006020918201528251908301207f3347fb2d9337d6a0c3e2f4dcfc9aa03fda7f189ee6ae26b5ac97d93c20c001360361075b576040518060a00160405280876001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052391906139ae565b6001600160a01b03168152602001876001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561056d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061059191906139ae565b6001600160a01b03168152602001876001600160a01b03166337a7b7d86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ff91906139ae565b6001600160a01b03168152602001876001600160a01b03166337a7b7d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610649573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066d91906139ae565b6001600160a01b0316637284e4166040518163ffffffff1660e01b81526004015f60405180830381865afa1580156106a7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526106ce919081019061391f565b8152602001876001600160a01b03166387cf46966040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073391906139c9565b90526040516107459190602001613a35565b60405160208183030381529060405290506128b1565b60408051808201909152601981527f436861696e6c696e6b496e6672657175656e744f7261636c65000000000000006020918201528251908301207f8e9c3f775e0f080b197ff379eba09a3319a5582cf88131cad80e71f5f1759b5603610803576040518060a00160405280876001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ff573d5f803e3d5ffd5b60408051808201909152600f81527f4368726f6e69636c654f7261636c6500000000000000000000000000000000006020918201528251908301207f79ac7a18b69002d8ae7fb77d378715bce73f2731b7cd238ae49a31c390604eb903610a2b576040518060800160405280876001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108cf91906139ae565b6001600160a01b03168152602001876001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610919573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093d91906139ae565b6001600160a01b03168152602001876001600160a01b03166337a7b7d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610987573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ab91906139ae565b6001600160a01b03168152602001876001600160a01b03166387cf46966040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1991906139c9565b90526040516107459190602001613a47565b60408051808201909152600a81527f4c69646f4f7261636c65000000000000000000000000000000000000000000006020918201528251908301207fc987f708ef4d97624df0c1bddedc2484c5c4f8d0fd920baee462ced0514d031003610b80576040518060400160405280876001600160a01b031663d9fb643a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ad3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af791906139ae565b6001600160a01b03168152602001876001600160a01b031663e00bfe506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6591906139ae565b6001600160a01b031690526040516107459190602001613a85565b60408051808201909152601581527f4c69646f46756e64616d656e74616c4f7261636c6500000000000000000000006020918201528251908301207f0825897acecea14ea9b7dd06ba393fbe014f6aeb09d61afa801814737109190a03610c96576040518060400160405280876001600160a01b031663d9fb643a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c91906139ae565b6001600160a01b03168152602001876001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b41573d5f803e3d5ffd5b60408051808201909152600a81527f507974684f7261636c65000000000000000000000000000000000000000000006020918201528251908301207ff4c16c409379c23d0d3ad629f6799c388585f511e8f79c5fe710f598e4a8e7cb03610fd5576040518060c00160405280876001600160a01b031663f98d06f06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d6291906139ae565b6001600160a01b03168152602001876001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd091906139ae565b6001600160a01b03168152602001876001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e3e91906139ae565b6001600160a01b03168152602001876001600160a01b0316634a6434996040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eac91906139c9565b8152602001876001600160a01b03166387cf46966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1191906139c9565b8152602001876001600160a01b03166388df1eff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7691906139c9565b905260405161074591906020015f60c0820190506001600160a01b0380845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015260a083015160a083015292915050565b60408051808201909152601281527f52656473746f6e65436f72654f7261636c6500000000000000000000000000006020918201528251908301207fa01627088501c14173f657c9dafb93a3a468a0e4578b596f8f2a0e5ee7751af503611386575f80876001600160a01b03166360c7d2956040518163ffffffff1660e01b81526004016040805180830381865afa158015611073573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110979190613aa9565b915091506040518060e00160405280896001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061110691906139ae565b6001600160a01b03168152602001896001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611150573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061117491906139ae565b6001600160a01b03168152602001896001600160a01b0316634a6434996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e291906139c9565b8152602001896001600160a01b031663c23953d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611223573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112479190613afe565b60ff168152602001896001600160a01b03166387cf46966040518163ffffffff1660e01b8152600401602060405180830381865afa15801561128b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112af91906139c9565b81526020018379ffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020018265ffffffffffff1681525060405160200161136e91905f60e0820190506001600160a01b03808451168352806020850151166020840152506040830151604083015260ff60608401511660608301526080830151608083015279ffffffffffffffffffffffffffffffffffffffffffffffffffff60a08401511660a083015265ffffffffffff60c08401511660c083015292915050565b604051602081830303815290604052925050506128b1565b60408051808201909152600f81527f556e697377617056334f7261636c6500000000000000000000000000000000006020918201528251908301207f32ceb3c4df7b44179c8ac0bbc71396639e9d56ff85c504f6bf6dcbfd134822bc0361166c576040518060a00160405280876001600160a01b0316630fc63d106040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145291906139ae565b6001600160a01b03168152602001876001600160a01b0316635f64b55b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c091906139ae565b6001600160a01b03168152602001876001600160a01b03166316f0115b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561150a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061152e91906139ae565b6001600160a01b03168152602001876001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061159c9190613b1e565b62ffffff168152602001876001600160a01b0316638107e1336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116069190613b40565b63ffffffff16905260405161074591906020015f60a0820190506001600160a01b038084511683528060208501511660208401528060408501511660408401525062ffffff606084015116606083015263ffffffff608084015116608083015292915050565b60408051808201909152600f81527f4669786564526174654f7261636c6500000000000000000000000000000000006020918201528251908301207f979d3024f623cb02aaf3e1a78da0e33ddefd03c5446cfee64ab54787f08207ff03611848576040518060600160405280876001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611714573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061173891906139ae565b6001600160a01b03168152602001876001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611782573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a691906139ae565b6001600160a01b03168152602001876001600160a01b0316632c4e722e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117f0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061181491906139c9565b90526040805182516001600160a01b0390811660208084019190915284015116818301529101516060820152608001610745565b60408051808201909152601281527f5261746550726f76696465724f7261636c6500000000000000000000000000006020918201528251908301207f4bea610829e6390ec03fc23cc723d91ff2bea03ca3bfc0f1ecc1308b441d028a03611a0b576040518060600160405280876001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191491906139ae565b6001600160a01b03168152602001876001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561195e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061198291906139ae565b6001600160a01b03168152602001876001600160a01b031663949db6586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f091906139ae565b6001600160a01b031690526040516107459190602001613b63565b60408051808201909152600a81527f4f6e646f4f7261636c65000000000000000000000000000000000000000000006020918201528251908301207f910bb1fc65f99a06e36e7b129ea769cf076cb5fba6d9d4cea12650368902a34503611b8f576040518060600160405280876001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ab3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ad791906139ae565b6001600160a01b03168152602001876001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4591906139ae565b6001600160a01b03168152602001876001600160a01b0316638aec64636040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cc573d5f803e3d5ffd5b60408051808201909152600c81527f50656e646c654f7261636c6500000000000000000000000000000000000000006020918201528251908301207f16caf5334b30c157ec8b91a8778ea48280d563c01b74753ebbd4fc9c564970db03611dbd576040518060800160405280876001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5b91906139ae565b6001600160a01b03168152602001876001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ca5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cc991906139ae565b6001600160a01b03168152602001876001600160a01b03166399d9a71f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d3791906139ae565b6001600160a01b03168152602001876001600160a01b0316638107e1336040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611da59190613b40565b63ffffffff1690526040516107459190602001613b93565b60408051808201909152601581527f50656e646c65556e6976657273616c4f7261636c6500000000000000000000006020918201528251908301207fdba37c0a2df67deb201dfb7d1748e397dd8ddaad635e6cc097a5a390726bbb1703611e65576040518060800160405280876001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d5f803e3d5ffd5b60408051808201909152600e81527f4375727665454d414f7261636c650000000000000000000000000000000000006020918201528251908301207f1c6403aa56542faf6878f5dd06623920044b18b18129cb4d6c5c20c27d529b6303612057576040518060800160405280876001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3191906139ae565b6001600160a01b03168152602001876001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f9f91906139ae565b6001600160a01b03168152602001876001600160a01b03166316f0115b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061200d91906139ae565b6001600160a01b03168152602001876001600160a01b0316631ecac3386040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f5573d5f803e3d5ffd5b60408051808201909152601481527f53776161705361666567756172644f7261636c650000000000000000000000006020918201528251908301207f188fcba318ce827e243c348579c0835fac54891a6ceb8e33a4b963618a23c11b036121db576040518060600160405280876001600160a01b031663f397da4c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061212391906139ae565b6001600160a01b03168152602001876001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561216d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061219191906139ae565b6001600160a01b03168152602001876001600160a01b0316633e0dc34e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117f0573d5f803e3d5ffd5b60408051808201909152600c81527f43726f73734164617074657200000000000000000000000000000000000000006020918201528251908301207f3fecf33d1e769f1731b4722525288fa69b1206a8faa961b747e19339407c5f73036124c5575f866001600160a01b031663fd8867006040518163ffffffff1660e01b8152600401602060405180830381865afa158015612279573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229d91906139ae565b90505f876001600160a01b0316636f612f9a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122dc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061230091906139ae565b90505f61230e8389896102eb565b90505f61231c838a8a6102eb565b90506040518060e001604052808b6001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa158015612365573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061238991906139ae565b6001600160a01b031681526020018b6001600160a01b031663fa074d036040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123f791906139ae565b6001600160a01b031681526020018b6001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612441573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246591906139ae565b6001600160a01b03168152602001856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152506040516020016124ab9190613bd7565b6040516020818303038152906040529450505050506128b1565b60408051808201909152600b81527f45756c6572526f757465720000000000000000000000000000000000000000006020918201528251908301207f7904efa7e21712a84c08db53ee94b15be80152c10accb5841dcc8a625199e9f3036128b1578351855114612595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f7261636c654c656e733a20696e76616c696420696e70757400000000000000604482015260640160405180910390fd5b5f855167ffffffffffffffff8111156125b0576125b06135d0565b6040519080825280602002602001820160405280156125e357816020015b60608152602001906001900390816125ce5790505b5090505f865167ffffffffffffffff811115612601576126016135d0565b60405190808252806020026020018201604052801561262a578160200160208202803683370190505b5090505f875167ffffffffffffffff811115612648576126486135d0565b6040519080825280602002602001820160405280156126a557816020015b61269260405180606001604052805f6001600160a01b0316815260200160608152602001606081525090565b8152602001906001900390816126665790505b5090505f5b88518110156127725761270a8a8583815181106126c9576126c9613c6d565b60200260200101518b84815181106126e3576126e3613c6d565b60200260200101518b85815181106126fd576126fd613c6d565b6020026020010151612ecf565b86848151811061271c5761271c613c6d565b6020026020010186858151811061273557612735613c6d565b6020026020010186868151811061274e5761274e613c6d565b60209081029190910101929092526001600160a01b039092169052526001016126aa565b505f896001600160a01b031663629838e56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127d491906139ae565b90506040518061010001604052808b6001600160a01b0316630c340a246040518163ffffffff1660e01b8152600401602060405180830381865afa15801561281e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061284291906139ae565b6001600160a01b03168152602001826001600160a01b0316815260200161286a838c8c6102eb565b81526020018a81526020018981526020018581526020018481526020018381525060405160200161289b9190613d80565b6040516020818303038152906040529450505050505b604080516060810182526001600160a01b0388168152602081019390935282015290509392505050565b5f6001600160a01b0383166128f157505f6102e5565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f06fdde030000000000000000000000000000000000000000000000000000000017905290515f9182916001600160a01b0387169161296191613904565b5f60405180830381855afa9150503d805f8114612999576040519150601f19603f3d011682016040523d82523d5f602084013e61299e565b606091505b50915091508180156129b257506020815110155b15612a83575f818060200190518101906129cc919061391f565b60408051808201909152600a81527f507974684f7261636c65000000000000000000000000000000000000000000006020918201528151908201209091507ff4c16c409379c23d0d3ad629f6799c388585f511e8f79c5fe710f598e4a8e7cb148015612a7957507fffffffff0000000000000000000000000000000000000000000000000000000085167fd743df6a00000000000000000000000000000000000000000000000000000000145b93505050506102e5565b505f949350505050565b5f6001600160a01b038316612aa357505f6102e5565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f06fdde030000000000000000000000000000000000000000000000000000000017905290515f9182916001600160a01b03871691612b1391613904565b5f60405180830381855afa9150503d805f8114612b4b576040519150601f19603f3d011682016040523d82523d5f602084013e612b50565b606091505b5091509150818015612b6457506020815110155b15612a83575f81806020019051810190612b7e919061391f565b60408051808201909152601281527f52656473746f6e65436f72654f7261636c6500000000000000000000000000006020918201528151908201209091507fa01627088501c14173f657c9dafb93a3a468a0e4578b596f8f2a0e5ee7751af5148015612a7957507fffffffff0000000000000000000000000000000000000000000000000000000085167fa6e68d63000000000000000000000000000000000000000000000000000000001493505050506102e5565b5f6001600160a01b038316612c4a57505f6102e5565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f06fdde030000000000000000000000000000000000000000000000000000000017905290515f9182916001600160a01b03871691612cba91613904565b5f60405180830381855afa9150503d805f8114612cf2576040519150601f19603f3d011682016040523d82523d5f602084013e612cf7565b606091505b5091509150818015612d0b57506020815110155b15612d9a575f81806020019051810190612d25919061391f565b60408051808201909152600c81527f43726f73734164617074657200000000000000000000000000000000000000006020918201528151908201209091507f3fecf33d1e769f1731b4722525288fa69b1206a8faa961b747e19339407c5f7314612d94575f93505050506102e5565b50612da4565b5f925050506102e5565b5f856001600160a01b031663fd8867006040518163ffffffff1660e01b8152600401602060405180830381865afa158015612de1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e0591906139ae565b90505f866001600160a01b0316636f612f9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e6891906139ae565b9050612e7482876128db565b80612e845750612e848287612a8d565b80612e945750612e9481876128db565b80612ea45750612ea48187612a8d565b80612eb45750612eb48287612c34565b80612ec45750612ec48187612c34565b979650505050505050565b60605f612efe60405180606001604052805f6001600160a01b0316815260200160608152602001606081525090565b836001600160a01b0316856001600160a01b031603612f1f578592506134ae565b6040516001600160a01b03868116602483015285811660448301525f9182918a169060640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8aa776080000000000000000000000000000000000000000000000000000000017905251612fa79190613904565b5f60405180830381855afa9150503d805f8114612fdf576040519150601f19603f3d011682016040523d82523d5f602084013e612fe4565b606091505b5091509150811580612ff7575060208151105b156130065787945050506134ae565b8080602001905181019061301a91906139ae565b93506001600160a01b038416156130ed576040805160018082528183019092525f916020808301908036833750506040805160018082528183019092529293505f9291506020808301908036833701905050905088825f8151811061308157613081613c6d565b60200260200101906001600160a01b031690816001600160a01b03168152505087815f815181106130b4576130b4613c6d565b60200260200101906001600160a01b031690816001600160a01b0316815250506130df8683836102eb565b9450899650505050506134ae565b6040516001600160a01b0388811660248301528a169060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f5ca4001700000000000000000000000000000000000000000000000000000000179052516131699190613904565b5f60405180830381855afa9150503d805f81146131a1576040519150601f19603f3d011682016040523d82523d5f602084013e6131a6565b606091505b5090925090508115806131ba575060208151105b156131c95787945050506134ae565b5f818060200190518101906131de91906139ae565b90506001600160a01b038116156132f25788516131fc906001613e6e565b67ffffffffffffffff811115613214576132146135d0565b60405190808252806020026020018201604052801561323d578160200160208202803683370190505b5095505f5b89518110156132975789818151811061325d5761325d613c6d565b602002602001015187828151811061327757613277613c6d565b6001600160a01b0390921660209283029190910190910152600101613242565b508086600188516132a89190613e81565b815181106132b8576132b8613c6d565b60200260200101906001600160a01b031690816001600160a01b0316815250506132e48a87838a612ecf565b9550955095505050506134ae565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f629838e50000000000000000000000000000000000000000000000000000000017905290516001600160a01b038c169161335e91613904565b5f60405180830381855afa9150503d805f8114613396576040519150601f19603f3d011682016040523d82523d5f602084013e61339b565b606091505b5090935091508215806133af575060208251105b156133bf578895505050506134ae565b818060200190518101906133d391906139ae565b94506001600160a01b038516156134a7576040805160018082528183019092525f916020808301908036833750506040805160018082528183019092529293505f9291506020808301908036833701905050905089825f8151811061343a5761343a613c6d565b60200260200101906001600160a01b031690816001600160a01b03168152505088815f8151811061346d5761346d613c6d565b60200260200101906001600160a01b031690816001600160a01b0316815250506134988783836102eb565b95508a975050505050506134ae565b8895505050505b9450945094915050565b6001600160a01b03811681146134cc575f80fd5b50565b5f805f604084860312156134e1575f80fd5b83356134ec816134b8565b9250602084013567ffffffffffffffff80821115613508575f80fd5b818601915086601f83011261351b575f80fd5b813581811115613529575f80fd5b87602082850101111561353a575f80fd5b6020830194508093505050509250925092565b5f806040838503121561355e575f80fd5b8235613569816134b8565b91506020830135613579816134b8565b809150509250929050565b602080825282518282018190525f9190848201906040850190845b818110156135c45783516001600160a01b03168352928401929184019160010161359f565b50909695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613626576136266135d0565b604052919050565b5f67ffffffffffffffff821115613647576136476135d0565b5060051b60200190565b5f82601f830112613660575f80fd5b813560206136756136708361362e565b6135fd565b8083825260208201915060208460051b870101935086841115613696575f80fd5b602086015b848110156136bb5780356136ae816134b8565b835291830191830161369b565b509695505050505050565b5f805f606084860312156136d8575f80fd5b83356136e3816134b8565b9250602084013567ffffffffffffffff808211156136ff575f80fd5b61370b87838801613651565b93506040860135915080821115613720575f80fd5b5061372d86828701613651565b9150509250925092565b5f5b83811015613751578181015183820152602001613739565b50505f910152565b5f8151808452613770816020860160208601613737565b601f01601f19169290920160200192915050565b6001600160a01b0381511682525f6020820151606060208501526137ab6060850182613759565b9050604083015184820360408601526137c48282613759565b95945050505050565b602081525f6102e26020830184613784565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561381f5780818660040360031b1b83161692505b505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181035f83128015838313168383128216171561387357613873613827565b5092915050565b5f602080838503121561388b575f80fd5b825167ffffffffffffffff8111156138a1575f80fd5b8301601f810185136138b1575f80fd5b80516138bf6136708261362e565b81815260059190911b820183019083810190878311156138dd575f80fd5b928401925b82841015612ec45783516138f5816134b8565b825292840192908401906138e2565b5f8251613915818460208701613737565b9190910192915050565b5f6020828403121561392f575f80fd5b815167ffffffffffffffff80821115613946575f80fd5b818401915084601f830112613959575f80fd5b81518181111561396b5761396b6135d0565b61397e6020601f19601f840116016135fd565b9150808252856020828501011115613994575f80fd5b6139a5816020840160208601613737565b50949350505050565b5f602082840312156139be575f80fd5b81516101f7816134b8565b5f602082840312156139d9575f80fd5b5051919050565b5f6001600160a01b0380835116845280602084015116602085015280604084015116604085015250606082015160a06060850152613a2160a0850182613759565b608093840151949093019390935250919050565b602081525f6102e260208301846139e0565b608081016102e582846001600160a01b0380825116835280602083015116602084015280604083015116604084015250606081015160608301525050565b604081016102e5828480516001600160a01b03908116835260209182015116910152565b5f8060408385031215613aba575f80fd5b825179ffffffffffffffffffffffffffffffffffffffffffffffffffff81168114613ae3575f80fd5b602084015190925065ffffffffffff81168114613579575f80fd5b5f60208284031215613b0e575f80fd5b815160ff811681146101f7575f80fd5b5f60208284031215613b2e575f80fd5b815162ffffff811681146101f7575f80fd5b5f60208284031215613b50575f80fd5b815163ffffffff811681146101f7575f80fd5b606081016102e5828480516001600160a01b03908116835260208083015182169084015260409182015116910152565b608081016102e582846001600160a01b038082511683528060208301511660208401528060408301511660408401525063ffffffff60608201511660608301525050565b602081525f6001600160a01b03808451166020840152806020850151166040840152806040850151166060840152506060830151613c2060808401826001600160a01b03169052565b5060808301516001600160a01b03811660a08401525060a083015160e060c0840152613c50610100840182613784565b905060c0840151601f198483030160e08501526137c48282613784565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815180845260208085019450602084015f5b83811015613cd25781516001600160a01b031687529582019590820190600101613cad565b509495945050505050565b5f8282518085526020808601955060208260051b840101602086015f5b84811015613d2857601f19868403018952613d16838351613c9a565b98840198925090830190600101613cfa565b5090979650505050505050565b5f8282518085526020808601955060208260051b840101602086015f5b84811015613d2857601f19868403018952613d6e838351613784565b98840198925090830190600101613d52565b60208152613d9a6020820183516001600160a01b03169052565b5f6020830151613db560408401826001600160a01b03169052565b506040830151610100806060850152613dd2610120850183613784565b91506060850151601f1980868503016080870152613df08483613c9a565b935060808701519150808685030160a0870152613e0d8483613c9a565b935060a08701519150808685030160c0870152613e2a8483613cdd565b935060c08701519150808685030160e0870152613e478483613c9a565b935060e0870151915080868503018387015250613e648382613d35565b9695505050505050565b808201808211156102e5576102e5613827565b818103818111156102e5576102e561382756fea2646970667358221220cce5e16efac482f9554ac29378f85a995db6a0b3ed220e319be8a8a897d5079664736f6c63430008180033000000000000000000000000d6238d3b8beed1c7f424ebf6fc1ccd7fe1b31665