0 txs
0 calls
constructor
constructor(address _vaultLens, address _reulToken, address _pythOracle, address _governance)
functions
aprAfterDebtChange
viewfunction aprAfterDebtChange(address _strategy, int256 _delta) view returns (uint256 _apr)
EUL_TOKEN
viewfunction EUL_TOKEN() view returns (address)
eVaultApr
viewfunction eVaultApr(address _eVault, int256 _delta) view returns (uint256 _apr)
getRewardCampaigns
viewfunction getRewardCampaigns(address _vault, address _rewardToken) view returns (tuple[])
getTokenUsdPrice
viewfunction getTokenUsdPrice(address _token) view returns (uint256 price)
getTrackedVaults
viewfunction getTrackedVaults() view returns (address[])
getVaultRewardTokens
viewfunction getVaultRewardTokens(address _vault) view returns (address[])
governance
viewfunction governance() view returns (address)
name
viewfunction name() view returns (string)
PYTH_ORACLE
viewfunction PYTH_ORACLE() view returns (address)
REUL_TOKEN
viewfunction REUL_TOKEN() view returns (address)
rewardUsdApr
viewfunction rewardUsdApr(address _eVault, int256 _delta) view returns (uint256 _usdApr)
tokenInfo
viewfunction tokenInfo(address) view returns (address priceFeed, bytes32 pythPriceFeedId, uint256 manualPrice, uint8 decimals)
addRewardCampaigns
nonpayablefunction addRewardCampaigns(address[] _vaults, address[] _rewardTokens, tuple[] _rewardCampaignsArr)
multicall
nonpayablefunction multicall(bytes[] data) returns (bytes[] results)
reepStaleCampaigns
nonpayablefunction reepStaleCampaigns(address[] _vaults)
removeRewardCampaigns
nonpayablefunction removeRewardCampaigns(address[] _vaults, address[] _rewardTokens, tuple[] _rewardCampaignsArr)
setTokenInfo
nonpayablefunction setTokenInfo(address[] _tokens, tuple[] _tokenInfoArr)
transferGovernance
nonpayablefunction transferGovernance(address _newGovernance)
events
GovernanceTransferred
event GovernanceTransferred(address indexed previousGovernance, address indexed newGovernance)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
FailedCall
error FailedCall()
creation bytecode
0x61010060409080825234620001f05760808162002f7e80380380916200002682856200026a565b833981010312620001f0576200003c816200028e565b9060206200004c8183016200028e565b6200006760606200005f8786016200028e565b94016200028e565b8551909490808701906001600160401b038211818310176200025657908752601981527f45756c657220537472617465677920417072204f7261636c65000000000000009084019081525f80546001600160a01b0319166001600160a01b039788169081178255919391907f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce808180a36001918254928084811c941680156200024b575b868510146200023757879484601f88961162000206575b505166ffffffffffffff19166032179055831660805260a08190528651636f307dc360e01b81529283916004918391165afa918215620001fc575f92620001ba575b505060c0521660e05251612cda9081620002a4823960805181611f50015260a051818181610984015281816117af0152612ab5015260c0518181816102d4015261187c015260e0518181816112dc01526124440152f35b90809250813d8311620001f4575b620001d481836200026a565b81010312620001f057620001e8906200028e565b5f8062000163565b5f80fd5b503d620001c8565b85513d5f823e3d90fd5b825f52601f865f20910160051c8101905b81811062000226575062000121565b5f81558a9750889650830162000217565b634e487b7160e01b5f52602260045260245ffd5b93607f16936200010a565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176200025657604052565b51906001600160a01b0382168203620001f05756fe604060808152600480361015610013575f80fd5b5f3560e01c908162593bcf1461146457816306fdde03146113005781630977e8111461129257816326123f65146111075781632d9e85bd1461100a57816347ec296e14610e9b578163496bbd5a14610e555781635aa6e67514610e0457816364a741c414610d70578163673a00e214610b4557816378528f49146109a85781638677c1e51461093a5781638cea05331461064f5781639b6cd66314610602578163ac9650d8146103a7578163b70bc3b5146102f8578163cd4fd7bd1461028a578163d38bfff41461017a575063f5dab711146100ed575f80fd5b346101765760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101765760809073ffffffffffffffffffffffffffffffffffffffff908161013e6114a7565b165f526002602052805f20918254169160018101549160ff600360028401549301541692815194855260208501528301526060820152f35b5f80fd5b9050346101765760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610176576101b36114a7565b906101bc612649565b73ffffffffffffffffffffffffffffffffffffffff80921692831561022d5750505f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce805f80a3005b90602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600c60248201527f5a45524f204144445245535300000000000000000000000000000000000000006044820152fd5b8234610176575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610176576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b8234610176576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101765773ffffffffffffffffffffffffffffffffffffffff6103466114a7565b165f526006602052815f209180519182602085549182815201945f5260205f20915f905b8282106103905761038c8686610382828b038361154b565b51918291826116c3565b0390f35b83548752958601956001938401939091019061036a565b90503461017657602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101765767ffffffffffffffff8135818111610176576103f990369084016115f0565b909285519285840191848310828411176105d657508187525f845261041d836118a7565b9461042a8851968761154b565b8386527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610457856118a7565b01875f5b8281106105c6575050505f5b8481106104e857888888825191808301818452825180915281858501958260051b8601019301915f955b82871061049e5785850386f35b9091929382806104d8837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08a6001960301865288516115ad565b9601920196019592919092610491565b8060051b8201357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe183360301811215610176578201908135918483116101765789018236038113610176578a5f806105a1936105656105718f6001998f8e895195838794868601998a37840191858301938a85525193849161158c565b0103808452018261154b565b5190305af43d156105bd573d61059261058982611ce1565b9351938461154b565b82523d5f8d84013e5b30612c04565b6105ab828a611917565b526105b68189611917565b5001610467565b6060915061059b565b606082828b01015201889061045b565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b823461017657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101765760209061064861063f6114a7565b60243590611d9e565b9051908152f35b823461017657602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101765767ffffffffffffffff908335828111610176576106a490939293369086016115f0565b9390926106af612649565b5f945b8086106106bb57005b73ffffffffffffffffffffffffffffffffffffffff806106e46106df89858a6119eb565b6119fb565b16956106fb875f52600560205260405f2054151590565b1561092d57865f5260068452855f2092835491610717836118a7565b926107248951948561154b565b808452610730816118a7565b957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe080970136898701375f5b82811061090657505050905f915b83518310156108f2578461077e8486611917565b5116928a5f5260038852895f20845f528852895f20938454946107a0866118a7565b956107ad8d51978861154b565b808752896107ba826118a7565b01368c8901375f915f5b82811061085a575050508c5f5260038a528b5f20825f528a528b5f20905f5b81811061083c5750506001939495505415610802575b5001919061076a565b610815908c5f5260068a528b5f20612962565b508a5f5260068852895f20541561082d575b8d6107f9565b6108368b61283c565b50610827565b8061085361084c6001938b611917565b5185612962565b50016107e3565b8d6108658284612827565b90549060031b1c908160801c164211610882575b506001016107c4565b61088f858b969396611917565b527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108c35760018091019390610879565b50505060118f7f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b99935097505050600191505b0194936106b2565b808761091460019385612827565b90549060031b1c166109268289611917565b520161075c565b96905060019195506108fe565b8234610176575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610176576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b90503461017657817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101765767ffffffffffffffff908035828111610176576109f890369083016115f0565b6024949194926024359085821161017657366023830112156101765781810135958611610176576007903660248860071b8501011161017657610a39612649565b610a44878514611986565b5f5b848110610a4f57005b87811015610b1a5780831b84019060846003878c610a876106df8673ffffffffffffffffffffffffffffffffffffffff9485946119eb565b165f526002806020528a5f2091610a9f8d88016119fb565b167fffffffffffffffffffffffff000000000000000000000000000000000000000083541617825560448601356001830155606486013590820155019201359160ff8316809303610176576001927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905501610a46565b866032837f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b90503461017657610b5536611621565b9592949093610b62612649565b82811480610d67575b610b7490611986565b5f5b818110610b7f57005b610b8d6106df8284866119eb565b610b9b6106df83878b6119eb565b90610baf610baa848c8b611a1c565b611a41565b67ffffffffffffffff918282511660209384840151161115610d0b576fffffffffffffffffffffffffffffffff8d8301511615610caf5792610ca892610c928e93610c2c6001989773ffffffffffffffffffffffffffffffffffffffff80911696610c1988612b5f565b50875f52600686525f2095168095612bb2565b506fffffffffffffffffffffffffffffffff60407fffffffffffffffff000000000000000000000000000000000000000000000000835160c01b1677ffffffffffffffff00000000000000000000000000000000602085015160801b1617920151161790565b925f52600381528d5f20915f52528b5f20612bb2565b5001610b76565b606489848f51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600b60248201527f7a65726f20616d6f756e740000000000000000000000000000000000000000006044820152fd5b606489848f51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f696e76616c69642074696d696e670000000000000000000000000000000000006044820152fd5b50808714610b6b565b8234610176575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610176578051908183548082526020809201945f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f905b828210610ded5761038c8686610382828b038361154b565b835487529586019560019384019390910190610dd5565b8234610176575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101765760209073ffffffffffffffffffffffffffffffffffffffff5f54169051908152f35b823461017657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017657602090610648610e926114a7565b60243590611ad7565b823461017657610eaa36611621565b9091610eb896939496612649565b80871480611001575b610eca90611986565b5f5b878110610ed557005b80610ee66106df6001938b8b6119eb565b610ef46106df83868b6119eb565b610f6a610f05610baa85898b611a1c565b6fffffffffffffffffffffffffffffffff60407fffffffffffffffff000000000000000000000000000000000000000000000000835160c01b1677ffffffffffffffff00000000000000000000000000000000602085015160801b1617920151161790565b9173ffffffffffffffffffffffffffffffffffffffff80911692835f52610fa66003916020938385528c5f20951694855f5284528b5f20612962565b50835f528152885f20825f528152885f205415610fc7575b50505001610ecc565b825f52610fdb6006928383528a5f20612962565b50825f5252865f205415610ff1575b8080610fbe565b610ffa9061283c565b5089610fea565b50868214610ec1565b823461017657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101765773ffffffffffffffffffffffffffffffffffffffff60206110586114a7565b602435948451809481937ffbfa77cf000000000000000000000000000000000000000000000000000000008352165afa9081156110fd575f916110b7575b50806110b1846110ab60209661064895611d9e565b92611ad7565b9061194c565b90506020813d6020116110f5575b816110d26020938361154b565b81010312610176576020926110b16110ec6106489361192b565b92505092611096565b3d91506110c5565b82513d5f823e3d90fd5b823461017657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101765761113e6114a7565b6024359073ffffffffffffffffffffffffffffffffffffffff9081831680930361017657165f52600360209160038352835f20905f528252825f2090815490611186826118a7565b926111938651948561154b565b8284527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06111c0846118a7565b01855f5b82811061127c575050505f5b83811061124557505050508251918083018184528251809152818585019301915f5b8281106111ff5785850386f35b8351805167ffffffffffffffff90811687528184015116868401528701516fffffffffffffffffffffffffffffffff1687860152606090940193928101926001016111f2565b8061126061125560019385612827565b905490861b1c61260d565b61126a8288611917565b526112758187611917565b50016111d0565b6112846118bf565b8282890101520186906111c4565b8234610176575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610176576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b8234610176575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610176578051905f90600191600154928360011c906001851694851561145a575b602095868410811461142e578388528794939291879082156113ee575050600114611393575b505061038c929161138491038561154b565b519282849384528301906115ad565b9085925060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f925b8284106113d65750505082010181611384611372565b8054848a0186015288955087949093019281016113c0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506113849050611372565b6022897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b91607f169161134c565b82346101765760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610176576020906106486114a26114a7565b611796565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017657565b6080810190811067ffffffffffffffff8211176114e657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060810190811067ffffffffffffffff8211176114e657604052565b6040810190811067ffffffffffffffff8211176114e657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176114e657604052565b5f5b83811061159d5750505f910152565b818101518382015260200161158e565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936115e98151809281875287808801910161158c565b0116010190565b9181601f840112156101765782359167ffffffffffffffff8311610176576020808501948460051b01011161017657565b9060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126101765767ffffffffffffffff90600435828111610176578361166d916004016115f0565b939093926024358181116101765782611688916004016115f0565b939093926044359083821161017657806023830112156101765781600401359384116101765760246060850283010111610176576024019190565b60209060206040818301928281528551809452019301915f5b8281106116ea575050505090565b835173ffffffffffffffffffffffffffffffffffffffff16855293810193928101926001016116dc565b811561171e570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b90604051611758816114ca565b606060ff6003839573ffffffffffffffffffffffffffffffffffffffff81541685526001810154602086015260028101546040860152015416910152565b73ffffffffffffffffffffffffffffffffffffffff90817f00000000000000000000000000000000000000000000000000000000000000001682821614611875576118026118079173ffffffffffffffffffffffffffffffffffffffff165f52600260205260405f2090565b61174b565b9060408201518061186f5750815173ffffffffffffffffffffffffffffffffffffffff16908116611856575b506020015180611843575b505f90565b61184c906123f5565b801561183e575b90565b61185f906122b8565b908161186b5790611833565b5090565b91505090565b50506118a07f0000000000000000000000000000000000000000000000000000000000000000611796565b6005900490565b67ffffffffffffffff81116114e65760051b60200190565b604051906118cc82611513565b5f6040838281528260208201520152565b8051156118ea5760200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b80518210156118ea5760209160051b010190565b519073ffffffffffffffffffffffffffffffffffffffff8216820361017657565b9190820180921161195957565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b1561198d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6c656e677468206d69736d6174636800000000000000000000000000000000006044820152fd5b91908110156118ea5760051b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036101765790565b91908110156118ea576060020190565b359067ffffffffffffffff8216820361017657565b606081360312610176576040805191611a5983611513565b611a6281611a2c565b8352611a7060208201611a2c565b602084015201356fffffffffffffffffffffffffffffffff8116810361017657604082015290565b9190915f838201938412911290801582169115161761195957565b8181029291811591840414171561195957565b60ff16604d811161195957600a0a90565b91905f9273ffffffffffffffffffffffffffffffffffffffff9081811691611b0a835f52600560205260405f2054151590565b15611cd85760408051947f38d52e0f0000000000000000000000000000000000000000000000000000000086526020908187600481895afa968715611cce575f97611c97575b50611b5a87611796565b908115611c8a5783517f01e1d11400000000000000000000000000000000000000000000000000000000815283816004818b5afa908115611c805790869392915f91611c48575b50611bb59291611bb091611a98565b611ab3565b96165f5260028152611bdb600396611bd560ff6003865f20015416611ac6565b90611714565b948515611c3c57906006915f9695949652525f20925f948454945b858710611c065750505050505050565b90919293949597611c2f6001916110b18887611c228e88612827565b905490891b1c16896126c7565b9801959493929190611bf6565b505f9750505050505050565b9350909190508383813d8111611c79575b611c63818361154b565b8101031261017657915185929190611bb5611ba1565b503d611c59565b85513d5f823e3d90fd5b505f985050505050505050565b9096508181813d8311611cc7575b611caf818361154b565b8101031261017657611cc09061192b565b955f611b50565b503d611ca5565b83513d5f823e3d90fd5b505f9450505050565b67ffffffffffffffff81116114e657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215610176578051611d3181611ce1565b92611d3f604051948561154b565b8184526020828401011161017657611853916020808501910161158c565b519060ff8216820361017657565b9081518082526020808093019301915f5b828110611d8a575050505090565b835185529381019392810192600101611d7c565b9060405191611dac8361152f565b600183526020368185013773ffffffffffffffffffffffffffffffffffffffff809116916040517f961be391000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156121ce575f9161226f575b50611e17856118dd565b52611e21846118dd565b517f8000000000000000000000000000000000000000000000000000000000000000821461195957815f031361221157611e6490611e5e856118dd565b51611a98565b611e6d846118dd565b5260405192611e7b8461152f565b60018452602036818601376040517f47bd3718000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156121ce575f916121d9575b50905f93611f1c9392611ed5876118dd565b52611f4c604051968795869485947fd1dc6e3b0000000000000000000000000000000000000000000000000000000086526004860152606060248601526064850190611d6b565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc848303016044850152611d6b565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa9081156121ce575f91611f9b575b506080611f9481633b9aca009301516118dd565b5101510490565b90503d805f833e611fac818361154b565b602082828101031261017657815167ffffffffffffffff81116101765760c08184018385010312610176576040519060c0820182811067ffffffffffffffff8211176114e6576040528084015180151581036101765782526020818501015167ffffffffffffffff81116101765761202b908486019083870101611d1b565b602083015261203e60408286010161192b565b604083015261205160608286010161192b565b6060830152608080828601015167ffffffffffffffff81116101765782860101848601601f82011215610176578051612089816118a7565b92612097604051948561154b565b8184526020840192878901602060a0850283010111610176579260208401935b602060a085028201018510612162575050505050608083015260a081850101519067ffffffffffffffff821161017657840101916060838286010312610176576040519161210483611513565b61210d8461192b565b835261211b60208501611d5d565b602084015260408401519267ffffffffffffffff84116101765761214f608095611f94958795633b9aca0099019101611d1b565b604082015260a082015293505050611f80565b60a0858a8c010312610176576040518060a081011067ffffffffffffffff60a0830111176114e65760a060208094838380950160405289518152828a01518382015260408a0151604082015260608a01516060820152878a0151888201528152019601959250506120b7565b6040513d5f823e3d90fd5b929190506020833d602011612209575b816121f66020938361154b565b810103126101765791519091905f611ec3565b3d91506121e9565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f64656c746120746f6f20626967000000000000000000000000000000000000006044820152fd5b90506020813d602011612299575b8161228a6020938361154b565b8101031261017657515f611e0d565b3d915061227d565b519069ffffffffffffffffffff8216820361017657565b604051907ffeaf968c00000000000000000000000000000000000000000000000000000000825260a08260048173ffffffffffffffffffffffffffffffffffffffff85165afa5f9281612392575b506123115750505f90565b5f82131561238c5761232460ff9161275c565b16601281101561234c576012039060ff82116119595761234661185392611ac6565b90611ab3565b601281111561186b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee019060ff821161195957611bd561185392611ac6565b50505f90565b90925060a0813d60a0116123d9575b816123ae60a0938361154b565b81010312610176576123bf816122a1565b506123d16080602083015192016122a1565b50915f612306565b3d91506123a1565b63ffffffff16604d811161195957600a0a90565b801561183e57604051907f96834ad3000000000000000000000000000000000000000000000000000000008252600482015260808160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa5f9181612585575b5061247857505f90565b8051908160070b905f8213801590612579575b6125725760400151915f8360030b92125f146124a8575050505f90565b67ffffffffffffffff16915f82121561255257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000081146119595763ffffffff91905f03821680601281101561250f575060120391821161195957612346611853926123e1565b6012101561254c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0191821161195957611bd5611853926123e1565b50905090565b601263ffffffff91821601929150821161195957612346611853926123e1565b5050505f90565b5060608101511561248b565b9091506080813d608011612605575b816125a16080938361154b565b8101031261017657604051906125b6826114ca565b80518060070b8103610176578252602081015167ffffffffffffffff811681036101765760208301526040810151908160030b820361017657606091604084015201516060820152905f61246e565b3d9150612594565b6fffffffffffffffffffffffffffffffff6126266118bf565b918060c01c835267ffffffffffffffff8160801c16602084015216604082015290565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361266957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676f7665726e616e63650000000000000000000000000000000000000000006044820152fd5b92915f936126d483611796565b8015611cd857919073ffffffffffffffffffffffffffffffffffffffff8091165f52600390600360205260405f209085165f5260205260405f20925f948454945b8587106127255750505050505050565b9091929394959761274f6001916110b18886886127428f89612827565b90544293918d1b1c612a32565b9801959493929190612715565b602073ffffffffffffffffffffffffffffffffffffffff916004604051809481937f313ce567000000000000000000000000000000000000000000000000000000008352165afa5f91816127b6575b506118535750600890565b9091506020813d6020116127ea575b816127d26020938361154b565b81010312610176576127e390611d5d565b905f6127ab565b3d91506127c5565b6004548110156118ea5760045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01905f90565b80548210156118ea575f5260205f2001905f90565b5f81815260056020526040902054801561238c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908181018181116119595760045490838201918211611959578181036128f9575b50505060045480156128cc578101906128aa826127f2565b909182549160031b1b191690556004555f5260056020525f6040812055600190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b61294c612908612917936127f2565b90549060031b1c9283926127f2565b81939154907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060031b92831b921b19161790565b90555f52600560205260405f20555f8080612892565b906001820191815f528260205260405f2054908115155f14612a2a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182810181811161195957825490848201918211611959578181036129f5575b505050805480156128cc578201916129d78383612827565b909182549160031b1b19169055555f526020525f6040812055600190565b612a15612a056129179386612827565b90549060031b1c92839286612827565b90555f528460205260405f20555f80806129bf565b505050505f90565b612a3f909391929361260d565b9267ffffffffffffffff91826020860151169080821190811591612b52575b50612b485782855116900382811161195957612af5946fffffffffffffffffffffffffffffffff6040612a9995611bb0941692015116611714565b9073ffffffffffffffffffffffffffffffffffffffff908116907f0000000000000000000000000000000000000000000000000000000000000000168114612b38575f526002602052611bd560ff600360405f20015416611ac6565b906301e1338091828102928184041481151715611959576a1a1601fc4ea7109e0000000291808304670de0b6b3a764000014901517156119595761185391611714565b50670de0b6b3a764000090611714565b5050505050505f90565b905083865116115f612a5e565b805f52600560205260405f2054155f1461183e57600454680100000000000000008110156114e657612b9b6129178260018594016004556127f2565b9055600454905f52600560205260405f2055600190565b6001810190825f528160205260405f2054155f14612572578054680100000000000000008110156114e657612bf1612917826001879401855584612827565b905554915f5260205260405f2055600190565b90612c435750805115612c1957805190602001fd5b60046040517fd6bda275000000000000000000000000000000000000000000000000000000008152fd5b81511580612c9b575b612c54575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b15612c4c56fea2646970667358221220897bbd8b21aeb58e765e346e62c7f6c002dc2802c1a5294597737e7ca1c1395764736f6c63430008170033000000000000000000000000ccc8d18e40c439f5234042fbea0f4f1528f52f00000000000000000000000000e08e1f00d388e201e48842e53fa96195568e68130000000000000000000000008250f4af4b972684f7b336503e2d6dfedeb1487a000000000000000000000000787aba336583f4a1d4f8cbbfdffd49f3a38de665