ETH Price: $2,484.91 (-0.63%)

Contract

0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Rebalance Up221706102025-04-01 0:55:23524 days ago1743468923IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.000624421.3652362
Rebalance Up221705962025-04-01 0:52:35524 days ago1743468755IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.000590381.29061265
Rebalance Up221705752025-04-01 0:48:23524 days ago1743468503IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.000647591.41554094
Rebalance Up221705552025-04-01 0:44:23524 days ago1743468263IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.000718841.46867147
Rebalance Up221705162025-04-01 0:36:23524 days ago1743467783IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.000673331.37809844
Rebalance Up221704762025-04-01 0:28:23524 days ago1743467303IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.000882861.38873358
Rebalance Up221704562025-04-01 0:24:23524 days ago1743467063IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.000847691.40775251
Rebalance Up221704362025-04-01 0:20:23524 days ago1743466823IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.001234341.45186602
Rebalance Up221704212025-04-01 0:17:23524 days ago1743466643IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.001737761.55378286
Rebalance Up221703862025-04-01 0:10:23524 days ago1743466223IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.002221521.45480726
Rebalance Up221703662025-04-01 0:06:23524 days ago1743465983IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.002474581.45712143
Rebalance Up221703312025-03-31 23:59:23524 days ago1743465563IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.002309421.49480611
Rebalance Up221703162025-03-31 23:56:23524 days ago1743465383IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.002496961.56006549
Rebalance Up221702962025-03-31 23:52:23524 days ago1743465143IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.002306141.51374422
Rebalance Down221671432025-03-31 13:17:23525 days ago1743427043IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.001355871.98220775
Rebalance Down221655142025-03-31 7:50:23525 days ago1743407423IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.00220261.51486462
Rebalance Up221583472025-03-30 7:51:23526 days ago1743321083IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.002076361.32085594
Rebalance Up221579462025-03-30 6:30:23526 days ago1743316223IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.001446481.3378388
Rebalance Up221576492025-03-30 5:30:23526 days ago1743312623IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.001411571.37745868
Rebalance Up221573452025-03-30 4:29:23526 days ago1743308963IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.001457381.37622809
Rebalance Up221551042025-03-29 20:59:23527 days ago1743281963IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.002188551.52036604
Rebalance Up221459892025-03-28 14:24:23528 days ago1743171863IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.001451352.20654888
Rebalance Up221452752025-03-28 12:01:23528 days ago1743163283IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.001724341.739729
Rebalance Up221449712025-03-28 11:00:23528 days ago1743159623IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.001633161.61975579
Rebalance Up221446712025-03-28 9:59:23528 days ago1743155963IN
0x2f80eE76E44047E3CbB40FC4C0CC2f7f04fA1709
0 ETH0.001827221.4141801
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Source Code Verified Exact Match

Contract Name

OrigamiLovTokenMorphoManager

Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled
Yes with 10000 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"address","name":"_initialOwner","type":"address"},{"internalType":"address","name":"_reserveToken_","type":"address"},{"internalType":"address","name":"_debtToken_","type":"address"},{"internalType":"address","name":"_dynamicFeeOracleBaseToken","type":"address"},{"internalType":"address","name":"_lovToken","type":"address"},{"internalType":"address","name":"_borrowLend","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint128","name":"ratioBefore","type":"uint128"},{"internalType":"uint128","name":"ratioAfter","type":"uint128"},{"internalType":"uint128","name":"maxRatio","type":"uint128"}],"name":"ALTooHigh","type":"error"},{"inputs":[{"internalType":"uint128","name":"ratioBefore","type":"uint128"},{"internalType":"uint128","name":"ratioAfter","type":"uint128"},{"internalType":"uint128","name":"minRatio","type":"uint128"}],"name":"ALTooLow","type":"error"},{"inputs":[],"name":"ExpectedNonZero","type":"error"},{"inputs":[],"name":"InvalidAccess","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"InvalidAddress","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"InvalidAmount","type":"error"},{"inputs":[],"name":"InvalidParam","type":"error"},{"inputs":[{"internalType":"uint128","name":"floor","type":"uint128"},{"internalType":"uint128","name":"ceiling","type":"uint128"}],"name":"InvalidRange","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"InvalidToken","type":"error"},{"inputs":[],"name":"IsPaused","type":"error"},{"inputs":[],"name":"NoAvailableReserves","type":"error"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"name":"PRBMath_MulDiv_Overflow","type":"error"},{"inputs":[{"internalType":"uint256","name":"minAmountExpected","type":"uint256"},{"internalType":"uint256","name":"actualAmount","type":"uint256"}],"name":"Slippage","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"AllowAccountSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"AllowAllSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"BorrowLendSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"bytes4","name":"fnSelector","type":"bytes4"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"ExplicitAccessSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"maxExitFeeBps","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"minExitFeeBps","type":"uint16"},{"indexed":false,"internalType":"uint24","name":"feeLeverageFactor","type":"uint24"}],"name":"FeeConfigSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum DynamicFees.FeeType","name":"feeType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"feeBps","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"feeAmount","type":"uint256"}],"name":"InKindFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"NewOwnerAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"oldProposedOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newProposedOwner","type":"address"}],"name":"NewOwnerProposed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"debtTokenToReserveTokenOracle","type":"address"},{"indexed":true,"internalType":"address","name":"dynamicFeePriceOracle","type":"address"}],"name":"OraclesSet","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"bool","name":"investmentsPaused","type":"bool"},{"internalType":"bool","name":"exitsPaused","type":"bool"}],"indexed":false,"internalType":"struct IOrigamiManagerPausable.Paused","name":"paused","type":"tuple"}],"name":"PausedSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"canPause","type":"bool"}],"name":"PauserSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int256","name":"collateralChange","type":"int256"},{"indexed":false,"internalType":"int256","name":"debtChange","type":"int256"},{"indexed":false,"internalType":"uint256","name":"alRatioBefore","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"alRatioAfter","type":"uint256"}],"name":"Rebalance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint128","name":"floor","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"ceiling","type":"uint128"}],"name":"RebalanceALRangeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint128","name":"floor","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"ceiling","type":"uint128"}],"name":"UserALRangeSet","type":"event"},{"inputs":[],"name":"PRECISION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"acceptedExitTokens","outputs":[{"internalType":"address[]","name":"tokens","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptedInvestTokens","outputs":[{"internalType":"address[]","name":"tokens","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allowAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"allowedAccounts","outputs":[{"internalType":"bool","name":"allowed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"areExitsPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"areInvestmentsPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"assetToLiabilityRatio","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum IOrigamiOracle.PriceType","name":"debtPriceType","type":"uint8"}],"name":"assetsAndLiabilities","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowLend","outputs":[{"internalType":"contract IOrigamiMorphoBorrowAndLend","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"debtToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"debtTokenToReserveTokenOracle","outputs":[{"internalType":"contract IOrigamiOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dynamicFeeOracleBaseToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dynamicFeePriceOracle","outputs":[{"internalType":"contract IOrigamiOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum IOrigamiOracle.PriceType","name":"debtPriceType","type":"uint8"}],"name":"effectiveExposure","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"investmentAmount","type":"uint256"},{"internalType":"address","name":"toToken","type":"address"},{"internalType":"uint256","name":"maxSlippageBps","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"exitQuote","outputs":[{"components":[{"internalType":"uint256","name":"investmentTokenAmount","type":"uint256"},{"internalType":"address","name":"toToken","type":"address"},{"internalType":"uint256","name":"maxSlippageBps","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256","name":"expectedToTokenAmount","type":"uint256"},{"internalType":"uint256","name":"minToTokenAmount","type":"uint256"},{"internalType":"bytes","name":"underlyingInvestmentQuoteData","type":"bytes"}],"internalType":"struct IOrigamiInvestment.ExitQuoteData","name":"quoteData","type":"tuple"},{"internalType":"uint256[]","name":"exitFeeBps","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"components":[{"internalType":"uint256","name":"investmentTokenAmount","type":"uint256"},{"internalType":"address","name":"toToken","type":"address"},{"internalType":"uint256","name":"maxSlippageBps","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256","name":"expectedToTokenAmount","type":"uint256"},{"internalType":"uint256","name":"minToTokenAmount","type":"uint256"},{"internalType":"bytes","name":"underlyingInvestmentQuoteData","type":"bytes"}],"internalType":"struct IOrigamiInvestment.ExitQuoteData","name":"quoteData","type":"tuple"},{"internalType":"address","name":"recipient","type":"address"}],"name":"exitToToken","outputs":[{"internalType":"uint256","name":"toTokenAmount","type":"uint256"},{"internalType":"uint256","name":"toBurnAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes4","name":"","type":"bytes4"}],"name":"explicitFunctionAccess","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"supplyAmount","type":"uint256"},{"internalType":"uint256","name":"borrowAmount","type":"uint256"},{"internalType":"bytes","name":"swapData","type":"bytes"},{"internalType":"uint256","name":"supplyCollateralSurplusThreshold","type":"uint256"},{"internalType":"uint128","name":"minNewAL","type":"uint128"},{"internalType":"uint128","name":"maxNewAL","type":"uint128"}],"internalType":"struct IOrigamiLovTokenMorphoManager.RebalanceDownParams","name":"params","type":"tuple"}],"name":"forceRebalanceDown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"repayAmount","type":"uint256"},{"internalType":"uint256","name":"withdrawCollateralAmount","type":"uint256"},{"internalType":"bytes","name":"swapData","type":"bytes"},{"internalType":"uint256","name":"repaySurplusThreshold","type":"uint256"},{"internalType":"uint128","name":"minNewAL","type":"uint128"},{"internalType":"uint128","name":"maxNewAL","type":"uint128"}],"internalType":"struct IOrigamiLovTokenMorphoManager.RebalanceUpParams","name":"params","type":"tuple"}],"name":"forceRebalanceUp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getDynamicFeesBps","outputs":[{"internalType":"uint256","name":"depositFeeBps","type":"uint256"},{"internalType":"uint256","name":"exitFeeBps","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFeeConfig","outputs":[{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"fromTokenAmount","type":"uint256"},{"internalType":"address","name":"fromToken","type":"address"},{"internalType":"uint256","name":"maxSlippageBps","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"investQuote","outputs":[{"components":[{"internalType":"address","name":"fromToken","type":"address"},{"internalType":"uint256","name":"fromTokenAmount","type":"uint256"},{"internalType":"uint256","name":"maxSlippageBps","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256","name":"expectedInvestmentAmount","type":"uint256"},{"internalType":"uint256","name":"minInvestmentAmount","type":"uint256"},{"internalType":"bytes","name":"underlyingInvestmentQuoteData","type":"bytes"}],"internalType":"struct IOrigamiInvestment.InvestQuoteData","name":"quoteData","type":"tuple"},{"internalType":"uint256[]","name":"investFeeBps","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"components":[{"internalType":"address","name":"fromToken","type":"address"},{"internalType":"uint256","name":"fromTokenAmount","type":"uint256"},{"internalType":"uint256","name":"maxSlippageBps","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256","name":"expectedInvestmentAmount","type":"uint256"},{"internalType":"uint256","name":"minInvestmentAmount","type":"uint256"},{"internalType":"bytes","name":"underlyingInvestmentQuoteData","type":"bytes"}],"internalType":"struct IOrigamiInvestment.InvestQuoteData","name":"quoteData","type":"tuple"}],"name":"investWithToken","outputs":[{"internalType":"uint256","name":"investmentAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isPauser","outputs":[{"internalType":"bool","name":"canPause","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum IOrigamiOracle.PriceType","name":"debtPriceType","type":"uint8"}],"name":"liabilities","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lovToken","outputs":[{"internalType":"contract IOrigamiLovToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"toToken","type":"address"}],"name":"maxExit","outputs":[{"internalType":"uint256","name":"sharesAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"fromToken","type":"address"}],"name":"maxInvest","outputs":[{"internalType":"uint256","name":"fromTokenAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"pausers","outputs":[{"internalType":"bool","name":"canPause","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"proposeNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rebalanceALRange","outputs":[{"internalType":"uint128","name":"floor","type":"uint128"},{"internalType":"uint128","name":"ceiling","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"supplyAmount","type":"uint256"},{"internalType":"uint256","name":"borrowAmount","type":"uint256"},{"internalType":"bytes","name":"swapData","type":"bytes"},{"internalType":"uint256","name":"supplyCollateralSurplusThreshold","type":"uint256"},{"internalType":"uint128","name":"minNewAL","type":"uint128"},{"internalType":"uint128","name":"maxNewAL","type":"uint128"}],"internalType":"struct IOrigamiLovTokenMorphoManager.RebalanceDownParams","name":"params","type":"tuple"}],"name":"rebalanceDown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"repayAmount","type":"uint256"},{"internalType":"uint256","name":"withdrawCollateralAmount","type":"uint256"},{"internalType":"bytes","name":"swapData","type":"bytes"},{"internalType":"uint256","name":"repaySurplusThreshold","type":"uint256"},{"internalType":"uint128","name":"minNewAL","type":"uint128"},{"internalType":"uint128","name":"maxNewAL","type":"uint128"}],"internalType":"struct IOrigamiLovTokenMorphoManager.RebalanceUpParams","name":"params","type":"tuple"}],"name":"rebalanceUp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recoverToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reserveToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reservesBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"reserves","type":"uint256"},{"internalType":"enum IOrigamiOracle.PriceType","name":"debtPriceType","type":"uint8"}],"name":"reservesToShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAllowAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setAllowAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setBorrowLend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"allowedCaller","type":"address"},{"components":[{"internalType":"bytes4","name":"fnSelector","type":"bytes4"},{"internalType":"bool","name":"allowed","type":"bool"}],"internalType":"struct IOrigamiElevatedAccess.ExplicitAccess[]","name":"access","type":"tuple[]"}],"name":"setExplicitAccess","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"minDepositFeeBps","type":"uint16"},{"internalType":"uint16","name":"minExitFeeBps","type":"uint16"},{"internalType":"uint24","name":"feeLeverageFactor","type":"uint24"}],"name":"setFeeConfig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_debtTokenToReserveTokenOracle","type":"address"},{"internalType":"address","name":"_dynamicFeePriceOracle","type":"address"}],"name":"setOracles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"investmentsPaused","type":"bool"},{"internalType":"bool","name":"exitsPaused","type":"bool"}],"internalType":"struct IOrigamiManagerPausable.Paused","name":"updatedPaused","type":"tuple"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"canPause","type":"bool"}],"name":"setPauser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"floor","type":"uint128"},{"internalType":"uint128","name":"ceiling","type":"uint128"}],"name":"setRebalanceALRange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"floor","type":"uint128"},{"internalType":"uint128","name":"ceiling","type":"uint128"}],"name":"setUserALRange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"enum IOrigamiOracle.PriceType","name":"debtPriceType","type":"uint8"}],"name":"sharesToReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"userALRange","outputs":[{"internalType":"uint128","name":"floor","type":"uint128"},{"internalType":"uint128","name":"ceiling","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum IOrigamiOracle.PriceType","name":"debtPriceType","type":"uint8"}],"name":"userRedeemableReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
6101006040523480156200001257600080fd5b5060405162004ea438038062004ea4833981016040819052620000359162000222565b85828162000043816200018c565b506001600160a01b0390811660805286811660a05285811660c05284811660e052600a80546001600160a01b0319168483161790556040805163313ce56760e01b81529051600093509185169163313ce567916004808201926020929091908290030181865afa158015620000bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000e29190620002a3565b60ff16905080866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000127573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014d9190620002a3565b60ff16146200017f5760405163961c9a4f60e01b81526001600160a01b03871660048201526024015b60405180910390fd5b50505050505050620002cf565b6000546001600160a01b031615620001b757604051633006171960e21b815260040160405180910390fd5b6001600160a01b038116620001e357604051634726455360e11b81526000600482015260240162000176565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b80516001600160a01b03811681146200021d57600080fd5b919050565b60008060008060008060c087890312156200023c57600080fd5b620002478762000205565b9550620002576020880162000205565b9450620002676040880162000205565b9350620002776060880162000205565b9250620002876080880162000205565b91506200029760a0880162000205565b90509295509295509295565b600060208284031215620002b657600080fd5b815160ff81168114620002c857600080fd5b9392505050565b60805160a05160c05160e051614afa620003aa6000396000818161078f0152818161107c015281816128340152612e7d0152600081816108d00152818161101a0152818161109d0152818161201c015261258e0152600081816107d901528181610ff9015281816113620152818161274c015281816128ac01528181612fa201528181612ff1015281816133ce015281816134e3015281816136040152818161377401526138ba0152600081816103f6015281816117a201528181611dab015281816126be0152818161299101526137fa0152614afa6000f3fe608060405234801561001057600080fd5b50600436106103625760003560e01c80638a83c9cd116101c8578063baaaa7b111610104578063e04610ed116100a2578063eea2f45c1161007c578063eea2f45c146108a8578063f4325d67146107d7578063f69959a3146108bb578063f8d89898146108ce57600080fd5b8063e04610ed1461085c578063e664b0201461087f578063ebbc4965146108a057600080fd5b8063c677e275116100de578063c677e275146107fd578063d4da79b314610810578063da5e0f0e1461081b578063daeccc791461082e57600080fd5b8063baaaa7b1146107b1578063bfccf0ec146107c4578063c55dae63146107d757600080fd5b8063a7229fd911610171578063b07c63c71161014b578063b07c63c714610751578063b1f8100d14610764578063b5a2d9a914610777578063ba2c46491461078a57600080fd5b8063a7229fd914610701578063a8e93cdb14610714578063aaf5eb681461074257600080fd5b806395ea64a5116101a257806395ea64a5146106c15780639a6b27cf146106d4578063a515b8ec146106e457600080fd5b80638a83c9cd1461063d5780638da5cb5b1461069b57806395c5b3b6146106ae57600080fd5b80634edd74e8116102a25780636026220d116102405780636a1eb7b81161021a5780636a1eb7b81461063d5780637180c8ca1461065257806372e0c0f41461066557806380f51c121461067857600080fd5b80636026220d14610604578063643b1e501461061757806365f2ba2f1461062a57600080fd5b806353740e041161027c57806353740e041461057f578063572a9302146105925780635aa89173146105a55780635fbbc0d2146105b857600080fd5b80634edd74e8146105575780634ee643a51461055f57806352e648f01461056c57600080fd5b806329aa41361161030f57806346fbf68e116102e957806346fbf68e146104ab5780634c9da063146104e75780634cdf587a1461051b5780634d7d9c011461054457600080fd5b806329aa413614610472578063415a127114610485578063431072f71461049857600080fd5b806319000c421161034057806319000c42146103f15780631a0377d11461043057806324b821ab1461045157600080fd5b806302cb4ed1146103675780630bd7260d1461037c57806313da2d4a1461038f575b600080fd5b61037a610375366004613eb1565b6108f4565b005b61037a61038a366004613eb1565b61094d565b6008546103c3906fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152015b60405180910390f35b6104187f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103e8565b61044361043e366004613efb565b6109a3565b6040516103e8929190613fe1565b61046461045f366004614067565b610af2565b6040519081526020016103e8565b61037a6104803660046140a1565b610b0f565b6104646104933660046140da565b610c77565b61037a6104a6366004614117565b610ce2565b6104d76104b93660046140da565b6001600160a01b031660009081526003602052604090205460ff1690565b60405190151581526020016103e8565b6009546103c3906fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b610523610e02565b6040516fffffffffffffffffffffffffffffffff90911681526020016103e8565b61037a610552366004614141565b610e1b565b610464610ecb565b6005546104d79060ff1681565b600c54610418906001600160a01b031681565b61037a61058d366004613eb1565b610f52565b61037a6105a036600461415e565b610fa8565b61037a6105b336600461419e565b611129565b6007546040805167ffffffffffffffff808416825268010000000000000000840481166020830152700100000000000000000000000000000000909304909216908201526060016103e8565b6104646106123660046141ed565b6112c1565b610464610625366004614067565b6112d4565b61037a610638366004613eb1565b6112e8565b61064561133e565b6040516103e89190614208565b61037a6106603660046140a1565b6113b7565b600b54610418906001600160a01b031681565b6104d76106863660046140da565b60036020526000908152604090205460ff1681565b600054610418906001600160a01b031681565b61037a6106bc366004614117565b611478565b61037a6106cf3660046140da565b611594565b600454610100900460ff166104d7565b6106ec611684565b604080519283526020830191909152016103e8565b61037a61070f366004614255565b61169f565b6107276107223660046141ed565b611750565b604080519384526020840192909252908201526060016103e8565b610464670de0b6b3a764000081565b61046461075f3660046142a8565b611795565b61037a6107723660046140da565b61199d565b6104646107853660046140da565b611aac565b6104187f000000000000000000000000000000000000000000000000000000000000000081565b61037a6107bf3660046142f8565b611b5a565b61037a6107d236600461430a565b611bce565b7f0000000000000000000000000000000000000000000000000000000000000000610418565b6106ec61080b366004614392565b611d9d565b60045460ff166104d7565b6104646108293660046141ed565b611f4e565b6104d761083c36600461441b565b600160209081526000928352604080842090915290825290205460ff1681565b6104d761086a3660046140da565b60066020526000908152604090205460ff1681565b61089261088d366004613efb565b612093565b6040516103e8929190614447565b61037a6121da565b6105236108b63660046141ed565b612275565b600a54610418906001600160a01b031681565b7f0000000000000000000000000000000000000000000000000000000000000000610418565b610922336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b61093f57604051633006171960e21b815260040160405180910390fd5b61094a81600061235a565b50565b61097b336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b61099857604051633006171960e21b815260040160405180910390fd5b61094a81600061249f565b6109ec6040518060e0016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001606081525090565b606085600003610a28576040517f54db0c8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a346000612675565b90506000610a428789612748565b90506000610a508383612790565b90506000610a5c612819565b9050610a6a8282600061287b565b6001600160a01b038a168752602087018b90526040870189905260608701889052608087018190529150610aa08289600161287b565b60a087015260408051600180825281830190925290602080830190803683370190505094508085600081518110610ad957610ad96144aa565b6020026020010181815250505050505094509492505050565b6000610b06610b0083612675565b84612790565b90505b92915050565b610b3d336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b610b5a57604051633006171960e21b815260040160405180910390fd5b6001600160a01b038216610baa576040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b816001600160a01b03163b600003610bf9576040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610ba1565b6001600160a01b03821660008181526006602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527fee397872136f42e5319f2ebe127140e4741bee3ff02b86b7410a0b02778216de91015b60405180910390a25050565b600080610c846000612675565b9050610c8f836128a8565b91506000610c9c8261298c565b90506000610ca983612a64565b905081811015610cb7578091505b600019821015610cce57610ccb8583612748565b91505b83821015610cda578193505b505050919050565b610d10336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b610d2d57604051633006171960e21b815260040160405180910390fd5b670de0b6b3a7640000826fffffffffffffffffffffffffffffffff1611610d9c576040517f33693ae60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff808416600483015282166024820152604401610ba1565b604080516fffffffffffffffffffffffffffffffff8085168252831660208201527f792e77bcc33e678fd2a12f7a1ae644dcef1311589d15e9e8abd47adf5aca5e18910160405180910390a1610df460088383612adf565b610dfe6008612b87565b5050565b6000610e16610e116000612675565b612c8b565b905090565b610e49336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b610e6657604051633006171960e21b815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527faf941e5e6c2b1ae06b5434c080d9f9ba2b0c2ac8e125a6010a22b57201f26a349060200160405180910390a150565b600a54604080517fe4e8895400000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163e4e889549160048083019260209291908290030181865afa158015610f2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1691906144d9565b610f80336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b610f9d57604051633006171960e21b815260040160405180910390fd5b61094a81600161235a565b610fd6336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b610ff357604051633006171960e21b815260040160405180910390fd5b61103e827f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612cf1565b600b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169190911790556110c1817f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612cf1565b600c80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03928316179055604051828216918416907f4073b32a832187a54e475fc8fff20266eedffb63596adf4c0b8a2966e2b0025d90600090a35050565b611157336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b61117457604051633006171960e21b815260040160405180910390fd5b6127108361ffff1611156111b4576040517fd252903400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127108261ffff1611156111f4576040517fd252903400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805161ffff85811682528416602082015262ffffff83168183015290517f91829fbe10211c7b1218c9e5b102bdabb13e9526b494b9741133a39e973f9f549181900360600190a16007805461ffff9485167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090911617929093166801000000000000000002919091177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff1662ffffff9190911670010000000000000000000000000000000002179055565b6000610b096112cf83612675565b612dfb565b6000610b066112e283612675565b84612e1f565b611316336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b61133357604051633006171960e21b815260040160405180910390fd5b61094a81600161249f565b604080516001808252818301909252606091602080830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110611394576113946144aa565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6113e5336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b61140257604051633006171960e21b815260040160405180910390fd5b6001600160a01b03821660008181526003602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527fa11b5803b8a35081b8f993e0dee5bc30301a3d83f644e5ab2ff39f972f0a807f9101610c6b565b6114a6336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b6114c357604051633006171960e21b815260040160405180910390fd5b670de0b6b3a7640000826fffffffffffffffffffffffffffffffff1611611532576040517f33693ae60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff808416600483015282166024820152604401610ba1565b604080516fffffffffffffffffffffffffffffffff8085168252831660208201527f23b4d5cfa83d92da7d76ae644647a3e53678133ad0fa7d2b526ad571af12d1ec910160405180910390a161158a60098383612adf565b610dfe6009612b87565b6115c2336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b6115df57604051633006171960e21b815260040160405180910390fd5b6001600160a01b038116611622576040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815260006004820152602401610ba1565b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517ffd6cdd9cefbd87614b7f366cb2bd5f7ba60b9a4b9febfbaf6344ecd1e03d018390600090a250565b60008061168f612819565b9150611699612e61565b90509091565b6116cd336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b6116ea57604051633006171960e21b815260040160405180910390fd5b826001600160a01b0316826001600160a01b03167f879f92dded0f26b83c3e00b12e0395dc72cfc3077343d1854ed6988edd1f90968360405161172f91815260200190565b60405180910390a361174b6001600160a01b0384168383612ecf565b505050565b60008060008061175f85612675565b90508060000151816020015161177483612c8b565b91955093506fffffffffffffffffffffffffffffffff169150509193909250565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117e057604051633006171960e21b815260040160405180910390fd5b60045460ff161561181d576040517f1309a56300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61182683612f4f565b61184357604051633006171960e21b815260040160405180910390fd5b600061184f6000612675565b9050600061185c82612c8b565b9050600061187a61187060208701876140da565b8660200135612f9e565b90506118868382612790565b9350600080611893612819565b90506118a1868260006130ce565b60405191975092507f7e81c1439e2f6851efe3288a5d0ae235c1729a6272f98ed0a4b5eb7809140427906118db9060009084908690614558565b60405180910390a18560000361191d576040517f54db0c8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660a00135861015611968576040517f2746152a00000000000000000000000000000000000000000000000000000000815260a0880135600482015260248101879052604401610ba1565b60208501511561199257600061197f8660006130e9565b90506119906008868360018a61310c565b505b505050505092915050565b6119cb336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b6119e857604051633006171960e21b815260040160405180910390fd5b6001600160a01b038116611a33576040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610ba1565b600254600080546040516001600160a01b03808616948116939216917f64420d4a41c6ed4de2bccbf33192eea18e576c5b23c79c3a722d4e9534c2e8d891a4600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b600080611ab96000612675565b6008546020820151919250600091611aed916fffffffffffffffffffffffffffffffff16670de0b6b3a76400006001613337565b90508082600001511115611b535781518190036000611b0c86856133ca565b905081811015611b1a578091505b611b248483612790565b9450611b3a611b31612e61565b8690600061347c565b94508360400151851115611b5057836040015194505b50505b5050919050565b3360009081526003602052604090205460ff16611b8a57604051633006171960e21b815260040160405180910390fd5b7f803ee193075547dae36361498f3de5e399cdb29b7e0c7b680533f3da8b733a1781604051611bb99190614579565b60405180910390a180600461174b82826145a9565b611bfc336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b611c1957604051633006171960e21b815260040160405180910390fd5b6001600160a01b038316611c64576040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610ba1565b604080518082019091526000808252602082015260005b82811015611d9657838382818110611c9557611c956144aa565b905060400201803603810190611cab919061462a565b91508160200151151582600001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916866001600160a01b03167ff5736e75de2c751f775d4c5ed517289f77074f8c337f451ba4c0c3ed1dd7f9ad60405160405180910390a46020828101516001600160a01b038716600090815260018352604080822086517fffffffff000000000000000000000000000000000000000000000000000000001683529093529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055611d8f816146dd565b9050611c7b565b5050505050565b600080336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611de957604051633006171960e21b815260040160405180910390fd5b600454610100900460ff1615611e2b576040517f1309a56300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e376000612675565b90506000611e4482612c8b565b8635935090506000611e54612e61565b9050600080611e648684836130ce565b915091507f7e81c1439e2f6851efe3288a5d0ae235c1729a6272f98ed0a4b5eb780914042760018483604051611e9c93929190614558565b60405180910390a1611eae8583612e1f565b9150611eca82611ec460408c0160208d016140da565b8a6134df565b96508860a00135871015611f17576040517f2746152a00000000000000000000000000000000000000000000000000000000815260a08a0135600482015260248101889052604401610ba1565b602085015115611f41576000611f2e8660006130e9565b9050611f3f6008868360008a61310c565b505b5050505050935093915050565b600080600a60009054906101000a90046001600160a01b03166001600160a01b031663bf1eb64a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc891906144d9565b905080600003611fdb5750600092915050565b600b546040517f7349615f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637349615f9061204b907f000000000000000000000000000000000000000000000000000000000000000090859088906001906004016146f7565b602060405180830381865afa158015612068573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208c91906144d9565b9392505050565b6120dc6040518060e001604052806000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001606081525090565b606085600003612118576040517f54db0c8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612122612e61565b9050600061213188838361287b565b9050600061213f6000612675565b905061215461214e8284612e1f565b89613600565b8986526001600160a01b038916602087015260408601889052606086018790526080860181905291506121898288600161287b565b60a0860152604080516001808252818301909252906020808301908036833701905050935082846000815181106121c2576121c26144aa565b60200260200101818152505050505094509492505050565b6002546001600160a01b0316331461220557604051633006171960e21b815260040160405180910390fd5b6000805460405133926001600160a01b03909216917f5cd6b24c0149d980c82592262b3a81294b39f8f6e3c004126aaf0828c787d55491a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081163317909155600280549091169055565b60008061228183612675565b90508060200151816000015111156122db5760208101518151908103906000906122b690670de0b6b3a7640000846001613337565b90506fffffffffffffffffffffffffffffffff8110156122d857949350505050565b50505b506fffffffffffffffffffffffffffffffff92915050565b600080546001600160a01b0384811691161480610b065750506001600160a01b039190911660009081526001602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009094168352929052205460ff1690565b60006123666000612675565b9050600061237382612c8b565b600a549091506000906001600160a01b031663e9e11f108635602088013561239e60408a018a614735565b8a606001356040518663ffffffff1660e01b81526004016123c39594939291906147a1565b6020604051808303816000875af11580156123e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240691906144d9565b90506000612437848461241f60a08a0160808b01614806565b61242f60c08b0160a08c01614806565b60008a613649565b60408051848152602089810135908201526fffffffffffffffffffffffffffffffff868116828401528316606082015290519192507f43ae12d1ef33f7118bafdb1d8477fa6b6dbb0b21df5741fe86f4baa7a8bd13f9919081900360800190a1505050505050565b60006124ab6000612675565b905060006124b882612c8b565b600a5490915060009081906001600160a01b031663eedc0713873560208901356124e560408b018b614735565b8b606001356040518663ffffffff1660e01b815260040161250a9594939291906147a1565b60408051808303816000875af1158015612528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061254c9190614821565b9092509050853582146125c257846125c2576040517fb2b3b53b0000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600482015286356024820152604401610ba1565b60006125f185856125d960a08b0160808c01614806565b6125e960c08c0160a08d01614806565b60018b613649565b90507f43ae12d1ef33f7118bafdb1d8477fa6b6dbb0b21df5741fe86f4baa7a8bd13f96126216020890135614845565b61262b848661487d565b61263490614845565b6040805192835260208301919091526fffffffffffffffffffffffffffffffff8781168383015284166060830152519081900360800190a150505050505050565b6126a06040518060800160405280600081526020016000815260200160008152602001600081525090565b6126a8610ecb565b81526126b382611f4e565b8160200181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561271a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273e91906144d9565b6040820152919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161461278a576000610b06565b50919050565b600082604001516000036127b7576127b06127a961376f565b8390613903565b9050610b09565b60006127c284612dfb565b9050806000036127fe576040517fefbc415500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040840151612811908490836000613337565b949350505050565b600c54600754600091610e169183916001600160a01b0316907f00000000000000000000000000000000000000000000000000000000000000009067ffffffffffffffff80821691700100000000000000000000000000000000900416613917565b600061271083810390841061289157600061289f565b61289f858261271086613337565b95945050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361298757600a54604080517f4eb75f40000000000000000000000000000000000000000000000000000000008152815160009384936001600160a01b0390911692634eb75f4092600480830193928290030181865afa158015612946573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296a9190614821565b915091508160001461297c5780612811565b600019949350505050565b919050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632ab4d0526040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a1191906144d9565b90506000198103612a26575060001992915050565b600083604001518211612a3a576000612a42565b836040015182035b9050612a58612a4f612819565b8290600061347c565b90506128118482612e1f565b60008160200151600003612a7b5750600019919050565b6008546020830151600091612ac0919070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16670de0b6b3a764000084613337565b8351909150811115612ad6579151909103919050565b50600092915050565b806fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff161115612b59576040517f33693ae60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff808416600483015282166024820152604401610ba1565b6fffffffffffffffffffffffffffffffff908116700100000000000000000000000000000000029116179055565b600a5481546040517f3d33809d0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90911660048201526001600160a01b0390911690633d33809d90602401602060405180830381865afa158015612bfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c219190614890565b61094a5780546040517f33693ae60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff80831660048301527001000000000000000000000000000000009092049091166024820152604401610ba1565b60008160200151600014612cda5760208201518251600091612cb89190670de0b6b3a76400009084613337565b90506fffffffffffffffffffffffffffffffff811015612cd85792915050565b505b506fffffffffffffffffffffffffffffffff919050565b60006001600160a01b038416612d36576040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815260006004820152602401610ba1565b506040517f950212800000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528281166024830152849190821690639502128090604401602060405180830381865afa158015612da1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc59190614890565b61208c576040517fd252903400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008160200151826000015111612e13576000610b09565b50602081015190510390565b60008260400151600014612e4d57612e48612e3984612dfb565b60408501518491906000613337565b610b06565b610b06612e5861376f565b83906000613aed565b600c54600754600091610e16916001916001600160a01b0316907f00000000000000000000000000000000000000000000000000000000000000009067ffffffffffffffff680100000000000000008204811691700100000000000000000000000000000000900416613917565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261174b908490613b59565b60055460009060ff1615612f6557506001919050565b816001600160a01b03163b600003612f7f57506001919050565b506001600160a01b031660009081526006602052604090205460ff1690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036130915750600a5481906001600160a01b0390811690613018907f0000000000000000000000000000000000000000000000000000000000000000168284612ecf565b6040517f35403023000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b03821690633540302390602401600060405180830381600087803b15801561307357600080fd5b505af1158015613087573d6000803e3d6000fd5b5050505050610b09565b6040517f961c9a4f0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610ba1565b6000806130dc85858561287b565b9594869003949350505050565b60006130f3610ecb565b83526130fe82611f4e565b6020840152610b0683612c8b565b6000826001811115613120576131206144f2565b0361322357836fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff1611156131a7576040517fdeb029d60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8086166004830181905290851660248301526044820152606401610ba1565b84546fffffffffffffffffffffffffffffffff90811690841681111561321d576040517f2fa926530000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152808616602483015282166044820152606401610ba1565b50611d96565b836fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff1610156132a5576040517f2fa926530000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8086166004830181905290851660248301526044820152606401610ba1565b84546fffffffffffffffffffffffffffffffff700100000000000000000000000000000000909104811690841681101561332f576040517fdeb029d60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152808616602483015282166044820152606401610ba1565b505050505050565b6000613344858585613c5b565b9050600182600181111561335a5761335a6144f2565b0361281157828061336d5761336d6148ad565b848609156128115760001981101561338757600101612811565b6040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018690526024810185905260448101849052606401610ba1565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610b0957600a60009054906101000a90046001600160a01b03166001600160a01b031663e4e889546040518163ffffffff1660e01b8152600401602060405180830381865afa158015613458573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0691906144d9565b60008260000361348d57508261208c565b61271083106134c8576040517fd252903400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008361271003905061289f856127108386613337565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036130915750600a546040517ef714ce000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b038381166024830152859260009291169062f714ce906044016020604051808303816000875af1158015613589573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ad91906144d9565b90508481146135fa576040517fb2b3b53b0000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101869052604401610ba1565b5061208c565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614613642576000610b06565b5090919050565b60006136568760006130e9565b9050846fffffffffffffffffffffffffffffffff80821690831610156136cc576040517f2fa926530000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8089166004830152808416602483015282166044820152606401610ba1565b849050806fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff161115613751576040517fdeb029d60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8089166004830152808416602483015282166044820152606401610ba1565b50816137655761376560098783868b61310c565b9695505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137f491906148dc565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061387a91906148dc565b90508060ff168260ff1611156138e7576040517f961c9a4f0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004820152602401610ba1565b6138f182826148ff565b6138fc90600a6149fc565b9250505090565b60008160011461364257612e488284614a0b565b6000806000806000886001600160a01b03166369994511600060018060016040518563ffffffff1660e01b81526004016139549493929190614a22565b608060405180830381865afa158015613971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139959190614a4a565b93509350935093506000886001600160a01b0316836001600160a01b0316036139c057506001613a16565b886001600160a01b0316826001600160a01b031614613a16576040517f961c9a4f0000000000000000000000000000000000000000000000000000000081526001600160a01b038a166004820152602401610ba1565b600080808d6001811115613a2c57613a2c6144f2565b03613a5e578215613a4b5785871015613a46575050848403845b613a86565b85871115613a4657505083850385613a86565b8215613a775785871115613a4657505083850384613a86565b85871015613a86575050848403855b81600003613aa7578967ffffffffffffffff1697505050505050505061289f565b6000613ab6838b846001613337565b9050808b67ffffffffffffffff1611613acf5780613adb565b8a67ffffffffffffffff165b9e9d5050505050505050505050505050565b600082600103613afe57508261208c565b6000826001811115613b1257613b126144f2565b03613b2e57828481613b2657613b266148ad565b04905061208c565b8315613b4f57826001850381613b4657613b466148ad565b04600101612811565b6000949350505050565b6000613bae826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613d489092919063ffffffff16565b9050805160001480613bcf575080806020019051810190613bcf9190614890565b61174b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610ba1565b6000808060001985870985870292508281108382030391505080600003613c9557838281613c8b57613c8b6148ad565b049250505061208c565b838110613cdf576040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606401610ba1565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060612811848460008585600080866001600160a01b03168587604051613d6f9190614a95565b60006040518083038185875af1925050503d8060008114613dac576040519150601f19603f3d011682016040523d82523d6000602084013e613db1565b606091505b5091509150613dc287838387613dcd565b979650505050505050565b60608315613e56578251600003613e4f576001600160a01b0385163b613e4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ba1565b5081612811565b6128118383815115613e6b5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba19190614ab1565b600060c0828403121561278a57600080fd5b600060208284031215613ec357600080fd5b813567ffffffffffffffff811115613eda57600080fd5b61281184828501613e9f565b6001600160a01b038116811461094a57600080fd5b60008060008060808587031215613f1157600080fd5b843593506020850135613f2381613ee6565b93969395505050506040820135916060013590565b60005b83811015613f53578181015183820152602001613f3b565b50506000910152565b60008151808452613f74816020860160208601613f38565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501945080840160005b83811015613fd657815187529582019590820190600101613fba565b509495945050505050565b604081526001600160a01b0383511660408201526020830151606082015260408301516080820152606083015160a0820152608083015160c082015260a083015160e0820152600060c084015160e0610100840152614044610120840182613f5c565b9050828103602084015261289f8185613fa6565b80356002811061298757600080fd5b6000806040838503121561407a57600080fd5b8235915061408a60208401614058565b90509250929050565b801515811461094a57600080fd5b600080604083850312156140b457600080fd5b82356140bf81613ee6565b915060208301356140cf81614093565b809150509250929050565b6000602082840312156140ec57600080fd5b813561208c81613ee6565b80356fffffffffffffffffffffffffffffffff8116811461298757600080fd5b6000806040838503121561412a57600080fd5b614133836140f7565b915061408a602084016140f7565b60006020828403121561415357600080fd5b813561208c81614093565b6000806040838503121561417157600080fd5b823561417c81613ee6565b915060208301356140cf81613ee6565b803561ffff8116811461298757600080fd5b6000806000606084860312156141b357600080fd5b6141bc8461418c565b92506141ca6020850161418c565b9150604084013562ffffff811681146141e257600080fd5b809150509250925092565b6000602082840312156141ff57600080fd5b610b0682614058565b6020808252825182820181905260009190848201906040850190845b818110156142495783516001600160a01b031683529284019291840191600101614224565b50909695505050505050565b60008060006060848603121561426a57600080fd5b833561427581613ee6565b9250602084013561428581613ee6565b929592945050506040919091013590565b600060e0828403121561278a57600080fd5b600080604083850312156142bb57600080fd5b82356142c681613ee6565b9150602083013567ffffffffffffffff8111156142e257600080fd5b6142ee85828601614296565b9150509250929050565b60006040828403121561278a57600080fd5b60008060006040848603121561431f57600080fd5b833561432a81613ee6565b9250602084013567ffffffffffffffff8082111561434757600080fd5b818601915086601f83011261435b57600080fd5b81358181111561436a57600080fd5b8760208260061b850101111561437f57600080fd5b6020830194508093505050509250925092565b6000806000606084860312156143a757600080fd5b83356143b281613ee6565b9250602084013567ffffffffffffffff8111156143ce57600080fd5b6143da86828701614296565b92505060408401356141e281613ee6565b80357fffffffff000000000000000000000000000000000000000000000000000000008116811461298757600080fd5b6000806040838503121561442e57600080fd5b823561443981613ee6565b915061408a602084016143eb565b60408152825160408201526001600160a01b03602084015116606082015260408301516080820152606083015160a0820152608083015160c082015260a083015160e0820152600060c084015160e0610100840152614044610120840182613f5c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156144eb57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811061094a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6060810161456585614521565b938152602081019290925260409091015290565b60408101823561458881614093565b15158252602083013561459a81614093565b80151560208401525092915050565b81356145b481614093565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811691151560ff16918217835560208401356145f281614093565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009190911690911790151560081b61ff001617905550565b60006040828403121561463c57600080fd5b6040516040810181811067ffffffffffffffff82111715614686577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052614692836143eb565b815260208301356146a281614093565b60208201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060001982036146f0576146f06146ae565b5060010190565b6001600160a01b0385168152602081018490526080810161471784614521565b83604083015261472683614521565b82606083015295945050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261476a57600080fd5b83018035915067ffffffffffffffff82111561478557600080fd5b60200191503681900382131561479a57600080fd5b9250929050565b85815284602082015260806040820152826080820152828460a0830137600060a08483010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683010190508260608301529695505050505050565b60006020828403121561481857600080fd5b610b06826140f7565b6000806040838503121561483457600080fd5b505080516020909101519092909150565b60007f80000000000000000000000000000000000000000000000000000000000000008203614876576148766146ae565b5060000390565b80820180821115610b0957610b096146ae565b6000602082840312156148a257600080fd5b815161208c81614093565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000602082840312156148ee57600080fd5b815160ff8116811461208c57600080fd5b60ff8281168282160390811115610b0957610b096146ae565b600181815b80851115614953578160001904821115614939576149396146ae565b8085161561494657918102915b93841c939080029061491d565b509250929050565b60008261496a57506001610b09565b8161497757506000610b09565b816001811461498d5760028114614997576149b3565b6001915050610b09565b60ff8411156149a8576149a86146ae565b50506001821b610b09565b5060208310610133831016604e8410600b84101617156149d6575081810a610b09565b6149e08383614918565b80600019048211156149f4576149f46146ae565b029392505050565b6000610b0660ff84168361495b565b8082028115828204841417610b0957610b096146ae565b60808101614a2f86614521565b858252614a3b85614521565b84602083015261471784614521565b60008060008060808587031215614a6057600080fd5b84519350602085015192506040850151614a7981613ee6565b6060860151909250614a8a81613ee6565b939692955090935050565b60008251614aa7818460208701613f38565b9190910192915050565b602081526000610b066020830184613f5c56fea26469706673582212206945234a2556d274a92d757df9dc105b7543fe86fa530a81d92fd10ed45e93ef64736f6c63430008130033000000000000000000000000b20aae0fe007519b7ce6f090a2ab8353b3da5d80000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c000000000000000000000000071520ce2db377afa999bc6fdc1af896b21b2f26a000000000000000000000000e6b1f872b1073408a1e619319718e0bce3e48f17
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106103625760003560e01c80638a83c9cd116101c8578063baaaa7b111610104578063e04610ed116100a2578063eea2f45c1161007c578063eea2f45c146108a8578063f4325d67146107d7578063f69959a3146108bb578063f8d89898146108ce57600080fd5b8063e04610ed1461085c578063e664b0201461087f578063ebbc4965146108a057600080fd5b8063c677e275116100de578063c677e275146107fd578063d4da79b314610810578063da5e0f0e1461081b578063daeccc791461082e57600080fd5b8063baaaa7b1146107b1578063bfccf0ec146107c4578063c55dae63146107d757600080fd5b8063a7229fd911610171578063b07c63c71161014b578063b07c63c714610751578063b1f8100d14610764578063b5a2d9a914610777578063ba2c46491461078a57600080fd5b8063a7229fd914610701578063a8e93cdb14610714578063aaf5eb681461074257600080fd5b806395ea64a5116101a257806395ea64a5146106c15780639a6b27cf146106d4578063a515b8ec146106e457600080fd5b80638a83c9cd1461063d5780638da5cb5b1461069b57806395c5b3b6146106ae57600080fd5b80634edd74e8116102a25780636026220d116102405780636a1eb7b81161021a5780636a1eb7b81461063d5780637180c8ca1461065257806372e0c0f41461066557806380f51c121461067857600080fd5b80636026220d14610604578063643b1e501461061757806365f2ba2f1461062a57600080fd5b806353740e041161027c57806353740e041461057f578063572a9302146105925780635aa89173146105a55780635fbbc0d2146105b857600080fd5b80634edd74e8146105575780634ee643a51461055f57806352e648f01461056c57600080fd5b806329aa41361161030f57806346fbf68e116102e957806346fbf68e146104ab5780634c9da063146104e75780634cdf587a1461051b5780634d7d9c011461054457600080fd5b806329aa413614610472578063415a127114610485578063431072f71461049857600080fd5b806319000c421161034057806319000c42146103f15780631a0377d11461043057806324b821ab1461045157600080fd5b806302cb4ed1146103675780630bd7260d1461037c57806313da2d4a1461038f575b600080fd5b61037a610375366004613eb1565b6108f4565b005b61037a61038a366004613eb1565b61094d565b6008546103c3906fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152015b60405180910390f35b6104187f00000000000000000000000071520ce2db377afa999bc6fdc1af896b21b2f26a81565b6040516001600160a01b0390911681526020016103e8565b61044361043e366004613efb565b6109a3565b6040516103e8929190613fe1565b61046461045f366004614067565b610af2565b6040519081526020016103e8565b61037a6104803660046140a1565b610b0f565b6104646104933660046140da565b610c77565b61037a6104a6366004614117565b610ce2565b6104d76104b93660046140da565b6001600160a01b031660009081526003602052604090205460ff1690565b60405190151581526020016103e8565b6009546103c3906fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b610523610e02565b6040516fffffffffffffffffffffffffffffffff90911681526020016103e8565b61037a610552366004614141565b610e1b565b610464610ecb565b6005546104d79060ff1681565b600c54610418906001600160a01b031681565b61037a61058d366004613eb1565b610f52565b61037a6105a036600461415e565b610fa8565b61037a6105b336600461419e565b611129565b6007546040805167ffffffffffffffff808416825268010000000000000000840481166020830152700100000000000000000000000000000000909304909216908201526060016103e8565b6104646106123660046141ed565b6112c1565b610464610625366004614067565b6112d4565b61037a610638366004613eb1565b6112e8565b61064561133e565b6040516103e89190614208565b61037a6106603660046140a1565b6113b7565b600b54610418906001600160a01b031681565b6104d76106863660046140da565b60036020526000908152604090205460ff1681565b600054610418906001600160a01b031681565b61037a6106bc366004614117565b611478565b61037a6106cf3660046140da565b611594565b600454610100900460ff166104d7565b6106ec611684565b604080519283526020830191909152016103e8565b61037a61070f366004614255565b61169f565b6107276107223660046141ed565b611750565b604080519384526020840192909252908201526060016103e8565b610464670de0b6b3a764000081565b61046461075f3660046142a8565b611795565b61037a6107723660046140da565b61199d565b6104646107853660046140da565b611aac565b6104187f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c081565b61037a6107bf3660046142f8565b611b5a565b61037a6107d236600461430a565b611bce565b7f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c0610418565b6106ec61080b366004614392565b611d9d565b60045460ff166104d7565b6104646108293660046141ed565b611f4e565b6104d761083c36600461441b565b600160209081526000928352604080842090915290825290205460ff1681565b6104d761086a3660046140da565b60066020526000908152604090205460ff1681565b61089261088d366004613efb565b612093565b6040516103e8929190614447565b61037a6121da565b6105236108b63660046141ed565b612275565b600a54610418906001600160a01b031681565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610418565b610922336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b61093f57604051633006171960e21b815260040160405180910390fd5b61094a81600061235a565b50565b61097b336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b61099857604051633006171960e21b815260040160405180910390fd5b61094a81600061249f565b6109ec6040518060e0016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001606081525090565b606085600003610a28576040517f54db0c8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a346000612675565b90506000610a428789612748565b90506000610a508383612790565b90506000610a5c612819565b9050610a6a8282600061287b565b6001600160a01b038a168752602087018b90526040870189905260608701889052608087018190529150610aa08289600161287b565b60a087015260408051600180825281830190925290602080830190803683370190505094508085600081518110610ad957610ad96144aa565b6020026020010181815250505050505094509492505050565b6000610b06610b0083612675565b84612790565b90505b92915050565b610b3d336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b610b5a57604051633006171960e21b815260040160405180910390fd5b6001600160a01b038216610baa576040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b816001600160a01b03163b600003610bf9576040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610ba1565b6001600160a01b03821660008181526006602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527fee397872136f42e5319f2ebe127140e4741bee3ff02b86b7410a0b02778216de91015b60405180910390a25050565b600080610c846000612675565b9050610c8f836128a8565b91506000610c9c8261298c565b90506000610ca983612a64565b905081811015610cb7578091505b600019821015610cce57610ccb8583612748565b91505b83821015610cda578193505b505050919050565b610d10336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b610d2d57604051633006171960e21b815260040160405180910390fd5b670de0b6b3a7640000826fffffffffffffffffffffffffffffffff1611610d9c576040517f33693ae60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff808416600483015282166024820152604401610ba1565b604080516fffffffffffffffffffffffffffffffff8085168252831660208201527f792e77bcc33e678fd2a12f7a1ae644dcef1311589d15e9e8abd47adf5aca5e18910160405180910390a1610df460088383612adf565b610dfe6008612b87565b5050565b6000610e16610e116000612675565b612c8b565b905090565b610e49336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b610e6657604051633006171960e21b815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527faf941e5e6c2b1ae06b5434c080d9f9ba2b0c2ac8e125a6010a22b57201f26a349060200160405180910390a150565b600a54604080517fe4e8895400000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163e4e889549160048083019260209291908290030181865afa158015610f2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1691906144d9565b610f80336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b610f9d57604051633006171960e21b815260040160405180910390fd5b61094a81600161235a565b610fd6336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b610ff357604051633006171960e21b815260040160405180910390fd5b61103e827f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2612cf1565b600b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169190911790556110c1817f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2612cf1565b600c80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03928316179055604051828216918416907f4073b32a832187a54e475fc8fff20266eedffb63596adf4c0b8a2966e2b0025d90600090a35050565b611157336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b61117457604051633006171960e21b815260040160405180910390fd5b6127108361ffff1611156111b4576040517fd252903400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127108261ffff1611156111f4576040517fd252903400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805161ffff85811682528416602082015262ffffff83168183015290517f91829fbe10211c7b1218c9e5b102bdabb13e9526b494b9741133a39e973f9f549181900360600190a16007805461ffff9485167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090911617929093166801000000000000000002919091177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff1662ffffff9190911670010000000000000000000000000000000002179055565b6000610b096112cf83612675565b612dfb565b6000610b066112e283612675565b84612e1f565b611316336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b61133357604051633006171960e21b815260040160405180910390fd5b61094a81600161249f565b604080516001808252818301909252606091602080830190803683370190505090507f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c081600081518110611394576113946144aa565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6113e5336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b61140257604051633006171960e21b815260040160405180910390fd5b6001600160a01b03821660008181526003602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527fa11b5803b8a35081b8f993e0dee5bc30301a3d83f644e5ab2ff39f972f0a807f9101610c6b565b6114a6336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b6114c357604051633006171960e21b815260040160405180910390fd5b670de0b6b3a7640000826fffffffffffffffffffffffffffffffff1611611532576040517f33693ae60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff808416600483015282166024820152604401610ba1565b604080516fffffffffffffffffffffffffffffffff8085168252831660208201527f23b4d5cfa83d92da7d76ae644647a3e53678133ad0fa7d2b526ad571af12d1ec910160405180910390a161158a60098383612adf565b610dfe6009612b87565b6115c2336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b6115df57604051633006171960e21b815260040160405180910390fd5b6001600160a01b038116611622576040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815260006004820152602401610ba1565b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517ffd6cdd9cefbd87614b7f366cb2bd5f7ba60b9a4b9febfbaf6344ecd1e03d018390600090a250565b60008061168f612819565b9150611699612e61565b90509091565b6116cd336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b6116ea57604051633006171960e21b815260040160405180910390fd5b826001600160a01b0316826001600160a01b03167f879f92dded0f26b83c3e00b12e0395dc72cfc3077343d1854ed6988edd1f90968360405161172f91815260200190565b60405180910390a361174b6001600160a01b0384168383612ecf565b505050565b60008060008061175f85612675565b90508060000151816020015161177483612c8b565b91955093506fffffffffffffffffffffffffffffffff169150509193909250565b6000336001600160a01b037f00000000000000000000000071520ce2db377afa999bc6fdc1af896b21b2f26a16146117e057604051633006171960e21b815260040160405180910390fd5b60045460ff161561181d576040517f1309a56300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61182683612f4f565b61184357604051633006171960e21b815260040160405180910390fd5b600061184f6000612675565b9050600061185c82612c8b565b9050600061187a61187060208701876140da565b8660200135612f9e565b90506118868382612790565b9350600080611893612819565b90506118a1868260006130ce565b60405191975092507f7e81c1439e2f6851efe3288a5d0ae235c1729a6272f98ed0a4b5eb7809140427906118db9060009084908690614558565b60405180910390a18560000361191d576040517f54db0c8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660a00135861015611968576040517f2746152a00000000000000000000000000000000000000000000000000000000815260a0880135600482015260248101879052604401610ba1565b60208501511561199257600061197f8660006130e9565b90506119906008868360018a61310c565b505b505050505092915050565b6119cb336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b6119e857604051633006171960e21b815260040160405180910390fd5b6001600160a01b038116611a33576040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610ba1565b600254600080546040516001600160a01b03808616948116939216917f64420d4a41c6ed4de2bccbf33192eea18e576c5b23c79c3a722d4e9534c2e8d891a4600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b600080611ab96000612675565b6008546020820151919250600091611aed916fffffffffffffffffffffffffffffffff16670de0b6b3a76400006001613337565b90508082600001511115611b535781518190036000611b0c86856133ca565b905081811015611b1a578091505b611b248483612790565b9450611b3a611b31612e61565b8690600061347c565b94508360400151851115611b5057836040015194505b50505b5050919050565b3360009081526003602052604090205460ff16611b8a57604051633006171960e21b815260040160405180910390fd5b7f803ee193075547dae36361498f3de5e399cdb29b7e0c7b680533f3da8b733a1781604051611bb99190614579565b60405180910390a180600461174b82826145a9565b611bfc336000357fffffffff00000000000000000000000000000000000000000000000000000000166122f3565b611c1957604051633006171960e21b815260040160405180910390fd5b6001600160a01b038316611c64576040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610ba1565b604080518082019091526000808252602082015260005b82811015611d9657838382818110611c9557611c956144aa565b905060400201803603810190611cab919061462a565b91508160200151151582600001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916866001600160a01b03167ff5736e75de2c751f775d4c5ed517289f77074f8c337f451ba4c0c3ed1dd7f9ad60405160405180910390a46020828101516001600160a01b038716600090815260018352604080822086517fffffffff000000000000000000000000000000000000000000000000000000001683529093529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055611d8f816146dd565b9050611c7b565b5050505050565b600080336001600160a01b037f00000000000000000000000071520ce2db377afa999bc6fdc1af896b21b2f26a1614611de957604051633006171960e21b815260040160405180910390fd5b600454610100900460ff1615611e2b576040517f1309a56300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e376000612675565b90506000611e4482612c8b565b8635935090506000611e54612e61565b9050600080611e648684836130ce565b915091507f7e81c1439e2f6851efe3288a5d0ae235c1729a6272f98ed0a4b5eb780914042760018483604051611e9c93929190614558565b60405180910390a1611eae8583612e1f565b9150611eca82611ec460408c0160208d016140da565b8a6134df565b96508860a00135871015611f17576040517f2746152a00000000000000000000000000000000000000000000000000000000815260a08a0135600482015260248101889052604401610ba1565b602085015115611f41576000611f2e8660006130e9565b9050611f3f6008868360008a61310c565b505b5050505050935093915050565b600080600a60009054906101000a90046001600160a01b03166001600160a01b031663bf1eb64a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc891906144d9565b905080600003611fdb5750600092915050565b600b546040517f7349615f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637349615f9061204b907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290859088906001906004016146f7565b602060405180830381865afa158015612068573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208c91906144d9565b9392505050565b6120dc6040518060e001604052806000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001606081525090565b606085600003612118576040517f54db0c8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612122612e61565b9050600061213188838361287b565b9050600061213f6000612675565b905061215461214e8284612e1f565b89613600565b8986526001600160a01b038916602087015260408601889052606086018790526080860181905291506121898288600161287b565b60a0860152604080516001808252818301909252906020808301908036833701905050935082846000815181106121c2576121c26144aa565b60200260200101818152505050505094509492505050565b6002546001600160a01b0316331461220557604051633006171960e21b815260040160405180910390fd5b6000805460405133926001600160a01b03909216917f5cd6b24c0149d980c82592262b3a81294b39f8f6e3c004126aaf0828c787d55491a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081163317909155600280549091169055565b60008061228183612675565b90508060200151816000015111156122db5760208101518151908103906000906122b690670de0b6b3a7640000846001613337565b90506fffffffffffffffffffffffffffffffff8110156122d857949350505050565b50505b506fffffffffffffffffffffffffffffffff92915050565b600080546001600160a01b0384811691161480610b065750506001600160a01b039190911660009081526001602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009094168352929052205460ff1690565b60006123666000612675565b9050600061237382612c8b565b600a549091506000906001600160a01b031663e9e11f108635602088013561239e60408a018a614735565b8a606001356040518663ffffffff1660e01b81526004016123c39594939291906147a1565b6020604051808303816000875af11580156123e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240691906144d9565b90506000612437848461241f60a08a0160808b01614806565b61242f60c08b0160a08c01614806565b60008a613649565b60408051848152602089810135908201526fffffffffffffffffffffffffffffffff868116828401528316606082015290519192507f43ae12d1ef33f7118bafdb1d8477fa6b6dbb0b21df5741fe86f4baa7a8bd13f9919081900360800190a1505050505050565b60006124ab6000612675565b905060006124b882612c8b565b600a5490915060009081906001600160a01b031663eedc0713873560208901356124e560408b018b614735565b8b606001356040518663ffffffff1660e01b815260040161250a9594939291906147a1565b60408051808303816000875af1158015612528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061254c9190614821565b9092509050853582146125c257846125c2576040517fb2b3b53b0000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216600482015286356024820152604401610ba1565b60006125f185856125d960a08b0160808c01614806565b6125e960c08c0160a08d01614806565b60018b613649565b90507f43ae12d1ef33f7118bafdb1d8477fa6b6dbb0b21df5741fe86f4baa7a8bd13f96126216020890135614845565b61262b848661487d565b61263490614845565b6040805192835260208301919091526fffffffffffffffffffffffffffffffff8781168383015284166060830152519081900360800190a150505050505050565b6126a06040518060800160405280600081526020016000815260200160008152602001600081525090565b6126a8610ecb565b81526126b382611f4e565b8160200181815250507f00000000000000000000000071520ce2db377afa999bc6fdc1af896b21b2f26a6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561271a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273e91906144d9565b6040820152919050565b60007f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c06001600160a01b0316836001600160a01b03161461278a576000610b06565b50919050565b600082604001516000036127b7576127b06127a961376f565b8390613903565b9050610b09565b60006127c284612dfb565b9050806000036127fe576040517fefbc415500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040840151612811908490836000613337565b949350505050565b600c54600754600091610e169183916001600160a01b0316907f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c09067ffffffffffffffff80821691700100000000000000000000000000000000900416613917565b600061271083810390841061289157600061289f565b61289f858261271086613337565b95945050505050565b60007f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c06001600160a01b0316826001600160a01b03160361298757600a54604080517f4eb75f40000000000000000000000000000000000000000000000000000000008152815160009384936001600160a01b0390911692634eb75f4092600480830193928290030181865afa158015612946573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296a9190614821565b915091508160001461297c5780612811565b600019949350505050565b919050565b6000807f00000000000000000000000071520ce2db377afa999bc6fdc1af896b21b2f26a6001600160a01b0316632ab4d0526040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a1191906144d9565b90506000198103612a26575060001992915050565b600083604001518211612a3a576000612a42565b836040015182035b9050612a58612a4f612819565b8290600061347c565b90506128118482612e1f565b60008160200151600003612a7b5750600019919050565b6008546020830151600091612ac0919070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16670de0b6b3a764000084613337565b8351909150811115612ad6579151909103919050565b50600092915050565b806fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff161115612b59576040517f33693ae60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff808416600483015282166024820152604401610ba1565b6fffffffffffffffffffffffffffffffff908116700100000000000000000000000000000000029116179055565b600a5481546040517f3d33809d0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90911660048201526001600160a01b0390911690633d33809d90602401602060405180830381865afa158015612bfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c219190614890565b61094a5780546040517f33693ae60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff80831660048301527001000000000000000000000000000000009092049091166024820152604401610ba1565b60008160200151600014612cda5760208201518251600091612cb89190670de0b6b3a76400009084613337565b90506fffffffffffffffffffffffffffffffff811015612cd85792915050565b505b506fffffffffffffffffffffffffffffffff919050565b60006001600160a01b038416612d36576040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815260006004820152602401610ba1565b506040517f950212800000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528281166024830152849190821690639502128090604401602060405180830381865afa158015612da1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc59190614890565b61208c576040517fd252903400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008160200151826000015111612e13576000610b09565b50602081015190510390565b60008260400151600014612e4d57612e48612e3984612dfb565b60408501518491906000613337565b610b06565b610b06612e5861376f565b83906000613aed565b600c54600754600091610e16916001916001600160a01b0316907f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c09067ffffffffffffffff680100000000000000008204811691700100000000000000000000000000000000900416613917565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261174b908490613b59565b60055460009060ff1615612f6557506001919050565b816001600160a01b03163b600003612f7f57506001919050565b506001600160a01b031660009081526006602052604090205460ff1690565b60007f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c06001600160a01b0316836001600160a01b0316036130915750600a5481906001600160a01b0390811690613018907f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c0168284612ecf565b6040517f35403023000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b03821690633540302390602401600060405180830381600087803b15801561307357600080fd5b505af1158015613087573d6000803e3d6000fd5b5050505050610b09565b6040517f961c9a4f0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610ba1565b6000806130dc85858561287b565b9594869003949350505050565b60006130f3610ecb565b83526130fe82611f4e565b6020840152610b0683612c8b565b6000826001811115613120576131206144f2565b0361322357836fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff1611156131a7576040517fdeb029d60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8086166004830181905290851660248301526044820152606401610ba1565b84546fffffffffffffffffffffffffffffffff90811690841681111561321d576040517f2fa926530000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152808616602483015282166044820152606401610ba1565b50611d96565b836fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff1610156132a5576040517f2fa926530000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8086166004830181905290851660248301526044820152606401610ba1565b84546fffffffffffffffffffffffffffffffff700100000000000000000000000000000000909104811690841681101561332f576040517fdeb029d60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152808616602483015282166044820152606401610ba1565b505050505050565b6000613344858585613c5b565b9050600182600181111561335a5761335a6144f2565b0361281157828061336d5761336d6148ad565b848609156128115760001981101561338757600101612811565b6040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018690526024810185905260448101849052606401610ba1565b60007f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c06001600160a01b0316836001600160a01b031603610b0957600a60009054906101000a90046001600160a01b03166001600160a01b031663e4e889546040518163ffffffff1660e01b8152600401602060405180830381865afa158015613458573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0691906144d9565b60008260000361348d57508261208c565b61271083106134c8576040517fd252903400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008361271003905061289f856127108386613337565b60007f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c06001600160a01b0316836001600160a01b0316036130915750600a546040517ef714ce000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b038381166024830152859260009291169062f714ce906044016020604051808303816000875af1158015613589573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ad91906144d9565b90508481146135fa576040517fb2b3b53b0000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101869052604401610ba1565b5061208c565b60007f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c06001600160a01b0316826001600160a01b031614613642576000610b06565b5090919050565b60006136568760006130e9565b9050846fffffffffffffffffffffffffffffffff80821690831610156136cc576040517f2fa926530000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8089166004830152808416602483015282166044820152606401610ba1565b849050806fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff161115613751576040517fdeb029d60000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8089166004830152808416602483015282166044820152606401610ba1565b50816137655761376560098783868b61310c565b9695505050505050565b6000807f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c06001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137f491906148dc565b905060007f00000000000000000000000071520ce2db377afa999bc6fdc1af896b21b2f26a6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061387a91906148dc565b90508060ff168260ff1611156138e7576040517f961c9a4f0000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c0166004820152602401610ba1565b6138f182826148ff565b6138fc90600a6149fc565b9250505090565b60008160011461364257612e488284614a0b565b6000806000806000886001600160a01b03166369994511600060018060016040518563ffffffff1660e01b81526004016139549493929190614a22565b608060405180830381865afa158015613971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139959190614a4a565b93509350935093506000886001600160a01b0316836001600160a01b0316036139c057506001613a16565b886001600160a01b0316826001600160a01b031614613a16576040517f961c9a4f0000000000000000000000000000000000000000000000000000000081526001600160a01b038a166004820152602401610ba1565b600080808d6001811115613a2c57613a2c6144f2565b03613a5e578215613a4b5785871015613a46575050848403845b613a86565b85871115613a4657505083850385613a86565b8215613a775785871115613a4657505083850384613a86565b85871015613a86575050848403855b81600003613aa7578967ffffffffffffffff1697505050505050505061289f565b6000613ab6838b846001613337565b9050808b67ffffffffffffffff1611613acf5780613adb565b8a67ffffffffffffffff165b9e9d5050505050505050505050505050565b600082600103613afe57508261208c565b6000826001811115613b1257613b126144f2565b03613b2e57828481613b2657613b266148ad565b04905061208c565b8315613b4f57826001850381613b4657613b466148ad565b04600101612811565b6000949350505050565b6000613bae826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613d489092919063ffffffff16565b9050805160001480613bcf575080806020019051810190613bcf9190614890565b61174b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610ba1565b6000808060001985870985870292508281108382030391505080600003613c9557838281613c8b57613c8b6148ad565b049250505061208c565b838110613cdf576040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606401610ba1565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060612811848460008585600080866001600160a01b03168587604051613d6f9190614a95565b60006040518083038185875af1925050503d8060008114613dac576040519150601f19603f3d011682016040523d82523d6000602084013e613db1565b606091505b5091509150613dc287838387613dcd565b979650505050505050565b60608315613e56578251600003613e4f576001600160a01b0385163b613e4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ba1565b5081612811565b6128118383815115613e6b5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba19190614ab1565b600060c0828403121561278a57600080fd5b600060208284031215613ec357600080fd5b813567ffffffffffffffff811115613eda57600080fd5b61281184828501613e9f565b6001600160a01b038116811461094a57600080fd5b60008060008060808587031215613f1157600080fd5b843593506020850135613f2381613ee6565b93969395505050506040820135916060013590565b60005b83811015613f53578181015183820152602001613f3b565b50506000910152565b60008151808452613f74816020860160208601613f38565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501945080840160005b83811015613fd657815187529582019590820190600101613fba565b509495945050505050565b604081526001600160a01b0383511660408201526020830151606082015260408301516080820152606083015160a0820152608083015160c082015260a083015160e0820152600060c084015160e0610100840152614044610120840182613f5c565b9050828103602084015261289f8185613fa6565b80356002811061298757600080fd5b6000806040838503121561407a57600080fd5b8235915061408a60208401614058565b90509250929050565b801515811461094a57600080fd5b600080604083850312156140b457600080fd5b82356140bf81613ee6565b915060208301356140cf81614093565b809150509250929050565b6000602082840312156140ec57600080fd5b813561208c81613ee6565b80356fffffffffffffffffffffffffffffffff8116811461298757600080fd5b6000806040838503121561412a57600080fd5b614133836140f7565b915061408a602084016140f7565b60006020828403121561415357600080fd5b813561208c81614093565b6000806040838503121561417157600080fd5b823561417c81613ee6565b915060208301356140cf81613ee6565b803561ffff8116811461298757600080fd5b6000806000606084860312156141b357600080fd5b6141bc8461418c565b92506141ca6020850161418c565b9150604084013562ffffff811681146141e257600080fd5b809150509250925092565b6000602082840312156141ff57600080fd5b610b0682614058565b6020808252825182820181905260009190848201906040850190845b818110156142495783516001600160a01b031683529284019291840191600101614224565b50909695505050505050565b60008060006060848603121561426a57600080fd5b833561427581613ee6565b9250602084013561428581613ee6565b929592945050506040919091013590565b600060e0828403121561278a57600080fd5b600080604083850312156142bb57600080fd5b82356142c681613ee6565b9150602083013567ffffffffffffffff8111156142e257600080fd5b6142ee85828601614296565b9150509250929050565b60006040828403121561278a57600080fd5b60008060006040848603121561431f57600080fd5b833561432a81613ee6565b9250602084013567ffffffffffffffff8082111561434757600080fd5b818601915086601f83011261435b57600080fd5b81358181111561436a57600080fd5b8760208260061b850101111561437f57600080fd5b6020830194508093505050509250925092565b6000806000606084860312156143a757600080fd5b83356143b281613ee6565b9250602084013567ffffffffffffffff8111156143ce57600080fd5b6143da86828701614296565b92505060408401356141e281613ee6565b80357fffffffff000000000000000000000000000000000000000000000000000000008116811461298757600080fd5b6000806040838503121561442e57600080fd5b823561443981613ee6565b915061408a602084016143eb565b60408152825160408201526001600160a01b03602084015116606082015260408301516080820152606083015160a0820152608083015160c082015260a083015160e0820152600060c084015160e0610100840152614044610120840182613f5c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156144eb57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811061094a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6060810161456585614521565b938152602081019290925260409091015290565b60408101823561458881614093565b15158252602083013561459a81614093565b80151560208401525092915050565b81356145b481614093565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811691151560ff16918217835560208401356145f281614093565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009190911690911790151560081b61ff001617905550565b60006040828403121561463c57600080fd5b6040516040810181811067ffffffffffffffff82111715614686577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052614692836143eb565b815260208301356146a281614093565b60208201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060001982036146f0576146f06146ae565b5060010190565b6001600160a01b0385168152602081018490526080810161471784614521565b83604083015261472683614521565b82606083015295945050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261476a57600080fd5b83018035915067ffffffffffffffff82111561478557600080fd5b60200191503681900382131561479a57600080fd5b9250929050565b85815284602082015260806040820152826080820152828460a0830137600060a08483010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683010190508260608301529695505050505050565b60006020828403121561481857600080fd5b610b06826140f7565b6000806040838503121561483457600080fd5b505080516020909101519092909150565b60007f80000000000000000000000000000000000000000000000000000000000000008203614876576148766146ae565b5060000390565b80820180821115610b0957610b096146ae565b6000602082840312156148a257600080fd5b815161208c81614093565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000602082840312156148ee57600080fd5b815160ff8116811461208c57600080fd5b60ff8281168282160390811115610b0957610b096146ae565b600181815b80851115614953578160001904821115614939576149396146ae565b8085161561494657918102915b93841c939080029061491d565b509250929050565b60008261496a57506001610b09565b8161497757506000610b09565b816001811461498d5760028114614997576149b3565b6001915050610b09565b60ff8411156149a8576149a86146ae565b50506001821b610b09565b5060208310610133831016604e8410600b84101617156149d6575081810a610b09565b6149e08383614918565b80600019048211156149f4576149f46146ae565b029392505050565b6000610b0660ff84168361495b565b8082028115828204841417610b0957610b096146ae565b60808101614a2f86614521565b858252614a3b85614521565b84602083015261471784614521565b60008060008060808587031215614a6057600080fd5b84519350602085015192506040850151614a7981613ee6565b6060860151909250614a8a81613ee6565b939692955090935050565b60008251614aa7818460208701613f38565b9190910192915050565b602081526000610b066020830184613f5c56fea26469706673582212206945234a2556d274a92d757df9dc105b7543fe86fa530a81d92fd10ed45e93ef64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b20aae0fe007519b7ce6f090a2ab8353b3da5d80000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c000000000000000000000000071520ce2db377afa999bc6fdc1af896b21b2f26a000000000000000000000000e6b1f872b1073408a1e619319718e0bce3e48f17

-----Decoded View---------------
Arg [0] : _initialOwner (address): 0xb20AaE0Fe007519b7cE6f090a2aB8353B3Da5d80
Arg [1] : _reserveToken_ (address): 0xFAe103DC9cf190eD75350761e95403b7b8aFa6c0
Arg [2] : _debtToken_ (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
Arg [3] : _dynamicFeeOracleBaseToken (address): 0xFAe103DC9cf190eD75350761e95403b7b8aFa6c0
Arg [4] : _lovToken (address): 0x71520ce2DB377AFa999bc6fdc1af896B21b2F26a
Arg [5] : _borrowLend (address): 0xe6B1F872b1073408a1E619319718E0Bce3E48F17

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 000000000000000000000000b20aae0fe007519b7ce6f090a2ab8353b3da5d80
Arg [1] : 000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c0
Arg [2] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Arg [3] : 000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c0
Arg [4] : 00000000000000000000000071520ce2db377afa999bc6fdc1af896b21b2f26a
Arg [5] : 000000000000000000000000e6b1f872b1073408a1e619319718e0bce3e48f17

🤖 Code Reader

Generate instant answers for your smart contract questions using AI Models. Read more.

Custom Contract ABI

                            

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.