3 txs
8 calls
constructor
constructor((address pendleMarket, uint8 slippage, address ptToken, address ibToken)[] poolsData)
functions
getPoolData
viewfunction getPoolData(address, address) view returns (address pendleMarket, uint8 slippage)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
addPools
nonpayablefunction addPools(tuple[] poolsData)
redeemDust
nonpayablefunction redeemDust(address tokenA, address tokenB, address recipient)
renounceOwnership
nonpayablefunction renounceOwnership()
swapCallback
nonpayablefunction swapCallback(int256 ptToAccount, int256 syToAccount, bytes _data)
swapExactInput
nonpayablefunction swapExactInput(address recipient, address tokenIn, address tokenOut, uint256 amountIn, uint256 minAmountOut, bytes data) returns (uint256 amountOut)
swapExactOutput
nonpayablefunction swapExactOutput(address recipient, address tokenIn, address tokenOut, uint256 maxAmountIn, uint256 amountOut, bytes data) returns (uint256 amountIn)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
NewPair
event NewPair(address indexed ptToken, address indexed ibToken, address pendleMarket, uint8 slippage)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
errors
ApproximationFailed
error ApproximationFailed()
InsufficientAmount
error InsufficientAmount()
MarketExchangeRateBelowOne
error MarketExchangeRateBelowOne(int256 exchangeRate)
MarketExpired
error MarketExpired()
MarketProportionMustNotEqualOne
error MarketProportionMustNotEqualOne()
MarketProportionTooHigh
error MarketProportionTooHigh(int256 proportion, int256 maxProportion)
MarketRateScalarBelowZero
error MarketRateScalarBelowZero(int256 rateScalar)
MarketZeroTotalPtOrTotalAsset
error MarketZeroTotalPtOrTotalAsset(int256 totalPt, int256 totalAsset)
NotSupported
error NotSupported()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
TooMuchRequested
error TooMuchRequested()
UnknownPair
error UnknownPair()
WrongPoolInput
error WrongPoolInput()
creation bytecode
0x6080806040523461042d576134b6803803809161001c828561051d565b833981019060208183031261042d578051906001600160401b03821161042d570181601f8201121561042d578051906001600160401b03821161030b576040519261006d60208460051b018561051d565b82845260208085019360071b8301019181831161042d57602001925b8284106104995784331561048657600180546001600160a01b03199081169091555f805433928116831782556040519192606092916001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a36100f481610502565b82815282602082015282604082015201528051905f5b82811061012057604051612f49908161056d8239f35b815181101561047257600581901b820160200151604081018051909291906001600160a01b031615801561045d575b801561044b575b8015610439575b61031f578051604051630b2339af60e21b815290606090829060049082906001600160a01b03165afa801561039f575f915f916103c8575b5084516001600160a01b0390811691160361031f57606082018051604051637d2d278360e11b81526001600160a01b03918216600482015291921690602081602481855afa90811561039f575f916103aa575b501590811561032e575b5061031f578151602083018051604080519760ff909216936001600160a01b03169291908801908882106001600160401b0383111761030b576040918252928852602080890194855283516001600160a01b039081165f908152600280845284822089518416835284528482208c5181548a5160ff60a01b60a091821b81169388166001600160a81b031993841617939093179093558b51861685529286528684208951861685528652928690209c518d54995190911b9092169183169716969096179590951790985591519351945190518251918416825260ff16968101969096526001959382169392909116917fe546beeeab60a56b73c1b949bb268220b489f63cd1a9b947e6e8a34013d082439190a30161010a565b634e487b7160e01b5f52604160045260245ffd5b6325c1cddd60e01b5f5260045ffd5b8251604051633c21b3eb60e11b81526001600160a01b0390911660048201529150602090829060249082905afa90811561039f575f91610371575b5015876101f2565b610392915060203d8111610398575b61038a818361051d565b810190610554565b87610369565b503d610380565b6040513d5f823e3d90fd5b6103c2915060203d81116103985761038a818361051d565b886101e8565b9150506060813d8211610431575b816103e36060938361051d565b8101031261042d5780516001600160a01b038116810361042d576020820151916001600160a01b038316830361042d57604001516001600160a01b0381160361042d579087610195565b5f80fd5b3d91506103d6565b50606460ff602083015116101561015d565b5080516001600160a01b031615610156565b5060608101516001600160a01b03161561014f565b634e487b7160e01b5f52603260045260245ffd5b631e4fbdf760e01b5f525f60045260245ffd5b60808483031261042d57604051906104b082610502565b6104b985610540565b825260208501519060ff8216820361042d57826020928360809501526104e160408801610540565b60408201526104f260608801610540565b6060820152815201930192610089565b608081019081106001600160401b0382111761030b57604052565b601f909101601f19168101906001600160401b0382119082101761030b57604052565b51906001600160a01b038216820361042d57565b9081602091031261042d5751801515810361042d579056fe60806040526004361015610011575f80fd5b5f5f3560e01c80630dcaa34c146112505780632f1ccfbe14610e7b5780633768040e14610a8b578063715018a614610a2857806379ba5097146109a35780637d4f036a146105795780638da5cb5b14610552578063e30c397814610529578063ec6390f4146104c4578063f2fde38b146104575763fa483e7214610093575f80fd5b3461022157606036600319011261022157806004356024356044356001600160401b03811161022f576100ca9036906004016113a1565b848493929313801561044e575b1561043a5782019160208184031261043a578035906001600160401b03821161044a57019060808284031261043a576040519261011384611470565b61011c8361138d565b845261012a6020840161138d565b906020850191825261013e6040850161138d565b93604086019485526060810135906001600160401b03821161044657019080601f8301121561044257816020610176933591016114fa565b606085019081528451825191959161019a916001600160a01b03918216911661178f565b80519091906001600160a01b03163303610442578784131561023457505091516001600160a01b0316936101d092509050611530565b9051823b1561022f576101fd92849283604051809681958294631b9d082d60e01b84523360048501611578565b03925af180156102245761021057505080f35b8161021a916114a6565b6102215780f35b80fd5b6040513d84823e3d90fd5b505050fd5b935192969195509390916001600160a01b03169061025187611530565b9051823b1561043e5761027e92849283604051809681958294631b9d082d60e01b84523060048501611578565b03925af1801561022457610421575b50505191516102b5926102af926001600160a01b039283169290911690611601565b91611530565b9060808101918380602060018060a01b0386511694019360018060a01b0385511682604051602081019263095ea7b360e01b84526024820152866044820152604481526103036064826114a6565b51925af13d1561041a573d610317816114df565b9061032560405192836114a6565b81523d86602083013e5b816103eb575b50156103c157905191516040516320e8c56560e01b81523360048201526001600160a01b0391821660248201526044810183905260648101929092529091602091839160849183918791165af1801561022457610390575080f35b6020813d6020116103b9575b816103a9602093836114a6565b810103126103b5575080f35b5f80fd5b3d915061039c565b60405162461bcd60e51b8152602060048201526002602482015261534160f01b6044820152606490fd5b8051801592508215610400575b50505f610335565b61041392506020809183010191016114c7565b5f806103f8565b606061032f565b8161042e919493946114a6565b61043a5790845f61028d565b8480fd5b8380fd5b8780fd5b8880fd5b8580fd5b508482136100d7565b503461022157602036600319011261022157610471611361565b61047961159f565b600180546001600160a01b0319166001600160a01b0392831690811790915582549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b50346102215760403660031901126102215760406104e0611361565b916104e9611377565b6001600160a01b03938416825260026020908152929091209083165f908152908252604090819020548151938116845260a01c60ff169183019190915290f35b50346102215780600319360112610221576001546040516001600160a01b039091168152602090f35b5034610221578060031936011261022157546040516001600160a01b039091168152602090f35b50346103b557610588366113ce565b92919695936105a1818761059c828261178f565b611601565b95606087019160046020845160018060a01b031660405192838092630bc4ed8360e21b82525afa9081156107a3575f91610974575b5015610655575060408701516001600160a01b03918216911603610646575161062495949361061e936001600160a01b03909216926106169136916114fa565b913390611987565b916116f9565b915b821061063757602082604051908152f35b632ca2f52b60e11b8152600490fd5b630280e1e560e61b8752600487fd5b60408801519599989796956001600160a01b03928316921682036107ae57505084516001600160a01b0316919050333b156103b55760845f92896040519a8b948593631b9d082d60e01b8552600485015287602485015260606044850152816064850152848401378181018301859052601f01601f1916810103018183335af19586156107a35761072c9661078d575b50825160408051909290916001600160a01b0316906107056020846114a6565b8683525f366020850137868451809a819582946329910b1160e01b84523060048501611578565b03925af19182156107825783949561074a9493610750575b506116f9565b91610626565b61077391935060403d60401161077b575b61076b81836114a6565b810190611851565b50915f610744565b503d610761565b6040513d85823e3d90fd5b61079a9194505f906114a6565b5f9260406106e5565b6040513d5f823e3d90fd5b906107ee6108029460249698999a9b61081094604099969951946107d186611470565b85526001600160a01b0316602085015233604085015236916114fa565b606082015260405193849160208301611808565b03601f1981018452836114a6565b61083c60ff60a08801511661083661083061082a836118ba565b8c6118a7565b9161188b565b906118d5565b956040519661084c60a0896114a6565b89885260208801525f6040880152600a606088015266038d7ea4c680006080880152610120815160018060a01b03166040519586809263794052f360e01b82523060048301525afa9485156107a3575f976108f696886108cb936040988c9361093f575b50516108c4906001600160a01b0316611a23565b4292611db4565b50509687915160018060a01b031692855196879586948593635b709f1760e01b855260048501611578565b03925af19081156107a3575f9161091f575b50111561074a575b636c68a4e760e11b5f5260045ffd5b610938915060403d60401161077b5761076b81836114a6565b505f610908565b6108c4919350610966906101203d811161096d575b61095e81836114a6565b8101906118f3565b92906108b0565b503d610954565b610996915060203d60201161099c575b61098e81836114a6565b8101906114c7565b5f6105d6565b503d610984565b346103b5575f3660031901126103b557600154336001600160a01b0390911603610a1557600180546001600160a01b03199081169091555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b5f523360045260245ffd5b346103b5575f3660031901126103b557610a4061159f565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103b55760203660031901126103b5576004356001600160401b0381116103b557366023820112156103b5578060040135906001600160401b0382116103b55760248260071b8201013681116103b557610ae461159f565b60405192610af860208260051b01856114a6565b83526024602084019201915b818310610e125783610b14611867565b508051905f5b828110610b2357005b8151811015610dfe57600581901b820160200151604081018051909291906001600160a01b0316158015610de9575b8015610dd7575b8015610dc5575b610d06578051604051630b2339af60e21b815290606090829060049082906001600160a01b03165afa80156107a3575f915f91610d94575b5084516001600160a01b03908116911603610d0657606082018051604051637d2d278360e11b81526001600160a01b03918216600482015291921690602081602481855afa9081156107a3575f91610d76575b5015908115610d15575b50610d065781516020830180516040516001977fe546beeeab60a56b73c1b949bb268220b489f63cd1a9b947e6e8a34013d082439460ff939192918416906001600160a01b0316610c4583611441565b82526020808301918252835160a08c811b8d90039182165f908152600280855260408083208d518616845286528083208851815489518d16871b9188168819918216178d881b19908116929092179092558e51871685529287528184208a51871685528752928190209751885497518b1690941b938516969092169590951790941617909355925196519751945181519583166001600160a01b0316865290931660ff1691840191909152948516949390931692819081010390a301610b1a565b6325c1cddd60e01b5f5260045ffd5b8251604051633c21b3eb60e11b81526001600160a01b0390911660048201529150602090829060249082905afa9081156107a3575f91610d58575b501587610bf5565b610d70915060203d811161099c5761098e81836114a6565b87610d50565b610d8e915060203d811161099c5761098e81836114a6565b88610beb565b9050610db7915060603d8111610dbe575b610daf81836114a6565b8101906115b2565b5087610b98565b503d610da5565b50606460ff6020830151161015610b60565b5080516001600160a01b031615610b59565b5060608101516001600160a01b031615610b52565b634e487b7160e01b5f52603260045260245ffd5b6080833603126103b55760405190610e2982611470565b610e328461138d565b825260208401359060ff821682036103b55782602092836080950152610e5a6040870161138d565b6040820152610e6b6060870161138d565b6060820152815201920191610b04565b346103b557610e89366113ce565b909492959193610e9e818561059c828261178f565b93606085019160046020845160018060a01b031660405192838092630bc4ed8360e21b82525afa9081156107a3575f91611231575b5015610fd5575060408501516001600160a01b03918216911603610fc6578051604051630754bb7160e21b815290602090829060049082905f906001600160a01b03165af19081156107a3575f91610f8c575b5090610616610f5487670de0b6b3a764000085610f4a61061e9897610f699c611d1e565b92091515906118c8565b97889260018060a01b039051169336916114fa565b50905b8111610f7d57602090604051908152f35b6324df576f60e01b5f5260045ffd5b929190506020833d602011610fbe575b81610fa9602093836114a6565b810103126103b5579151909190610616610f26565b3d9150610f9c565b630280e1e560e61b5f5260045ffd5b91929661101191975f9796975060405198610fef8a611470565b6001600160a01b03908116808b52941660208a01523360408a015236916114fa565b606087015260408501516001600160a01b0316036111a55761104e611040949560405195869160208301611808565b03601f1981018652856114a6565b61107460ff60a08701511661083661106e6110688361188b565b8a6118a7565b916118ba565b6040519061108360a0836114a6565b81528660208201525f6040820152600a606082015266038d7ea4c6800060808201526024610120875160018060a01b03166040519283809263794052f360e01b82523060048301525afa9081156107a3576110fc9386915f93611180575b50516110f5906001600160a01b0316611a23565b4292611a59565b5050928584116109105760406111355f92875160018060a01b03169083519485809481936329910b1160e01b83528b3060048501611578565b03925af180156107a35783915f91611160575b50106109105761115892936116f9565b505b90610f6c565b611179915060403d60401161077b5761076b81836114a6565b5087611148565b6110f591935061119e906101203d811161096d5761095e81836114a6565b92906110e1565b50926111cf915f6111f9956111dd60409660018060a01b0390511694875196879160208301611808565b03601f1981018752866114a6565b8551635b709f1760e01b81529687958694859360048501611578565b03925af19081156107a3575f91611211575b5061115a565b61122a915060403d60401161077b5761076b81836114a6565b508261120b565b61124a915060203d60201161099c5761098e81836114a6565b8a610ed3565b346103b55760603660031901126103b557611269611361565b611271611377565b90604435906001600160a01b03821682036103b5576024926112e59161129561159f565b60018060a01b0381165f52600260205260405f2060018060a01b0383165f5260205260405f2060ff604051916112ca83611441565b546001600160a01b038116835260a01c166020820152611601565b6020808201516040516370a0823160e01b815230600482015294929392859182906001600160a01b03165afa9182156107a3575f9261132b575b61132993506116f9565b005b91506020833d602011611359575b81611346602093836114a6565b810103126103b55761132992519161131f565b3d9150611339565b600435906001600160a01b03821682036103b557565b602435906001600160a01b03821682036103b557565b35906001600160a01b03821682036103b557565b9181601f840112156103b5578235916001600160401b0383116103b557602083818601950101116103b557565b9060c06003198301126103b5576004356001600160a01b03811681036103b557916024356001600160a01b03811681036103b557916044356001600160a01b03811681036103b55791606435916084359160a435906001600160401b0382116103b55761143d916004016113a1565b9091565b604081019081106001600160401b0382111761145c57604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b0382111761145c57604052565b60c081019081106001600160401b0382111761145c57604052565b90601f801991011681019081106001600160401b0382111761145c57604052565b908160209103126103b5575180151581036103b55790565b6001600160401b03811161145c57601f01601f191660200190565b929192611506826114df565b9161151460405193846114a6565b8294818452818301116103b5578281602093845f960137010152565b600160ff1b8114611540575f0390565b634e487b7160e01b5f52601160045260245ffd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b61159c939260609260018060a01b0316825260208201528160408201520190611554565b90565b5f546001600160a01b03163303610a1557565b908160609103126103b55780516001600160a01b03811681036103b55760208201519092906001600160a01b03811681036103b557604092909201516001600160a01b03811681036103b55790565b5f60a06040516116108161148b565b828152826020820152826040820152826060820152826080820152015260018060a01b038151169260405192630b2339af60e21b8452606084600481885afa9182156107a3575f945f905f946116cb575b506001600160a01b039081169260ff92602092909190811685036116c35750945b01511693604051956116938761148b565b86526001600160a01b0390811660208701526040860191909152908116606085015216608083015260a082015290565b905094611682565b60ff929650602094506116ed915060603d606011610dbe57610daf81836114a6565b94919690915091611661565b60208181015160809092015160405163769f8e5d60e01b81526001600160a01b03948516600482015260248101869052908416604482015260648101949094525f608485018190529092849260a49284929091165af19081156107a3575f91611760575090565b90506020813d602011611787575b8161177b602093836114a6565b810103126103b5575190565b3d915061176e565b5f602060405161179e81611441565b828152015260018060a01b03165f52600260205260405f209060018060a01b03165f5260205260405f2090604051916117d683611441565b546001600160a01b03811680845260a09190911c60ff166020840152156117f957565b633fb801a560e21b5f5260045ffd5b602080825282516001600160a01b0390811683830152908301518116604080840191909152830151166060808301919091529091015160808083015261159c9160a00190611554565b91908260409103126103b5576020825192015190565b6040519061187482611470565b5f6060838281528260208201528260408201520152565b606403906064821161154057565b5f1981019190821161154057565b8181029291811591840414171561154057565b606401908160641161154057565b9190820180921161154057565b81156118df570490565b634e487b7160e01b5f52601260045260245ffd5b90816101209103126103b5576040519061012082018281106001600160401b0382111761145c576040908152815183526020808301519084015281810151908301526060810151906001600160a01b03821682036103b5576101009160608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e0840152015161010082015290565b6001600160a01b0391821693911691833b156103b557604051631b9d082d60e01b8152915f9183916119bd918660048501611578565b94818381819803925af180156107a357611a0e575b506020829160246040518094819363bcb7ea5d60e01b83523060048401525af1918215611a025791611760575090565b604051903d90823e3d90fd5b602092505f611a1c916114a6565b5f916119d2565b604051630754bb7160e21b815290602090829060049082905f906001600160a01b03165af19081156107a3575f91611760575090565b9392611a69909591958686611f50565b94604084015115611b65575b5f5b6060850151811015611b2057611a8d81866121f4565b611aa1611a9982611530565b848a8a61230f565b50868210801590611b1357608089015181611adb575b50611acd57505060208601526001905b01611a77565b919850965094509192505050565b9050670de0b6b3a76400000180670de0b6b3a76400001161154057611b09670de0b6b3a764000091896118a7565b048211155f611ab7565b5050508552600190611ac7565b60405162461bcd60e51b815260206004820152601a60248201527f536c6970706167653a20415050524f585f4558484155535445440000000000006044820152606490fd5b6020840180515f60208901611b7a8151611899565b6a0c097ce7bc90715b34b9f160241b905b808403611c02575050670de0b6b3a7640000611bbf611bb1611bc8938c5190519061211d565b670d529ae9e86000006122b0565b0589519061216a565b5f81126103b55780821015611bfb57505b80821015611bf35750905b52611bee84612182565b611a75565b905090611be4565b9050611bd9565b611c0c81856118c8565b600181018091116115405760011c908b51611c2883865161216a565b611c32828561211d565b5f821380611d15575b15611cdb578f611cb7670de0b6b3a764000091611cb2611c9c611c97611cbe97611c8c611c918f8e611c735f9e611c7993519061211d565b906122b0565b611c8c611c86858d6122b0565b91612277565b612305565b98612277565b612954565b6040611ca984518d612305565b9301519561216a565b6122b0565b059061216a565b1215611cd35750611cce90611899565b611b8b565b935092611b8b565b60405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606490fd5b505f8113611c3b565b9091905f905f198482099084810292838084109303928084039314611da15782670de0b6b3a76400001115611d8f57507faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106699394670de0b6b3a7640000910990828211900360ee1b910360121c170290565b634e487b71905260116020526024601cfd5b505050670de0b6b3a76400009192500490565b9490939192611dc4908587611f50565b92604083015115611e8a575b5f5b6060840151811015611b2057611de881856121f4565b611dff611df78289898c61230f565b509190611530565b84811180159190611e6e57608088015182611e35575b5050611e28575084526001905b01611dd2565b9097509550935090915050565b909150670de0b6b3a764000003670de0b6b3a7640000811161154057611e64670de0b6b3a764000091876118a7565b0411155f80611e15565b505050905f198201918211611540576001916020860152611e22565b6020830180518751611ec2670de0b6b3a7640000611ebc611eb460608b015160408c01519061216a565b8a51906122b0565b05612579565b90670de0b6b3a7640000820191670de0b6b3a764000083125f821290801582169115161761154057611cb7611f06611f1494611c8c670de0b6b3a764000094612277565b611c7360208c01518561211d565b6103e78102908082046103e71490151715611540576103e8900480821015611f485750905b52611f4383612182565b611dd0565b905090611f39565b9291611f5a611867565b9360a08101828151111561210e575191820391821161154057608081015192611f886301e1338080956122b0565b6001600160ff1b0384116103b55783611fa0916122d2565b5f8113156120fc578652670de0b6b3a7640000611fd66020840151925f84125f146120f4575f19935b5f8113156120e6576118a7565b046001600160ff1b0381116103b557611fee916122b0565b60208601908082528251801580156120de575b6120c957505081519061010083015190519161202886612023878b51956118a7565b6118d5565b6001600160ff1b0381116103b55761203f90612579565b92670de0b6b3a764000084126120b6579261207f612091969593611c8c61207a61207586611c8c611c8660c09b6120859a61211d565b612923565b612277565b9061216a565b604088015201516118a7565b81156118df57046001600160ff1b0381116103b5576120af90612579565b6060830152565b8363329e322960e21b5f5260045260245ffd5b63b1c4aefb60e01b5f5260045260245260445ffd5b508115612001565b6120ef90611530565b6118a7565b600193611fc9565b630e520c3b60e11b5f5260045260245ffd5b63b2094b5960e01b5f5260045ffd5b9190915f838201938412911290801582169115161761154057565b905f82670de0b6b3a7640000039212670de0b6b3a76400008312811690670de0b6b3a764000084139015161761154057565b81810392915f13801582851316918412161761154057565b80516020820151109081156121de575b5061219957565b60405162461bcd60e51b815260206004820152601f60248201527f496e7465726e616c3a20494e56414c49445f415050524f585f504152414d53006044820152606490fd5b670de0b6b3a7640000915060800151115f612192565b90158061226a575b6122635760208151910151808211156122545760405162461bcd60e51b815260206004820152601d60248201527f536c6970706167653a2067756573734d696e203e2067756573734d61780000006044820152606490fd5b61225d916118c8565b60011c90565b6040015190565b50604081015115156121fc565b90670de0b6b3a7640000820291808305670de0b6b3a7640000149015171561154057565b90815f03918083055f19149015171561154057565b81810292915f8212600160ff1b82141661154057818405149015171561154057565b81156118df57600160ff1b81145f19831416611540570590565b80156118df576a0c097ce7bc90715b34b9f160241b0590565b81156118df570590565b9391928451602083015183519060408501519284811261250a57611c8c611c866123439361233d888561216a565b9361211d565b670d529ae9e860000081136124ec5761236b9291611c8c61207a61236693612923565b61211d565b670de0b6b3a764000081126124b3575f606061239261238d84611c8c87612277565b61229b565b9401519213156124c55781611c8c6123a992612277565b670de0b6b3a764000081126124b35750670de0b6b3a76400006123d66123d060e093612138565b846122b0565b05945b01516001600160ff1b0381116103b5578460646123f961240093836122b0565b059261216a565b905f8212801561249d5715612495575f19915b5f811315612487575b670de0b6b3a7640000810290808204670de0b6b3a764000014901517156115405784612447916118c8565b5f198101908111611540578461245c916118d5565b6001600160ff1b0381116103b55761247a6124819161159c946122b0565b9585612a84565b93612a84565b61249090611530565b61241c565b600191612413565b506124816124ae61159c9386612a84565b61247a565b63329e322960e21b5f5260045260245ffd5b506124e661238d826124e16124db60e095612138565b866122b0565b6122d2565b946123d9565b637e34684f60e11b5f52600452670d529ae9e860000060245260445ffd5b60405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606490fd5b1561254157565b60405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606490fd5b680238fd42c5cf03ffff1981121580612910575b6125969061253a565b5f81126128fc5761159c906806f05b59d3b200000081126128bb576806f05b59d3b1ffffff190161275e606472195e54c5dd42177f53a27172fa9ec63026282760241b925b0268056bc75e2d631000009068ad78ebc5ac62000000811215612898575b6856bc75e2d63100000081121561286a575b682b5e3af16b1880000081121561283e575b6815af1d78b58c400000811215612812575b680ad78ebc5ac62000008112156127e7575b68056bc75e2d631000008112156127bc575b6802b5e3af16b1880000811215612791575b68015af1d78b58c40000811215612766575b600268056bc75e2d631000008280020505600368056bc75e2d631000008383020505600468056bc75e2d631000008483020505600568056bc75e2d631000008583020505600668056bc75e2d631000008683020505600768056bc75e2d63100000878302050590600868056bc75e2d63100000888402050592600968056bc75e2d6310000089860205059468056bc75e2d63100000600a8a8802829005059761272f68056bc75e2d631000008c8b02055b600b900590565b99600c68056bc75e2d631000008d8d0205059b0101010101010101010101010268056bc75e2d63100000900590565b026064900590565b68015af1d78b58c3ffff19019068056bc75e2d631000006806f5f17757889379379091020590612677565b6802b5e3af16b187ffff19019068056bc75e2d631000006808f00f760a4b2db55d9091020590612665565b68056bc75e2d630fffff19019068056bc75e2d63100000680ebc5fb417461211109091020590612653565b680ad78ebc5ac61fffff19019068056bc75e2d6310000068280e60114edb805d039091020590612641565b6815af1d78b58c3fffff19019068056bc75e2d63100000690127fa27722cc06cc5e2909102059061262f565b682b5e3af16b187fffff19019068056bc75e2d63100000693f1fce3da636ea5cf850909102059061261d565b6856bc75e2d630ffffff19019068056bc75e2d631000006b02df0ab5a80a22c61ab5a700909102059061260b565b6e01855144814a7ff805980ff0084000915068ad78ebc5ac61ffffff19016125f9565b6803782dace9d900000081126128ef576803782dace9d8ffffff190161275e60646b1425982cf597cd205cef7380926125db565b61275e60646001926125db565b612907905f03612579565b61159c906122ec565b5068070c1cc73b00c8000081131561258d565b670de0b6b3a7640000811461294557611c9781611c8c611c8661159c94612138565b63a9c8b14d60e01b5f5260045ffd5b5f811315612a4f5780670c7d713b49da00001280612a3e575b15612a3557670de0b6b3a7640000026a0c097ce7bc90715b34b9f160241b8101906ec097ce7bc90715b34b9f0fffffffff19016a0c097ce7bc90715b34b9f160241b02906129ba91612305565b670de0b6b3a764000060036a0c097ce7bc90715b34b9f160241b838002819005808502829005928305909401600592850282900592830501600792850282900592830501600992850282900592830501600b92850282900592830501600d92850282900592830501600f9290940205059190910160011b0590565b61159c90612af2565b50670f43fc2c04ee0000811261296d565b60405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606490fd5b5f821215612aea575f19915b5f811315612adb57905b670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561154057612ac4916118d5565b6001600160ff1b0381116103b55761159c916122b0565b612ae490611530565b90612a9a565b600191612a90565b670de0b6b3a76400008112612efd5761159c905f775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b821215612ed4575b73011798004d755d3c8bc8e03204cf44619e000000821215612ea7575b612c34906064808492029302906e01855144814a7ff805980ff0084000821215612e6d575b506b02df0ab5a80a22c61ab5a700811215612e3a575b693f1fce3da636ea5cf850811215612e09575b690127fa27722cc06cc5e2811215612dd8575b68280e60114edb805d03811215612da8575b680ebc5fb41746121110811215612d88575b6808f00f760a4b2db55d811215612d58575b6806f5f1775788937937811215612d28575b6806248f33704b286603811215612cf9575b6805c548670b9510e7ac811215612cca575b68056bc75e2d631000008181019168056bc75e2d630fffff190102612305565b612cbe61272868056bc75e2d6310000083800205612ca781612c9081612c798168056bc75e2d631000008a8202059960038b0501990268056bc75e2d63100000900590565b976005890501970268056bc75e2d63100000900590565b956007870501950268056bc75e2d63100000900590565b936009850501930268056bc75e2d63100000900590565b0160011b016064900590565b612cf168056bc75e2d631000006756bc75e2d631000092026805c548670b9510e7ac900590565b920191612c14565b612d2068056bc75e2d6310000067ad78ebc5ac62000092026806248f33704b286603900590565b920191612c02565b612d5068056bc75e2d6310000068015af1d78b58c4000092026806f5f1775788937937900590565b920191612bf0565b612d8068056bc75e2d631000006802b5e3af16b188000092026808f00f760a4b2db55d900590565b920191612bde565b68056bc75e2d6310000092830192680ebc5fb41746121110910205612bcc565b612dd068056bc75e2d63100000680ad78ebc5ac6200000920268280e60114edb805d03900590565b920191612bba565b612e0168056bc75e2d631000006815af1d78b58c4000009202690127fa27722cc06cc5e2900590565b920191612ba8565b612e3268056bc75e2d63100000682b5e3af16b188000009202693f1fce3da636ea5cf850900590565b920191612b95565b612e6568056bc75e2d631000006856bc75e2d63100000092026b02df0ab5a80a22c61ab5a700900590565b920191612b82565b68ad78ebc5ac62000000915069021e19e0c9bab2400000612e9e91026e01855144814a7ff805980ff0084000900590565b9201915f612b6c565b906803782dace9d9000000612ecb612c34926b1425982cf597cd205cef7380900590565b92019050612b47565b5072195e54c5dd42177f53a27172fa9ec63026282760241b90056806f05b59d3b2000000612b2a565b612f09612f0e916122ec565b612af2565b5f039056fea264697066735822122019d1e3808c017c627d5f2587b5400e42cdb853d2f0dffcc3e211933d1393ba3e64736f6c634300081c003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000