1 tx
22 calls
constructor
constructor(address _pendleOracle)
functions
getConfiguredPair
viewfunction getConfiguredPair(address _base, address _quote) view returns (address pendleMarket, uint32 twapWindow, bool inverse, uint256 scale)
getQuote
viewfunction getQuote(uint256 inAmount, address base, address quote) view returns (uint256)
getQuotes
viewfunction getQuotes(uint256 inAmount, address base, address quote) view returns (uint256, uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
pendleOracle
viewfunction pendleOracle() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
addPair
nonpayablefunction addPair(address _pendleMarket, address _base, address _quote, uint32 _twapWindow)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
PairAdded
event PairAdded(address indexed pendleMarket, address indexed base, address indexed quote, uint32 twapWindow)
errors
MarketExchangeRateBelowOne
error MarketExchangeRateBelowOne(int256 exchangeRate)
MarketExpired
error MarketExpired()
MarketProportionMustNotEqualOne
error MarketProportionMustNotEqualOne()
MarketRateScalarBelowZero
error MarketRateScalarBelowZero(int256 rateScalar)
MarketZeroTotalPtOrTotalAsset
error MarketZeroTotalPtOrTotalAsset(int256 totalPt, int256 totalAsset)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
PriceOracle_AlreadyInitialized
error PriceOracle_AlreadyInitialized()
PriceOracle_InvalidConfiguration
error PriceOracle_InvalidConfiguration()
PriceOracle_Overflow
error PriceOracle_Overflow()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60a0346100f157601f612c5838819003918201601f19168301916001600160401b038311848410176100f5578084926020946040528339810103126100f157516001600160a01b038116908181036100f15733156100de57600180546001600160a01b03199081169091555f805433928116831782556040519492916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3156100cf57608052612b4e908161010a82396080518181816101cf01526103ed0152f35b63d92e233d60e01b5f5260045ffd5b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f5f3560e01c80630579e61f14610d3e57806306fdde0314610c4f578063715018a614610b8d57806379ba509714610a855780638da5cb5b14610a35578063ae68676c14610a14578063e30c3978146109c3578063f0b5351e146102b2578063f2fde38b146101f3578063f32abc29146101845763ff84fc3514610093575f80fd5b346101815760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101815773ffffffffffffffffffffffffffffffffffffffff60406100e1610d5e565b92826100eb610d81565b9416815260026020522091165f52602052608060405f20816040519161011083610e16565b805473ffffffffffffffffffffffffffffffffffffffff811693848152600260ff63ffffffff8460a01c169384602085015260c01c1615159384604084015267ffffffffffffffff600182015416606084015201549384910152604051938452602084015260408301526060820152f35b80fd5b503461018157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101815760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101815773ffffffffffffffffffffffffffffffffffffffff610240610d5e565b610248611087565b16807fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015573ffffffffffffffffffffffffffffffffffffffff8254167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b346108d25760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126108d2576102e9610d5e565b6102f1610d81565b6044359173ffffffffffffffffffffffffffffffffffffffff83168093036108d2576064359163ffffffff83168093036108d25773ffffffffffffffffffffffffffffffffffffffff90610343611087565b1691825f52600260205260405f20845f5260205273ffffffffffffffffffffffffffffffffffffffff60405f20541661099b5761012c81108015610990575b6107c35773ffffffffffffffffffffffffffffffffffffffff604051927f873e9600000000000000000000000000000000000000000000000000000000008452169182600482015281602482015260608160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156108de575f915f91610939575b508115610930575b506107c357604051907f2c8ce6bc000000000000000000000000000000000000000000000000000000008252606082600481865afa9182156108de575f905f936108e9575b5073ffffffffffffffffffffffffffffffffffffffff1691604051907fa40bee50000000000000000000000000000000000000000000000000000000008252606082600481875afa9182156108de575f92610883575b50604051916104cf83610e16565b5f8352602083015f81528860408501925f845260608601975f895273ffffffffffffffffffffffffffffffffffffffff60808801965f8852168b145f146107eb5782036107715750509185600292602096959460047ffb932a966e96371b99baa74ff44cc031478a9eb4f68a8fb3493d2f7b83afe90599525b8986528681525f8252770de0b6b3a76400000000000000000000000000000000000184528a5f5284885260405f208c5f52885260405f2073ffffffffffffffffffffffffffffffffffffffff80885116167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416178155815181547fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff77ffffffff000000000000000000000000000000000000000078ff0000000000000000000000000000000000000000000000008751151560c01b169360a01b1691161717815560018101845167ffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008354169116179055858551910155600182528b5f5284885260405f208b5f52885273ffffffffffffffffffffffffffffffffffffffff8060405f20975116167fffffffffffffffffffffffff000000000000000000000000000000000000000087541617865551907fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff77ffffffff000000000000000000000000000000000000000078ff00000000000000000000000000000000000000000000000088549351151560c01b169360a01b1691161717845560018401905167ffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000835416911617905551910155604051908152a4005b92959493919273ffffffffffffffffffffffffffffffffffffffff16036107c3578560209560029360037ffb932a966e96371b99baa74ff44cc031478a9eb4f68a8fb3493d2f7b83afe9059952610548565b7f06930594000000000000000000000000000000000000000000000000000000005f5260045ffd5b91508989036107c3578a91820361083157505091856002926020969594847ffb932a966e96371b99baa74ff44cc031478a9eb4f68a8fb3493d2f7b83afe9059952610548565b92959493919273ffffffffffffffffffffffffffffffffffffffff16036107c3578560209560029360017ffb932a966e96371b99baa74ff44cc031478a9eb4f68a8fb3493d2f7b83afe9059952610548565b9091506060813d6060116108d6575b8161089f60609383610e32565b810103126108d2576002815110156108d25760406108bf60208301610ef3565b91015160ff8116036108d25790876104c1565b5f80fd5b3d9150610892565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff9350610922915060603d606011610929575b61091a8183610e32565b810190610e80565b509261046b565b503d610910565b90501585610426565b9150506060813d606011610988575b8161095560609383610e32565b810103126108d25761096681610e73565b90602081015161ffff8116036108d25760406109829101610e73565b8661041e565b3d9150610948565b50610e108111610382565b7f3055f6ea000000000000000000000000000000000000000000000000000000005f5260045ffd5b346108d2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126108d257602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346108d2576020610a2d610a2736610da4565b91610f14565b604051908152f35b346108d2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126108d257602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b346108d2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126108d2573373ffffffffffffffffffffffffffffffffffffffff6001541603610b61577fffffffffffffffffffffffff0000000000000000000000000000000000000000600154166001555f54337fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f5573ffffffffffffffffffffffffffffffffffffffff3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346108d2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126108d257610bc3611087565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600154166001555f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346108d2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126108d2576040516040810181811067ffffffffffffffff821117610d115760405260138152604060208201917f50656e646c65556e69666965644f7261636c650000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b346108d2576040610d51610a2736610da4565b8151908082526020820152f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036108d257565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036108d257565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126108d2576004359060243573ffffffffffffffffffffffffffffffffffffffff811681036108d2579060443573ffffffffffffffffffffffffffffffffffffffff811681036108d25790565b60a0810190811067ffffffffffffffff821117610d1157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d1157604052565b519081151582036108d257565b908160609103126108d257805173ffffffffffffffffffffffffffffffffffffffff811681036108d25791602082015173ffffffffffffffffffffffffffffffffffffffff811681036108d25760409092015173ffffffffffffffffffffffffffffffffffffffff811681036108d25790565b519073ffffffffffffffffffffffffffffffffffffffff821682036108d257565b919073ffffffffffffffffffffffffffffffffffffffff165f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205260405f209060405191610f6583610e16565b80549073ffffffffffffffffffffffffffffffffffffffff821690818552602085019063ffffffff8460a01c16825260ff604087019460c01c1615158452600267ffffffffffffffff600183015416916060880192835201549260808701938452156107c35773ffffffffffffffffffffffffffffffffffffffff63ffffffff91519651169151169480600114611079578060021461106b57806003146110575760041461103a577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b61105494611047916111e2565b905b519151151592611217565b90565b5061105494611065916111af565b90611049565b506110549461106591611177565b506110549461106591611142565b73ffffffffffffffffffffffffffffffffffffffff5f54163303610b6157565b90670de0b6b3a7640000820291808304670de0b6b3a764000014901517156110cb57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818102929181159184041417156110cb57565b8115611115570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b9061115861114f8361125f565b92839194611581565b9181811061116557505090565b61117290611054936110f8565b61110b565b61118c6111838261125f565b93849193611581565b918082106111a15750611172611054926110a7565b9050611172611054926110a7565b906111b98261125f565b908181106111cc57505061105491611ab0565b6111dd611172929361105495611ab0565b6110f8565b6111eb8161125f565b90919080831061120857506110549261120391611ab0565b611a78565b91506110549261120391611ab0565b92608083901c926fffffffffffffffffffffffffffffffff16901561124b57611054939291611245916110f8565b91611bc6565b6110549391611259916110f8565b90611bc6565b90606073ffffffffffffffffffffffffffffffffffffffff926004604051809581937f2c8ce6bc000000000000000000000000000000000000000000000000000000008352165afa9182156108de575f905f93611510575b50602073ffffffffffffffffffffffffffffffffffffffff916004604051809481937f3ba0b9a9000000000000000000000000000000000000000000000000000000008352165afa9081156108de575f916114de575b5073ffffffffffffffffffffffffffffffffffffffff81931690604051917fd2a3584e000000000000000000000000000000000000000000000000000000008352602083600481845afa9283156108de575f936114aa575b50604051907f516399df000000000000000000000000000000000000000000000000000000008252602082600481845afa9182156108de575f9261146e575b50816113c7575b50156113b5575090565b90808211156113c2575090565b905090565b60049150602090604051928380927f60e0a9e10000000000000000000000000000000000000000000000000000000082525afa9081156108de575f91611423575b506fffffffffffffffffffffffffffffffff1643145f6113ab565b90506020813d602011611466575b8161143e60209383610e32565b810103126108d257516fffffffffffffffffffffffffffffffff811681036108d2575f611408565b3d9150611431565b9091506020813d6020116114a2575b8161148a60209383610e32565b810103126108d25761149b90610e73565b905f6113a4565b3d915061147d565b9092506020813d6020116114d6575b816114c660209383610e32565b810103126108d25751915f611365565b3d91506114b9565b90506020813d602011611508575b816114f960209383610e32565b810103126108d257515f61130d565b3d91506114ec565b6020935073ffffffffffffffffffffffffffffffffffffffff91506115439060603d6060116109295761091a8183610e32565b9491905091506112b7565b81810392915f1380158285131691841216176110cb57565b9190915f83820193841291129080158216911516176110cb57565b5f91604051917f794052f30000000000000000000000000000000000000000000000000000000083525f60048401526101208360248173ffffffffffffffffffffffffffffffffffffffff85165afa9283156108de575f936119c7575b5060a08301805190919042106116305750505061161f6040611615611624949561160f85519160208701519061222a565b90611566565b925b015191611c77565b611cf3565b90808212610181575090565b90919350604051906080820182811067ffffffffffffffff821117610d11576040525f825260208201945f865260408301905f825260608401915f8352855142101561199f57611681428751611aa3565b936080880151996116976301e133805f9c611c9b565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff87116108d2578615611115577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff87147f80000000000000000000000000000000000000000000000000000000000000008214166110cb578690055f811315611974578752602089015161172a9161222a565b808a5288518015801561196c575b61193e5750508751936101008901958651968b5196611759838b519a61252e565b97670de0b6b3a76400008912611912579061161f61177a6117809383611566565b91611c77565b97670de0b6b3a764000089146118ea5788670de0b6b3a764000003935f8a12670de0b6b3a76400008612811690670de0b6b3a76400008713901516176110cb5761183761182e61185d998f9861183e946118276118639f99670de0b6b3a76400009f6118579d8f61181e60029f9361184c9f6118479e61161f61181361180e60c09961161f61181896611c77565b61256f565b611c77565b9061154e565b9052015161252e565b905261231f565b9c429051611aa3565b809c61252e565b9a8b925161252e565b611566565b05955191518761154e565b90611c9b565b05611d62565b936118918261161f61188b670de0b6b3a764000061188286518b611c9b565b0588519061154e565b97611c77565b9081670de0b6b3a7640000019182126001166110cb5761160f61161f9461161f6118136118dc6040976118186118d06118e49961161f6116249f611c77565b97519161161f89611c77565b948951611566565b92611617565b7fa9c8b14d000000000000000000000000000000000000000000000000000000005f5260045ffd5b887fca78c8a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7fb1c4aefb000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b508115611738565b7f1ca41876000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7fb2094b59000000000000000000000000000000000000000000000000000000005f5260045ffd5b909250610120813d8211611a70575b816119e46101209383610e32565b810103126108d2576040519061012082019082821067ffffffffffffffff831117610d115761010091604052805183526020810151602084015260408101516040840152611a3460608201610ef3565b60608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e08401520151610100820152915f6115de565b3d91506119d6565b90670de0b6b3a7640000820291808304670de0b6b3a764000014901517156110cb576110549161110b565b919082039182116110cb57565b90604051907fe184c9be00000000000000000000000000000000000000000000000000000000825260208260048173ffffffffffffffffffffffffffffffffffffffff87165afa9182156108de575f92611b92575b50428211611b1c57505050670de0b6b3a764000090565b611b2c611b3491611b3a9461231f565b914290611aa3565b906110f8565b6301e1338090047f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81116108d257611b7190611d62565b5f81126108d2578015611115576ec097ce7bc90715b34b9f10000000000490565b9091506020813d602011611bbe575b81611bae60209383610e32565b810103126108d25751905f611b05565b3d9150611ba1565b9190808302927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8282099184831085018084039314611c695782841115611c5c5783910990825f03831680930480600302600218808202600203028082026002030280820260020302808202600203028082026002030280910260020302936001848483030494805f0304019211900302170290565b63ae47f7025f526004601cfd5b505050908115611c5c570490565b90670de0b6b3a7640000820291808305670de0b6b3a764000014901517156110cb57565b81810292915f82127f80000000000000000000000000000000000000000000000000000000000000008214166110cb5781840514901517156110cb57565b8015611115576ec097ce7bc90715b34b9f10000000000590565b8115611115570590565b15611d0457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c6964206578706f6e656e74000000000000000000000000000000006044820152fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc000081121580612217575b611d9590611cfd565b5f811261220357611054906806f05b59d3b200000081126121ac577ffffffffffffffffffffffffffffffffffffffffffffffff90fa4a62c4e00000001611f756064770195e54c5dd42177f53a27172fa9ec630262827000000000925b0268056bc75e2d631000009068ad78ebc5ac62000000811215612173575b6856bc75e2d631000000811215612129575b682b5e3af16b188000008112156120e1575b6815af1d78b58c400000811215612099575b680ad78ebc5ac6200000811215612052575b68056bc75e2d6310000081121561200b575b6802b5e3af16b1880000811215611fc4575b68015af1d78b58c40000811215611f7d575b600268056bc75e2d631000008280020505600368056bc75e2d631000008383020505600468056bc75e2d631000008483020505600568056bc75e2d631000008583020505600668056bc75e2d631000008683020505600768056bc75e2d63100000878302050590600868056bc75e2d63100000888402050592600968056bc75e2d6310000089860205059468056bc75e2d63100000600a8a88028290050597611f4668056bc75e2d631000008c8b02055b600b900590565b99600c68056bc75e2d631000008d8d0205059b0101010101010101010101010268056bc75e2d63100000900590565b026064900590565b6806f5f17757889379377ffffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c0000611fbe9201920268056bc75e2d63100000900590565b90611e8e565b6808f00f760a4b2db55d7ffffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e7800006120059201920268056bc75e2d63100000900590565b90611e7c565b680ebc5fb417461211107ffffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf0000061204c9201920268056bc75e2d63100000900590565b90611e6a565b68280e60114edb805d037ffffffffffffffffffffffffffffffffffffffffffffffff5287143a539e000006120939201920268056bc75e2d63100000900590565b90611e58565b690127fa27722cc06cc5e27fffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c000006120db9201920268056bc75e2d63100000900590565b90611e46565b693f1fce3da636ea5cf8507fffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e78000006121239201920268056bc75e2d63100000900590565b90611e34565b6b02df0ab5a80a22c61ab5a7007fffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf00000061216d9201920268056bc75e2d63100000900590565b90611e22565b6e01855144814a7ff805980ff008400091507fffffffffffffffffffffffffffffffffffffffffffffff5287143a539e00000001611e10565b6803782dace9d900000081126121f6577ffffffffffffffffffffffffffffffffffffffffffffffffc87d253162700000001611f7560646b1425982cf597cd205cef738092611df2565b611f756064600192611df2565b61220e905f03611d62565b61105490611cd9565b5068070c1cc73b00c80000811315611d8c565b5f8212156122dd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff915b5f8113156122a157670de0b6b3a764000091612270916110f8565b047f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81116108d25761105491611c9b565b7f800000000000000000000000000000000000000000000000000000000000000081146110cb57670de0b6b3a764000091612270915f036110f8565b600191612255565b8051156122f25760200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040519061232e606083610e32565b600282526020820191604036843763ffffffff61234a826122e5565b94168094526040519283917f883bdbfd000000000000000000000000000000000000000000000000000000008352602483019060206004850152518091526044830191905f5b81811061250f57505050918173ffffffffffffffffffffffffffffffffffffffff815f950392165afa9081156108de575f9161244f575b508051600110156122f2577affffffffffffffffffffffffffffffffffffffffffffffffffffff6123fe81604084015116926122e5565b51169003907affffffffffffffffffffffffffffffffffffffffffffffffffffff82116110cb578015611115577affffffffffffffffffffffffffffffffffffffffffffffffffffff809216041690565b90503d805f833e6124608183610e32565b8101906020818303126108d25780519067ffffffffffffffff82116108d2570181601f820112156108d25780519167ffffffffffffffff8311610d11578260051b9160208301936124b46040519586610e32565b84526020808501938201019182116108d257602001915b8183106124db575050505f6123c7565b82517affffffffffffffffffffffffffffffffffffffffffffffffffffff811681036108d2578152602092830192016124cb565b825163ffffffff16845286945060209384019390920191600101612390565b90612538916110f8565b6301e1338090047f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81116108d25761105490611d62565b5f81131561267d5780670c7d713b49da0000128061266c575b1561266357670de0b6b3a7640000026ec097ce7bc90715b34b9f10000000008101907fffffffffffffffffffffffffffffffffff3f68318436f8ea4cb460f000000000016ec097ce7bc90715b34b9f100000000002906125e791611cf3565b670de0b6b3a764000060036ec097ce7bc90715b34b9f1000000000838002819005808502829005928305909401600592850282900592830501600792850282900592830501600992850282900592830501600b92850282900592830501600d92850282900592830501600f9290940205059190910160011b0590565b611054906126db565b50670f43fc2c04ee00008112612588565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f6f7574206f6620626f756e6473000000000000000000000000000000000000006044820152fd5b670de0b6b3a76400008112612b0257611054905f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c0000000000000821215612ad7575b73011798004d755d3c8bc8e03204cf44619e000000821215612aaa575b612837906064808492029302906e01855144814a7ff805980ff0084000821215612a70575b506b02df0ab5a80a22c61ab5a700811215612a3d575b693f1fce3da636ea5cf850811215612a0c575b690127fa27722cc06cc5e28112156129db575b68280e60114edb805d038112156129ab575b680ebc5fb4174612111081121561298b575b6808f00f760a4b2db55d81121561295b575b6806f5f177578893793781121561292b575b6806248f33704b2866038112156128fc575b6805c548670b9510e7ac8112156128cd575b68056bc75e2d631000007ffffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf00000818301920102611cf3565b6128c1611f3f68056bc75e2d63100000838002056128aa816128938161287c8168056bc75e2d631000008a8202059960038b0501990268056bc75e2d63100000900590565b976005890501970268056bc75e2d63100000900590565b956007870501950268056bc75e2d63100000900590565b936009850501930268056bc75e2d63100000900590565b0160011b016064900590565b6128f468056bc75e2d631000006756bc75e2d631000092026805c548670b9510e7ac900590565b920191612801565b61292368056bc75e2d6310000067ad78ebc5ac62000092026806248f33704b286603900590565b9201916127ef565b61295368056bc75e2d6310000068015af1d78b58c4000092026806f5f1775788937937900590565b9201916127dd565b61298368056bc75e2d631000006802b5e3af16b188000092026808f00f760a4b2db55d900590565b9201916127cb565b68056bc75e2d6310000092830192680ebc5fb417461211109102056127b9565b6129d368056bc75e2d63100000680ad78ebc5ac6200000920268280e60114edb805d03900590565b9201916127a7565b612a0468056bc75e2d631000006815af1d78b58c4000009202690127fa27722cc06cc5e2900590565b920191612795565b612a3568056bc75e2d63100000682b5e3af16b188000009202693f1fce3da636ea5cf850900590565b920191612782565b612a6868056bc75e2d631000006856bc75e2d63100000092026b02df0ab5a80a22c61ab5a700900590565b92019161276f565b68ad78ebc5ac62000000915069021e19e0c9bab2400000612aa191026e01855144814a7ff805980ff0084000900590565b9201915f612759565b906803782dace9d9000000612ace612837926b1425982cf597cd205cef7380900590565b92019050612734565b50770195e54c5dd42177f53a27172fa9ec63026282700000000090056806f05b59d3b2000000612717565b612b0e612b1391611cd9565b6126db565b5f039056fea2646970667358221220fb540a61de1c9ce87197a55080568de3ec970f0734bcb97c00ede9a9d4180d3264736f6c634300081c00330000000000000000000000009a9fa8338dd5e5b2188006f1cd2ef26d921650c2