@raac/rpc 1.1.0-beta.5 → 1.1.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/RPCLibrary.js +66 -23
- package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +83 -29
- package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +82 -31
- package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +114 -5
- package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +2 -2
- package/dist/artifacts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.json +465 -0
- package/dist/artifacts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.json +497 -0
- package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +1065 -337
- package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +180 -99
- package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +20 -2
- package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +2 -29
- package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +158 -38
- package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +2 -2
- package/dist/artifacts/core/tokens/RToken.sol/RToken.json +2 -29
- package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +553 -224
- package/dist/artifacts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.json +354 -0
- package/dist/artifacts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.json +356 -0
- package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +1036 -0
- package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +622 -207
- package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
- package/dist/artifacts/zeno/Auction.sol/Auction.json +89 -15
- package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +2 -2
- package/dist/artifacts/zeno/Zeno.sol/Zeno.json +108 -38
- package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +2 -2
- package/dist/configs/chains/11155111.json +8 -3
- package/dist/configs/chains/17000.json +38 -3
- package/dist/configs/chains/8453.json +49 -14
- package/dist/configs/createConfig.js +3 -3
- package/dist/pools/lendingPool/_helpers.js +41 -0
- package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.js +20 -0
- package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.js +32 -0
- package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.js +20 -0
- package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.js +32 -0
- package/dist/pools/lendingPool/borrowFromLendingPool.js +11 -14
- package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +11 -29
- package/dist/pools/lendingPool/calculateInsuranceFee.js +12 -8
- package/dist/pools/lendingPool/closeLiquidation.js +16 -14
- package/dist/pools/lendingPool/depositAssetToLendingPool.js +22 -0
- package/dist/pools/lendingPool/depositToLendingPool.js +2 -5
- package/dist/pools/lendingPool/getAdapterAddress.js +44 -0
- package/dist/pools/lendingPool/getAdapters.js +20 -0
- package/dist/pools/lendingPool/getEligibleUserDeposits.js +2 -5
- package/dist/pools/lendingPool/getHealthFactor.js +15 -13
- package/dist/pools/lendingPool/getLendingPoolInfo.js +10 -25
- package/dist/pools/lendingPool/getLendingPoolTotalLiquidity.js +2 -6
- package/dist/pools/lendingPool/getParameters.js +29 -0
- package/dist/pools/lendingPool/getPositionDebt.js +12 -11
- package/dist/pools/lendingPool/getPositionScaledDebt.js +16 -13
- package/dist/pools/lendingPool/getPositionView.js +16 -10
- package/dist/pools/lendingPool/getPositionsScaledDebt.js +3 -5
- package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +2 -5
- package/dist/pools/lendingPool/getUserCollateralValue.js +3 -5
- package/dist/pools/lendingPool/getWithdrawRequestInfo.js +25 -0
- package/dist/pools/lendingPool/initializeLiquidation.js +12 -12
- package/dist/pools/lendingPool/openVaultPosition.js +42 -0
- package/dist/pools/lendingPool/repayToLendingPool.js +11 -14
- package/dist/pools/lendingPool/requestWithdraw.js +28 -0
- package/dist/pools/lendingPool/types.js +2 -0
- package/dist/pools/lendingPool/withdrawAssetFromLendingPool.js +22 -0
- package/dist/pools/lendingPool/withdrawFromLendingPool.js +3 -4
- package/dist/pools/rwaVault/_helpers.js +41 -0
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.js +21 -0
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.js +30 -0
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.js +20 -0
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.js +21 -0
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.js +20 -0
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.js +30 -0
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.js +20 -0
- package/dist/pools/rwaVault/depositToRWAVault.js +23 -0
- package/dist/pools/rwaVault/getAdapterAddress.js +43 -0
- package/dist/pools/rwaVault/getAdapters.js +20 -0
- package/dist/pools/rwaVault/getNextRandomNFT.js +21 -0
- package/dist/pools/rwaVault/getRWAVaultInfo.js +48 -0
- package/dist/pools/rwaVault/redeemNFTFromRWAVault.js +23 -0
- package/dist/pools/rwaVault/requestRandomSeed.js +23 -0
- package/dist/pools/rwaVault/types.js +2 -0
- package/dist/scripts/index.js +81 -64
- package/dist/types/RPCLibrary.d.ts +55 -22
- package/dist/types/configs/createConfig.d.ts +1 -1
- package/dist/types/pools/lendingPool/_helpers.d.ts +10 -0
- package/dist/types/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.d.ts +3 -0
- package/dist/types/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.d.ts +10 -0
- package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.d.ts +3 -0
- package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.d.ts +10 -0
- package/dist/types/pools/lendingPool/borrowFromLendingPool.d.ts +4 -3
- package/dist/types/pools/lendingPool/borrowFromLendingPoolWithInsurance.d.ts +4 -3
- package/dist/types/pools/lendingPool/calculateInsuranceFee.d.ts +3 -2
- package/dist/types/pools/lendingPool/closeLiquidation.d.ts +7 -5
- package/dist/types/pools/lendingPool/depositAssetToLendingPool.d.ts +5 -0
- package/dist/types/pools/lendingPool/getAdapterAddress.d.ts +16 -0
- package/dist/types/pools/lendingPool/getAdapters.d.ts +8 -0
- package/dist/types/pools/lendingPool/getHealthFactor.d.ts +6 -4
- package/dist/types/pools/lendingPool/getLendingPoolInfo.d.ts +1 -3
- package/dist/types/pools/lendingPool/getParameters.d.ts +17 -0
- package/dist/types/pools/lendingPool/getPositionDebt.d.ts +4 -3
- package/dist/types/pools/lendingPool/getPositionScaledDebt.d.ts +8 -5
- package/dist/types/pools/lendingPool/getPositionView.d.ts +14 -18
- package/dist/types/pools/lendingPool/getWithdrawRequestInfo.d.ts +8 -0
- package/dist/types/pools/lendingPool/initializeLiquidation.d.ts +4 -3
- package/dist/types/pools/lendingPool/openVaultPosition.d.ts +4 -0
- package/dist/types/pools/lendingPool/repayToLendingPool.d.ts +4 -3
- package/dist/types/pools/lendingPool/requestWithdraw.d.ts +4 -0
- package/dist/types/pools/lendingPool/types.d.ts +7 -0
- package/dist/types/pools/lendingPool/withdrawAssetFromLendingPool.d.ts +5 -0
- package/dist/types/pools/rwaVault/_helpers.d.ts +10 -0
- package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.d.ts +3 -0
- package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.d.ts +9 -0
- package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.d.ts +3 -0
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.d.ts +3 -0
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.d.ts +3 -0
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.d.ts +9 -0
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.d.ts +3 -0
- package/dist/types/pools/rwaVault/depositToRWAVault.d.ts +5 -0
- package/dist/types/pools/rwaVault/getAdapterAddress.d.ts +16 -0
- package/dist/types/pools/rwaVault/getAdapters.d.ts +8 -0
- package/dist/types/pools/rwaVault/getNextRandomNFT.d.ts +8 -0
- package/dist/types/pools/rwaVault/getRWAVaultInfo.d.ts +20 -0
- package/dist/types/pools/rwaVault/redeemNFTFromRWAVault.d.ts +4 -0
- package/dist/types/pools/rwaVault/requestRandomSeed.d.ts +4 -0
- package/dist/types/pools/rwaVault/types.d.ts +7 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.d.ts +103 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/shared/interfaces/IERC677Receiver.d.ts +37 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/shared/interfaces/LinkTokenInterface.d.ts +143 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/shared/interfaces/index.d.ts +3 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/SubscriptionAPI.d.ts +529 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/VRFConsumerBaseV2Plus.d.ts +109 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/index.d.ts +6 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFCoordinatorV2Plus.d.ts +192 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFMigratableConsumerV2Plus.d.ts +45 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFSubscriptionV2Plus.d.ts +155 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/index.d.ts +3 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/libraries/VRFV2PlusClient.d.ts +25 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/dev/libraries/index.d.ts +1 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/index.d.ts +4 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/mocks/VRFCoordinatorV2_5Mock.d.ts +731 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/mocks/index.d.ts +1 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/access/Ownable2Step.d.ts +77 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/access/index.d.ts +1 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.d.ts +231 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/IERC2981.d.ts +49 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +2 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/utils/Errors.d.ts +20 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/utils/cryptography/MerkleProof.d.ts +20 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/utils/cryptography/index.d.ts +1 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/utils/index.d.ts +1 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/utils/math/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/core/collectors/FeeCollector.d.ts +30 -1
- package/dist/types/typechain-types/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/IWETH10Minimal.d.ts +53 -0
- package/dist/types/typechain-types/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.d.ts +115 -0
- package/dist/types/typechain-types/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/collectors/Treasury.d.ts +15 -1
- package/dist/types/typechain-types/contracts/core/collectors/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +616 -142
- package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +396 -108
- package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeRewardsDistributor.d.ts +623 -0
- package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +609 -155
- package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +610 -156
- package/dist/types/typechain-types/contracts/core/governance/gauges/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/core/governance/index.d.ts +0 -2
- package/dist/types/typechain-types/contracts/core/governance/proposals/Governance.d.ts +45 -67
- package/dist/types/typechain-types/contracts/core/index.d.ts +4 -0
- package/dist/types/typechain-types/contracts/core/lockers/LLamaTemple.d.ts +721 -0
- package/dist/types/typechain-types/contracts/core/lockers/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/core/minters/RAACMinter/RAACMinter.d.ts +69 -12
- package/dist/types/typechain-types/contracts/core/oracles/BaseChainlinkFunctionsOracle.d.ts +22 -4
- package/dist/types/typechain-types/contracts/core/oracles/BaseVRFv2Consumer.d.ts +40 -2
- package/dist/types/typechain-types/contracts/core/oracles/RAACHousePriceOracle.d.ts +41 -8
- package/dist/types/typechain-types/contracts/core/oracles/RAACPrimeRateOracle.d.ts +39 -7
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.d.ts +232 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/IERC20Adapter.d.ts +25 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/IPriceOracle.d.ts +25 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/index.d.ts +3 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.d.ts +254 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/IPriceOracle.d.ts +29 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +728 -205
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +440 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +538 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +485 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/index.d.ts +7 -0
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationStrategyProxy.d.ts +158 -0
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationSwap.d.ts +124 -0
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/StabilityPool.d.ts +135 -79
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/StabilityPoolStorage.d.ts +140 -0
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/index.d.ts +3 -1
- package/dist/types/typechain-types/contracts/core/primitives/ComplianceRegistry.d.ts +203 -0
- package/dist/types/typechain-types/contracts/core/primitives/RAACHousePrices.d.ts +23 -1
- package/dist/types/typechain-types/contracts/core/primitives/WithCompliance.d.ts +25 -0
- package/dist/types/typechain-types/contracts/core/primitives/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/tokens/DebtToken.d.ts +6 -15
- package/dist/types/typechain-types/contracts/core/tokens/RAACNFT.d.ts +94 -11
- package/dist/types/typechain-types/contracts/core/tokens/RToken.d.ts +1 -17
- package/dist/types/typechain-types/contracts/core/tokens/RWAIndexToken.d.ts +264 -0
- package/dist/types/typechain-types/contracts/core/tokens/VeRAACToken.d.ts +433 -172
- package/dist/types/typechain-types/contracts/core/tokens/index.d.ts +1 -1
- package/dist/types/typechain-types/contracts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.d.ts +174 -0
- package/dist/types/typechain-types/contracts/core/vaults/ERC20VaultAdapter.sol/IPriceOracle.d.ts +25 -0
- package/dist/types/typechain-types/contracts/core/vaults/ERC20VaultAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.d.ts +178 -0
- package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.sol/IPriceOracle.d.ts +29 -0
- package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/vaults/RWAVault.d.ts +511 -0
- package/dist/types/typechain-types/contracts/core/vaults/index.d.ts +5 -0
- package/dist/types/typechain-types/contracts/interfaces/IComplianceRegistry.d.ts +63 -0
- package/dist/types/typechain-types/contracts/interfaces/INFTLiquidator.d.ts +190 -23
- package/dist/types/typechain-types/contracts/interfaces/INFTWhitelist.d.ts +75 -0
- package/dist/types/typechain-types/contracts/interfaces/core/collectors/IFeeCollector.d.ts +9 -0
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +527 -0
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeController.d.ts +222 -40
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor.d.ts +351 -0
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/index.d.ts +2 -1
- package/dist/types/typechain-types/contracts/interfaces/core/governance/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/interfaces/core/governance/proposals/IGovernance.d.ts +45 -67
- package/dist/types/typechain-types/contracts/interfaces/core/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/interfaces/core/lockers/ILLamaLocker.d.ts +332 -0
- package/dist/types/typechain-types/contracts/interfaces/core/lockers/ILLamaTemple.d.ts +302 -0
- package/dist/types/typechain-types/contracts/interfaces/core/lockers/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/IRAACMinter.d.ts +30 -1
- package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/IRAACMinterRewardsReceiver.d.ts +49 -0
- package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IBaseVRFv2Consumer.d.ts +5 -1
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.d.ts +31 -24
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/IAssetAdapter.d.ts +143 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/IERC721Adapter.d.ts +51 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +369 -150
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPoolStorage.d.ts +102 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/index.d.ts +3 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/ILiquidationSwap.d.ts +51 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/IStabilityPool.d.ts +19 -64
- package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/IStabilityPoolStorage.d.ts +49 -0
- package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDebtToken.d.ts +6 -15
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRAACNFT.d.ts +70 -7
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IVaultToken.d.ts +197 -0
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IveRAACToken.d.ts +295 -36
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/IBaseHybridVault.d.ts +208 -0
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/IVaultAssetAdapter.d.ts +89 -0
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/interfaces/curve/ICurveLiquidityGaugeV5.d.ts +357 -0
- package/dist/types/typechain-types/contracts/interfaces/curve/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/index.d.ts +2 -4
- package/dist/types/typechain-types/contracts/interfaces/zeno/IAuction.d.ts +18 -3
- package/dist/types/typechain-types/contracts/interfaces/zeno/IZENO.d.ts +31 -1
- package/dist/types/typechain-types/contracts/libraries/governance/LockManager.d.ts +9 -2
- package/dist/types/typechain-types/contracts/libraries/governance/PowerCheckpoint.d.ts +34 -1
- package/dist/types/typechain-types/contracts/libraries/governance/index.d.ts +0 -3
- package/dist/types/typechain-types/contracts/libraries/math/TimeWeightedAverage.d.ts +1 -25
- package/dist/types/typechain-types/contracts/mocks/core/collectors/MockWETH.d.ts +225 -0
- package/dist/types/typechain-types/contracts/mocks/core/collectors/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/CurveLiquidityGaugeV5Mock.d.ts +56 -0
- package/dist/types/typechain-types/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/ILiquidityGauge.d.ts +35 -0
- package/dist/types/typechain-types/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/curve/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/MockGaugeController.d.ts +2 -6
- package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/mocks/core/index.d.ts +4 -0
- package/dist/types/typechain-types/contracts/mocks/core/lockers/LLamaLocker.sol/LlamaLocker.d.ts +394 -0
- package/dist/types/typechain-types/contracts/mocks/core/lockers/LLamaLocker.sol/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/core/lockers/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/IPriceOracle.d.ts +25 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/MockERC20PriceOracle.d.ts +33 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter.d.ts +2 -2
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockVRFCoordinatorV2.d.ts +349 -148
- package/dist/types/typechain-types/contracts/mocks/core/oracles/TestRAACHousePriceOracle.d.ts +41 -8
- package/dist/types/typechain-types/contracts/mocks/core/oracles/TestRAACPrimeRateOracle.d.ts +39 -7
- package/dist/types/typechain-types/contracts/mocks/core/oracles/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +367 -140
- package/dist/types/typechain-types/contracts/mocks/core/tokens/MockFeeCollectorToken.d.ts +1 -5
- package/dist/types/typechain-types/contracts/mocks/core/tokens/MockToken.d.ts +1 -5
- package/dist/types/typechain-types/contracts/mocks/core/tokens/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/mocks/libraries/governance/BoostCalculatorMock.d.ts +68 -139
- package/dist/types/typechain-types/contracts/mocks/libraries/governance/LockManagerMock.d.ts +19 -9
- package/dist/types/typechain-types/contracts/mocks/libraries/governance/PowerCheckpointMock.d.ts +37 -18
- package/dist/types/typechain-types/contracts/mocks/libraries/governance/index.d.ts +0 -3
- package/dist/types/typechain-types/contracts/mocks/tests/index.d.ts +0 -2
- package/dist/types/typechain-types/contracts/zeno/Auction.d.ts +37 -8
- package/dist/types/typechain-types/contracts/zeno/ZENO.d.ts +62 -6
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/functions/v1_0_0/libraries/FunctionsRequest__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwnerWithProposal__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface__factory.d.ts +93 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/interfaces/IERC677Receiver__factory.d.ts +25 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/interfaces/LinkTokenInterface__factory.d.ts +191 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/interfaces/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/SubscriptionAPI__factory.d.ts +663 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/VRFConsumerBaseV2Plus__factory.d.ts +139 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/index.d.ts +4 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFCoordinatorV2Plus__factory.d.ts +194 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFMigratableConsumerV2Plus__factory.d.ts +27 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/IVRFSubscriptionV2Plus__factory.d.ts +155 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/interfaces/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/libraries/VRFV2PlusClient__factory.d.ts +32 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/libraries/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/mocks/VRFCoordinatorV2_5Mock__factory.d.ts +944 -0
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/mocks/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/access/Ownable2Step__factory.d.ts +95 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/access/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.d.ts +289 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC2981__factory.d.ts +43 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +1 -13
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts +50 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +9 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/MerkleProof__factory.d.ts +26 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +65 -21
- package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/IWETH10Minimal__factory.d.ts +49 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector__factory.d.ts +177 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/Treasury__factory.d.ts +15 -1
- package/dist/types/typechain-types/factories/contracts/core/collectors/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +698 -144
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +461 -137
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +848 -0
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +686 -162
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +689 -155
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/core/governance/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/core/governance/proposals/Governance__factory.d.ts +42 -80
- package/dist/types/typechain-types/factories/contracts/core/governance/proposals/TimelockController__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/lockers/LLamaTemple__factory.d.ts +1028 -0
- package/dist/types/typechain-types/factories/contracts/core/lockers/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/core/minters/RAACMinter/RAACMinter__factory.d.ts +66 -25
- package/dist/types/typechain-types/factories/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator__factory.d.ts +5 -1
- package/dist/types/typechain-types/factories/contracts/core/oracles/BaseChainlinkFunctionsOracle__factory.d.ts +37 -1
- package/dist/types/typechain-types/factories/contracts/core/oracles/BaseVRFv2Consumer__factory.d.ts +90 -6
- package/dist/types/typechain-types/factories/contracts/core/oracles/RAACHousePriceOracle__factory.d.ts +64 -9
- package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +49 -3
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter__factory.d.ts +369 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/IERC20Adapter__factory.d.ts +21 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/IPriceOracle__factory.d.ts +17 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter__factory.d.ts +393 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/IPriceOracle__factory.d.ts +21 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +578 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +881 -306
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +716 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +636 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/index.d.ts +5 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +281 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationSwap__factory.d.ts +227 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPoolStorage__factory.d.ts +255 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +151 -85
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/index.d.ts +3 -1
- package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry__factory.d.ts +276 -0
- package/dist/types/typechain-types/factories/contracts/core/primitives/RAACHousePrices__factory.d.ts +29 -1
- package/dist/types/typechain-types/factories/contracts/core/primitives/WithCompliance__factory.d.ts +17 -0
- package/dist/types/typechain-types/factories/contracts/core/primitives/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/tokens/DEToken__factory.d.ts +1 -21
- package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +7 -11
- package/dist/types/typechain-types/factories/contracts/core/tokens/LPToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/RAACNFT__factory.d.ts +124 -31
- package/dist/types/typechain-types/factories/contracts/core/tokens/RAACToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +1 -61
- package/dist/types/typechain-types/factories/contracts/core/tokens/RWAIndexToken__factory.d.ts +465 -0
- package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +446 -186
- package/dist/types/typechain-types/factories/contracts/core/tokens/index.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter__factory.d.ts +285 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC20VaultAdapter.sol/IPriceOracle__factory.d.ts +17 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC20VaultAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter__factory.d.ts +287 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter.sol/IPriceOracle__factory.d.ts +21 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/RWAVault__factory.d.ts +808 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/IComplianceRegistry__factory.d.ts +67 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/INFTLiquidator__factory.d.ts +213 -6
- package/dist/types/typechain-types/factories/contracts/interfaces/INFTWhitelist__factory.d.ts +77 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/IFeeCollector__factory.d.ts +32 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +643 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeController__factory.d.ts +239 -65
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor__factory.d.ts +425 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/index.d.ts +2 -1
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/proposals/IGovernance__factory.d.ts +41 -79
- package/dist/types/typechain-types/factories/contracts/interfaces/core/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/ILLamaLocker__factory.d.ts +390 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/ILLamaTemple__factory.d.ts +390 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/IRAACMinterRewardsReceiver__factory.d.ts +35 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/IRAACMinter__factory.d.ts +33 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator__factory.d.ts +4 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IBaseVRFv2Consumer__factory.d.ts +14 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices__factory.d.ts +24 -29
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/IAssetAdapter__factory.d.ts +189 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/IERC721Adapter__factory.d.ts +53 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPoolStorage__factory.d.ts +183 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +428 -143
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/ILiquidationSwap__factory.d.ts +53 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/IStabilityPoolStorage__factory.d.ts +56 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/IStabilityPool__factory.d.ts +26 -75
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDebtToken__factory.d.ts +6 -10
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRAACNFT__factory.d.ts +79 -4
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IVaultToken__factory.d.ts +223 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IveRAACToken__factory.d.ts +355 -29
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IBaseHybridVault__factory.d.ts +256 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IVaultAssetAdapter__factory.d.ts +119 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/curve/ICurveLiquidityGaugeV5__factory.d.ts +503 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/curve/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/index.d.ts +2 -4
- package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IAuction__factory.d.ts +44 -1
- package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IZENO__factory.d.ts +42 -0
- package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +10 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +47 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/index.d.ts +0 -3
- package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -29
- package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/utils/StringUtils__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockTreasury__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockWETH__factory.d.ts +353 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/CurveLiquidityGaugeV5Mock__factory.d.ts +65 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/ILiquidityGauge__factory.d.ts +21 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/curve/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeController__factory.d.ts +1 -15
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockTestTarget__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LLamaLocker.sol/LlamaLocker__factory.d.ts +591 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LLamaLocker.sol/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/IPriceOracle__factory.d.ts +17 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/MockERC20PriceOracle__factory.d.ts +42 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter__factory.d.ts +2 -2
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockVRFCoordinatorV2__factory.d.ts +490 -166
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACHousePriceOracle__factory.d.ts +67 -12
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +49 -3
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolCollector__factory.d.ts +1 -21
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +427 -132
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPool__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLiquidityPool__factory.d.ts +1 -21
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockPool__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockStabilityPool__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContractWithConfig__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContract__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockDistributableContract__factory.d.ts +1 -21
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/RAACHousePricesMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC20Mock__factory.d.ts +8 -4
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC721Mock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockCollectableUnderlying__factory.d.ts +1 -21
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockFeeCollectorToken__factory.d.ts +1 -15
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockToken__factory.d.ts +1 -15
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockUSDC__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/RAACMockERC20__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/vaults/MockVault__factory.d.ts +1 -21
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockStringUtils__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +53 -122
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/LockManagerMock__factory.d.ts +21 -12
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +39 -14
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/index.d.ts +0 -3
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/WadRayMathMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousDeposit__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousWithdraw__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/tests/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +5 -1
- package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +83 -14
- package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +13 -1
- package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +87 -31
- package/dist/types/typechain-types/index.d.ts +112 -40
- package/dist/types/utils/artifacts.d.ts +460 -44
- package/dist/utils/artifacts.js +13 -2
- package/package.json +1 -1
- package/dist/artifacts/core/tokens/IndexToken.sol/IndexToken.json +0 -770
- package/dist/contracts/indexToken/getNextRandomNFT.js +0 -30
- package/dist/contracts/indexToken/redeemNFT.js +0 -39
- package/dist/pools/lendingPool/claimReward.js +0 -22
- package/dist/pools/lendingPool/depositNFTToLendingPool.js +0 -50
- package/dist/pools/lendingPool/getAllUserData.js +0 -28
- package/dist/pools/lendingPool/getPendingReward.js +0 -20
- package/dist/pools/lendingPool/getUserOfDepositedNFT.js +0 -27
- package/dist/pools/lendingPool/withdrawNFTFromLendingPool.js +0 -24
- package/dist/pools/stabilityPool/calculateRAACRewards.js +0 -21
- package/dist/pools/stabilityPool/depositNFTToStabilityPool.js +0 -40
- package/dist/types/contracts/indexToken/getNextRandomNFT.d.ts +0 -7
- package/dist/types/contracts/indexToken/redeemNFT.d.ts +0 -4
- package/dist/types/pools/lendingPool/claimReward.d.ts +0 -4
- package/dist/types/pools/lendingPool/depositNFTToLendingPool.d.ts +0 -4
- package/dist/types/pools/lendingPool/getAllUserData.d.ts +0 -17
- package/dist/types/pools/lendingPool/getPendingReward.d.ts +0 -4
- package/dist/types/pools/lendingPool/getUserOfDepositedNFT.d.ts +0 -11
- package/dist/types/pools/lendingPool/withdrawNFTFromLendingPool.d.ts +0 -4
- package/dist/types/pools/stabilityPool/calculateRAACRewards.d.ts +0 -4
- package/dist/types/pools/stabilityPool/depositNFTToStabilityPool.d.ts +0 -4
|
@@ -22,18 +22,28 @@
|
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
"internalType": "address",
|
|
25
|
-
"name": "
|
|
25
|
+
"name": "_liquidationProxyAddress",
|
|
26
26
|
"type": "address"
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
"internalType": "address",
|
|
30
|
-
"name": "
|
|
30
|
+
"name": "_vaultProxy",
|
|
31
|
+
"type": "address"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"internalType": "address",
|
|
35
|
+
"name": "_complianceRegistry",
|
|
31
36
|
"type": "address"
|
|
32
37
|
},
|
|
33
38
|
{
|
|
34
39
|
"internalType": "uint256",
|
|
35
40
|
"name": "_initialPrimeRate",
|
|
36
41
|
"type": "uint256"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"internalType": "address",
|
|
45
|
+
"name": "_admin",
|
|
46
|
+
"type": "address"
|
|
37
47
|
}
|
|
38
48
|
],
|
|
39
49
|
"stateMutability": "nonpayable",
|
|
@@ -41,29 +51,63 @@
|
|
|
41
51
|
},
|
|
42
52
|
{
|
|
43
53
|
"inputs": [],
|
|
44
|
-
"name": "
|
|
54
|
+
"name": "AccessControlBadConfirmation",
|
|
45
55
|
"type": "error"
|
|
46
56
|
},
|
|
47
57
|
{
|
|
48
58
|
"inputs": [
|
|
49
59
|
{
|
|
50
60
|
"internalType": "address",
|
|
51
|
-
"name": "
|
|
61
|
+
"name": "account",
|
|
52
62
|
"type": "address"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"internalType": "bytes32",
|
|
66
|
+
"name": "neededRole",
|
|
67
|
+
"type": "bytes32"
|
|
53
68
|
}
|
|
54
69
|
],
|
|
55
|
-
"name": "
|
|
70
|
+
"name": "AccessControlUnauthorizedAccount",
|
|
56
71
|
"type": "error"
|
|
57
72
|
},
|
|
58
73
|
{
|
|
59
|
-
"inputs": [
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
"
|
|
74
|
+
"inputs": [],
|
|
75
|
+
"name": "AccessDenied",
|
|
76
|
+
"type": "error"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"inputs": [],
|
|
80
|
+
"name": "AdapterAlreadySupported",
|
|
81
|
+
"type": "error"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"inputs": [],
|
|
85
|
+
"name": "AdapterNotSupported",
|
|
86
|
+
"type": "error"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"inputs": [],
|
|
90
|
+
"name": "AddressCannotBeZero",
|
|
91
|
+
"type": "error"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"inputs": [],
|
|
95
|
+
"name": "AmountDifferentThanRequested",
|
|
96
|
+
"type": "error"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"inputs": [],
|
|
100
|
+
"name": "ApprovalFailed",
|
|
101
|
+
"type": "error"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"inputs": [],
|
|
105
|
+
"name": "BlacklistedAddress",
|
|
106
|
+
"type": "error"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"inputs": [],
|
|
110
|
+
"name": "BorrowCapReached",
|
|
67
111
|
"type": "error"
|
|
68
112
|
},
|
|
69
113
|
{
|
|
@@ -83,22 +127,27 @@
|
|
|
83
127
|
},
|
|
84
128
|
{
|
|
85
129
|
"inputs": [],
|
|
86
|
-
"name": "
|
|
130
|
+
"name": "CapExceedSupply",
|
|
87
131
|
"type": "error"
|
|
88
132
|
},
|
|
89
133
|
{
|
|
90
134
|
"inputs": [],
|
|
91
|
-
"name": "
|
|
135
|
+
"name": "CapZero",
|
|
92
136
|
"type": "error"
|
|
93
137
|
},
|
|
94
138
|
{
|
|
95
139
|
"inputs": [],
|
|
96
|
-
"name": "
|
|
140
|
+
"name": "DebtNotZero",
|
|
141
|
+
"type": "error"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"inputs": [],
|
|
145
|
+
"name": "EnforcedPause",
|
|
97
146
|
"type": "error"
|
|
98
147
|
},
|
|
99
148
|
{
|
|
100
149
|
"inputs": [],
|
|
101
|
-
"name": "
|
|
150
|
+
"name": "ExpectedPause",
|
|
102
151
|
"type": "error"
|
|
103
152
|
},
|
|
104
153
|
{
|
|
@@ -131,6 +180,11 @@
|
|
|
131
180
|
"name": "InsufficientLiquidity",
|
|
132
181
|
"type": "error"
|
|
133
182
|
},
|
|
183
|
+
{
|
|
184
|
+
"inputs": [],
|
|
185
|
+
"name": "InsufficientLiquidityAfterWithdrawal",
|
|
186
|
+
"type": "error"
|
|
187
|
+
},
|
|
134
188
|
{
|
|
135
189
|
"inputs": [],
|
|
136
190
|
"name": "InvalidAmount",
|
|
@@ -141,6 +195,16 @@
|
|
|
141
195
|
"name": "InvalidAmount",
|
|
142
196
|
"type": "error"
|
|
143
197
|
},
|
|
198
|
+
{
|
|
199
|
+
"inputs": [],
|
|
200
|
+
"name": "InvalidBoolean",
|
|
201
|
+
"type": "error"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"inputs": [],
|
|
205
|
+
"name": "InvalidGracePeriod",
|
|
206
|
+
"type": "error"
|
|
207
|
+
},
|
|
144
208
|
{
|
|
145
209
|
"inputs": [],
|
|
146
210
|
"name": "InvalidInterestRateMode",
|
|
@@ -161,6 +225,11 @@
|
|
|
161
225
|
"name": "InvalidParameter",
|
|
162
226
|
"type": "error"
|
|
163
227
|
},
|
|
228
|
+
{
|
|
229
|
+
"inputs": [],
|
|
230
|
+
"name": "InvalidPercentage",
|
|
231
|
+
"type": "error"
|
|
232
|
+
},
|
|
164
233
|
{
|
|
165
234
|
"inputs": [],
|
|
166
235
|
"name": "InvalidVaultAsset",
|
|
@@ -183,22 +252,22 @@
|
|
|
183
252
|
},
|
|
184
253
|
{
|
|
185
254
|
"inputs": [],
|
|
186
|
-
"name": "
|
|
255
|
+
"name": "NoActiveRewardToken",
|
|
187
256
|
"type": "error"
|
|
188
257
|
},
|
|
189
258
|
{
|
|
190
259
|
"inputs": [],
|
|
191
|
-
"name": "
|
|
260
|
+
"name": "NoCollateral",
|
|
192
261
|
"type": "error"
|
|
193
262
|
},
|
|
194
263
|
{
|
|
195
264
|
"inputs": [],
|
|
196
|
-
"name": "
|
|
265
|
+
"name": "NoDeposits",
|
|
197
266
|
"type": "error"
|
|
198
267
|
},
|
|
199
268
|
{
|
|
200
269
|
"inputs": [],
|
|
201
|
-
"name": "
|
|
270
|
+
"name": "NoPendingWithdraw",
|
|
202
271
|
"type": "error"
|
|
203
272
|
},
|
|
204
273
|
{
|
|
@@ -206,11 +275,26 @@
|
|
|
206
275
|
"name": "NoRewardsToClaim",
|
|
207
276
|
"type": "error"
|
|
208
277
|
},
|
|
278
|
+
{
|
|
279
|
+
"inputs": [],
|
|
280
|
+
"name": "NoVaultSet",
|
|
281
|
+
"type": "error"
|
|
282
|
+
},
|
|
209
283
|
{
|
|
210
284
|
"inputs": [],
|
|
211
285
|
"name": "NotEnoughCollateralToBorrow",
|
|
212
286
|
"type": "error"
|
|
213
287
|
},
|
|
288
|
+
{
|
|
289
|
+
"inputs": [],
|
|
290
|
+
"name": "NotEnoughLiquidity",
|
|
291
|
+
"type": "error"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"inputs": [],
|
|
295
|
+
"name": "NotInsured",
|
|
296
|
+
"type": "error"
|
|
297
|
+
},
|
|
214
298
|
{
|
|
215
299
|
"inputs": [],
|
|
216
300
|
"name": "NotOwnerOfNFT",
|
|
@@ -310,6 +394,21 @@
|
|
|
310
394
|
"name": "StalePrice",
|
|
311
395
|
"type": "error"
|
|
312
396
|
},
|
|
397
|
+
{
|
|
398
|
+
"inputs": [],
|
|
399
|
+
"name": "SupplyCapReached",
|
|
400
|
+
"type": "error"
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"inputs": [],
|
|
404
|
+
"name": "TimelockDisabled",
|
|
405
|
+
"type": "error"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"inputs": [],
|
|
409
|
+
"name": "TimelockNotExpired",
|
|
410
|
+
"type": "error"
|
|
411
|
+
},
|
|
313
412
|
{
|
|
314
413
|
"inputs": [],
|
|
315
414
|
"name": "TransferFailed",
|
|
@@ -325,6 +424,16 @@
|
|
|
325
424
|
"name": "UserAlreadyUnderLiquidation",
|
|
326
425
|
"type": "error"
|
|
327
426
|
},
|
|
427
|
+
{
|
|
428
|
+
"inputs": [],
|
|
429
|
+
"name": "VaultPositionAlreadyOpened",
|
|
430
|
+
"type": "error"
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"inputs": [],
|
|
434
|
+
"name": "VaultPositionNotOpened",
|
|
435
|
+
"type": "error"
|
|
436
|
+
},
|
|
328
437
|
{
|
|
329
438
|
"inputs": [],
|
|
330
439
|
"name": "WithdrawalWouldLeaveUserUnderCollateralized",
|
|
@@ -335,6 +444,32 @@
|
|
|
335
444
|
"name": "WithdrawalsArePaused",
|
|
336
445
|
"type": "error"
|
|
337
446
|
},
|
|
447
|
+
{
|
|
448
|
+
"anonymous": false,
|
|
449
|
+
"inputs": [
|
|
450
|
+
{
|
|
451
|
+
"indexed": false,
|
|
452
|
+
"internalType": "address",
|
|
453
|
+
"name": "adapter",
|
|
454
|
+
"type": "address"
|
|
455
|
+
}
|
|
456
|
+
],
|
|
457
|
+
"name": "AdapterRegistered",
|
|
458
|
+
"type": "event"
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"anonymous": false,
|
|
462
|
+
"inputs": [
|
|
463
|
+
{
|
|
464
|
+
"indexed": false,
|
|
465
|
+
"internalType": "address",
|
|
466
|
+
"name": "adapter",
|
|
467
|
+
"type": "address"
|
|
468
|
+
}
|
|
469
|
+
],
|
|
470
|
+
"name": "AdapterRemoved",
|
|
471
|
+
"type": "event"
|
|
472
|
+
},
|
|
338
473
|
{
|
|
339
474
|
"anonymous": false,
|
|
340
475
|
"inputs": [
|
|
@@ -354,6 +489,25 @@
|
|
|
354
489
|
"name": "Borrow",
|
|
355
490
|
"type": "event"
|
|
356
491
|
},
|
|
492
|
+
{
|
|
493
|
+
"anonymous": false,
|
|
494
|
+
"inputs": [
|
|
495
|
+
{
|
|
496
|
+
"indexed": false,
|
|
497
|
+
"internalType": "uint256",
|
|
498
|
+
"name": "oldalue",
|
|
499
|
+
"type": "uint256"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"indexed": false,
|
|
503
|
+
"internalType": "uint256",
|
|
504
|
+
"name": "newValue",
|
|
505
|
+
"type": "uint256"
|
|
506
|
+
}
|
|
507
|
+
],
|
|
508
|
+
"name": "BorrowCapUpdated",
|
|
509
|
+
"type": "event"
|
|
510
|
+
},
|
|
357
511
|
{
|
|
358
512
|
"anonymous": false,
|
|
359
513
|
"inputs": [
|
|
@@ -417,6 +571,25 @@
|
|
|
417
571
|
"name": "Deposit",
|
|
418
572
|
"type": "event"
|
|
419
573
|
},
|
|
574
|
+
{
|
|
575
|
+
"anonymous": false,
|
|
576
|
+
"inputs": [
|
|
577
|
+
{
|
|
578
|
+
"indexed": false,
|
|
579
|
+
"internalType": "uint256",
|
|
580
|
+
"name": "oldDepositFee",
|
|
581
|
+
"type": "uint256"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"indexed": false,
|
|
585
|
+
"internalType": "uint256",
|
|
586
|
+
"name": "newDepositFee",
|
|
587
|
+
"type": "uint256"
|
|
588
|
+
}
|
|
589
|
+
],
|
|
590
|
+
"name": "DepositFeeUpdated",
|
|
591
|
+
"type": "event"
|
|
592
|
+
},
|
|
420
593
|
{
|
|
421
594
|
"anonymous": false,
|
|
422
595
|
"inputs": [
|
|
@@ -466,9 +639,21 @@
|
|
|
466
639
|
"inputs": [
|
|
467
640
|
{
|
|
468
641
|
"indexed": true,
|
|
469
|
-
"internalType": "
|
|
470
|
-
"name": "
|
|
471
|
-
"type": "
|
|
642
|
+
"internalType": "address",
|
|
643
|
+
"name": "asset",
|
|
644
|
+
"type": "address"
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
"indexed": false,
|
|
648
|
+
"internalType": "address",
|
|
649
|
+
"name": "user",
|
|
650
|
+
"type": "address"
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"indexed": false,
|
|
654
|
+
"internalType": "bytes",
|
|
655
|
+
"name": "data",
|
|
656
|
+
"type": "bytes"
|
|
472
657
|
},
|
|
473
658
|
{
|
|
474
659
|
"indexed": false,
|
|
@@ -477,7 +662,7 @@
|
|
|
477
662
|
"type": "uint256"
|
|
478
663
|
}
|
|
479
664
|
],
|
|
480
|
-
"name": "
|
|
665
|
+
"name": "InsuredAsset",
|
|
481
666
|
"type": "event"
|
|
482
667
|
},
|
|
483
668
|
{
|
|
@@ -540,10 +725,16 @@
|
|
|
540
725
|
"type": "address"
|
|
541
726
|
},
|
|
542
727
|
{
|
|
543
|
-
"indexed":
|
|
544
|
-
"internalType": "
|
|
545
|
-
"name": "
|
|
546
|
-
"type": "
|
|
728
|
+
"indexed": false,
|
|
729
|
+
"internalType": "address",
|
|
730
|
+
"name": "adapter",
|
|
731
|
+
"type": "address"
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"indexed": false,
|
|
735
|
+
"internalType": "bytes",
|
|
736
|
+
"name": "data",
|
|
737
|
+
"type": "bytes"
|
|
547
738
|
}
|
|
548
739
|
],
|
|
549
740
|
"name": "LiquidationClosed",
|
|
@@ -565,10 +756,16 @@
|
|
|
565
756
|
"type": "address"
|
|
566
757
|
},
|
|
567
758
|
{
|
|
568
|
-
"indexed":
|
|
569
|
-
"internalType": "
|
|
570
|
-
"name": "
|
|
571
|
-
"type": "
|
|
759
|
+
"indexed": false,
|
|
760
|
+
"internalType": "address",
|
|
761
|
+
"name": "adapter",
|
|
762
|
+
"type": "address"
|
|
763
|
+
},
|
|
764
|
+
{
|
|
765
|
+
"indexed": false,
|
|
766
|
+
"internalType": "bytes",
|
|
767
|
+
"name": "data",
|
|
768
|
+
"type": "bytes"
|
|
572
769
|
},
|
|
573
770
|
{
|
|
574
771
|
"indexed": false,
|
|
@@ -602,10 +799,16 @@
|
|
|
602
799
|
"type": "address"
|
|
603
800
|
},
|
|
604
801
|
{
|
|
605
|
-
"indexed":
|
|
606
|
-
"internalType": "
|
|
607
|
-
"name": "
|
|
608
|
-
"type": "
|
|
802
|
+
"indexed": false,
|
|
803
|
+
"internalType": "address",
|
|
804
|
+
"name": "adapter",
|
|
805
|
+
"type": "address"
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"indexed": false,
|
|
809
|
+
"internalType": "bytes",
|
|
810
|
+
"name": "data",
|
|
811
|
+
"type": "bytes"
|
|
609
812
|
}
|
|
610
813
|
],
|
|
611
814
|
"name": "LiquidationInitiated",
|
|
@@ -636,6 +839,25 @@
|
|
|
636
839
|
"name": "LiquidationParametersUpdated",
|
|
637
840
|
"type": "event"
|
|
638
841
|
},
|
|
842
|
+
{
|
|
843
|
+
"anonymous": false,
|
|
844
|
+
"inputs": [
|
|
845
|
+
{
|
|
846
|
+
"indexed": true,
|
|
847
|
+
"internalType": "address",
|
|
848
|
+
"name": "oldLiquidationProxy",
|
|
849
|
+
"type": "address"
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"indexed": true,
|
|
853
|
+
"internalType": "address",
|
|
854
|
+
"name": "newLiquidationProxy",
|
|
855
|
+
"type": "address"
|
|
856
|
+
}
|
|
857
|
+
],
|
|
858
|
+
"name": "LiquidationProxyUpdated",
|
|
859
|
+
"type": "event"
|
|
860
|
+
},
|
|
639
861
|
{
|
|
640
862
|
"anonymous": false,
|
|
641
863
|
"inputs": [
|
|
@@ -742,31 +964,24 @@
|
|
|
742
964
|
"inputs": [
|
|
743
965
|
{
|
|
744
966
|
"indexed": false,
|
|
745
|
-
"internalType": "
|
|
746
|
-
"name": "
|
|
747
|
-
"type": "
|
|
748
|
-
}
|
|
749
|
-
],
|
|
750
|
-
"name": "Paused",
|
|
751
|
-
"type": "event"
|
|
752
|
-
},
|
|
753
|
-
{
|
|
754
|
-
"anonymous": false,
|
|
755
|
-
"inputs": [
|
|
967
|
+
"internalType": "enum ILendingPool.OwnerParameter",
|
|
968
|
+
"name": "parameter",
|
|
969
|
+
"type": "uint8"
|
|
970
|
+
},
|
|
756
971
|
{
|
|
757
972
|
"indexed": false,
|
|
758
973
|
"internalType": "uint256",
|
|
759
|
-
"name": "
|
|
974
|
+
"name": "oldalue",
|
|
760
975
|
"type": "uint256"
|
|
761
976
|
},
|
|
762
977
|
{
|
|
763
978
|
"indexed": false,
|
|
764
979
|
"internalType": "uint256",
|
|
765
|
-
"name": "
|
|
980
|
+
"name": "newValue",
|
|
766
981
|
"type": "uint256"
|
|
767
982
|
}
|
|
768
983
|
],
|
|
769
|
-
"name": "
|
|
984
|
+
"name": "ParameterChanged",
|
|
770
985
|
"type": "event"
|
|
771
986
|
},
|
|
772
987
|
{
|
|
@@ -774,8 +989,40 @@
|
|
|
774
989
|
"inputs": [
|
|
775
990
|
{
|
|
776
991
|
"indexed": false,
|
|
777
|
-
"internalType": "
|
|
778
|
-
"name": "
|
|
992
|
+
"internalType": "address",
|
|
993
|
+
"name": "account",
|
|
994
|
+
"type": "address"
|
|
995
|
+
}
|
|
996
|
+
],
|
|
997
|
+
"name": "Paused",
|
|
998
|
+
"type": "event"
|
|
999
|
+
},
|
|
1000
|
+
{
|
|
1001
|
+
"anonymous": false,
|
|
1002
|
+
"inputs": [
|
|
1003
|
+
{
|
|
1004
|
+
"indexed": false,
|
|
1005
|
+
"internalType": "uint256",
|
|
1006
|
+
"name": "oldPrimeRate",
|
|
1007
|
+
"type": "uint256"
|
|
1008
|
+
},
|
|
1009
|
+
{
|
|
1010
|
+
"indexed": false,
|
|
1011
|
+
"internalType": "uint256",
|
|
1012
|
+
"name": "newPrimeRate",
|
|
1013
|
+
"type": "uint256"
|
|
1014
|
+
}
|
|
1015
|
+
],
|
|
1016
|
+
"name": "PrimeRateUpdated",
|
|
1017
|
+
"type": "event"
|
|
1018
|
+
},
|
|
1019
|
+
{
|
|
1020
|
+
"anonymous": false,
|
|
1021
|
+
"inputs": [
|
|
1022
|
+
{
|
|
1023
|
+
"indexed": false,
|
|
1024
|
+
"internalType": "uint256",
|
|
1025
|
+
"name": "oldValue",
|
|
779
1026
|
"type": "uint256"
|
|
780
1027
|
},
|
|
781
1028
|
{
|
|
@@ -983,6 +1230,81 @@
|
|
|
983
1230
|
"name": "RewardTokensDeposited",
|
|
984
1231
|
"type": "event"
|
|
985
1232
|
},
|
|
1233
|
+
{
|
|
1234
|
+
"anonymous": false,
|
|
1235
|
+
"inputs": [
|
|
1236
|
+
{
|
|
1237
|
+
"indexed": true,
|
|
1238
|
+
"internalType": "bytes32",
|
|
1239
|
+
"name": "role",
|
|
1240
|
+
"type": "bytes32"
|
|
1241
|
+
},
|
|
1242
|
+
{
|
|
1243
|
+
"indexed": true,
|
|
1244
|
+
"internalType": "bytes32",
|
|
1245
|
+
"name": "previousAdminRole",
|
|
1246
|
+
"type": "bytes32"
|
|
1247
|
+
},
|
|
1248
|
+
{
|
|
1249
|
+
"indexed": true,
|
|
1250
|
+
"internalType": "bytes32",
|
|
1251
|
+
"name": "newAdminRole",
|
|
1252
|
+
"type": "bytes32"
|
|
1253
|
+
}
|
|
1254
|
+
],
|
|
1255
|
+
"name": "RoleAdminChanged",
|
|
1256
|
+
"type": "event"
|
|
1257
|
+
},
|
|
1258
|
+
{
|
|
1259
|
+
"anonymous": false,
|
|
1260
|
+
"inputs": [
|
|
1261
|
+
{
|
|
1262
|
+
"indexed": true,
|
|
1263
|
+
"internalType": "bytes32",
|
|
1264
|
+
"name": "role",
|
|
1265
|
+
"type": "bytes32"
|
|
1266
|
+
},
|
|
1267
|
+
{
|
|
1268
|
+
"indexed": true,
|
|
1269
|
+
"internalType": "address",
|
|
1270
|
+
"name": "account",
|
|
1271
|
+
"type": "address"
|
|
1272
|
+
},
|
|
1273
|
+
{
|
|
1274
|
+
"indexed": true,
|
|
1275
|
+
"internalType": "address",
|
|
1276
|
+
"name": "sender",
|
|
1277
|
+
"type": "address"
|
|
1278
|
+
}
|
|
1279
|
+
],
|
|
1280
|
+
"name": "RoleGranted",
|
|
1281
|
+
"type": "event"
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
"anonymous": false,
|
|
1285
|
+
"inputs": [
|
|
1286
|
+
{
|
|
1287
|
+
"indexed": true,
|
|
1288
|
+
"internalType": "bytes32",
|
|
1289
|
+
"name": "role",
|
|
1290
|
+
"type": "bytes32"
|
|
1291
|
+
},
|
|
1292
|
+
{
|
|
1293
|
+
"indexed": true,
|
|
1294
|
+
"internalType": "address",
|
|
1295
|
+
"name": "account",
|
|
1296
|
+
"type": "address"
|
|
1297
|
+
},
|
|
1298
|
+
{
|
|
1299
|
+
"indexed": true,
|
|
1300
|
+
"internalType": "address",
|
|
1301
|
+
"name": "sender",
|
|
1302
|
+
"type": "address"
|
|
1303
|
+
}
|
|
1304
|
+
],
|
|
1305
|
+
"name": "RoleRevoked",
|
|
1306
|
+
"type": "event"
|
|
1307
|
+
},
|
|
986
1308
|
{
|
|
987
1309
|
"anonymous": false,
|
|
988
1310
|
"inputs": [
|
|
@@ -1002,6 +1324,25 @@
|
|
|
1002
1324
|
"name": "StabilityPoolUpdated",
|
|
1003
1325
|
"type": "event"
|
|
1004
1326
|
},
|
|
1327
|
+
{
|
|
1328
|
+
"anonymous": false,
|
|
1329
|
+
"inputs": [
|
|
1330
|
+
{
|
|
1331
|
+
"indexed": false,
|
|
1332
|
+
"internalType": "uint256",
|
|
1333
|
+
"name": "oldalue",
|
|
1334
|
+
"type": "uint256"
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
"indexed": false,
|
|
1338
|
+
"internalType": "uint256",
|
|
1339
|
+
"name": "newValue",
|
|
1340
|
+
"type": "uint256"
|
|
1341
|
+
}
|
|
1342
|
+
],
|
|
1343
|
+
"name": "SupplyCapUpdated",
|
|
1344
|
+
"type": "event"
|
|
1345
|
+
},
|
|
1005
1346
|
{
|
|
1006
1347
|
"anonymous": false,
|
|
1007
1348
|
"inputs": [
|
|
@@ -1015,6 +1356,44 @@
|
|
|
1015
1356
|
"name": "Unpaused",
|
|
1016
1357
|
"type": "event"
|
|
1017
1358
|
},
|
|
1359
|
+
{
|
|
1360
|
+
"anonymous": false,
|
|
1361
|
+
"inputs": [
|
|
1362
|
+
{
|
|
1363
|
+
"indexed": false,
|
|
1364
|
+
"internalType": "address",
|
|
1365
|
+
"name": "user",
|
|
1366
|
+
"type": "address"
|
|
1367
|
+
},
|
|
1368
|
+
{
|
|
1369
|
+
"indexed": false,
|
|
1370
|
+
"internalType": "uint256",
|
|
1371
|
+
"name": "fee",
|
|
1372
|
+
"type": "uint256"
|
|
1373
|
+
}
|
|
1374
|
+
],
|
|
1375
|
+
"name": "VaultOpeningFeePaid",
|
|
1376
|
+
"type": "event"
|
|
1377
|
+
},
|
|
1378
|
+
{
|
|
1379
|
+
"anonymous": false,
|
|
1380
|
+
"inputs": [
|
|
1381
|
+
{
|
|
1382
|
+
"indexed": false,
|
|
1383
|
+
"internalType": "uint256",
|
|
1384
|
+
"name": "oldalue",
|
|
1385
|
+
"type": "uint256"
|
|
1386
|
+
},
|
|
1387
|
+
{
|
|
1388
|
+
"indexed": false,
|
|
1389
|
+
"internalType": "uint256",
|
|
1390
|
+
"name": "newValue",
|
|
1391
|
+
"type": "uint256"
|
|
1392
|
+
}
|
|
1393
|
+
],
|
|
1394
|
+
"name": "VaultOpeningFeeUpdated",
|
|
1395
|
+
"type": "event"
|
|
1396
|
+
},
|
|
1018
1397
|
{
|
|
1019
1398
|
"anonymous": false,
|
|
1020
1399
|
"inputs": [
|
|
@@ -1104,6 +1483,82 @@
|
|
|
1104
1483
|
"name": "Withdraw",
|
|
1105
1484
|
"type": "event"
|
|
1106
1485
|
},
|
|
1486
|
+
{
|
|
1487
|
+
"anonymous": false,
|
|
1488
|
+
"inputs": [
|
|
1489
|
+
{
|
|
1490
|
+
"indexed": true,
|
|
1491
|
+
"internalType": "address",
|
|
1492
|
+
"name": "user",
|
|
1493
|
+
"type": "address"
|
|
1494
|
+
}
|
|
1495
|
+
],
|
|
1496
|
+
"name": "WithdrawCancelled",
|
|
1497
|
+
"type": "event"
|
|
1498
|
+
},
|
|
1499
|
+
{
|
|
1500
|
+
"anonymous": false,
|
|
1501
|
+
"inputs": [
|
|
1502
|
+
{
|
|
1503
|
+
"indexed": false,
|
|
1504
|
+
"internalType": "uint256",
|
|
1505
|
+
"name": "oldWithdrawalFee",
|
|
1506
|
+
"type": "uint256"
|
|
1507
|
+
},
|
|
1508
|
+
{
|
|
1509
|
+
"indexed": false,
|
|
1510
|
+
"internalType": "uint256",
|
|
1511
|
+
"name": "newWithdrawalFee",
|
|
1512
|
+
"type": "uint256"
|
|
1513
|
+
}
|
|
1514
|
+
],
|
|
1515
|
+
"name": "WithdrawFeeUpdated",
|
|
1516
|
+
"type": "event"
|
|
1517
|
+
},
|
|
1518
|
+
{
|
|
1519
|
+
"anonymous": false,
|
|
1520
|
+
"inputs": [
|
|
1521
|
+
{
|
|
1522
|
+
"indexed": true,
|
|
1523
|
+
"internalType": "address",
|
|
1524
|
+
"name": "user",
|
|
1525
|
+
"type": "address"
|
|
1526
|
+
},
|
|
1527
|
+
{
|
|
1528
|
+
"indexed": false,
|
|
1529
|
+
"internalType": "uint256",
|
|
1530
|
+
"name": "amount",
|
|
1531
|
+
"type": "uint256"
|
|
1532
|
+
},
|
|
1533
|
+
{
|
|
1534
|
+
"indexed": false,
|
|
1535
|
+
"internalType": "uint256",
|
|
1536
|
+
"name": "readyAt",
|
|
1537
|
+
"type": "uint256"
|
|
1538
|
+
}
|
|
1539
|
+
],
|
|
1540
|
+
"name": "WithdrawQueued",
|
|
1541
|
+
"type": "event"
|
|
1542
|
+
},
|
|
1543
|
+
{
|
|
1544
|
+
"anonymous": false,
|
|
1545
|
+
"inputs": [
|
|
1546
|
+
{
|
|
1547
|
+
"indexed": false,
|
|
1548
|
+
"internalType": "uint256",
|
|
1549
|
+
"name": "oldValue",
|
|
1550
|
+
"type": "uint256"
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
"indexed": false,
|
|
1554
|
+
"internalType": "uint256",
|
|
1555
|
+
"name": "newValue",
|
|
1556
|
+
"type": "uint256"
|
|
1557
|
+
}
|
|
1558
|
+
],
|
|
1559
|
+
"name": "WithdrawTimelockDurationUpdated",
|
|
1560
|
+
"type": "event"
|
|
1561
|
+
},
|
|
1107
1562
|
{
|
|
1108
1563
|
"anonymous": false,
|
|
1109
1564
|
"inputs": [
|
|
@@ -1156,12 +1611,75 @@
|
|
|
1156
1611
|
"stateMutability": "view",
|
|
1157
1612
|
"type": "function"
|
|
1158
1613
|
},
|
|
1614
|
+
{
|
|
1615
|
+
"inputs": [],
|
|
1616
|
+
"name": "DEFAULT_ADMIN_ROLE",
|
|
1617
|
+
"outputs": [
|
|
1618
|
+
{
|
|
1619
|
+
"internalType": "bytes32",
|
|
1620
|
+
"name": "",
|
|
1621
|
+
"type": "bytes32"
|
|
1622
|
+
}
|
|
1623
|
+
],
|
|
1624
|
+
"stateMutability": "view",
|
|
1625
|
+
"type": "function"
|
|
1626
|
+
},
|
|
1627
|
+
{
|
|
1628
|
+
"inputs": [],
|
|
1629
|
+
"name": "GOVERNANCE_ROLE",
|
|
1630
|
+
"outputs": [
|
|
1631
|
+
{
|
|
1632
|
+
"internalType": "bytes32",
|
|
1633
|
+
"name": "",
|
|
1634
|
+
"type": "bytes32"
|
|
1635
|
+
}
|
|
1636
|
+
],
|
|
1637
|
+
"stateMutability": "view",
|
|
1638
|
+
"type": "function"
|
|
1639
|
+
},
|
|
1640
|
+
{
|
|
1641
|
+
"inputs": [],
|
|
1642
|
+
"name": "PROTOCOL_ROLE",
|
|
1643
|
+
"outputs": [
|
|
1644
|
+
{
|
|
1645
|
+
"internalType": "bytes32",
|
|
1646
|
+
"name": "",
|
|
1647
|
+
"type": "bytes32"
|
|
1648
|
+
}
|
|
1649
|
+
],
|
|
1650
|
+
"stateMutability": "view",
|
|
1651
|
+
"type": "function"
|
|
1652
|
+
},
|
|
1159
1653
|
{
|
|
1160
1654
|
"inputs": [
|
|
1161
1655
|
{
|
|
1162
1656
|
"internalType": "uint256",
|
|
1163
|
-
"name": "
|
|
1657
|
+
"name": "",
|
|
1164
1658
|
"type": "uint256"
|
|
1659
|
+
}
|
|
1660
|
+
],
|
|
1661
|
+
"name": "adapters",
|
|
1662
|
+
"outputs": [
|
|
1663
|
+
{
|
|
1664
|
+
"internalType": "address",
|
|
1665
|
+
"name": "",
|
|
1666
|
+
"type": "address"
|
|
1667
|
+
}
|
|
1668
|
+
],
|
|
1669
|
+
"stateMutability": "view",
|
|
1670
|
+
"type": "function"
|
|
1671
|
+
},
|
|
1672
|
+
{
|
|
1673
|
+
"inputs": [
|
|
1674
|
+
{
|
|
1675
|
+
"internalType": "address",
|
|
1676
|
+
"name": "adapter",
|
|
1677
|
+
"type": "address"
|
|
1678
|
+
},
|
|
1679
|
+
{
|
|
1680
|
+
"internalType": "bytes",
|
|
1681
|
+
"name": "data",
|
|
1682
|
+
"type": "bytes"
|
|
1165
1683
|
},
|
|
1166
1684
|
{
|
|
1167
1685
|
"internalType": "uint256",
|
|
@@ -1177,9 +1695,14 @@
|
|
|
1177
1695
|
{
|
|
1178
1696
|
"inputs": [
|
|
1179
1697
|
{
|
|
1180
|
-
"internalType": "
|
|
1181
|
-
"name": "
|
|
1182
|
-
"type": "
|
|
1698
|
+
"internalType": "address",
|
|
1699
|
+
"name": "adapter",
|
|
1700
|
+
"type": "address"
|
|
1701
|
+
},
|
|
1702
|
+
{
|
|
1703
|
+
"internalType": "bytes",
|
|
1704
|
+
"name": "data",
|
|
1705
|
+
"type": "bytes"
|
|
1183
1706
|
},
|
|
1184
1707
|
{
|
|
1185
1708
|
"internalType": "uint256",
|
|
@@ -1196,13 +1719,18 @@
|
|
|
1196
1719
|
"inputs": [
|
|
1197
1720
|
{
|
|
1198
1721
|
"internalType": "address",
|
|
1199
|
-
"name": "
|
|
1722
|
+
"name": "adapter",
|
|
1200
1723
|
"type": "address"
|
|
1201
1724
|
},
|
|
1202
1725
|
{
|
|
1203
|
-
"internalType": "
|
|
1204
|
-
"name": "
|
|
1205
|
-
"type": "
|
|
1726
|
+
"internalType": "address",
|
|
1727
|
+
"name": "user",
|
|
1728
|
+
"type": "address"
|
|
1729
|
+
},
|
|
1730
|
+
{
|
|
1731
|
+
"internalType": "bytes",
|
|
1732
|
+
"name": "data",
|
|
1733
|
+
"type": "bytes"
|
|
1206
1734
|
}
|
|
1207
1735
|
],
|
|
1208
1736
|
"name": "calculateHealthFactor",
|
|
@@ -1218,15 +1746,20 @@
|
|
|
1218
1746
|
},
|
|
1219
1747
|
{
|
|
1220
1748
|
"inputs": [
|
|
1749
|
+
{
|
|
1750
|
+
"internalType": "address",
|
|
1751
|
+
"name": "adapter",
|
|
1752
|
+
"type": "address"
|
|
1753
|
+
},
|
|
1221
1754
|
{
|
|
1222
1755
|
"internalType": "address",
|
|
1223
1756
|
"name": "user",
|
|
1224
1757
|
"type": "address"
|
|
1225
1758
|
},
|
|
1226
1759
|
{
|
|
1227
|
-
"internalType": "
|
|
1228
|
-
"name": "
|
|
1229
|
-
"type": "
|
|
1760
|
+
"internalType": "bytes",
|
|
1761
|
+
"name": "data",
|
|
1762
|
+
"type": "bytes"
|
|
1230
1763
|
},
|
|
1231
1764
|
{
|
|
1232
1765
|
"internalType": "uint256",
|
|
@@ -1245,19 +1778,6 @@
|
|
|
1245
1778
|
"stateMutability": "view",
|
|
1246
1779
|
"type": "function"
|
|
1247
1780
|
},
|
|
1248
|
-
{
|
|
1249
|
-
"inputs": [],
|
|
1250
|
-
"name": "canPaybackDebt",
|
|
1251
|
-
"outputs": [
|
|
1252
|
-
{
|
|
1253
|
-
"internalType": "bool",
|
|
1254
|
-
"name": "",
|
|
1255
|
-
"type": "bool"
|
|
1256
|
-
}
|
|
1257
|
-
],
|
|
1258
|
-
"stateMutability": "view",
|
|
1259
|
-
"type": "function"
|
|
1260
|
-
},
|
|
1261
1781
|
{
|
|
1262
1782
|
"inputs": [],
|
|
1263
1783
|
"name": "claimCollectorRewards",
|
|
@@ -1287,9 +1807,14 @@
|
|
|
1287
1807
|
{
|
|
1288
1808
|
"inputs": [
|
|
1289
1809
|
{
|
|
1290
|
-
"internalType": "
|
|
1291
|
-
"name": "
|
|
1292
|
-
"type": "
|
|
1810
|
+
"internalType": "address",
|
|
1811
|
+
"name": "adapter",
|
|
1812
|
+
"type": "address"
|
|
1813
|
+
},
|
|
1814
|
+
{
|
|
1815
|
+
"internalType": "bytes",
|
|
1816
|
+
"name": "data",
|
|
1817
|
+
"type": "bytes"
|
|
1293
1818
|
}
|
|
1294
1819
|
],
|
|
1295
1820
|
"name": "closeLiquidation",
|
|
@@ -1299,10 +1824,10 @@
|
|
|
1299
1824
|
},
|
|
1300
1825
|
{
|
|
1301
1826
|
"inputs": [],
|
|
1302
|
-
"name": "
|
|
1827
|
+
"name": "complianceRegistry",
|
|
1303
1828
|
"outputs": [
|
|
1304
1829
|
{
|
|
1305
|
-
"internalType": "contract
|
|
1830
|
+
"internalType": "contract IComplianceRegistry",
|
|
1306
1831
|
"name": "",
|
|
1307
1832
|
"type": "address"
|
|
1308
1833
|
}
|
|
@@ -1326,12 +1851,17 @@
|
|
|
1326
1851
|
{
|
|
1327
1852
|
"inputs": [
|
|
1328
1853
|
{
|
|
1329
|
-
"internalType": "
|
|
1330
|
-
"name": "
|
|
1331
|
-
"type": "
|
|
1854
|
+
"internalType": "address",
|
|
1855
|
+
"name": "adapter",
|
|
1856
|
+
"type": "address"
|
|
1857
|
+
},
|
|
1858
|
+
{
|
|
1859
|
+
"internalType": "bytes",
|
|
1860
|
+
"name": "data",
|
|
1861
|
+
"type": "bytes"
|
|
1332
1862
|
}
|
|
1333
1863
|
],
|
|
1334
|
-
"name": "
|
|
1864
|
+
"name": "depositAsset",
|
|
1335
1865
|
"outputs": [],
|
|
1336
1866
|
"stateMutability": "nonpayable",
|
|
1337
1867
|
"type": "function"
|
|
@@ -1366,93 +1896,33 @@
|
|
|
1366
1896
|
"inputs": [
|
|
1367
1897
|
{
|
|
1368
1898
|
"internalType": "address",
|
|
1369
|
-
"name": "
|
|
1899
|
+
"name": "adapter",
|
|
1370
1900
|
"type": "address"
|
|
1371
1901
|
},
|
|
1372
|
-
{
|
|
1373
|
-
"internalType": "uint256",
|
|
1374
|
-
"name": "tokenId",
|
|
1375
|
-
"type": "uint256"
|
|
1376
|
-
}
|
|
1377
|
-
],
|
|
1378
|
-
"name": "finalizeLiquidation",
|
|
1379
|
-
"outputs": [],
|
|
1380
|
-
"stateMutability": "nonpayable",
|
|
1381
|
-
"type": "function"
|
|
1382
|
-
},
|
|
1383
|
-
{
|
|
1384
|
-
"inputs": [
|
|
1385
1902
|
{
|
|
1386
1903
|
"internalType": "address",
|
|
1387
|
-
"name": "
|
|
1904
|
+
"name": "user",
|
|
1388
1905
|
"type": "address"
|
|
1906
|
+
},
|
|
1907
|
+
{
|
|
1908
|
+
"internalType": "bytes",
|
|
1909
|
+
"name": "data",
|
|
1910
|
+
"type": "bytes"
|
|
1389
1911
|
}
|
|
1390
1912
|
],
|
|
1391
|
-
"name": "
|
|
1913
|
+
"name": "finalizeLiquidation",
|
|
1914
|
+
"outputs": [],
|
|
1915
|
+
"stateMutability": "nonpayable",
|
|
1916
|
+
"type": "function"
|
|
1917
|
+
},
|
|
1918
|
+
{
|
|
1919
|
+
"inputs": [],
|
|
1920
|
+
"name": "getAdapters",
|
|
1392
1921
|
"outputs": [
|
|
1393
1922
|
{
|
|
1394
|
-
"
|
|
1395
|
-
{
|
|
1396
|
-
"internalType": "uint256[]",
|
|
1397
|
-
"name": "nftTokenIds",
|
|
1398
|
-
"type": "uint256[]"
|
|
1399
|
-
},
|
|
1400
|
-
{
|
|
1401
|
-
"internalType": "uint256",
|
|
1402
|
-
"name": "scaledDebtBalance",
|
|
1403
|
-
"type": "uint256"
|
|
1404
|
-
},
|
|
1405
|
-
{
|
|
1406
|
-
"internalType": "uint256",
|
|
1407
|
-
"name": "collateralValue",
|
|
1408
|
-
"type": "uint256"
|
|
1409
|
-
},
|
|
1410
|
-
{
|
|
1411
|
-
"components": [
|
|
1412
|
-
{
|
|
1413
|
-
"internalType": "uint256",
|
|
1414
|
-
"name": "rawDebtBalance",
|
|
1415
|
-
"type": "uint256"
|
|
1416
|
-
},
|
|
1417
|
-
{
|
|
1418
|
-
"internalType": "uint256",
|
|
1419
|
-
"name": "scaledDebtBalance",
|
|
1420
|
-
"type": "uint256"
|
|
1421
|
-
},
|
|
1422
|
-
{
|
|
1423
|
-
"internalType": "uint256",
|
|
1424
|
-
"name": "healthFactor",
|
|
1425
|
-
"type": "uint256"
|
|
1426
|
-
},
|
|
1427
|
-
{
|
|
1428
|
-
"internalType": "bool",
|
|
1429
|
-
"name": "isUnderLiquidation",
|
|
1430
|
-
"type": "bool"
|
|
1431
|
-
},
|
|
1432
|
-
{
|
|
1433
|
-
"internalType": "uint256",
|
|
1434
|
-
"name": "liquidationStartTime",
|
|
1435
|
-
"type": "uint256"
|
|
1436
|
-
},
|
|
1437
|
-
{
|
|
1438
|
-
"internalType": "uint256",
|
|
1439
|
-
"name": "positionIndex",
|
|
1440
|
-
"type": "uint256"
|
|
1441
|
-
},
|
|
1442
|
-
{
|
|
1443
|
-
"internalType": "bool",
|
|
1444
|
-
"name": "isInsured",
|
|
1445
|
-
"type": "bool"
|
|
1446
|
-
}
|
|
1447
|
-
],
|
|
1448
|
-
"internalType": "struct ILendingPool.NFTPositionView[]",
|
|
1449
|
-
"name": "positions",
|
|
1450
|
-
"type": "tuple[]"
|
|
1451
|
-
}
|
|
1452
|
-
],
|
|
1453
|
-
"internalType": "struct ILendingPool.UserDataView",
|
|
1923
|
+
"internalType": "address[]",
|
|
1454
1924
|
"name": "",
|
|
1455
|
-
"type": "
|
|
1925
|
+
"type": "address[]"
|
|
1456
1926
|
}
|
|
1457
1927
|
],
|
|
1458
1928
|
"stateMutability": "view",
|
|
@@ -1460,13 +1930,23 @@
|
|
|
1460
1930
|
},
|
|
1461
1931
|
{
|
|
1462
1932
|
"inputs": [
|
|
1933
|
+
{
|
|
1934
|
+
"internalType": "address",
|
|
1935
|
+
"name": "adapter",
|
|
1936
|
+
"type": "address"
|
|
1937
|
+
},
|
|
1463
1938
|
{
|
|
1464
1939
|
"internalType": "address",
|
|
1465
1940
|
"name": "user",
|
|
1466
1941
|
"type": "address"
|
|
1942
|
+
},
|
|
1943
|
+
{
|
|
1944
|
+
"internalType": "bytes",
|
|
1945
|
+
"name": "data",
|
|
1946
|
+
"type": "bytes"
|
|
1467
1947
|
}
|
|
1468
1948
|
],
|
|
1469
|
-
"name": "
|
|
1949
|
+
"name": "getAssetValue",
|
|
1470
1950
|
"outputs": [
|
|
1471
1951
|
{
|
|
1472
1952
|
"internalType": "uint256",
|
|
@@ -1480,12 +1960,12 @@
|
|
|
1480
1960
|
{
|
|
1481
1961
|
"inputs": [
|
|
1482
1962
|
{
|
|
1483
|
-
"internalType": "
|
|
1484
|
-
"name": "
|
|
1485
|
-
"type": "
|
|
1963
|
+
"internalType": "address",
|
|
1964
|
+
"name": "user",
|
|
1965
|
+
"type": "address"
|
|
1486
1966
|
}
|
|
1487
1967
|
],
|
|
1488
|
-
"name": "
|
|
1968
|
+
"name": "getEligibleUserDeposits",
|
|
1489
1969
|
"outputs": [
|
|
1490
1970
|
{
|
|
1491
1971
|
"internalType": "uint256",
|
|
@@ -1543,15 +2023,20 @@
|
|
|
1543
2023
|
},
|
|
1544
2024
|
{
|
|
1545
2025
|
"inputs": [
|
|
2026
|
+
{
|
|
2027
|
+
"internalType": "address",
|
|
2028
|
+
"name": "adapter",
|
|
2029
|
+
"type": "address"
|
|
2030
|
+
},
|
|
1546
2031
|
{
|
|
1547
2032
|
"internalType": "address",
|
|
1548
2033
|
"name": "user",
|
|
1549
2034
|
"type": "address"
|
|
1550
2035
|
},
|
|
1551
2036
|
{
|
|
1552
|
-
"internalType": "
|
|
1553
|
-
"name": "
|
|
1554
|
-
"type": "
|
|
2037
|
+
"internalType": "bytes",
|
|
2038
|
+
"name": "data",
|
|
2039
|
+
"type": "bytes"
|
|
1555
2040
|
}
|
|
1556
2041
|
],
|
|
1557
2042
|
"name": "getPosition",
|
|
@@ -1589,7 +2074,7 @@
|
|
|
1589
2074
|
"type": "uint256"
|
|
1590
2075
|
}
|
|
1591
2076
|
],
|
|
1592
|
-
"internalType": "struct
|
|
2077
|
+
"internalType": "struct ILendingPoolStorage.CollateralPosition",
|
|
1593
2078
|
"name": "",
|
|
1594
2079
|
"type": "tuple"
|
|
1595
2080
|
}
|
|
@@ -1599,15 +2084,20 @@
|
|
|
1599
2084
|
},
|
|
1600
2085
|
{
|
|
1601
2086
|
"inputs": [
|
|
2087
|
+
{
|
|
2088
|
+
"internalType": "address",
|
|
2089
|
+
"name": "adapter",
|
|
2090
|
+
"type": "address"
|
|
2091
|
+
},
|
|
1602
2092
|
{
|
|
1603
2093
|
"internalType": "address",
|
|
1604
2094
|
"name": "user",
|
|
1605
2095
|
"type": "address"
|
|
1606
2096
|
},
|
|
1607
2097
|
{
|
|
1608
|
-
"internalType": "
|
|
1609
|
-
"name": "
|
|
1610
|
-
"type": "
|
|
2098
|
+
"internalType": "bytes",
|
|
2099
|
+
"name": "data",
|
|
2100
|
+
"type": "bytes"
|
|
1611
2101
|
}
|
|
1612
2102
|
],
|
|
1613
2103
|
"name": "getPositionData",
|
|
@@ -1630,13 +2120,18 @@
|
|
|
1630
2120
|
"inputs": [
|
|
1631
2121
|
{
|
|
1632
2122
|
"internalType": "address",
|
|
1633
|
-
"name": "
|
|
2123
|
+
"name": "adapter",
|
|
1634
2124
|
"type": "address"
|
|
1635
2125
|
},
|
|
1636
2126
|
{
|
|
1637
|
-
"internalType": "
|
|
1638
|
-
"name": "
|
|
1639
|
-
"type": "
|
|
2127
|
+
"internalType": "address",
|
|
2128
|
+
"name": "user",
|
|
2129
|
+
"type": "address"
|
|
2130
|
+
},
|
|
2131
|
+
{
|
|
2132
|
+
"internalType": "bytes",
|
|
2133
|
+
"name": "data",
|
|
2134
|
+
"type": "bytes"
|
|
1640
2135
|
}
|
|
1641
2136
|
],
|
|
1642
2137
|
"name": "getPositionDebt",
|
|
@@ -1654,13 +2149,18 @@
|
|
|
1654
2149
|
"inputs": [
|
|
1655
2150
|
{
|
|
1656
2151
|
"internalType": "address",
|
|
1657
|
-
"name": "
|
|
2152
|
+
"name": "adapter",
|
|
1658
2153
|
"type": "address"
|
|
1659
2154
|
},
|
|
1660
2155
|
{
|
|
1661
|
-
"internalType": "
|
|
1662
|
-
"name": "
|
|
1663
|
-
"type": "
|
|
2156
|
+
"internalType": "address",
|
|
2157
|
+
"name": "user",
|
|
2158
|
+
"type": "address"
|
|
2159
|
+
},
|
|
2160
|
+
{
|
|
2161
|
+
"internalType": "bytes",
|
|
2162
|
+
"name": "data",
|
|
2163
|
+
"type": "bytes"
|
|
1664
2164
|
}
|
|
1665
2165
|
],
|
|
1666
2166
|
"name": "getPositionScaledDebt",
|
|
@@ -1676,15 +2176,20 @@
|
|
|
1676
2176
|
},
|
|
1677
2177
|
{
|
|
1678
2178
|
"inputs": [
|
|
2179
|
+
{
|
|
2180
|
+
"internalType": "address",
|
|
2181
|
+
"name": "adapter",
|
|
2182
|
+
"type": "address"
|
|
2183
|
+
},
|
|
1679
2184
|
{
|
|
1680
2185
|
"internalType": "address",
|
|
1681
2186
|
"name": "user",
|
|
1682
2187
|
"type": "address"
|
|
1683
2188
|
},
|
|
1684
2189
|
{
|
|
1685
|
-
"internalType": "
|
|
1686
|
-
"name": "
|
|
1687
|
-
"type": "
|
|
2190
|
+
"internalType": "bytes",
|
|
2191
|
+
"name": "data",
|
|
2192
|
+
"type": "bytes"
|
|
1688
2193
|
}
|
|
1689
2194
|
],
|
|
1690
2195
|
"name": "getPositionView",
|
|
@@ -1725,9 +2230,19 @@
|
|
|
1725
2230
|
"internalType": "bool",
|
|
1726
2231
|
"name": "isInsured",
|
|
1727
2232
|
"type": "bool"
|
|
2233
|
+
},
|
|
2234
|
+
{
|
|
2235
|
+
"internalType": "address",
|
|
2236
|
+
"name": "adapter",
|
|
2237
|
+
"type": "address"
|
|
2238
|
+
},
|
|
2239
|
+
{
|
|
2240
|
+
"internalType": "address",
|
|
2241
|
+
"name": "asset",
|
|
2242
|
+
"type": "address"
|
|
1728
2243
|
}
|
|
1729
2244
|
],
|
|
1730
|
-
"internalType": "struct
|
|
2245
|
+
"internalType": "struct ILendingPoolStorage.CollateralPositionView",
|
|
1731
2246
|
"name": "",
|
|
1732
2247
|
"type": "tuple"
|
|
1733
2248
|
}
|
|
@@ -1739,7 +2254,7 @@
|
|
|
1739
2254
|
"inputs": [
|
|
1740
2255
|
{
|
|
1741
2256
|
"internalType": "address",
|
|
1742
|
-
"name": "
|
|
2257
|
+
"name": "user",
|
|
1743
2258
|
"type": "address"
|
|
1744
2259
|
}
|
|
1745
2260
|
],
|
|
@@ -1767,19 +2282,6 @@
|
|
|
1767
2282
|
"stateMutability": "view",
|
|
1768
2283
|
"type": "function"
|
|
1769
2284
|
},
|
|
1770
|
-
{
|
|
1771
|
-
"inputs": [],
|
|
1772
|
-
"name": "getRAACNFTAddress",
|
|
1773
|
-
"outputs": [
|
|
1774
|
-
{
|
|
1775
|
-
"internalType": "address",
|
|
1776
|
-
"name": "",
|
|
1777
|
-
"type": "address"
|
|
1778
|
-
}
|
|
1779
|
-
],
|
|
1780
|
-
"stateMutability": "view",
|
|
1781
|
-
"type": "function"
|
|
1782
|
-
},
|
|
1783
2285
|
{
|
|
1784
2286
|
"inputs": [],
|
|
1785
2287
|
"name": "getReserveRateData",
|
|
@@ -1890,6 +2392,25 @@
|
|
|
1890
2392
|
"stateMutability": "view",
|
|
1891
2393
|
"type": "function"
|
|
1892
2394
|
},
|
|
2395
|
+
{
|
|
2396
|
+
"inputs": [
|
|
2397
|
+
{
|
|
2398
|
+
"internalType": "bytes32",
|
|
2399
|
+
"name": "role",
|
|
2400
|
+
"type": "bytes32"
|
|
2401
|
+
}
|
|
2402
|
+
],
|
|
2403
|
+
"name": "getRoleAdmin",
|
|
2404
|
+
"outputs": [
|
|
2405
|
+
{
|
|
2406
|
+
"internalType": "bytes32",
|
|
2407
|
+
"name": "",
|
|
2408
|
+
"type": "bytes32"
|
|
2409
|
+
}
|
|
2410
|
+
],
|
|
2411
|
+
"stateMutability": "view",
|
|
2412
|
+
"type": "function"
|
|
2413
|
+
},
|
|
1893
2414
|
{
|
|
1894
2415
|
"inputs": [],
|
|
1895
2416
|
"name": "getUnclaimedVaultRewards",
|
|
@@ -1905,15 +2426,20 @@
|
|
|
1905
2426
|
},
|
|
1906
2427
|
{
|
|
1907
2428
|
"inputs": [
|
|
2429
|
+
{
|
|
2430
|
+
"internalType": "address",
|
|
2431
|
+
"name": "adapter",
|
|
2432
|
+
"type": "address"
|
|
2433
|
+
},
|
|
1908
2434
|
{
|
|
1909
2435
|
"internalType": "address",
|
|
1910
2436
|
"name": "user",
|
|
1911
2437
|
"type": "address"
|
|
1912
2438
|
},
|
|
1913
2439
|
{
|
|
1914
|
-
"internalType": "
|
|
1915
|
-
"name": "
|
|
1916
|
-
"type": "
|
|
2440
|
+
"internalType": "bytes",
|
|
2441
|
+
"name": "data",
|
|
2442
|
+
"type": "bytes"
|
|
1917
2443
|
}
|
|
1918
2444
|
],
|
|
1919
2445
|
"name": "getUninsuredBalance",
|
|
@@ -1931,7 +2457,7 @@
|
|
|
1931
2457
|
"inputs": [
|
|
1932
2458
|
{
|
|
1933
2459
|
"internalType": "address",
|
|
1934
|
-
"name": "
|
|
2460
|
+
"name": "user",
|
|
1935
2461
|
"type": "address"
|
|
1936
2462
|
}
|
|
1937
2463
|
],
|
|
@@ -1939,7 +2465,7 @@
|
|
|
1939
2465
|
"outputs": [
|
|
1940
2466
|
{
|
|
1941
2467
|
"internalType": "uint256",
|
|
1942
|
-
"name": "",
|
|
2468
|
+
"name": "totalValue",
|
|
1943
2469
|
"type": "uint256"
|
|
1944
2470
|
}
|
|
1945
2471
|
],
|
|
@@ -1950,7 +2476,7 @@
|
|
|
1950
2476
|
"inputs": [
|
|
1951
2477
|
{
|
|
1952
2478
|
"internalType": "address",
|
|
1953
|
-
"name": "
|
|
2479
|
+
"name": "user",
|
|
1954
2480
|
"type": "address"
|
|
1955
2481
|
}
|
|
1956
2482
|
],
|
|
@@ -1958,7 +2484,7 @@
|
|
|
1958
2484
|
"outputs": [
|
|
1959
2485
|
{
|
|
1960
2486
|
"internalType": "uint256",
|
|
1961
|
-
"name": "",
|
|
2487
|
+
"name": "totalDebt",
|
|
1962
2488
|
"type": "uint256"
|
|
1963
2489
|
}
|
|
1964
2490
|
],
|
|
@@ -2006,30 +2532,40 @@
|
|
|
2006
2532
|
{
|
|
2007
2533
|
"inputs": [
|
|
2008
2534
|
{
|
|
2009
|
-
"internalType": "
|
|
2010
|
-
"name": "
|
|
2011
|
-
"type": "
|
|
2012
|
-
}
|
|
2013
|
-
],
|
|
2014
|
-
"name": "getUserOfDepositedNFT",
|
|
2015
|
-
"outputs": [
|
|
2535
|
+
"internalType": "bytes32",
|
|
2536
|
+
"name": "role",
|
|
2537
|
+
"type": "bytes32"
|
|
2538
|
+
},
|
|
2016
2539
|
{
|
|
2017
2540
|
"internalType": "address",
|
|
2018
|
-
"name": "",
|
|
2541
|
+
"name": "account",
|
|
2019
2542
|
"type": "address"
|
|
2020
2543
|
}
|
|
2021
2544
|
],
|
|
2022
|
-
"
|
|
2545
|
+
"name": "grantRole",
|
|
2546
|
+
"outputs": [],
|
|
2547
|
+
"stateMutability": "nonpayable",
|
|
2023
2548
|
"type": "function"
|
|
2024
2549
|
},
|
|
2025
2550
|
{
|
|
2026
|
-
"inputs": [
|
|
2027
|
-
|
|
2551
|
+
"inputs": [
|
|
2552
|
+
{
|
|
2553
|
+
"internalType": "bytes32",
|
|
2554
|
+
"name": "role",
|
|
2555
|
+
"type": "bytes32"
|
|
2556
|
+
},
|
|
2557
|
+
{
|
|
2558
|
+
"internalType": "address",
|
|
2559
|
+
"name": "account",
|
|
2560
|
+
"type": "address"
|
|
2561
|
+
}
|
|
2562
|
+
],
|
|
2563
|
+
"name": "hasRole",
|
|
2028
2564
|
"outputs": [
|
|
2029
2565
|
{
|
|
2030
|
-
"internalType": "
|
|
2566
|
+
"internalType": "bool",
|
|
2031
2567
|
"name": "",
|
|
2032
|
-
"type": "
|
|
2568
|
+
"type": "bool"
|
|
2033
2569
|
}
|
|
2034
2570
|
],
|
|
2035
2571
|
"stateMutability": "view",
|
|
@@ -2039,13 +2575,18 @@
|
|
|
2039
2575
|
"inputs": [
|
|
2040
2576
|
{
|
|
2041
2577
|
"internalType": "address",
|
|
2042
|
-
"name": "
|
|
2578
|
+
"name": "adapter",
|
|
2043
2579
|
"type": "address"
|
|
2044
2580
|
},
|
|
2045
2581
|
{
|
|
2046
|
-
"internalType": "
|
|
2047
|
-
"name": "
|
|
2048
|
-
"type": "
|
|
2582
|
+
"internalType": "address",
|
|
2583
|
+
"name": "user",
|
|
2584
|
+
"type": "address"
|
|
2585
|
+
},
|
|
2586
|
+
{
|
|
2587
|
+
"internalType": "bytes",
|
|
2588
|
+
"name": "data",
|
|
2589
|
+
"type": "bytes"
|
|
2049
2590
|
}
|
|
2050
2591
|
],
|
|
2051
2592
|
"name": "initiateLiquidation",
|
|
@@ -2055,98 +2596,134 @@
|
|
|
2055
2596
|
},
|
|
2056
2597
|
{
|
|
2057
2598
|
"inputs": [],
|
|
2058
|
-
"name": "
|
|
2599
|
+
"name": "liquidationProxy",
|
|
2059
2600
|
"outputs": [
|
|
2060
2601
|
{
|
|
2061
|
-
"internalType": "
|
|
2602
|
+
"internalType": "address",
|
|
2062
2603
|
"name": "",
|
|
2063
|
-
"type": "
|
|
2604
|
+
"type": "address"
|
|
2064
2605
|
}
|
|
2065
2606
|
],
|
|
2066
2607
|
"stateMutability": "view",
|
|
2067
2608
|
"type": "function"
|
|
2068
2609
|
},
|
|
2069
2610
|
{
|
|
2070
|
-
"inputs": [
|
|
2071
|
-
|
|
2072
|
-
|
|
2611
|
+
"inputs": [
|
|
2612
|
+
{
|
|
2613
|
+
"internalType": "address",
|
|
2614
|
+
"name": "",
|
|
2615
|
+
"type": "address"
|
|
2616
|
+
},
|
|
2617
|
+
{
|
|
2618
|
+
"internalType": "address",
|
|
2619
|
+
"name": "",
|
|
2620
|
+
"type": "address"
|
|
2621
|
+
},
|
|
2073
2622
|
{
|
|
2074
2623
|
"internalType": "uint256",
|
|
2075
2624
|
"name": "",
|
|
2076
2625
|
"type": "uint256"
|
|
2626
|
+
},
|
|
2627
|
+
{
|
|
2628
|
+
"internalType": "bytes",
|
|
2629
|
+
"name": "",
|
|
2630
|
+
"type": "bytes"
|
|
2077
2631
|
}
|
|
2078
2632
|
],
|
|
2079
|
-
"
|
|
2080
|
-
"type": "function"
|
|
2081
|
-
},
|
|
2082
|
-
{
|
|
2083
|
-
"inputs": [],
|
|
2084
|
-
"name": "liquidationThreshold",
|
|
2633
|
+
"name": "onERC721Received",
|
|
2085
2634
|
"outputs": [
|
|
2086
2635
|
{
|
|
2087
|
-
"internalType": "
|
|
2636
|
+
"internalType": "bytes4",
|
|
2088
2637
|
"name": "",
|
|
2089
|
-
"type": "
|
|
2638
|
+
"type": "bytes4"
|
|
2090
2639
|
}
|
|
2091
2640
|
],
|
|
2092
|
-
"stateMutability": "
|
|
2641
|
+
"stateMutability": "nonpayable",
|
|
2642
|
+
"type": "function"
|
|
2643
|
+
},
|
|
2644
|
+
{
|
|
2645
|
+
"inputs": [],
|
|
2646
|
+
"name": "openVaultPosition",
|
|
2647
|
+
"outputs": [],
|
|
2648
|
+
"stateMutability": "nonpayable",
|
|
2093
2649
|
"type": "function"
|
|
2094
2650
|
},
|
|
2095
2651
|
{
|
|
2096
2652
|
"inputs": [],
|
|
2097
|
-
"name": "
|
|
2653
|
+
"name": "owner",
|
|
2098
2654
|
"outputs": [
|
|
2099
2655
|
{
|
|
2100
|
-
"internalType": "
|
|
2656
|
+
"internalType": "address",
|
|
2101
2657
|
"name": "",
|
|
2102
|
-
"type": "
|
|
2658
|
+
"type": "address"
|
|
2103
2659
|
}
|
|
2104
2660
|
],
|
|
2105
2661
|
"stateMutability": "view",
|
|
2106
2662
|
"type": "function"
|
|
2107
2663
|
},
|
|
2108
2664
|
{
|
|
2109
|
-
"inputs": [
|
|
2665
|
+
"inputs": [],
|
|
2666
|
+
"name": "parameters",
|
|
2667
|
+
"outputs": [
|
|
2110
2668
|
{
|
|
2111
|
-
"internalType": "
|
|
2112
|
-
"name": "",
|
|
2113
|
-
"type": "
|
|
2669
|
+
"internalType": "bool",
|
|
2670
|
+
"name": "canPaybackDebt",
|
|
2671
|
+
"type": "bool"
|
|
2114
2672
|
},
|
|
2115
2673
|
{
|
|
2116
|
-
"internalType": "
|
|
2117
|
-
"name": "",
|
|
2118
|
-
"type": "
|
|
2674
|
+
"internalType": "bool",
|
|
2675
|
+
"name": "withdrawalsPaused",
|
|
2676
|
+
"type": "bool"
|
|
2119
2677
|
},
|
|
2120
2678
|
{
|
|
2121
2679
|
"internalType": "uint256",
|
|
2122
|
-
"name": "",
|
|
2680
|
+
"name": "liquidationThreshold",
|
|
2123
2681
|
"type": "uint256"
|
|
2124
2682
|
},
|
|
2125
2683
|
{
|
|
2126
|
-
"internalType": "
|
|
2127
|
-
"name": "",
|
|
2128
|
-
"type": "
|
|
2129
|
-
}
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2684
|
+
"internalType": "uint256",
|
|
2685
|
+
"name": "healthFactorLiquidationThreshold",
|
|
2686
|
+
"type": "uint256"
|
|
2687
|
+
},
|
|
2688
|
+
{
|
|
2689
|
+
"internalType": "uint256",
|
|
2690
|
+
"name": "liquidationGracePeriod",
|
|
2691
|
+
"type": "uint256"
|
|
2692
|
+
},
|
|
2693
|
+
{
|
|
2694
|
+
"internalType": "uint256",
|
|
2695
|
+
"name": "insuranceFee",
|
|
2696
|
+
"type": "uint256"
|
|
2697
|
+
},
|
|
2698
|
+
{
|
|
2699
|
+
"internalType": "uint256",
|
|
2700
|
+
"name": "depositFee",
|
|
2701
|
+
"type": "uint256"
|
|
2702
|
+
},
|
|
2703
|
+
{
|
|
2704
|
+
"internalType": "uint256",
|
|
2705
|
+
"name": "liquidityBufferRatio",
|
|
2706
|
+
"type": "uint256"
|
|
2707
|
+
},
|
|
2708
|
+
{
|
|
2709
|
+
"internalType": "uint256",
|
|
2710
|
+
"name": "supplyCap",
|
|
2711
|
+
"type": "uint256"
|
|
2712
|
+
},
|
|
2133
2713
|
{
|
|
2134
|
-
"internalType": "
|
|
2135
|
-
"name": "",
|
|
2136
|
-
"type": "
|
|
2137
|
-
}
|
|
2138
|
-
],
|
|
2139
|
-
"stateMutability": "nonpayable",
|
|
2140
|
-
"type": "function"
|
|
2141
|
-
},
|
|
2142
|
-
{
|
|
2143
|
-
"inputs": [],
|
|
2144
|
-
"name": "owner",
|
|
2145
|
-
"outputs": [
|
|
2714
|
+
"internalType": "uint256",
|
|
2715
|
+
"name": "borrowCap",
|
|
2716
|
+
"type": "uint256"
|
|
2717
|
+
},
|
|
2146
2718
|
{
|
|
2147
|
-
"internalType": "
|
|
2148
|
-
"name": "",
|
|
2149
|
-
"type": "
|
|
2719
|
+
"internalType": "uint256",
|
|
2720
|
+
"name": "withdrawTimelockDuration",
|
|
2721
|
+
"type": "uint256"
|
|
2722
|
+
},
|
|
2723
|
+
{
|
|
2724
|
+
"internalType": "uint256",
|
|
2725
|
+
"name": "vaultOpeningFee",
|
|
2726
|
+
"type": "uint256"
|
|
2150
2727
|
}
|
|
2151
2728
|
],
|
|
2152
2729
|
"stateMutability": "view",
|
|
@@ -2180,9 +2757,9 @@
|
|
|
2180
2757
|
"type": "address"
|
|
2181
2758
|
},
|
|
2182
2759
|
{
|
|
2183
|
-
"internalType": "
|
|
2760
|
+
"internalType": "bytes32",
|
|
2184
2761
|
"name": "",
|
|
2185
|
-
"type": "
|
|
2762
|
+
"type": "bytes32"
|
|
2186
2763
|
}
|
|
2187
2764
|
],
|
|
2188
2765
|
"name": "positions",
|
|
@@ -2221,19 +2798,6 @@
|
|
|
2221
2798
|
"stateMutability": "view",
|
|
2222
2799
|
"type": "function"
|
|
2223
2800
|
},
|
|
2224
|
-
{
|
|
2225
|
-
"inputs": [],
|
|
2226
|
-
"name": "priceOracle",
|
|
2227
|
-
"outputs": [
|
|
2228
|
-
{
|
|
2229
|
-
"internalType": "contract IRAACHousePrices",
|
|
2230
|
-
"name": "",
|
|
2231
|
-
"type": "address"
|
|
2232
|
-
}
|
|
2233
|
-
],
|
|
2234
|
-
"stateMutability": "view",
|
|
2235
|
-
"type": "function"
|
|
2236
|
-
},
|
|
2237
2801
|
{
|
|
2238
2802
|
"inputs": [],
|
|
2239
2803
|
"name": "primeRateOracle",
|
|
@@ -2247,32 +2811,6 @@
|
|
|
2247
2811
|
"stateMutability": "view",
|
|
2248
2812
|
"type": "function"
|
|
2249
2813
|
},
|
|
2250
|
-
{
|
|
2251
|
-
"inputs": [],
|
|
2252
|
-
"name": "rToken",
|
|
2253
|
-
"outputs": [
|
|
2254
|
-
{
|
|
2255
|
-
"internalType": "contract IRToken",
|
|
2256
|
-
"name": "",
|
|
2257
|
-
"type": "address"
|
|
2258
|
-
}
|
|
2259
|
-
],
|
|
2260
|
-
"stateMutability": "view",
|
|
2261
|
-
"type": "function"
|
|
2262
|
-
},
|
|
2263
|
-
{
|
|
2264
|
-
"inputs": [],
|
|
2265
|
-
"name": "raacNFT",
|
|
2266
|
-
"outputs": [
|
|
2267
|
-
{
|
|
2268
|
-
"internalType": "contract IRAACNFT",
|
|
2269
|
-
"name": "",
|
|
2270
|
-
"type": "address"
|
|
2271
|
-
}
|
|
2272
|
-
],
|
|
2273
|
-
"stateMutability": "view",
|
|
2274
|
-
"type": "function"
|
|
2275
|
-
},
|
|
2276
2814
|
{
|
|
2277
2815
|
"inputs": [],
|
|
2278
2816
|
"name": "rateData",
|
|
@@ -2321,6 +2859,19 @@
|
|
|
2321
2859
|
"stateMutability": "view",
|
|
2322
2860
|
"type": "function"
|
|
2323
2861
|
},
|
|
2862
|
+
{
|
|
2863
|
+
"inputs": [
|
|
2864
|
+
{
|
|
2865
|
+
"internalType": "address",
|
|
2866
|
+
"name": "adapter",
|
|
2867
|
+
"type": "address"
|
|
2868
|
+
}
|
|
2869
|
+
],
|
|
2870
|
+
"name": "registerAdapter",
|
|
2871
|
+
"outputs": [],
|
|
2872
|
+
"stateMutability": "nonpayable",
|
|
2873
|
+
"type": "function"
|
|
2874
|
+
},
|
|
2324
2875
|
{
|
|
2325
2876
|
"inputs": [],
|
|
2326
2877
|
"name": "renounceOwnership",
|
|
@@ -2331,9 +2882,32 @@
|
|
|
2331
2882
|
{
|
|
2332
2883
|
"inputs": [
|
|
2333
2884
|
{
|
|
2334
|
-
"internalType": "
|
|
2335
|
-
"name": "
|
|
2336
|
-
"type": "
|
|
2885
|
+
"internalType": "bytes32",
|
|
2886
|
+
"name": "role",
|
|
2887
|
+
"type": "bytes32"
|
|
2888
|
+
},
|
|
2889
|
+
{
|
|
2890
|
+
"internalType": "address",
|
|
2891
|
+
"name": "callerConfirmation",
|
|
2892
|
+
"type": "address"
|
|
2893
|
+
}
|
|
2894
|
+
],
|
|
2895
|
+
"name": "renounceRole",
|
|
2896
|
+
"outputs": [],
|
|
2897
|
+
"stateMutability": "nonpayable",
|
|
2898
|
+
"type": "function"
|
|
2899
|
+
},
|
|
2900
|
+
{
|
|
2901
|
+
"inputs": [
|
|
2902
|
+
{
|
|
2903
|
+
"internalType": "address",
|
|
2904
|
+
"name": "adapter",
|
|
2905
|
+
"type": "address"
|
|
2906
|
+
},
|
|
2907
|
+
{
|
|
2908
|
+
"internalType": "bytes",
|
|
2909
|
+
"name": "data",
|
|
2910
|
+
"type": "bytes"
|
|
2337
2911
|
},
|
|
2338
2912
|
{
|
|
2339
2913
|
"internalType": "uint256",
|
|
@@ -2349,9 +2923,14 @@
|
|
|
2349
2923
|
{
|
|
2350
2924
|
"inputs": [
|
|
2351
2925
|
{
|
|
2352
|
-
"internalType": "
|
|
2353
|
-
"name": "
|
|
2354
|
-
"type": "
|
|
2926
|
+
"internalType": "address",
|
|
2927
|
+
"name": "adapter",
|
|
2928
|
+
"type": "address"
|
|
2929
|
+
},
|
|
2930
|
+
{
|
|
2931
|
+
"internalType": "bytes",
|
|
2932
|
+
"name": "data",
|
|
2933
|
+
"type": "bytes"
|
|
2355
2934
|
},
|
|
2356
2935
|
{
|
|
2357
2936
|
"internalType": "uint256",
|
|
@@ -2369,6 +2948,19 @@
|
|
|
2369
2948
|
"stateMutability": "nonpayable",
|
|
2370
2949
|
"type": "function"
|
|
2371
2950
|
},
|
|
2951
|
+
{
|
|
2952
|
+
"inputs": [
|
|
2953
|
+
{
|
|
2954
|
+
"internalType": "uint256",
|
|
2955
|
+
"name": "amount",
|
|
2956
|
+
"type": "uint256"
|
|
2957
|
+
}
|
|
2958
|
+
],
|
|
2959
|
+
"name": "requestWithdraw",
|
|
2960
|
+
"outputs": [],
|
|
2961
|
+
"stateMutability": "nonpayable",
|
|
2962
|
+
"type": "function"
|
|
2963
|
+
},
|
|
2372
2964
|
{
|
|
2373
2965
|
"inputs": [
|
|
2374
2966
|
{
|
|
@@ -2441,16 +3033,21 @@
|
|
|
2441
3033
|
"type": "function"
|
|
2442
3034
|
},
|
|
2443
3035
|
{
|
|
2444
|
-
"inputs": [
|
|
2445
|
-
"name": "reserveAssetToken",
|
|
2446
|
-
"outputs": [
|
|
3036
|
+
"inputs": [
|
|
2447
3037
|
{
|
|
2448
|
-
"internalType": "
|
|
2449
|
-
"name": "",
|
|
3038
|
+
"internalType": "bytes32",
|
|
3039
|
+
"name": "role",
|
|
3040
|
+
"type": "bytes32"
|
|
3041
|
+
},
|
|
3042
|
+
{
|
|
3043
|
+
"internalType": "address",
|
|
3044
|
+
"name": "account",
|
|
2450
3045
|
"type": "address"
|
|
2451
3046
|
}
|
|
2452
3047
|
],
|
|
2453
|
-
"
|
|
3048
|
+
"name": "revokeRole",
|
|
3049
|
+
"outputs": [],
|
|
3050
|
+
"stateMutability": "nonpayable",
|
|
2454
3051
|
"type": "function"
|
|
2455
3052
|
},
|
|
2456
3053
|
{
|
|
@@ -2489,6 +3086,19 @@
|
|
|
2489
3086
|
"stateMutability": "nonpayable",
|
|
2490
3087
|
"type": "function"
|
|
2491
3088
|
},
|
|
3089
|
+
{
|
|
3090
|
+
"inputs": [
|
|
3091
|
+
{
|
|
3092
|
+
"internalType": "address",
|
|
3093
|
+
"name": "_liquidationProxy",
|
|
3094
|
+
"type": "address"
|
|
3095
|
+
}
|
|
3096
|
+
],
|
|
3097
|
+
"name": "setLiquidationProxy",
|
|
3098
|
+
"outputs": [],
|
|
3099
|
+
"stateMutability": "nonpayable",
|
|
3100
|
+
"type": "function"
|
|
3101
|
+
},
|
|
2492
3102
|
{
|
|
2493
3103
|
"inputs": [
|
|
2494
3104
|
{
|
|
@@ -2585,6 +3195,63 @@
|
|
|
2585
3195
|
"stateMutability": "view",
|
|
2586
3196
|
"type": "function"
|
|
2587
3197
|
},
|
|
3198
|
+
{
|
|
3199
|
+
"inputs": [
|
|
3200
|
+
{
|
|
3201
|
+
"internalType": "address",
|
|
3202
|
+
"name": "adapter",
|
|
3203
|
+
"type": "address"
|
|
3204
|
+
}
|
|
3205
|
+
],
|
|
3206
|
+
"name": "supportedAdapter",
|
|
3207
|
+
"outputs": [
|
|
3208
|
+
{
|
|
3209
|
+
"internalType": "bool",
|
|
3210
|
+
"name": "",
|
|
3211
|
+
"type": "bool"
|
|
3212
|
+
}
|
|
3213
|
+
],
|
|
3214
|
+
"stateMutability": "view",
|
|
3215
|
+
"type": "function"
|
|
3216
|
+
},
|
|
3217
|
+
{
|
|
3218
|
+
"inputs": [
|
|
3219
|
+
{
|
|
3220
|
+
"internalType": "address",
|
|
3221
|
+
"name": "",
|
|
3222
|
+
"type": "address"
|
|
3223
|
+
}
|
|
3224
|
+
],
|
|
3225
|
+
"name": "supportedAdapters",
|
|
3226
|
+
"outputs": [
|
|
3227
|
+
{
|
|
3228
|
+
"internalType": "bool",
|
|
3229
|
+
"name": "",
|
|
3230
|
+
"type": "bool"
|
|
3231
|
+
}
|
|
3232
|
+
],
|
|
3233
|
+
"stateMutability": "view",
|
|
3234
|
+
"type": "function"
|
|
3235
|
+
},
|
|
3236
|
+
{
|
|
3237
|
+
"inputs": [
|
|
3238
|
+
{
|
|
3239
|
+
"internalType": "bytes4",
|
|
3240
|
+
"name": "interfaceId",
|
|
3241
|
+
"type": "bytes4"
|
|
3242
|
+
}
|
|
3243
|
+
],
|
|
3244
|
+
"name": "supportsInterface",
|
|
3245
|
+
"outputs": [
|
|
3246
|
+
{
|
|
3247
|
+
"internalType": "bool",
|
|
3248
|
+
"name": "",
|
|
3249
|
+
"type": "bool"
|
|
3250
|
+
}
|
|
3251
|
+
],
|
|
3252
|
+
"stateMutability": "view",
|
|
3253
|
+
"type": "function"
|
|
3254
|
+
},
|
|
2588
3255
|
{
|
|
2589
3256
|
"inputs": [
|
|
2590
3257
|
{
|
|
@@ -2623,6 +3290,19 @@
|
|
|
2623
3290
|
"stateMutability": "nonpayable",
|
|
2624
3291
|
"type": "function"
|
|
2625
3292
|
},
|
|
3293
|
+
{
|
|
3294
|
+
"inputs": [
|
|
3295
|
+
{
|
|
3296
|
+
"internalType": "address",
|
|
3297
|
+
"name": "adapter",
|
|
3298
|
+
"type": "address"
|
|
3299
|
+
}
|
|
3300
|
+
],
|
|
3301
|
+
"name": "unregisterAdapter",
|
|
3302
|
+
"outputs": [],
|
|
3303
|
+
"stateMutability": "nonpayable",
|
|
3304
|
+
"type": "function"
|
|
3305
|
+
},
|
|
2626
3306
|
{
|
|
2627
3307
|
"inputs": [],
|
|
2628
3308
|
"name": "updateState",
|
|
@@ -2675,6 +3355,38 @@
|
|
|
2675
3355
|
"stateMutability": "view",
|
|
2676
3356
|
"type": "function"
|
|
2677
3357
|
},
|
|
3358
|
+
{
|
|
3359
|
+
"inputs": [
|
|
3360
|
+
{
|
|
3361
|
+
"internalType": "address",
|
|
3362
|
+
"name": "",
|
|
3363
|
+
"type": "address"
|
|
3364
|
+
}
|
|
3365
|
+
],
|
|
3366
|
+
"name": "vaultOpened",
|
|
3367
|
+
"outputs": [
|
|
3368
|
+
{
|
|
3369
|
+
"internalType": "bool",
|
|
3370
|
+
"name": "",
|
|
3371
|
+
"type": "bool"
|
|
3372
|
+
}
|
|
3373
|
+
],
|
|
3374
|
+
"stateMutability": "view",
|
|
3375
|
+
"type": "function"
|
|
3376
|
+
},
|
|
3377
|
+
{
|
|
3378
|
+
"inputs": [],
|
|
3379
|
+
"name": "vaultProxy",
|
|
3380
|
+
"outputs": [
|
|
3381
|
+
{
|
|
3382
|
+
"internalType": "address",
|
|
3383
|
+
"name": "",
|
|
3384
|
+
"type": "address"
|
|
3385
|
+
}
|
|
3386
|
+
],
|
|
3387
|
+
"stateMutability": "view",
|
|
3388
|
+
"type": "function"
|
|
3389
|
+
},
|
|
2678
3390
|
{
|
|
2679
3391
|
"inputs": [],
|
|
2680
3392
|
"name": "vaultRewards",
|
|
@@ -2729,32 +3441,48 @@
|
|
|
2729
3441
|
{
|
|
2730
3442
|
"inputs": [
|
|
2731
3443
|
{
|
|
2732
|
-
"internalType": "
|
|
2733
|
-
"name": "
|
|
2734
|
-
"type": "
|
|
3444
|
+
"internalType": "address",
|
|
3445
|
+
"name": "adapter",
|
|
3446
|
+
"type": "address"
|
|
3447
|
+
},
|
|
3448
|
+
{
|
|
3449
|
+
"internalType": "bytes",
|
|
3450
|
+
"name": "data",
|
|
3451
|
+
"type": "bytes"
|
|
2735
3452
|
}
|
|
2736
3453
|
],
|
|
2737
|
-
"name": "
|
|
3454
|
+
"name": "withdrawAsset",
|
|
2738
3455
|
"outputs": [],
|
|
2739
3456
|
"stateMutability": "nonpayable",
|
|
2740
3457
|
"type": "function"
|
|
2741
3458
|
},
|
|
2742
3459
|
{
|
|
2743
|
-
"inputs": [
|
|
2744
|
-
"name": "withdrawalsPaused",
|
|
2745
|
-
"outputs": [
|
|
3460
|
+
"inputs": [
|
|
2746
3461
|
{
|
|
2747
|
-
"internalType": "
|
|
3462
|
+
"internalType": "address",
|
|
2748
3463
|
"name": "",
|
|
2749
|
-
"type": "
|
|
3464
|
+
"type": "address"
|
|
3465
|
+
}
|
|
3466
|
+
],
|
|
3467
|
+
"name": "withdrawTimelock",
|
|
3468
|
+
"outputs": [
|
|
3469
|
+
{
|
|
3470
|
+
"internalType": "uint256",
|
|
3471
|
+
"name": "amount",
|
|
3472
|
+
"type": "uint256"
|
|
3473
|
+
},
|
|
3474
|
+
{
|
|
3475
|
+
"internalType": "uint256",
|
|
3476
|
+
"name": "readyAt",
|
|
3477
|
+
"type": "uint256"
|
|
2750
3478
|
}
|
|
2751
3479
|
],
|
|
2752
3480
|
"stateMutability": "view",
|
|
2753
3481
|
"type": "function"
|
|
2754
3482
|
}
|
|
2755
3483
|
],
|
|
2756
|
-
"bytecode": "0x60a0604052601e805460ff60a01b1916600160a01b17905561012c6029556107d0602b55602c805460ff191690553480156200003a57600080fd5b506040516200630f3803806200630f8339810160408190526200005d91620002f5565b33806200008457604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200008f8162000261565b50600180556002805460ff191690556001600160a01b0386161580620000bc57506001600160a01b038516155b80620000cf57506001600160a01b038416155b80620000e257506001600160a01b038316155b80620000f557506001600160a01b038216155b80620000ff575080155b156200011e576040516303988b8160e61b815260040160405180910390fd5b601b80546001600160a01b03199081166001600160a01b03898116918217909355858316608052601980548316868516179055601c80548316898516908117909155601d8054841694891694851790557b033b2e3c9fd0803ce800000000000000033b2e3c9fd0803ce80000006008556009805464ffffffffff19164264ffffffffff1617905560038054841690911790556004805483169091179055600580549091169091179055600c819055620001da816109c4620002b1565b600d55600c54620001ee90611388620002b1565b600e55600c546200020290619c40620002b1565b600f556200021f6b033b2e3c9fd0803ce8000000611f40620002b1565b6010555050600060115550506b033b2e3c9fd0803ce8000000600a819055600b555050611f40602655670de0b6b3a76400006027556203f4806028556200036d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081156113881983900484111517620002ca57600080fd5b506127109102611388010490565b80516001600160a01b0381168114620002f057600080fd5b919050565b60008060008060008060c087890312156200030f57600080fd5b6200031a87620002d8565b95506200032a60208801620002d8565b94506200033a60408801620002d8565b93506200034a60608801620002d8565b92506200035a60808801620002d8565b915060a087015190509295509295509295565b608051615f5c620003b36000396000818161094801528181610a1801528181611051015281816129ce01528181613382015281816134b401526135970152615f5c6000f3fe608060405234801561001057600080fd5b50600436106104965760003560e01c80638aabb2d111610262578063c4f8911c11610151578063e91a7ca6116100ce578063f2fde38b11610092578063f2fde38b14610ddd578063f5b3b9e714610df0578063f8d8989814610e03578063f91c3b0d14610e16578063fbf4a61214610e29578063fbfa77cf14610e3857600080fd5b8063e91a7ca614610c84578063e9f2838e14610c97578063ec915ee614610ca4578063ef5bac2514610d05578063f1caf09f14610dca57600080fd5b8063d5db7d5d11610115578063d5db7d5d14610c25578063d81a698614610c38578063d8aed14514610c4b578063e5711e8b14610c5e578063e65896c914610c7157600080fd5b8063c4f8911c14610b1f578063c6d6916c14610b32578063c891091314610b45578063cd3293de14610b68578063d17e988314610c1257600080fd5b8063a8de4834116101df578063b88a802f116101a3578063b88a802f14610a4d578063bf4eccdf14610a55578063bfd91c2314610a68578063c1be667714610a88578063c415b95c14610b0c57600080fd5b8063a8de4834146109e5578063a90d728f146109f8578063a9bf805c14610a00578063ac919fd414610a13578063b6b55f2514610a3a57600080fd5b806397c4fac71161022657806397c4fac71461099057806398d721e0146109995780639daa54b4146109ac578063a42dce80146109bf578063a5b350c9146109d257600080fd5b80638aabb2d1146109205780638aee8127146109335780638bc2ff5b146109465780638da5cb5b1461096c578063929761791461097d57600080fd5b80632a5bf6d2116103895780635c975abb11610306578063768bab45116102ca578063768bab451461088e5780637bc7780b146108a157806383ba103f146108a95780638429d51f146108bc5780638456cb5914610907578063883c6b241461090f57600080fd5b80635c975abb146108155780636061ffc3146108205780636817031b14610860578063715018a61461087357806375417da61461087b57600080fd5b80633f4ba83a1161034d5780633f4ba83a1461073e5780634031234c1461074657806340c65f721461074f5780634df9d6ba14610762578063523a19ac1461077557600080fd5b80632a5bf6d21461067e5780632ab414fc146106915780632e1a7d4d146106a45780633adbb5af146106b75780633e20bf141461071a57600080fd5b8063150b7a02116104175780631d00ac3a116103db5780631d00ac3a146106285780631d4bf4a0146106485780631d8557d7146106505780632630c12f1461065857806327156a681461066b57600080fd5b8063150b7a02146105c457806316a6c4c5146105f057806316c621e0146105f95780631705ffad1461060c57806319c2d37e1461061557600080fd5b80630c34b9141161045e5780630c34b914146105195780630c42dcaf146105825780630c679a7b1461058b5780630d4085121461059e5780630ecbcdab146105b157600080fd5b8063023245d71461049b578063048c661d146104b0578063057e9b7b146104e057806309bf1e73146104f75780630ab30d8a14610501575b600080fd5b6104ae6104a9366004615701565b610e4b565b005b601e546104c3906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6104e960275481565b6040519081526020016104d7565b6104e96203f48081565b600854600160801b90046001600160801b03166104e9565b610521611102565b6040516104d79190600061010082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6104e9611f4081565b6104ae61059936600461572f565b611198565b6104e96105ac36600461574c565b6111c2565b6104ae6105bf366004615778565b61123e565b6105d76105d23660046157dd565b611288565b6040516001600160e01b031990911681526020016104d7565b6104e960285481565b6104ae610607366004615701565b611299565b6104e9602b5481565b6104e961062336600461574c565b61134a565b61063b61063636600461574c565b6113c3565b6040516104d791906158ed565b6021546104e9565b6104ae611499565b6019546104c3906001600160a01b031681565b6104e961067936600461572f565b6114a7565b6104e961068c36600461572f565b6114cc565b6104ae61069f3660046158fb565b61153b565b6104ae6106b2366004615701565b611a41565b6106ca6106c536600461574c565b611b18565b6040516104d79190600060c08201905082518252602083015115156020830152604083015160408301526060830151606083015260808301511515608083015260a083015160a083015292915050565b601e5461072e90600160a01b900460ff1681565b60405190151581526020016104d7565b6104ae611bcd565b6104e960265481565b601c546104c3906001600160a01b031681565b6104e961077036600461572f565b611bdd565b61080061078336600461574c565b6001600160a01b0391909116600090815260126020908152604080832093835292815290829020825160c0810184528154808252600183015460ff90811615159483019490945260028301549482019490945260038201546060820181905260048301549093161515608082015260059091015460a09091015291565b604080519283526020830191909152016104d7565b60025460ff1661072e565b60145460155460165461083b926001600160a01b0316919083565b604080516001600160a01b0390941684526020840192909252908201526060016104d7565b6104ae61086e36600461572f565b611c7f565b6104ae611f1d565b6104e961088936600461572f565b611f2f565b6104ae61089c36600461574c565b611fb6565b600c546104e9565b6104e96108b736600461574c565b6120a0565b6020546021546022546023546024546025546108da95949392919086565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016104d7565b6104ae6120d4565b6008546001600160801b03166104e9565b6104ae61092e366004615701565b6120e4565b6104ae61094136600461572f565b61226e565b7f00000000000000000000000000000000000000000000000000000000000000006104c3565b6000546001600160a01b03166104c3565b6104e961098b366004615701565b6122c2565b6104e960295481565b6104ae6109a736600461572f565b612358565b6104e96109ba36600461572f565b612408565b6104ae6109cd36600461572f565b61248b565b6104e96109e036600461574c565b61250c565b6104ae6109f336600461591d565b6125b5565b6104e9612652565b601a546104c3906001600160a01b031681565b6104c37f000000000000000000000000000000000000000000000000000000000000000081565b6104ae610a48366004615701565b61272c565b61072e61282e565b6104ae610a6336600461574c565b61284d565b610a7b610a7636600461572f565b612bb0565b6040516104d7919061599b565b610add610a9636600461574c565b6012602090815260009283526040808420909152908252902080546001820154600283015460038401546004850154600590950154939460ff938416949293919291169086565b6040805196875294151560208701529385019290925260608401521515608083015260a082015260c0016104d7565b601f546104c3906001600160a01b031681565b6104ae610b2d366004615701565b612e24565b6104ae610b4036600461572f565b612e5b565b6104e9610b5336600461572f565b60136020526000908152604090206001015481565b600354600454600554600654600754600854600954610bb4966001600160a01b0390811696811695169392916001600160801b0380821692600160801b909204169064ffffffffff1688565b604080516001600160a01b03998a16815297891660208901529590971694860194909452606085019290925260808401526001600160801b0390811660a08401521660c082015264ffffffffff90911660e0820152610100016104d7565b6104e9610c2036600461572f565b612f63565b601b546104c3906001600160a01b031681565b6104ae610c46366004615778565b61302d565b6104ae610c59366004615778565b61321b565b6104ae610c6c366004615a11565b613258565b6104e9610c7f36600461572f565b6132c9565b6104ae610c92366004615701565b613346565b602c5461072e9060ff1681565b600a54600b54600c54600d54600e54600f54601054601154610cca979695949392919088565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016104d7565b610dbd6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091525060408051610100810182526003546001600160a01b039081168252600454811660208301526005541691810191909152600654606082015260075460808201526008546001600160801b0380821660a0840152600160801b9091041660c082015260095464ffffffffff1660e082015290565b6040516104d79190615a52565b6104c3610dd8366004615701565b613565565b6104ae610deb36600461572f565b613626565b6104e9610dfe366004615ad0565b613661565b601d546104c3906001600160a01b031681565b6104ae610e2436600461574c565b613693565b6104e9670de0b6b3a764000081565b602a546104c3906001600160a01b031681565b610e536137c8565b610e5b6137f2565b3360009081526012602090815260408083208484529091529020600181015460ff1615610e9b576040516367c11db560e01b815260040160405180910390fd5b336000908152601360209081526040808320858452600281019092529091205460ff16610edb5760405163346fad7360e01b815260040160405180910390fd5b610ee76003600a613816565b6000610ef3338561134a565b90508015610f14576040516302c9375f60e21b815260040160405180910390fd5b60008481526002830160209081526040808320805460ff19169055602d909152812080546001600160a01b03191690558254610f5290600190615b1b565b67ffffffffffffffff811115610f6a57610f6a61579a565b604051908082528060200260200182016040528015610f93578160200160208202803683370190505b5090506000805b84548110156110265786856000018281548110610fb957610fb9615b2e565b90600052602060002001541461101457846000018181548110610fde57610fde615b2e565b9060005260206000200154838381518110610ffb57610ffb615b2e565b60209081029190910101528161101081615b44565b9250505b8061101e81615b44565b915050610f9a565b5081516110399085906020850190615664565b50604051632142170760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e9061108a90309033908b90600401615b5d565b600060405180830381600087803b1580156110a457600080fd5b505af11580156110b8573d6000803e3d6000fd5b50506040518881523392507f2aa1b4c95f3b2da9c955947fca584743ea0d457708fadf209c093061e98c4ccb915060200160405180910390a250505050506110ff60018055565b50565b61114a60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b506040805161010081018252600a548152600b546020820152600c5491810191909152600d546060820152600e546080820152600f5460a082015260105460c082015260115460e082015290565b6111a0613820565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111ce836122c2565b905060006111dc858561250c565b905060018110156111fc57676765c793fa10079d601b1b92505050611238565b60006112136026548461384d90919063ffffffff16565b90508161122882670de0b6b3a7640000615b81565b6112329190615b98565b93505050505b92915050565b6112466137c8565b61124e6137f2565b80806000036112705760405163162908e360e11b815260040160405180910390fd5b61127a8383613873565b5061128460018055565b5050565b630a85bd0160e11b5b949350505050565b6112a16137c8565b6014546001600160a01b03166112ca57604051632506892760e01b815260040160405180910390fd5b806000036112eb5760405163162908e360e11b815260040160405180910390fd5b601454611303906001600160a01b0316333084613ab4565b61130c81613b14565b60405181815233907fe79ffd9a88f13c8c49fb545410401d9877ab90d9dcf7b15d4dc0601993a0d9139060200160405180910390a26110ff60018055565b6001600160a01b0382166000908152601260209081526040808320848452825291829020825160c0810184528154808252600183015460ff908116151594830194909452600283015494820194909452600382015460608201526004820154909216151560808301526005015460a09091015292915050565b6113cb6156ab565b6113d36156ab565b6001600160a01b0384166000908152601260209081526040808320868452825291829020825160c0808201855282548252600183015460ff90811615159483018590526002840154958301958652600384015460608085019190915260048501549091161515608080850191825260059095015460a085015290870194909452935191850191909152805184529051151591830191909152611475858561250c565b602083015261148485856111c2565b60408301526060015160a08201529392505050565b6114a56003600a613816565b565b6000806114b3836114cc565b905060006114c084612f63565b90506112918183615bba565b600354604051630481930d60e21b81526001600160a01b03838116600483015260009216906312064c3490602401602060405180830381865afa158015611517573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112389190615bcd565b611543613820565b600082600781111561155757611557615be6565b03611602576127108111156115b35760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206c69717569646174696f6e207468726573686f6c6400000060448201526064015b60405180910390fd5b60268190556027546028546040805184815260208101939093528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060015b60405180910390a15050565b600182600781111561161657611616615be6565b0361166157602781905560265460285460408051928352602083018490528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060016115f6565b600282600781111561167557611675615be6565b0361171c57620151808110158015611690575062093a808111155b6116d35760405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a590819dc9858d9481c195c9a5bd960621b60448201526064016115aa565b602881905560265460275460408051928352602083019190915281018290527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060016115f6565b600382600781111561173057611730615be6565b036117ce576127108111156117875760405162461bcd60e51b815260206004820152601860248201527f526174696f2063616e6e6f74206578636565642031303025000000000000000060448201526064016115aa565b602b80549082905560408051828152602081018490527fab45a8374e3d1f623df0e88a957317731ccc02ed377e5b0213661f85bf60b73191015b60405180910390a1505050565b60048260078111156117e2576117e2615be6565b036118785760018111156118305760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420626f6f6c65616e2076616c756560581b60448201526064016115aa565b602c805460ff19166001831490811790915560405160ff909116151581527f0565da69314136ea081c6239b9813f6ef6d213f57210dfef1d470af55b0235f3906020016115f6565b600582600781111561188c5761188c615be6565b036119305760018111156118da5760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420626f6f6c65616e2076616c756560581b60448201526064016115aa565b601e8054600160a01b60018414810260ff60a01b199092169190911791829055604051910460ff16151581527f932a526fd95bf1b5aab775a957e284733f02db3a9824802cbcbb4fbca239cbe1906020016115f6565b600682600781111561194457611944615be6565b036119d1576127108111156119935760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420696e737572616e63652066656560581b60448201526064016115aa565b602980549082905560408051828152602081018490527f87c461d1c2c7c5cd98495e5517aa11d9df56d0819cc4e8e53d9664c4b18f6db191016117c1565b60078260078111156119e5576119e5615be6565b03611a2857601180549082905560408051828152602081018490527f1d830358c94d390366ad7162b72e731448e195f3576e63b1f57f5e43c719c5aa91016117c1565b604051630309cb8760e51b815260040160405180910390fd5b611a496137c8565b611a516137f2565b8080600003611a735760405163162908e360e11b815260040160405180910390fd5b602c5460ff1615611a97576040516370a7336d60e11b815260040160405180910390fd5b611aa033613b97565b611aac6003600a613816565b611ab582613c3e565b6000806000611ac86003600a8733613f67565b925092509250611ad661408f565b60405183815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a2505050506110ff60018055565b611b556040518060c00160405280600081526020016000151581526020016000815260200160008152602001600015158152602001600081525090565b506001600160a01b0382166000908152601260209081526040808320848452825291829020825160c08101845281548152600182015460ff908116151593820193909352600282015493810193909352600381015460608401526004810154909116151560808301526005015460a082015292915050565b611bd5613820565b6114a5614245565b6014546000906001600160a01b0316611bf857506000919050565b6000611c03836114a7565b905080600003611c165750600092915050565b6001600160a01b038316600090815260176020526040812054601554670de0b6b3a764000091611c4591615b1b565b611c4f9084615b81565b611c599190615b98565b6001600160a01b0385166000908152601860205260409020549091506112919082615bba565b611c87613820565b602a546001600160a01b03828116911614801590611caf5750602a546001600160a01b031615155b15611e1357602a5460405163ce96cb7760e01b81523060048201526001600160a01b039091169063ce96cb7790602401602060405180830381865afa925050508015611d18575060408051601f3d908101601f19168201909252611d1591810190615bcd565b60015b611e0857611d24615bfc565b806308c379a003611d815750611d38615c17565b80611d435750611d9a565b602a546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e13565b634e487b7103611d9a57611d93615ca1565b90611d4357505b3d808015611dc4576040519150601f19603f3d011682016040523d82523d6000602084013e611dc9565b606091505b50602a546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e13565b611e1181614297565b505b602a80546001600160a01b031981166001600160a01b0384811691821790935560048054604080516338d52e0f60e01b815290519486169591909116936338d52e0f928281019260209291908290030181865afa158015611e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9c9190615cc1565b6001600160a01b031614158015611ebb57506001600160a01b03821615155b15611ed957604051631b3b488360e11b815260040160405180910390fd5b816001600160a01b0316816001600160a01b03167f483bdedaaf23706a9800ac1af0d852b34927780d79f9d6ba60a80c7cad75ea3960405160405180910390a35050565b611f25613820565b6114a56000614456565b600080805b6001600160a01b0384166000908152601360205260409020548111611faf576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff1615611f9d576000611f8d826122c2565b9050611f998184615bba565b9250505b80611fa781615b44565b915050611f34565b5092915050565b611fbe613820565b611fca6003600a613816565b6001600160a01b0382166120365760405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084016115aa565b60035460405163768bab4560e01b81526001600160a01b038481166004830152602482018490529091169063768bab4590604401600060405180830381600087803b15801561208457600080fd5b505af1158015612098573d6000803e3d6000fd5b505050505050565b6001600160a01b03821660009081526012602090815260408083208484529091528120600581015481546112919190615b1b565b6120dc613820565b6114a56144a6565b6120ec6137c8565b6120f46137f2565b3360008181526012602090815260408083208584529091529020600181015460ff166121335760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038216600090815260136020908152604080832086845260020190915290205460ff1661217a5760405163346fad7360e01b815260040160405180910390fd5b602854816002015461218c9190615bba565b4211156121ac57604051634b3c322760e11b815260040160405180910390fd5b600481015460ff166121d157604051632d1118e960e21b815260040160405180910390fd5b6121dd6003600a613816565b60006121e9838561250c565b9050801561220a576040516312bf4cab60e01b815260040160405180910390fd5b60018201805460ff1990811690915560006002840181905560048401805490921690915560405185916001600160a01b038616917fd66fca94ddede030b58f223f22d6b43407a443bd68e2e73d38ab7675cf480acc9190a35050506110ff60018055565b612276613820565b6014546001600160a01b0316156122a05760405163b6de9a7160e01b815260040160405180910390fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60195460405163b94fe91760e01b815260048101839052600091829182916001600160a01b03169063b94fe917906024016040805180830381865afa15801561230f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123339190615cde565b9150915081600003611faf57604051633b0c4c3160e11b815260040160405180910390fd5b612360613820565b6001600160a01b038116612387576040516303988b8160e61b815260040160405180910390fd5b601e546001600160a01b03908116908216036123b65760405163aba916dd60e01b815260040160405180910390fd5b601e80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d90600090a35050565b600080805b6001600160a01b038416600090815260136020526040902054811015611faf576001600160a01b0384166000908152601360205260409020805461246d9186918490811061245d5761245d615b2e565b906000526020600020015461250c565b6124779083615bba565b91508061248381615b44565b91505061240d565b612493613820565b6001600160a01b0381166124ba576040516303988b8160e61b815260040160405180910390fd5b601f80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f3890600090a35050565b6001600160a01b03821660009081526012602090815260408083208484528252808320815160c08101835281548152600182015460ff9081161515948201949094526002820154928101929092526003810154606083018190526004820154909316151560808301526005015460a082015260085490916125a9916125a19190600160801b90046001600160801b0316615b1b565b8251906144e3565b81516112919190615bba565b6125bd6137c8565b6125c56137f2565b81806000036125e75760405163162908e360e11b815260040160405180910390fd5b601e54600160a01b900460ff16612611576040516312cefcd560e31b815260040160405180910390fd5b6001600160a01b038216612638576040516303988b8160e61b815260040160405180910390fd5b612643848484614526565b5061264d60018055565b505050565b601f546000906001600160a01b0316331461267f576040516282b42960e81b815260040160405180910390fd5b602a546001600160a01b03166126c65760405162461bcd60e51b815260206004820152600c60248201526b139bc81d985d5b1d081cd95d60a21b60448201526064016115aa565b60045460218054426022556000909155601f546001600160a01b03928316926126f29184911683614824565b6040518181527f7edfb0d5d58c6a3d398df94a9bdfa2b33f3fa42ae40d72ebdc717d2db3953ee59060200160405180910390a19150505b90565b6127346137c8565b61273c6137f2565b808060000361275e5760405163162908e360e11b815260040160405180910390fd5b61276733613b97565b6127736003600a613816565b60006127836003600a8533614855565b33600090815260136020526040812060010154919250036127b8573360009081526013602052604090206001018390556127e0565b33600090815260136020526040812060010180548592906127da908490615bba565b90915550505b6127e861408f565b604080518481526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250506110ff60018055565b60006128386137c8565b61284133613b97565b50600161272960018055565b6128556137c8565b601e546001600160a01b0316331461287f576040516282b42960e81b815260040160405180910390fd5b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff166128c75760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff1661290e5760405163346fad7360e01b815260040160405180910390fd5b61291a6003600a613816565b600481015460ff16801561293f5750602854816002015461293b9190615bba565b4211155b1561295d576040516363e5f12d60e11b815260040160405180910390fd5b6000612969848461250c565b60018301805460ff199081169091556000600280860182905560048087018054851690556001600160a01b03808a1684526013602090815260408086208b87529094019052928290208054909416909355601e5490516323b872dd60e01b81529394507f00000000000000000000000000000000000000000000000000000000000000008216936323b872dd93612a069330931691899101615b5d565b600060405180830381600087803b158015612a2057600080fd5b505af1158015612a34573d6000803e3d6000fd5b5050506000848152602d602052604080822080546001600160a01b03191690556005546008549151636f3df85160e11b81529293508392839283926001600160a01b03169163de7bf0a291612aa3918c918a91600160801b9091046001600160801b0316908d90600401615d02565b6080604051808303816000875af1158015612ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae69190615d31565b600854600160801b90046001600160801b031660038b810191909155546004549498509296509094509250612b2a916001600160a01b039081169133911687613ab4565b6000808755600587018190556007849055612b4c90600390600a908790614999565b601e5487906001600160a01b03808b1691167f3f2ad1b98f8838e6f90c126ac5f8a9875c7acf2a56aeb8a630c0fa475b07056a88612b89856122c2565b6040805192835260208301919091520160405180910390a450505050505061128460018055565b612bdb6040518060800160405280606081526020016000815260200160008152602001606081525090565b6001600160a01b0382166000908152601360209081526040808320815160808101835260608082529381018590529182019390935281810191909152815460408051602080840282018101909252828152918491830182828015612c5e57602002820191906000526020600020905b815481526020019060010190808311612c4a575b5050509183525050815467ffffffffffffffff811115612c8057612c8061579a565b604051908082528060200260200182016040528015612cb957816020015b612ca66156ab565b815260200190600190039081612c9e5790505b506060820152600060208201819052604082018190525b8254811015612e1c57306001600160a01b0316631d00ac3a86856000018481548110612cfe57612cfe615b2e565b6000918252602090912001546040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160e060405180830381865afa158015612d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d779190615d7c565b82606001518281518110612d8d57612d8d615b2e565b602002602001018190525081606001518181518110612dae57612dae615b2e565b60200260200101516020015182602001818151612dcb9190615bba565b9052508254612df690849083908110612de657612de6615b2e565b90600052602060002001546122c2565b82604001818151612e079190615bba565b90525080612e1481615b44565b915050612cd0565b509392505050565b601a546001600160a01b03163314612e4e576040516282b42960e81b815260040160405180910390fd5b6110ff6003600a83614aeb565b6003546001600160a01b03163314612eb55760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792052546f6b656e2063616e207570646174652072657761726473000060448201526064016115aa565b6000612ec0826114a7565b90508015612f43576001600160a01b038216600090815260176020526040812054601554670de0b6b3a764000091612ef791615b1b565b612f019084615b81565b612f0b9190615b98565b90508015612f41576001600160a01b03831660009081526018602052604081208054839290612f3b908490615bba565b90915550505b505b506015546001600160a01b03909116600090815260176020526040902055565b601e546000906001600160a01b0316612f7e57506000919050565b601e546040516001600160a01b038481166024830152600092839291169060440160408051601f198184030181529181526020820180516001600160e01b031663c084b10b60e01b17905251612fd49190615e0b565b600060405180830381855afa9150503d806000811461300f576040519150601f19603f3d011682016040523d82523d6000602084013e613014565b606091505b5091509150808060200190518101906112919190615bcd565b6130356137c8565b61303d6137f2565b33600081815260126020908152604080832086845290915281209161306290856120a0565b90506000613071338686613661565b601b54601f54604051636eb1769f60e11b81523360048201526001600160a01b039182166024820152929350839291169063dd62ed3e90604401602060405180830381865afa1580156130c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ec9190615bcd565b101561310b576040516339e067d560e21b815260040160405180910390fd5b601b546040516370a0823160e01b815233600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015613153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131779190615bcd565b101561319657604051631e9acf1760e31b815260040160405180910390fd5b6131a08585613873565b6131a981614bc4565b60048301805460ff191660011790556131c28483615bba565b8360050160008282546131d59190615bba565b909155505060405182815285907fd5c2dc3f0ec76ece0185d374bca424347955bce9b5e7b08757bb8e1bb8d9c0a99060200160405180910390a250505061128460018055565b6132236137c8565b61322b6137f2565b808060000361324d5760405163162908e360e11b815260040160405180910390fd5b61127a838333614526565b613260613820565b6003546001600160a01b03908116908416036132b55760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b60448201526064016115aa565b61264d6001600160a01b0384168383614824565b600080805b6001600160a01b038416600090815260136020526040902054811015611faf576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff161561333457613327848261250c565b6133319083615bba565b91505b8061333e81615b44565b9150506132ce565b61334e6137c8565b6133566137f2565b6133626003600a613816565b6040516331a9108f60e11b81526004810182905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa1580156133c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133ed9190615cc1565b6001600160a01b031614613414576040516384b359d160e01b815260040160405180910390fd5b336000908152601360209081526040808320848452600281019092529091205460ff16156134555760405163e8edca8360e01b815260040160405180910390fd5b60008281526002820160209081526040808320805460ff191660019081179091558454908101855584845282842001859055848352602d9091529081902080546001600160a01b031916339081179091559051632142170760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916342842e0e916134f4919030908790600401615b5d565b600060405180830381600087803b15801561350e57600080fd5b505af1158015613522573d6000803e3d6000fd5b50506040518481523392507f1c4b8380f61aea3d5d98cbadaf2e6b2e4f3d8ca8c0fce1290b26ac267158745f915060200160405180910390a2506110ff60018055565b6000818152602d60205260408120546001600160a01b031661360a576040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156135e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112389190615cc1565b506000908152602d60205260409020546001600160a01b031690565b61362e613820565b6001600160a01b03811661365857604051631e4fbdf760e01b8152600060048201526024016115aa565b6110ff81614456565b60008061366e85856120a0565b905061368860295484836136829190615bba565b9061384d565b9150505b9392505050565b61369b6137c8565b6136a36137f2565b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff16156136ec5760405163b84f7eb560e01b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff166137335760405163346fad7360e01b815260040160405180910390fd5b61373f6003600a613816565b600061374b84846111c2565b9050602754811061376f5760405163317416e560e11b815260040160405180910390fd5b6001828101805460ff1916909117905542600283015560405183906001600160a01b0386169033907f4601ff28b457321206747d0540f02cfb8a9d6bf3021146378e8544e1817e20e790600090a4505061128460018055565b6002600154036137eb57604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60025460ff16156114a55760405163d93c066560e01b815260040160405180910390fd5b6112848282614cb7565b6000546001600160a01b031633146114a55760405163118cdaa760e01b81523360048201526024016115aa565b60008115611388198390048411151761386557600080fd5b506127109102611388010490565b3360009081526012602090815260408083208584529091529020600181015460ff16156138b357604051630bff073160e31b815260040160405180910390fd5b336000908152601360209081526040808320868452600281019092529091205460ff166138f35760405163346fad7360e01b815260040160405180910390fd5b6138fd8484614de9565b6139096003600a613816565b61391283613c3e565b600554600854600384015460405163f05fb60960e01b81523360048201819052602482015260448101879052600160801b9092046001600160801b03166064830152608482015260a48101869052600091829182916001600160a01b03169063f05fb6099060c4016060604051808303816000875af1158015613999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139bd9190615e3a565b600854600160801b90046001600160801b031660038981019190915554604051635c921eb960e01b8152336004820152602481018b905293965091945092506001600160a01b031690635c921eb990604401600060405180830381600087803b158015613a2957600080fd5b505af1158015613a3d573d6000803e3d6000fd5b5050505081856000016000828254613a559190615bba565b90915550506007819055613a6e6003600a600089614999565b613a7661408f565b60405186815233907fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a367509060200160405180910390a250505050505050565b613b0e84856001600160a01b03166323b872dd868686604051602401613adc93929190615b5d565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614e65565b50505050565b6014546001600160a01b0316613b3d57604051632506892760e01b815260040160405180910390fd5b6006546000819003613b4d575050565b811561128457600081613b6884670de0b6b3a7640000615b81565b613b729190615b98565b90508060146001016000828254613b899190615bba565b909155505042601655505050565b6014546001600160a01b0316613baa5750565b6000613bb582611bdd565b90508015611284576001600160a01b038083166000908152601860209081526040808320839055601554601790925290912055601454613bf791168383614824565b816001600160a01b03167fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea682604051613c3291815260200190565b60405180910390a25050565b602a546001600160a01b0316613c515750565b600480546003546040516370a0823160e01b81526001600160a01b03918216938101939093526000929116906370a0823190602401602060405180830381865afa158015613ca3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cc79190615bcd565b905081811015611284576000613cdd8284615b1b565b602a5460405163ce96cb7760e01b81523060048201529192506000916001600160a01b039091169063ce96cb7790602401602060405180830381865afa158015613d2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d4f9190615bcd565b90506000613d5d8285615bba565b905082811015613dc65760405162461bcd60e51b815260206004820152602e60248201527f4e6f7420656e6f756768206c697175696469747920746f2066756c66696c6c2060448201526d1d1a19481dda5d1a191c985dd85b60921b60648201526084016115aa565b6006546000613dd58783615b1b565b905060008115613df057602b54613ded90839061384d565b90505b8585811115613dfc5750845b8015613e0b57613e0b81614297565b600480546040516370a0823160e01b815230928101929092526001600160a01b0316906370a0823190602401602060405180830381865afa158015613e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e789190615bcd565b600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935216906370a0823190602401602060405180830381865afa158015613ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eea9190615bcd565b613ef49190615bba565b975088881015613f5c5760405162461bcd60e51b815260206004820152602d60248201527f496e73756666696369656e74206c69717569646974792061667465722076617560448201526c1b1d081dda5d1a191c985dd85b609a1b60648201526084016115aa565b505050505050505050565b60008060006001851015613f8e5760405163162908e360e11b815260040160405180910390fd5b613f988787614cb7565b86546005880154604051636b81068560e11b8152600092839283926001600160a01b039092169163d7020d0a91613fe1918b9182918e916001600160801b031690600401615e6f565b6060604051808303816000875af1158015614000573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140249190615ea0565b92509250925082955061403a8a8a600084614999565b60408051828152602081018590526001600160a01b038916917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2999198508997509095505050505050565b602a546001600160a01b03166140a157565b600654602b546000906140b590839061384d565b600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935292935060009216906370a0823190602401602060405180830381865afa158015614109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061412d9190615bcd565b9050818111156141545760006141438383615b1b565b905061414e81614ec8565b5061420b565b8181101561420b5760006141688284615b1b565b90506000602a60009054906101000a90046001600160a01b03166001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156141bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141e39190615bcd565b905060008183116141f457826141f6565b815b905080156142075761420781614297565b5050505b6020805460408051848152928301919091527f8f9497c27f572ff1a65e8b2c7a0706d466466ae0b5efc78462b5f0021da6695691016117c1565b61424d6150fe565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b602a546040516328c0620360e01b8152600160048201526000916001600160a01b0316906328c0620390602401602060405180830381865afa1580156142e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143059190615bcd565b602a54604051632d182be560e21b815260048101859052306024820181905260448201529192506000916001600160a01b039091169063b460af94906064016020604051808303816000875af1158015614363573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143879190615bcd565b905060006020600301548311156143ea576023546000906143a89085615b1b565b9050670de0b6b3a76400006143bd8285615b81565b6143c79190615b98565b915081602060010160008282546143de9190615bba565b909155506143ee915050565b5060005b60006143fa8286615b1b565b60035460045491925061441a916001600160a01b03908116911683614824565b60205485111561442e576000602055614449565b84602060000160008282546144439190615b1b565b90915550505b5050506023555042602455565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6144ae6137f2565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861427a3390565b600081156b019d971e4fe8401e74000000198390048411151761450557600080fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b816000036145475760405163162908e360e11b815260040160405180910390fd5b6001600160a01b03811661456e576040516303988b8160e61b815260040160405180910390fd5b6001600160a01b0381166000908152601360209081526040808320868452600281019092529091205460ff166145b75760405163346fad7360e01b815260040160405180910390fd5b6145c36003600a613816565b6001600160a01b03821660009081526012602090815260408083208784529091529020600181015460ff1680156145ff5750600481015460ff16155b1561461d5760405163224aae4f60e21b815260040160405180910390fd5b600181015460ff1680156146415750602854816002015461463e9190615bba565b42115b1561465f57604051634b3c322760e11b815260040160405180910390fd5b600061466b848761250c565b9050600081861161467c578561467e565b815b9050600080600080600360020160009054906101000a90046001600160a01b03166001600160a01b031663de7bf0a28a87600360050160109054906101000a90046001600160801b03168f6040518563ffffffff1660e01b81526004016146e89493929190615d02565b6080604051808303816000875af1158015614707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061472b9190615d31565b600854600160801b90046001600160801b031660038c81019190915554600454949850929650909450925061476f916001600160a01b039081169133911688613ab4565b60078390558015614794578087600001600082825461478e9190615bba565b90915550505b86546147a1908390615b1b565b808855600588015411156147b757865460058801555b86546000036147c857600060058801555b6147d76003600a876000614999565b6040518581526001600160a01b038a169033907f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac46849060200160405180910390a35050505050505050505050565b6040516001600160a01b0383811660248301526044820183905261264d91859182169063a9059cbb90606401613adc565b600060018310156148795760405163162908e360e11b815260040160405180910390fd5b6148838585614cb7565b845460018601546148a3916001600160a01b039182169133911686613ab4565b8454600586015460405163b3f1c93d60e01b81526000928392839283926001600160a01b03169163b3f1c93d916148ee9130918b918d916001600160801b0390911690600401615e6f565b6080604051808303816000875af115801561490d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149319190615ece565b93509350935093508294506149498989896000614999565b60408051888152602081018790526001600160a01b038816917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250505050949350505050565b81156149c6576149a882615121565b6001600160801b031684600301546149c09190615bba565b60038501555b8015614a185780846003015410156149f15760405163bb55fd2760e01b815260040160405180910390fd5b6149fa81615121565b6001600160801b03168460030154614a129190615b1b565b60038501555b600384015460048501546000614a2e8787615159565b90506000614a3c88886151ba565b90506000614a5289600301548a60040154615215565b9050614a76886002015489600301548a600401548b600501548c6006015486615261565b600189018190556007890154614a8e9183918761534b565b8855614a9a8989614cb7565b875460018901546040517f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd992614ad892908252602082015260400190565b60405180910390a1505050505050505050565b6001811015614b0d5760405163824c180760e01b815260040160405180910390fd5b60028201548015614b70576000614b26826101f461384d565b90506000828411614b4057614b3b8484615b1b565b614b4a565b614b4a8385615b1b565b905081811115614b6d57604051631a8b543360e21b815260040160405180910390fd5b50505b60028301829055614b848484600080614999565b60408051828152602081018490527fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e91015b60405180910390a150505050565b601f546001600160a01b0316614bed576040516303988b8160e61b815260040160405180910390fd5b80600003614c0e5760405163162908e360e11b815260040160405180910390fd5b601f5460048054604051636033e31560e01b81526001600160a01b0391821692810192909252336024830152604482018490527f65991ea5d80f7b6dc8c32648f59c5a653beb10caddae8fefad6966b35a0a65f1606483015290911690636033e315906084016020604051808303816000875af1158015614c93573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112849190615f0b565b6006820154600090614cd09064ffffffffff1642615b1b565b90506001811015614ce057505050565b60058301546001600160801b03166001811015614d1057604051630a1cf3ed60e21b815260040160405180910390fd5b82546005850154614d2c919084906001600160801b0316615392565b6005850180546fffffffffffffffffffffffffffffffff19166001600160801b0392831617908190556001850154614d709290918591600160801b909104166153af565b6005850180546001600160801b03908116600160801b93821684028181179384905560068901805464ffffffffff19164264ffffffffff16179055604080519184169092178152939092041660208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd82049101614bb6565b6000614df4836122c2565b905080600003614e1757604051638dc8d9b360e01b815260040160405180910390fd5b6000614e2e6026548361384d90919063ffffffff16565b905082614e3b338661134a565b614e459190615bba565b811015613b0e57604051630369fbd160e51b815260040160405180910390fd5b6000614e7a6001600160a01b038416836153cb565b90508051600014158015614e9f575080806020019051810190614e9d9190615f0b565b155b1561264d57604051635274afe760e01b81526001600160a01b03841660048201526024016115aa565b600354604051635c921eb960e01b8152306004820152602481018390526001600160a01b0390911690635c921eb990604401600060405180830381600087803b158015614f1457600080fd5b505af1158015614f28573d6000803e3d6000fd5b505060048054602a5460405163095ea7b360e01b81526001600160a01b03918216938101939093526024830186905216925063095ea7b391506044016020604051808303816000875af1158015614f83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614fa79190615f0b565b50602a54604051636e553f6560e01b8152600481018390523060248201526000916001600160a01b031690636e553f65906044016020604051808303816000875af1158015614ffa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061501e9190615bcd565b602a546040516328c0620360e01b81526000600482018190529293506001600160a01b03909116906328c0620390602401602060405180830381865afa15801561506c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150909190615bcd565b9050600082116150d95760405162461bcd60e51b815260206004820152601460248201527315985d5b1d0819195c1bdcda5d0819985a5b195960621b60448201526064016115aa565b82602060000160008282546150ee9190615bba565b9091555050602355505042602555565b60025460ff166114a557604051638dfc202b60e01b815260040160405180910390fd5b60006001600160801b03821115615155576040516306dfcc6560e41b815260806004820152602481018390526044016115aa565b5090565b600682015460009081906151749064ffffffffff1642615b1b565b9050600181101561518b5750506004820154611238565b6005840154600184015461129191600160801b90046001600160801b0316906151b490846153d9565b906144e3565b600682015460009081906151d59064ffffffffff1642615b1b565b905060018110156151f557505060058201546001600160801b0316611238565b60058401548354611291916001600160801b0316906151b4908483615428565b600060018310156152325750676765c793fa10079d601b1b611238565b600061525061524b6152448587615bba565b859061545c565b615121565b6001600160801b0316949350505050565b600085871115806152725750838710155b8061527d5750858511155b806152885750838510155b156152a65760405163abc83fed60e01b815260040160405180910390fd5b60008383116152e85760006152bb888a615b1b565b905060006152d3866152cd87856144e3565b9061545c565b90506152df818a615bba565b92505050615340565b60006152f48585615b1b565b9050600061530d86676765c793fa10079d601b1b615b1b565b9050600061531b8b89615b1b565b9050600061532d836152cd86856144e3565b9050615339818d615bba565b9450505050505b979650505050505050565b6000600182101561535e57506000611291565b600061536a86866144e3565b9050600061537882866144e3565b905060006153868284615b1b565b98975050505050505050565b6000806153a0858585615428565b905061368861524b82856144e3565b6000806153bc85856153d9565b905061368861524b84836144e3565b606061368c83836000615499565b600060018210156153f65750676765c793fa10079d601b1b611238565b6000615406846301e1338061545c565b9050600061541482856144e3565b905061541f81615536565b95945050505050565b6000806154358486615b81565b90506154456301e1338082615b98565b905061368881676765c793fa10079d601b1b615bba565b60008115676765c793fa10079d601b1b6002840419048411171561547f57600080fd5b50676765c793fa10079d601b1b9190910260028204010490565b6060814710156154be5760405163cd78605960e01b81523060048201526024016115aa565b600080856001600160a01b031684866040516154da9190615e0b565b60006040518083038185875af1925050503d8060008114615517576040519150601f19603f3d011682016040523d82523d6000602084013e61551c565b606091505b509150915061552c8683836155df565b9695505050505050565b6000816000036155525750676765c793fa10079d601b1b919050565b506b169e43a85eb381aa580000006b1363156bbee3016d700000006b1027e72f1f128130880000006b0cecb8f27f4200f3a00000006b09b18ab5df7180b6b80000006b06765c793fa10079d000000086800204808702919091048087029290920480870293909304808702949094048087029590950495010101010101676765c793fa10079d601b1b0190565b6060826155f4576155ef8261563b565b61368c565b815115801561560b57506001600160a01b0384163b155b1561563457604051639996b31560e01b81526001600160a01b03851660048201526024016115aa565b508061368c565b80511561564b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b82805482825590600052602060002090810192821561569f579160200282015b8281111561569f578251825591602001919060010190615684565b506151559291506156ec565b6040518060e0016040528060008152602001600081526020016000815260200160001515815260200160008152602001600081526020016000151581525090565b5b8082111561515557600081556001016156ed565b60006020828403121561571357600080fd5b5035919050565b6001600160a01b03811681146110ff57600080fd5b60006020828403121561574157600080fd5b813561368c8161571a565b6000806040838503121561575f57600080fd5b823561576a8161571a565b946020939093013593505050565b6000806040838503121561578b57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156157d6576157d661579a565b6040525050565b600080600080608085870312156157f357600080fd5b84356157fe8161571a565b935060208581013561580f8161571a565b935060408601359250606086013567ffffffffffffffff8082111561583357600080fd5b818801915088601f83011261584757600080fd5b8135818111156158595761585961579a565b6040519150615871601f8201601f19168501836157b0565b808252898482850101111561588557600080fd5b808484018584013760008482840101525080935050505092959194509250565b8051825260208101516020830152604081015160408301526060810151151560608301526080810151608083015260a081015160a083015260c0810151151560c08301525050565b60e0810161123882846158a5565b6000806040838503121561590e57600080fd5b82356008811061576a57600080fd5b60008060006060848603121561593257600080fd5b8335925060208401359150604084013561594b8161571a565b809150509250925092565b600081518084526020808501945080840160005b838110156159905761597d8783516158a5565b60e096909601959082019060010161596a565b509495945050505050565b60208082528251608083830152805160a0840181905260009291820190839060c08601905b808310156159e057835182529284019260019290920191908401906159c0565b508387015160408701526040870151606087015260608701519350601f198682030160808701526153408185615956565b600080600060608486031215615a2657600080fd5b8335615a318161571a565b92506020840135615a418161571a565b929592945050506040919091013590565b60006101008201905060018060a01b0380845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015260a08301516001600160801b0380821660a08501528060c08601511660c0850152505060e0830151611faf60e084018264ffffffffff169052565b600080600060608486031215615ae557600080fd5b8335615af08161571a565b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561123857611238615b05565b634e487b7160e01b600052603260045260246000fd5b600060018201615b5657615b56615b05565b5060010190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b808202811582820484141761123857611238615b05565b600082615bb557634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561123857611238615b05565b600060208284031215615bdf57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b600060033d11156127295760046000803e5060005160e01c90565b600060443d1015615c255790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715615c5557505050505090565b8285019150815181811115615c6d5750505050505090565b843d8701016020828501011115615c875750505050505090565b615c96602082860101876157b0565b509095945050505050565b60008060233d1115615cbd576020600460003e50506000516001905b9091565b600060208284031215615cd357600080fd5b815161368c8161571a565b60008060408385031215615cf157600080fd5b505080516020909101519092909150565b6001600160a01b0394909416845260208401929092526001600160801b03166040830152606082015260800190565b60008060008060808587031215615d4757600080fd5b505082516020840151604085015160609095015191969095509092509050565b80518015158114615d7757600080fd5b919050565b600060e08284031215615d8e57600080fd5b60405160e0810181811067ffffffffffffffff82111715615db157615db161579a565b8060405250825181526020830151602082015260408301516040820152615dda60608401615d67565b60608201526080830151608082015260a083015160a0820152615dff60c08401615d67565b60c08201529392505050565b6000825160005b81811015615e2c5760208186018101518583015201615e12565b506000920191825250919050565b600080600060608486031215615e4f57600080fd5b615e5884615d67565b925060208401519150604084015190509250925092565b6001600160a01b03948516815292909316602083015260408201526001600160801b03909116606082015260800190565b600080600060608486031215615eb557600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215615ee457600080fd5b615eed85615d67565b60208601516040870151606090970151919890975090945092505050565b600060208284031215615f1d57600080fd5b61368c82615d6756fea264697066735822122004a483d6cde9880a2e0d08c71aef252e87954885213c8d3cf9b752dc7654fcb864736f6c63430008140033",
|
|
2757
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106104965760003560e01c80638aabb2d111610262578063c4f8911c11610151578063e91a7ca6116100ce578063f2fde38b11610092578063f2fde38b14610ddd578063f5b3b9e714610df0578063f8d8989814610e03578063f91c3b0d14610e16578063fbf4a61214610e29578063fbfa77cf14610e3857600080fd5b8063e91a7ca614610c84578063e9f2838e14610c97578063ec915ee614610ca4578063ef5bac2514610d05578063f1caf09f14610dca57600080fd5b8063d5db7d5d11610115578063d5db7d5d14610c25578063d81a698614610c38578063d8aed14514610c4b578063e5711e8b14610c5e578063e65896c914610c7157600080fd5b8063c4f8911c14610b1f578063c6d6916c14610b32578063c891091314610b45578063cd3293de14610b68578063d17e988314610c1257600080fd5b8063a8de4834116101df578063b88a802f116101a3578063b88a802f14610a4d578063bf4eccdf14610a55578063bfd91c2314610a68578063c1be667714610a88578063c415b95c14610b0c57600080fd5b8063a8de4834146109e5578063a90d728f146109f8578063a9bf805c14610a00578063ac919fd414610a13578063b6b55f2514610a3a57600080fd5b806397c4fac71161022657806397c4fac71461099057806398d721e0146109995780639daa54b4146109ac578063a42dce80146109bf578063a5b350c9146109d257600080fd5b80638aabb2d1146109205780638aee8127146109335780638bc2ff5b146109465780638da5cb5b1461096c578063929761791461097d57600080fd5b80632a5bf6d2116103895780635c975abb11610306578063768bab45116102ca578063768bab451461088e5780637bc7780b146108a157806383ba103f146108a95780638429d51f146108bc5780638456cb5914610907578063883c6b241461090f57600080fd5b80635c975abb146108155780636061ffc3146108205780636817031b14610860578063715018a61461087357806375417da61461087b57600080fd5b80633f4ba83a1161034d5780633f4ba83a1461073e5780634031234c1461074657806340c65f721461074f5780634df9d6ba14610762578063523a19ac1461077557600080fd5b80632a5bf6d21461067e5780632ab414fc146106915780632e1a7d4d146106a45780633adbb5af146106b75780633e20bf141461071a57600080fd5b8063150b7a02116104175780631d00ac3a116103db5780631d00ac3a146106285780631d4bf4a0146106485780631d8557d7146106505780632630c12f1461065857806327156a681461066b57600080fd5b8063150b7a02146105c457806316a6c4c5146105f057806316c621e0146105f95780631705ffad1461060c57806319c2d37e1461061557600080fd5b80630c34b9141161045e5780630c34b914146105195780630c42dcaf146105825780630c679a7b1461058b5780630d4085121461059e5780630ecbcdab146105b157600080fd5b8063023245d71461049b578063048c661d146104b0578063057e9b7b146104e057806309bf1e73146104f75780630ab30d8a14610501575b600080fd5b6104ae6104a9366004615701565b610e4b565b005b601e546104c3906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6104e960275481565b6040519081526020016104d7565b6104e96203f48081565b600854600160801b90046001600160801b03166104e9565b610521611102565b6040516104d79190600061010082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6104e9611f4081565b6104ae61059936600461572f565b611198565b6104e96105ac36600461574c565b6111c2565b6104ae6105bf366004615778565b61123e565b6105d76105d23660046157dd565b611288565b6040516001600160e01b031990911681526020016104d7565b6104e960285481565b6104ae610607366004615701565b611299565b6104e9602b5481565b6104e961062336600461574c565b61134a565b61063b61063636600461574c565b6113c3565b6040516104d791906158ed565b6021546104e9565b6104ae611499565b6019546104c3906001600160a01b031681565b6104e961067936600461572f565b6114a7565b6104e961068c36600461572f565b6114cc565b6104ae61069f3660046158fb565b61153b565b6104ae6106b2366004615701565b611a41565b6106ca6106c536600461574c565b611b18565b6040516104d79190600060c08201905082518252602083015115156020830152604083015160408301526060830151606083015260808301511515608083015260a083015160a083015292915050565b601e5461072e90600160a01b900460ff1681565b60405190151581526020016104d7565b6104ae611bcd565b6104e960265481565b601c546104c3906001600160a01b031681565b6104e961077036600461572f565b611bdd565b61080061078336600461574c565b6001600160a01b0391909116600090815260126020908152604080832093835292815290829020825160c0810184528154808252600183015460ff90811615159483019490945260028301549482019490945260038201546060820181905260048301549093161515608082015260059091015460a09091015291565b604080519283526020830191909152016104d7565b60025460ff1661072e565b60145460155460165461083b926001600160a01b0316919083565b604080516001600160a01b0390941684526020840192909252908201526060016104d7565b6104ae61086e36600461572f565b611c7f565b6104ae611f1d565b6104e961088936600461572f565b611f2f565b6104ae61089c36600461574c565b611fb6565b600c546104e9565b6104e96108b736600461574c565b6120a0565b6020546021546022546023546024546025546108da95949392919086565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016104d7565b6104ae6120d4565b6008546001600160801b03166104e9565b6104ae61092e366004615701565b6120e4565b6104ae61094136600461572f565b61226e565b7f00000000000000000000000000000000000000000000000000000000000000006104c3565b6000546001600160a01b03166104c3565b6104e961098b366004615701565b6122c2565b6104e960295481565b6104ae6109a736600461572f565b612358565b6104e96109ba36600461572f565b612408565b6104ae6109cd36600461572f565b61248b565b6104e96109e036600461574c565b61250c565b6104ae6109f336600461591d565b6125b5565b6104e9612652565b601a546104c3906001600160a01b031681565b6104c37f000000000000000000000000000000000000000000000000000000000000000081565b6104ae610a48366004615701565b61272c565b61072e61282e565b6104ae610a6336600461574c565b61284d565b610a7b610a7636600461572f565b612bb0565b6040516104d7919061599b565b610add610a9636600461574c565b6012602090815260009283526040808420909152908252902080546001820154600283015460038401546004850154600590950154939460ff938416949293919291169086565b6040805196875294151560208701529385019290925260608401521515608083015260a082015260c0016104d7565b601f546104c3906001600160a01b031681565b6104ae610b2d366004615701565b612e24565b6104ae610b4036600461572f565b612e5b565b6104e9610b5336600461572f565b60136020526000908152604090206001015481565b600354600454600554600654600754600854600954610bb4966001600160a01b0390811696811695169392916001600160801b0380821692600160801b909204169064ffffffffff1688565b604080516001600160a01b03998a16815297891660208901529590971694860194909452606085019290925260808401526001600160801b0390811660a08401521660c082015264ffffffffff90911660e0820152610100016104d7565b6104e9610c2036600461572f565b612f63565b601b546104c3906001600160a01b031681565b6104ae610c46366004615778565b61302d565b6104ae610c59366004615778565b61321b565b6104ae610c6c366004615a11565b613258565b6104e9610c7f36600461572f565b6132c9565b6104ae610c92366004615701565b613346565b602c5461072e9060ff1681565b600a54600b54600c54600d54600e54600f54601054601154610cca979695949392919088565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016104d7565b610dbd6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091525060408051610100810182526003546001600160a01b039081168252600454811660208301526005541691810191909152600654606082015260075460808201526008546001600160801b0380821660a0840152600160801b9091041660c082015260095464ffffffffff1660e082015290565b6040516104d79190615a52565b6104c3610dd8366004615701565b613565565b6104ae610deb36600461572f565b613626565b6104e9610dfe366004615ad0565b613661565b601d546104c3906001600160a01b031681565b6104ae610e2436600461574c565b613693565b6104e9670de0b6b3a764000081565b602a546104c3906001600160a01b031681565b610e536137c8565b610e5b6137f2565b3360009081526012602090815260408083208484529091529020600181015460ff1615610e9b576040516367c11db560e01b815260040160405180910390fd5b336000908152601360209081526040808320858452600281019092529091205460ff16610edb5760405163346fad7360e01b815260040160405180910390fd5b610ee76003600a613816565b6000610ef3338561134a565b90508015610f14576040516302c9375f60e21b815260040160405180910390fd5b60008481526002830160209081526040808320805460ff19169055602d909152812080546001600160a01b03191690558254610f5290600190615b1b565b67ffffffffffffffff811115610f6a57610f6a61579a565b604051908082528060200260200182016040528015610f93578160200160208202803683370190505b5090506000805b84548110156110265786856000018281548110610fb957610fb9615b2e565b90600052602060002001541461101457846000018181548110610fde57610fde615b2e565b9060005260206000200154838381518110610ffb57610ffb615b2e565b60209081029190910101528161101081615b44565b9250505b8061101e81615b44565b915050610f9a565b5081516110399085906020850190615664565b50604051632142170760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e9061108a90309033908b90600401615b5d565b600060405180830381600087803b1580156110a457600080fd5b505af11580156110b8573d6000803e3d6000fd5b50506040518881523392507f2aa1b4c95f3b2da9c955947fca584743ea0d457708fadf209c093061e98c4ccb915060200160405180910390a250505050506110ff60018055565b50565b61114a60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b506040805161010081018252600a548152600b546020820152600c5491810191909152600d546060820152600e546080820152600f5460a082015260105460c082015260115460e082015290565b6111a0613820565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111ce836122c2565b905060006111dc858561250c565b905060018110156111fc57676765c793fa10079d601b1b92505050611238565b60006112136026548461384d90919063ffffffff16565b90508161122882670de0b6b3a7640000615b81565b6112329190615b98565b93505050505b92915050565b6112466137c8565b61124e6137f2565b80806000036112705760405163162908e360e11b815260040160405180910390fd5b61127a8383613873565b5061128460018055565b5050565b630a85bd0160e11b5b949350505050565b6112a16137c8565b6014546001600160a01b03166112ca57604051632506892760e01b815260040160405180910390fd5b806000036112eb5760405163162908e360e11b815260040160405180910390fd5b601454611303906001600160a01b0316333084613ab4565b61130c81613b14565b60405181815233907fe79ffd9a88f13c8c49fb545410401d9877ab90d9dcf7b15d4dc0601993a0d9139060200160405180910390a26110ff60018055565b6001600160a01b0382166000908152601260209081526040808320848452825291829020825160c0810184528154808252600183015460ff908116151594830194909452600283015494820194909452600382015460608201526004820154909216151560808301526005015460a09091015292915050565b6113cb6156ab565b6113d36156ab565b6001600160a01b0384166000908152601260209081526040808320868452825291829020825160c0808201855282548252600183015460ff90811615159483018590526002840154958301958652600384015460608085019190915260048501549091161515608080850191825260059095015460a085015290870194909452935191850191909152805184529051151591830191909152611475858561250c565b602083015261148485856111c2565b60408301526060015160a08201529392505050565b6114a56003600a613816565b565b6000806114b3836114cc565b905060006114c084612f63565b90506112918183615bba565b600354604051630481930d60e21b81526001600160a01b03838116600483015260009216906312064c3490602401602060405180830381865afa158015611517573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112389190615bcd565b611543613820565b600082600781111561155757611557615be6565b03611602576127108111156115b35760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206c69717569646174696f6e207468726573686f6c6400000060448201526064015b60405180910390fd5b60268190556027546028546040805184815260208101939093528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060015b60405180910390a15050565b600182600781111561161657611616615be6565b0361166157602781905560265460285460408051928352602083018490528201527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060016115f6565b600282600781111561167557611675615be6565b0361171c57620151808110158015611690575062093a808111155b6116d35760405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a590819dc9858d9481c195c9a5bd960621b60448201526064016115aa565b602881905560265460275460408051928352602083019190915281018290527fafabe1c7d6c2e86cbfc67a8ba53d25a7f8ef59b97d972dd4bf7d7525ba7fdddf906060016115f6565b600382600781111561173057611730615be6565b036117ce576127108111156117875760405162461bcd60e51b815260206004820152601860248201527f526174696f2063616e6e6f74206578636565642031303025000000000000000060448201526064016115aa565b602b80549082905560408051828152602081018490527fab45a8374e3d1f623df0e88a957317731ccc02ed377e5b0213661f85bf60b73191015b60405180910390a1505050565b60048260078111156117e2576117e2615be6565b036118785760018111156118305760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420626f6f6c65616e2076616c756560581b60448201526064016115aa565b602c805460ff19166001831490811790915560405160ff909116151581527f0565da69314136ea081c6239b9813f6ef6d213f57210dfef1d470af55b0235f3906020016115f6565b600582600781111561188c5761188c615be6565b036119305760018111156118da5760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420626f6f6c65616e2076616c756560581b60448201526064016115aa565b601e8054600160a01b60018414810260ff60a01b199092169190911791829055604051910460ff16151581527f932a526fd95bf1b5aab775a957e284733f02db3a9824802cbcbb4fbca239cbe1906020016115f6565b600682600781111561194457611944615be6565b036119d1576127108111156119935760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420696e737572616e63652066656560581b60448201526064016115aa565b602980549082905560408051828152602081018490527f87c461d1c2c7c5cd98495e5517aa11d9df56d0819cc4e8e53d9664c4b18f6db191016117c1565b60078260078111156119e5576119e5615be6565b03611a2857601180549082905560408051828152602081018490527f1d830358c94d390366ad7162b72e731448e195f3576e63b1f57f5e43c719c5aa91016117c1565b604051630309cb8760e51b815260040160405180910390fd5b611a496137c8565b611a516137f2565b8080600003611a735760405163162908e360e11b815260040160405180910390fd5b602c5460ff1615611a97576040516370a7336d60e11b815260040160405180910390fd5b611aa033613b97565b611aac6003600a613816565b611ab582613c3e565b6000806000611ac86003600a8733613f67565b925092509250611ad661408f565b60405183815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a2505050506110ff60018055565b611b556040518060c00160405280600081526020016000151581526020016000815260200160008152602001600015158152602001600081525090565b506001600160a01b0382166000908152601260209081526040808320848452825291829020825160c08101845281548152600182015460ff908116151593820193909352600282015493810193909352600381015460608401526004810154909116151560808301526005015460a082015292915050565b611bd5613820565b6114a5614245565b6014546000906001600160a01b0316611bf857506000919050565b6000611c03836114a7565b905080600003611c165750600092915050565b6001600160a01b038316600090815260176020526040812054601554670de0b6b3a764000091611c4591615b1b565b611c4f9084615b81565b611c599190615b98565b6001600160a01b0385166000908152601860205260409020549091506112919082615bba565b611c87613820565b602a546001600160a01b03828116911614801590611caf5750602a546001600160a01b031615155b15611e1357602a5460405163ce96cb7760e01b81523060048201526001600160a01b039091169063ce96cb7790602401602060405180830381865afa925050508015611d18575060408051601f3d908101601f19168201909252611d1591810190615bcd565b60015b611e0857611d24615bfc565b806308c379a003611d815750611d38615c17565b80611d435750611d9a565b602a546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e13565b634e487b7103611d9a57611d93615ca1565b90611d4357505b3d808015611dc4576040519150601f19603f3d011682016040523d82523d6000602084013e611dc9565b606091505b50602a546040516001600160a01b03909116907fc4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb10590600090a250611e13565b611e1181614297565b505b602a80546001600160a01b031981166001600160a01b0384811691821790935560048054604080516338d52e0f60e01b815290519486169591909116936338d52e0f928281019260209291908290030181865afa158015611e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9c9190615cc1565b6001600160a01b031614158015611ebb57506001600160a01b03821615155b15611ed957604051631b3b488360e11b815260040160405180910390fd5b816001600160a01b0316816001600160a01b03167f483bdedaaf23706a9800ac1af0d852b34927780d79f9d6ba60a80c7cad75ea3960405160405180910390a35050565b611f25613820565b6114a56000614456565b600080805b6001600160a01b0384166000908152601360205260409020548111611faf576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff1615611f9d576000611f8d826122c2565b9050611f998184615bba565b9250505b80611fa781615b44565b915050611f34565b5092915050565b611fbe613820565b611fca6003600a613816565b6001600160a01b0382166120365760405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084016115aa565b60035460405163768bab4560e01b81526001600160a01b038481166004830152602482018490529091169063768bab4590604401600060405180830381600087803b15801561208457600080fd5b505af1158015612098573d6000803e3d6000fd5b505050505050565b6001600160a01b03821660009081526012602090815260408083208484529091528120600581015481546112919190615b1b565b6120dc613820565b6114a56144a6565b6120ec6137c8565b6120f46137f2565b3360008181526012602090815260408083208584529091529020600181015460ff166121335760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038216600090815260136020908152604080832086845260020190915290205460ff1661217a5760405163346fad7360e01b815260040160405180910390fd5b602854816002015461218c9190615bba565b4211156121ac57604051634b3c322760e11b815260040160405180910390fd5b600481015460ff166121d157604051632d1118e960e21b815260040160405180910390fd5b6121dd6003600a613816565b60006121e9838561250c565b9050801561220a576040516312bf4cab60e01b815260040160405180910390fd5b60018201805460ff1990811690915560006002840181905560048401805490921690915560405185916001600160a01b038616917fd66fca94ddede030b58f223f22d6b43407a443bd68e2e73d38ab7675cf480acc9190a35050506110ff60018055565b612276613820565b6014546001600160a01b0316156122a05760405163b6de9a7160e01b815260040160405180910390fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60195460405163b94fe91760e01b815260048101839052600091829182916001600160a01b03169063b94fe917906024016040805180830381865afa15801561230f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123339190615cde565b9150915081600003611faf57604051633b0c4c3160e11b815260040160405180910390fd5b612360613820565b6001600160a01b038116612387576040516303988b8160e61b815260040160405180910390fd5b601e546001600160a01b03908116908216036123b65760405163aba916dd60e01b815260040160405180910390fd5b601e80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d90600090a35050565b600080805b6001600160a01b038416600090815260136020526040902054811015611faf576001600160a01b0384166000908152601360205260409020805461246d9186918490811061245d5761245d615b2e565b906000526020600020015461250c565b6124779083615bba565b91508061248381615b44565b91505061240d565b612493613820565b6001600160a01b0381166124ba576040516303988b8160e61b815260040160405180910390fd5b601f80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f3890600090a35050565b6001600160a01b03821660009081526012602090815260408083208484528252808320815160c08101835281548152600182015460ff9081161515948201949094526002820154928101929092526003810154606083018190526004820154909316151560808301526005015460a082015260085490916125a9916125a19190600160801b90046001600160801b0316615b1b565b8251906144e3565b81516112919190615bba565b6125bd6137c8565b6125c56137f2565b81806000036125e75760405163162908e360e11b815260040160405180910390fd5b601e54600160a01b900460ff16612611576040516312cefcd560e31b815260040160405180910390fd5b6001600160a01b038216612638576040516303988b8160e61b815260040160405180910390fd5b612643848484614526565b5061264d60018055565b505050565b601f546000906001600160a01b0316331461267f576040516282b42960e81b815260040160405180910390fd5b602a546001600160a01b03166126c65760405162461bcd60e51b815260206004820152600c60248201526b139bc81d985d5b1d081cd95d60a21b60448201526064016115aa565b60045460218054426022556000909155601f546001600160a01b03928316926126f29184911683614824565b6040518181527f7edfb0d5d58c6a3d398df94a9bdfa2b33f3fa42ae40d72ebdc717d2db3953ee59060200160405180910390a19150505b90565b6127346137c8565b61273c6137f2565b808060000361275e5760405163162908e360e11b815260040160405180910390fd5b61276733613b97565b6127736003600a613816565b60006127836003600a8533614855565b33600090815260136020526040812060010154919250036127b8573360009081526013602052604090206001018390556127e0565b33600090815260136020526040812060010180548592906127da908490615bba565b90915550505b6127e861408f565b604080518481526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250506110ff60018055565b60006128386137c8565b61284133613b97565b50600161272960018055565b6128556137c8565b601e546001600160a01b0316331461287f576040516282b42960e81b815260040160405180910390fd5b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff166128c75760405163013e5dc360e61b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff1661290e5760405163346fad7360e01b815260040160405180910390fd5b61291a6003600a613816565b600481015460ff16801561293f5750602854816002015461293b9190615bba565b4211155b1561295d576040516363e5f12d60e11b815260040160405180910390fd5b6000612969848461250c565b60018301805460ff199081169091556000600280860182905560048087018054851690556001600160a01b03808a1684526013602090815260408086208b87529094019052928290208054909416909355601e5490516323b872dd60e01b81529394507f00000000000000000000000000000000000000000000000000000000000000008216936323b872dd93612a069330931691899101615b5d565b600060405180830381600087803b158015612a2057600080fd5b505af1158015612a34573d6000803e3d6000fd5b5050506000848152602d602052604080822080546001600160a01b03191690556005546008549151636f3df85160e11b81529293508392839283926001600160a01b03169163de7bf0a291612aa3918c918a91600160801b9091046001600160801b0316908d90600401615d02565b6080604051808303816000875af1158015612ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae69190615d31565b600854600160801b90046001600160801b031660038b810191909155546004549498509296509094509250612b2a916001600160a01b039081169133911687613ab4565b6000808755600587018190556007849055612b4c90600390600a908790614999565b601e5487906001600160a01b03808b1691167f3f2ad1b98f8838e6f90c126ac5f8a9875c7acf2a56aeb8a630c0fa475b07056a88612b89856122c2565b6040805192835260208301919091520160405180910390a450505050505061128460018055565b612bdb6040518060800160405280606081526020016000815260200160008152602001606081525090565b6001600160a01b0382166000908152601360209081526040808320815160808101835260608082529381018590529182019390935281810191909152815460408051602080840282018101909252828152918491830182828015612c5e57602002820191906000526020600020905b815481526020019060010190808311612c4a575b5050509183525050815467ffffffffffffffff811115612c8057612c8061579a565b604051908082528060200260200182016040528015612cb957816020015b612ca66156ab565b815260200190600190039081612c9e5790505b506060820152600060208201819052604082018190525b8254811015612e1c57306001600160a01b0316631d00ac3a86856000018481548110612cfe57612cfe615b2e565b6000918252602090912001546040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160e060405180830381865afa158015612d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d779190615d7c565b82606001518281518110612d8d57612d8d615b2e565b602002602001018190525081606001518181518110612dae57612dae615b2e565b60200260200101516020015182602001818151612dcb9190615bba565b9052508254612df690849083908110612de657612de6615b2e565b90600052602060002001546122c2565b82604001818151612e079190615bba565b90525080612e1481615b44565b915050612cd0565b509392505050565b601a546001600160a01b03163314612e4e576040516282b42960e81b815260040160405180910390fd5b6110ff6003600a83614aeb565b6003546001600160a01b03163314612eb55760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792052546f6b656e2063616e207570646174652072657761726473000060448201526064016115aa565b6000612ec0826114a7565b90508015612f43576001600160a01b038216600090815260176020526040812054601554670de0b6b3a764000091612ef791615b1b565b612f019084615b81565b612f0b9190615b98565b90508015612f41576001600160a01b03831660009081526018602052604081208054839290612f3b908490615bba565b90915550505b505b506015546001600160a01b03909116600090815260176020526040902055565b601e546000906001600160a01b0316612f7e57506000919050565b601e546040516001600160a01b038481166024830152600092839291169060440160408051601f198184030181529181526020820180516001600160e01b031663c084b10b60e01b17905251612fd49190615e0b565b600060405180830381855afa9150503d806000811461300f576040519150601f19603f3d011682016040523d82523d6000602084013e613014565b606091505b5091509150808060200190518101906112919190615bcd565b6130356137c8565b61303d6137f2565b33600081815260126020908152604080832086845290915281209161306290856120a0565b90506000613071338686613661565b601b54601f54604051636eb1769f60e11b81523360048201526001600160a01b039182166024820152929350839291169063dd62ed3e90604401602060405180830381865afa1580156130c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ec9190615bcd565b101561310b576040516339e067d560e21b815260040160405180910390fd5b601b546040516370a0823160e01b815233600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015613153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131779190615bcd565b101561319657604051631e9acf1760e31b815260040160405180910390fd5b6131a08585613873565b6131a981614bc4565b60048301805460ff191660011790556131c28483615bba565b8360050160008282546131d59190615bba565b909155505060405182815285907fd5c2dc3f0ec76ece0185d374bca424347955bce9b5e7b08757bb8e1bb8d9c0a99060200160405180910390a250505061128460018055565b6132236137c8565b61322b6137f2565b808060000361324d5760405163162908e360e11b815260040160405180910390fd5b61127a838333614526565b613260613820565b6003546001600160a01b03908116908416036132b55760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b60448201526064016115aa565b61264d6001600160a01b0384168383614824565b600080805b6001600160a01b038416600090815260136020526040902054811015611faf576001600160a01b038416600090815260136020908152604080832084845260020190915290205460ff161561333457613327848261250c565b6133319083615bba565b91505b8061333e81615b44565b9150506132ce565b61334e6137c8565b6133566137f2565b6133626003600a613816565b6040516331a9108f60e11b81526004810182905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa1580156133c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133ed9190615cc1565b6001600160a01b031614613414576040516384b359d160e01b815260040160405180910390fd5b336000908152601360209081526040808320848452600281019092529091205460ff16156134555760405163e8edca8360e01b815260040160405180910390fd5b60008281526002820160209081526040808320805460ff191660019081179091558454908101855584845282842001859055848352602d9091529081902080546001600160a01b031916339081179091559051632142170760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916342842e0e916134f4919030908790600401615b5d565b600060405180830381600087803b15801561350e57600080fd5b505af1158015613522573d6000803e3d6000fd5b50506040518481523392507f1c4b8380f61aea3d5d98cbadaf2e6b2e4f3d8ca8c0fce1290b26ac267158745f915060200160405180910390a2506110ff60018055565b6000818152602d60205260408120546001600160a01b031661360a576040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156135e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112389190615cc1565b506000908152602d60205260409020546001600160a01b031690565b61362e613820565b6001600160a01b03811661365857604051631e4fbdf760e01b8152600060048201526024016115aa565b6110ff81614456565b60008061366e85856120a0565b905061368860295484836136829190615bba565b9061384d565b9150505b9392505050565b61369b6137c8565b6136a36137f2565b6001600160a01b03821660009081526012602090815260408083208484529091529020600181015460ff16156136ec5760405163b84f7eb560e01b815260040160405180910390fd5b6001600160a01b038316600090815260136020908152604080832085845260020190915290205460ff166137335760405163346fad7360e01b815260040160405180910390fd5b61373f6003600a613816565b600061374b84846111c2565b9050602754811061376f5760405163317416e560e11b815260040160405180910390fd5b6001828101805460ff1916909117905542600283015560405183906001600160a01b0386169033907f4601ff28b457321206747d0540f02cfb8a9d6bf3021146378e8544e1817e20e790600090a4505061128460018055565b6002600154036137eb57604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60025460ff16156114a55760405163d93c066560e01b815260040160405180910390fd5b6112848282614cb7565b6000546001600160a01b031633146114a55760405163118cdaa760e01b81523360048201526024016115aa565b60008115611388198390048411151761386557600080fd5b506127109102611388010490565b3360009081526012602090815260408083208584529091529020600181015460ff16156138b357604051630bff073160e31b815260040160405180910390fd5b336000908152601360209081526040808320868452600281019092529091205460ff166138f35760405163346fad7360e01b815260040160405180910390fd5b6138fd8484614de9565b6139096003600a613816565b61391283613c3e565b600554600854600384015460405163f05fb60960e01b81523360048201819052602482015260448101879052600160801b9092046001600160801b03166064830152608482015260a48101869052600091829182916001600160a01b03169063f05fb6099060c4016060604051808303816000875af1158015613999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139bd9190615e3a565b600854600160801b90046001600160801b031660038981019190915554604051635c921eb960e01b8152336004820152602481018b905293965091945092506001600160a01b031690635c921eb990604401600060405180830381600087803b158015613a2957600080fd5b505af1158015613a3d573d6000803e3d6000fd5b5050505081856000016000828254613a559190615bba565b90915550506007819055613a6e6003600a600089614999565b613a7661408f565b60405186815233907fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a367509060200160405180910390a250505050505050565b613b0e84856001600160a01b03166323b872dd868686604051602401613adc93929190615b5d565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614e65565b50505050565b6014546001600160a01b0316613b3d57604051632506892760e01b815260040160405180910390fd5b6006546000819003613b4d575050565b811561128457600081613b6884670de0b6b3a7640000615b81565b613b729190615b98565b90508060146001016000828254613b899190615bba565b909155505042601655505050565b6014546001600160a01b0316613baa5750565b6000613bb582611bdd565b90508015611284576001600160a01b038083166000908152601860209081526040808320839055601554601790925290912055601454613bf791168383614824565b816001600160a01b03167fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea682604051613c3291815260200190565b60405180910390a25050565b602a546001600160a01b0316613c515750565b600480546003546040516370a0823160e01b81526001600160a01b03918216938101939093526000929116906370a0823190602401602060405180830381865afa158015613ca3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cc79190615bcd565b905081811015611284576000613cdd8284615b1b565b602a5460405163ce96cb7760e01b81523060048201529192506000916001600160a01b039091169063ce96cb7790602401602060405180830381865afa158015613d2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d4f9190615bcd565b90506000613d5d8285615bba565b905082811015613dc65760405162461bcd60e51b815260206004820152602e60248201527f4e6f7420656e6f756768206c697175696469747920746f2066756c66696c6c2060448201526d1d1a19481dda5d1a191c985dd85b60921b60648201526084016115aa565b6006546000613dd58783615b1b565b905060008115613df057602b54613ded90839061384d565b90505b8585811115613dfc5750845b8015613e0b57613e0b81614297565b600480546040516370a0823160e01b815230928101929092526001600160a01b0316906370a0823190602401602060405180830381865afa158015613e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e789190615bcd565b600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935216906370a0823190602401602060405180830381865afa158015613ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eea9190615bcd565b613ef49190615bba565b975088881015613f5c5760405162461bcd60e51b815260206004820152602d60248201527f496e73756666696369656e74206c69717569646974792061667465722076617560448201526c1b1d081dda5d1a191c985dd85b609a1b60648201526084016115aa565b505050505050505050565b60008060006001851015613f8e5760405163162908e360e11b815260040160405180910390fd5b613f988787614cb7565b86546005880154604051636b81068560e11b8152600092839283926001600160a01b039092169163d7020d0a91613fe1918b9182918e916001600160801b031690600401615e6f565b6060604051808303816000875af1158015614000573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140249190615ea0565b92509250925082955061403a8a8a600084614999565b60408051828152602081018590526001600160a01b038916917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a2999198508997509095505050505050565b602a546001600160a01b03166140a157565b600654602b546000906140b590839061384d565b600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935292935060009216906370a0823190602401602060405180830381865afa158015614109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061412d9190615bcd565b9050818111156141545760006141438383615b1b565b905061414e81614ec8565b5061420b565b8181101561420b5760006141688284615b1b565b90506000602a60009054906101000a90046001600160a01b03166001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156141bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141e39190615bcd565b905060008183116141f457826141f6565b815b905080156142075761420781614297565b5050505b6020805460408051848152928301919091527f8f9497c27f572ff1a65e8b2c7a0706d466466ae0b5efc78462b5f0021da6695691016117c1565b61424d6150fe565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b602a546040516328c0620360e01b8152600160048201526000916001600160a01b0316906328c0620390602401602060405180830381865afa1580156142e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143059190615bcd565b602a54604051632d182be560e21b815260048101859052306024820181905260448201529192506000916001600160a01b039091169063b460af94906064016020604051808303816000875af1158015614363573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143879190615bcd565b905060006020600301548311156143ea576023546000906143a89085615b1b565b9050670de0b6b3a76400006143bd8285615b81565b6143c79190615b98565b915081602060010160008282546143de9190615bba565b909155506143ee915050565b5060005b60006143fa8286615b1b565b60035460045491925061441a916001600160a01b03908116911683614824565b60205485111561442e576000602055614449565b84602060000160008282546144439190615b1b565b90915550505b5050506023555042602455565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6144ae6137f2565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861427a3390565b600081156b019d971e4fe8401e74000000198390048411151761450557600080fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b816000036145475760405163162908e360e11b815260040160405180910390fd5b6001600160a01b03811661456e576040516303988b8160e61b815260040160405180910390fd5b6001600160a01b0381166000908152601360209081526040808320868452600281019092529091205460ff166145b75760405163346fad7360e01b815260040160405180910390fd5b6145c36003600a613816565b6001600160a01b03821660009081526012602090815260408083208784529091529020600181015460ff1680156145ff5750600481015460ff16155b1561461d5760405163224aae4f60e21b815260040160405180910390fd5b600181015460ff1680156146415750602854816002015461463e9190615bba565b42115b1561465f57604051634b3c322760e11b815260040160405180910390fd5b600061466b848761250c565b9050600081861161467c578561467e565b815b9050600080600080600360020160009054906101000a90046001600160a01b03166001600160a01b031663de7bf0a28a87600360050160109054906101000a90046001600160801b03168f6040518563ffffffff1660e01b81526004016146e89493929190615d02565b6080604051808303816000875af1158015614707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061472b9190615d31565b600854600160801b90046001600160801b031660038c81019190915554600454949850929650909450925061476f916001600160a01b039081169133911688613ab4565b60078390558015614794578087600001600082825461478e9190615bba565b90915550505b86546147a1908390615b1b565b808855600588015411156147b757865460058801555b86546000036147c857600060058801555b6147d76003600a876000614999565b6040518581526001600160a01b038a169033907f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac46849060200160405180910390a35050505050505050505050565b6040516001600160a01b0383811660248301526044820183905261264d91859182169063a9059cbb90606401613adc565b600060018310156148795760405163162908e360e11b815260040160405180910390fd5b6148838585614cb7565b845460018601546148a3916001600160a01b039182169133911686613ab4565b8454600586015460405163b3f1c93d60e01b81526000928392839283926001600160a01b03169163b3f1c93d916148ee9130918b918d916001600160801b0390911690600401615e6f565b6080604051808303816000875af115801561490d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149319190615ece565b93509350935093508294506149498989896000614999565b60408051888152602081018790526001600160a01b038816917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a250505050949350505050565b81156149c6576149a882615121565b6001600160801b031684600301546149c09190615bba565b60038501555b8015614a185780846003015410156149f15760405163bb55fd2760e01b815260040160405180910390fd5b6149fa81615121565b6001600160801b03168460030154614a129190615b1b565b60038501555b600384015460048501546000614a2e8787615159565b90506000614a3c88886151ba565b90506000614a5289600301548a60040154615215565b9050614a76886002015489600301548a600401548b600501548c6006015486615261565b600189018190556007890154614a8e9183918761534b565b8855614a9a8989614cb7565b875460018901546040517f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd992614ad892908252602082015260400190565b60405180910390a1505050505050505050565b6001811015614b0d5760405163824c180760e01b815260040160405180910390fd5b60028201548015614b70576000614b26826101f461384d565b90506000828411614b4057614b3b8484615b1b565b614b4a565b614b4a8385615b1b565b905081811115614b6d57604051631a8b543360e21b815260040160405180910390fd5b50505b60028301829055614b848484600080614999565b60408051828152602081018490527fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e91015b60405180910390a150505050565b601f546001600160a01b0316614bed576040516303988b8160e61b815260040160405180910390fd5b80600003614c0e5760405163162908e360e11b815260040160405180910390fd5b601f5460048054604051636033e31560e01b81526001600160a01b0391821692810192909252336024830152604482018490527f65991ea5d80f7b6dc8c32648f59c5a653beb10caddae8fefad6966b35a0a65f1606483015290911690636033e315906084016020604051808303816000875af1158015614c93573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112849190615f0b565b6006820154600090614cd09064ffffffffff1642615b1b565b90506001811015614ce057505050565b60058301546001600160801b03166001811015614d1057604051630a1cf3ed60e21b815260040160405180910390fd5b82546005850154614d2c919084906001600160801b0316615392565b6005850180546fffffffffffffffffffffffffffffffff19166001600160801b0392831617908190556001850154614d709290918591600160801b909104166153af565b6005850180546001600160801b03908116600160801b93821684028181179384905560068901805464ffffffffff19164264ffffffffff16179055604080519184169092178152939092041660208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd82049101614bb6565b6000614df4836122c2565b905080600003614e1757604051638dc8d9b360e01b815260040160405180910390fd5b6000614e2e6026548361384d90919063ffffffff16565b905082614e3b338661134a565b614e459190615bba565b811015613b0e57604051630369fbd160e51b815260040160405180910390fd5b6000614e7a6001600160a01b038416836153cb565b90508051600014158015614e9f575080806020019051810190614e9d9190615f0b565b155b1561264d57604051635274afe760e01b81526001600160a01b03841660048201526024016115aa565b600354604051635c921eb960e01b8152306004820152602481018390526001600160a01b0390911690635c921eb990604401600060405180830381600087803b158015614f1457600080fd5b505af1158015614f28573d6000803e3d6000fd5b505060048054602a5460405163095ea7b360e01b81526001600160a01b03918216938101939093526024830186905216925063095ea7b391506044016020604051808303816000875af1158015614f83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614fa79190615f0b565b50602a54604051636e553f6560e01b8152600481018390523060248201526000916001600160a01b031690636e553f65906044016020604051808303816000875af1158015614ffa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061501e9190615bcd565b602a546040516328c0620360e01b81526000600482018190529293506001600160a01b03909116906328c0620390602401602060405180830381865afa15801561506c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150909190615bcd565b9050600082116150d95760405162461bcd60e51b815260206004820152601460248201527315985d5b1d0819195c1bdcda5d0819985a5b195960621b60448201526064016115aa565b82602060000160008282546150ee9190615bba565b9091555050602355505042602555565b60025460ff166114a557604051638dfc202b60e01b815260040160405180910390fd5b60006001600160801b03821115615155576040516306dfcc6560e41b815260806004820152602481018390526044016115aa565b5090565b600682015460009081906151749064ffffffffff1642615b1b565b9050600181101561518b5750506004820154611238565b6005840154600184015461129191600160801b90046001600160801b0316906151b490846153d9565b906144e3565b600682015460009081906151d59064ffffffffff1642615b1b565b905060018110156151f557505060058201546001600160801b0316611238565b60058401548354611291916001600160801b0316906151b4908483615428565b600060018310156152325750676765c793fa10079d601b1b611238565b600061525061524b6152448587615bba565b859061545c565b615121565b6001600160801b0316949350505050565b600085871115806152725750838710155b8061527d5750858511155b806152885750838510155b156152a65760405163abc83fed60e01b815260040160405180910390fd5b60008383116152e85760006152bb888a615b1b565b905060006152d3866152cd87856144e3565b9061545c565b90506152df818a615bba565b92505050615340565b60006152f48585615b1b565b9050600061530d86676765c793fa10079d601b1b615b1b565b9050600061531b8b89615b1b565b9050600061532d836152cd86856144e3565b9050615339818d615bba565b9450505050505b979650505050505050565b6000600182101561535e57506000611291565b600061536a86866144e3565b9050600061537882866144e3565b905060006153868284615b1b565b98975050505050505050565b6000806153a0858585615428565b905061368861524b82856144e3565b6000806153bc85856153d9565b905061368861524b84836144e3565b606061368c83836000615499565b600060018210156153f65750676765c793fa10079d601b1b611238565b6000615406846301e1338061545c565b9050600061541482856144e3565b905061541f81615536565b95945050505050565b6000806154358486615b81565b90506154456301e1338082615b98565b905061368881676765c793fa10079d601b1b615bba565b60008115676765c793fa10079d601b1b6002840419048411171561547f57600080fd5b50676765c793fa10079d601b1b9190910260028204010490565b6060814710156154be5760405163cd78605960e01b81523060048201526024016115aa565b600080856001600160a01b031684866040516154da9190615e0b565b60006040518083038185875af1925050503d8060008114615517576040519150601f19603f3d011682016040523d82523d6000602084013e61551c565b606091505b509150915061552c8683836155df565b9695505050505050565b6000816000036155525750676765c793fa10079d601b1b919050565b506b169e43a85eb381aa580000006b1363156bbee3016d700000006b1027e72f1f128130880000006b0cecb8f27f4200f3a00000006b09b18ab5df7180b6b80000006b06765c793fa10079d000000086800204808702919091048087029290920480870293909304808702949094048087029590950495010101010101676765c793fa10079d601b1b0190565b6060826155f4576155ef8261563b565b61368c565b815115801561560b57506001600160a01b0384163b155b1561563457604051639996b31560e01b81526001600160a01b03851660048201526024016115aa565b508061368c565b80511561564b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b82805482825590600052602060002090810192821561569f579160200282015b8281111561569f578251825591602001919060010190615684565b506151559291506156ec565b6040518060e0016040528060008152602001600081526020016000815260200160001515815260200160008152602001600081526020016000151581525090565b5b8082111561515557600081556001016156ed565b60006020828403121561571357600080fd5b5035919050565b6001600160a01b03811681146110ff57600080fd5b60006020828403121561574157600080fd5b813561368c8161571a565b6000806040838503121561575f57600080fd5b823561576a8161571a565b946020939093013593505050565b6000806040838503121561578b57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156157d6576157d661579a565b6040525050565b600080600080608085870312156157f357600080fd5b84356157fe8161571a565b935060208581013561580f8161571a565b935060408601359250606086013567ffffffffffffffff8082111561583357600080fd5b818801915088601f83011261584757600080fd5b8135818111156158595761585961579a565b6040519150615871601f8201601f19168501836157b0565b808252898482850101111561588557600080fd5b808484018584013760008482840101525080935050505092959194509250565b8051825260208101516020830152604081015160408301526060810151151560608301526080810151608083015260a081015160a083015260c0810151151560c08301525050565b60e0810161123882846158a5565b6000806040838503121561590e57600080fd5b82356008811061576a57600080fd5b60008060006060848603121561593257600080fd5b8335925060208401359150604084013561594b8161571a565b809150509250925092565b600081518084526020808501945080840160005b838110156159905761597d8783516158a5565b60e096909601959082019060010161596a565b509495945050505050565b60208082528251608083830152805160a0840181905260009291820190839060c08601905b808310156159e057835182529284019260019290920191908401906159c0565b508387015160408701526040870151606087015260608701519350601f198682030160808701526153408185615956565b600080600060608486031215615a2657600080fd5b8335615a318161571a565b92506020840135615a418161571a565b929592945050506040919091013590565b60006101008201905060018060a01b0380845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015260a08301516001600160801b0380821660a08501528060c08601511660c0850152505060e0830151611faf60e084018264ffffffffff169052565b600080600060608486031215615ae557600080fd5b8335615af08161571a565b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561123857611238615b05565b634e487b7160e01b600052603260045260246000fd5b600060018201615b5657615b56615b05565b5060010190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b808202811582820484141761123857611238615b05565b600082615bb557634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561123857611238615b05565b600060208284031215615bdf57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b600060033d11156127295760046000803e5060005160e01c90565b600060443d1015615c255790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715615c5557505050505090565b8285019150815181811115615c6d5750505050505090565b843d8701016020828501011115615c875750505050505090565b615c96602082860101876157b0565b509095945050505050565b60008060233d1115615cbd576020600460003e50506000516001905b9091565b600060208284031215615cd357600080fd5b815161368c8161571a565b60008060408385031215615cf157600080fd5b505080516020909101519092909150565b6001600160a01b0394909416845260208401929092526001600160801b03166040830152606082015260800190565b60008060008060808587031215615d4757600080fd5b505082516020840151604085015160609095015191969095509092509050565b80518015158114615d7757600080fd5b919050565b600060e08284031215615d8e57600080fd5b60405160e0810181811067ffffffffffffffff82111715615db157615db161579a565b8060405250825181526020830151602082015260408301516040820152615dda60608401615d67565b60608201526080830151608082015260a083015160a0820152615dff60c08401615d67565b60c08201529392505050565b6000825160005b81811015615e2c5760208186018101518583015201615e12565b506000920191825250919050565b600080600060608486031215615e4f57600080fd5b615e5884615d67565b925060208401519150604084015190509250925092565b6001600160a01b03948516815292909316602083015260408201526001600160801b03909116606082015260800190565b600080600060608486031215615eb557600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215615ee457600080fd5b615eed85615d67565b60208601516040870151606090970151919890975090945092505050565b600060208284031215615f1d57600080fd5b61368c82615d6756fea264697066735822122004a483d6cde9880a2e0d08c71aef252e87954885213c8d3cf9b752dc7654fcb864736f6c63430008140033",
|
|
3484
|
+
"bytecode": "0x34620000e857620066e53881900360a0601f8201601f19168101906001600160401b03821190821017620000ed5761010092829160405260a03912620000e857620000976200004d62000103565b620000576200011a565b6200006162000131565b6200006b62000148565b6200007562000160565b906200008062000178565b9261016051946200009062000190565b96620001a8565b604051615fe59081620006e08239608051818181610b1d01528181610f1a0152818161256e0152818161266d0152818161272801528181612a2001528181612d3f0152818161325201526133ee0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60a051906001600160a01b0382168203620000e857565b60c051906001600160a01b0382168203620000e857565b60e051906001600160a01b0382168203620000e857565b61010051906001600160a01b0382168203620000e857565b61012051906001600160a01b0382168203620000e857565b61014051906001600160a01b0382168203620000e857565b61018051906001600160a01b0382168203620000e857565b969593909433156200047b57602f8054336001600160a01b0319821681179092556001600160a01b0392919083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36001603055169687156200044657620002c16200030a9662000268620002e394620002466200030598620004439d60805260018060a01b031660018060a01b03196033541617603355565b603480546001600160a01b0319166001600160a01b0392909216919091179055565b7b033b2e3c9fd0803ce800000000000000033b2e3c9fd0803ce80000006005556006805464ffffffffff19164264ffffffffff16179055600080546001600160a01b0319166001600160a01b0392909216919091179055565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600955565b620003206200031b6009546200063b565b600a55565b620003366200033160095462000672565b600b55565b6200034c62000347600954620006a8565b600c55565b620003626b0295be96e640669720000000600d55565b6200036d6000600e55565b620003836b033b2e3c9fd0803ce8000000600755565b620003996b033b2e3c9fd0803ce8000000600855565b620003a5611f40602555565b620003b7670de0b6b3a7640000602655565b620003c46203f480602755565b620003d96a084595161401484a000000602b55565b620003ee6a084595161401484a000000602c55565b620003fa6107d0602a55565b6200040661012c602855565b62000419600160ff196024541617602455565b62000425610708602d55565b6200043081620004ab565b506200043c8162000534565b50620005e1565b50565b60405162461bcd60e51b815260206004820152600d60248201526c5a65726f20726567697374727960981b6044820152606490fd5b604051631e4fbdf760e01b815260006004820152602490fd5b9060018060a01b0316600052602052604060002090565b6000808052603260205260ff620004e2837ebcd6ff29ae71d399fb597d99792fa72d0863bd723b9ab11f79d0b8d8ac5bc862000494565b54166200052f57808052603260205262000500826040832062000494565b805460ff1916600117905533916001600160a01b031690600080516020620066c58339815191528180a4600190565b905090565b7f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1600081815260326020529060ff6200058e847f08ae08a1778cb01871246af592e3e907ec9ba7bc1cc0b308a58e75fd2ee1dfba62000494565b5416620005db578082526032602052620005ac836040842062000494565b805460ff1916600117905533926001600160a01b031691600080516020620066c58339815191529080a4600190565b50905090565b7fba279271fb7bbf76a6f3df3cc57bf80647fcafdea60ec3383d90f459de74e7c0600081815260326020529060ff6200058e847f4be98a500fedc87dbf83b0f2e386ce313ece8458dab0590898ef9a4135d1921462000494565b7e1a36e2eb1c432ca57a786c226809d495182a9930be0ded288ce703afb7e90d8111620000e8576113886109c46127109202010490565b7e0d1b71758e219652bd3c36113404ea4a8c154c985f06f694467381d7dbf4868111620000e85761271090611388809102010490565b7e01a36e2eb1c432ca57a786c226809d495182a9930be0ded288ce703afb7e908111620000e857611388619c40612710920201049056fe6080604052600436101561001257600080fd5b60003560e01c806301ffc9a7146105bd57806302768de4146105b8578063048c661d146105b3578063086c33e1146105ae57806309bf1e73146105a95780630ab30d8a146105a45780630c34b9141461059f5780630c42dcaf1461059a5780630c679a7b14610595578063150b7a0214610590578063152f15841461058b57806316c621e0146105865780631a7fd200146105815780631d4bf4a01461057c5780631d8557d71461057757806322f2caf1146105725780632445eee51461056d578063248a9ca31461056857806327156a68146105635780632a5bf6d21461055e5780632a7e7849146105595780632ab414fc146105545780632e1a7d4d1461054f5780632f17682b146104be5780632f2ff15d1461054a57806332128b031461054557806334176a6d1461054057806336568abe1461053b5780633f4ba83a146105365780634df9d6ba146105315780634ef501ac1461052c57806353f35770146105275780635c975abb146105225780636061ffc31461051d578063618295df14610518578063640bc491146105135780636817031b1461050e578063715018a614610509578063745400c91461050457806375417da6146104ff578063768bab45146104fa5780637bc7780b146104f55780638429d51f146104f05780638456cb59146104eb578063883c6b24146104e657806389035730146104e1578063893a5372146104dc5780638ad7cacc146104d75780638aee8127146104d25780638d7081e4146104cd5780638da5cb5b146104c85780638def3ec2146104c35780638f7e8498146104be57806391d14854146104b95780639632b92a146104b457806398c2b108146104af57806398d721e0146104aa5780639daa54b41461042d578063a013f9c6146104a5578063a217fddf146104a0578063a42dce801461049b578063a51e896314610496578063a90d728f14610491578063a9bf805c1461048c578063aaf6379914610487578063b21cfc7114610482578063b6b55f251461047d578063b82e16e314610478578063b88a802f14610473578063ba7466941461046e578063c415b95c14610469578063c4f8911c14610464578063c6d6916c1461045f578063c89109131461045a578063c939ad6114610455578063cac89c5c14610450578063cd3293de1461044b578063d017e97814610446578063d17e988314610441578063d547741f1461043c578063de597d5b14610437578063e5711e8b14610432578063e65896c91461042d578063ec915ee614610428578063ef16b0e014610423578063ef5bac251461041e578063f2fde38b14610419578063f36c8f5c14610414578063fbf4a6121461040f578063fbfa77cf1461040a5763fe64cc0b1461040557600080fd5b6137b9565b613790565b61376d565b613744565b6136ca565b613606565b613536565b6134dc565b6127f8565b61344b565b61338a565b613348565b613321565b613305565b61328d565b61323c565b61319a565b61315a565b613074565b612fa5565b612f7c565b612e7f565b612e4d565b612da4565b612cfa565b612c0e565b612b98565b612b6f565b612a83565b6129f3565b612980565b612964565b61291b565b612785565b6126ca565b61260f565b6125cb565b6115cb565b612510565b6124e7565b6124cb565b61246c565b612330565b612286565b6121fc565b6121d3565b612179565b612131565b612113565b612017565b611f57565b611f33565b611ee4565b611c80565b611c57565b611b3b565b611b04565b611ae1565b611a87565b6119fe565b6119a1565b611937565b6118ec565b61185c565b61164e565b61160c565b6114e7565b610f89565b610ebc565b610e5d565b610e36565b610e07565b610d23565b610c73565b610c5a565b610c3c565b610bb7565b610ae9565b610aa7565b610963565b61085a565b61083d565b61077d565b61075c565b61073e565b61071a565b61066b565b610623565b346106135760203660031901126106135760043563ffffffff60e01b811680910361061357602090637965db0b60e01b8114908115610602575b506040519015158152f35b6301ffc9a760e01b149050386105f7565b600080fd5b600091031261061357565b34610613576000366003190112610613576020604051600080516020615f708339815191528152f35b6001600160a01b031690565b6001600160a01b03909116815260200190565b34610613576000366003190112610613576017546040516001600160a01b039091168152602090f35b6001600160a01b0381160361061357565b9181601f84011215610613578235916001600160401b038311610613576020838186019501011161061357565b6060600319820112610613576004356106ea81610694565b916024356106f781610694565b91604435906001600160401b03821161061357610716916004016106a5565b9091565b3461061357602061073661072d366106d2565b92919091614bc7565b604051908152f35b346106135760003660031901126106135760206040516203f4808152f35b3461061357600036600319011261061357602060055460801c604051908152f35b3461061357600036600319011261061357610796614ee2565b506108396107a2610928565b600754815260085460208201526009546040820152600a546060820152600b546080820152600c5460a0820152600d5460c0820152600e5460e08201526040519182918291909160e080610100830194805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c081015160c08501520151910152565b0390f35b34610613576000366003190112610613576020604051611f408152f35b346106135760203660031901126106135760043561087781610694565b61087f613904565b601680546001600160a01b0319166001600160a01b0392909216919091179055005b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116108ca57604052565b6108a1565b60c081019081106001600160401b038211176108ca57604052565b606081019081106001600160401b038211176108ca57604052565b601f909101601f19168101906001600160401b038211908210176108ca57604052565b6040519061010082016001600160401b038111838210176108ca57604052565b6001600160401b0381116108ca57601f01601f191660200190565b346106135760803660031901126106135761097f600435610694565b61098a602435610694565b6064356001600160401b0381116106135736602382011215610613578060040135906109b582610948565b916109c36040519384610905565b8083523660248284010111610613576000928160246020940184830137010152604051630a85bd0160e11b8152602090f35b6001600160a01b03166000908152602080526040902090565b6001600160a01b0316600090815260146020526040902090565b6001600160a01b0316600090815260156020526040902090565b6001600160a01b0316600090815260106020526040902090565b6001600160a01b0316600090815260226020526040902090565b6001600160a01b03166000908152600f6020526040902090565b9060018060a01b0316600052602052604060002090565b3461061357602036600319011261061357600435610ac481610694565b60018060a01b03166000526023602052602060ff604060002054166040519015158152f35b3461061357602036600319011261061357610b02613bcd565b60405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb257600091610b84575b50610b7257610b6660043561490c565b610b706001603055565b005b604051632652747360e21b8152600490fd5b610ba5915060203d8111610bab575b610b9d8183610905565b810190613a6b565b38610b56565b503d610b93565b613a82565b3461061357602036600319011261061357600435610bd481610694565b610bdc613904565b6001600160a01b03908116908115610c2a57603380546001600160a01b031981168417909155167f748f1f5793b18b83e17ec58dd942771a149a2da21e05fe50ced8c278143c6d71600080a3005b6040516303988b8160e61b8152600490fd5b34610613576000366003190112610613576020601a54604051908152f35b3461061357600036600319011261061357610b7061582c565b3461061357602036600319011261061357600435610c9081610694565b610c98613904565b6001600160a01b03811660008181526020805260408120549092919060ff16610d115782526020805260408220805460ff191660011790557fa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd90610d0b90610cff8161396e565b60405191829182610658565b0390a180f35b60405163dc37823360e01b8152600490fd5b346106135760803660031901126106135760048035610d4181610694565b6024356001600160401b03811161061357610d5f90369084016106a5565b6044359160643593610d7085610694565b610d78613bcd565b610d80613baf565b8315610df6576001600160a01b03818116600090815260208052604090205460ff1615610de55760ff6024541615610dd457851615610dc357610b6695506145cd565b6040516303988b8160e61b81528690fd5b6040516312cefcd560e31b81528790fd5b604051630867d69960e11b81528790fd5b60405163162908e360e11b81528690fd5b346106135760203660031901126106135760043560005260326020526020600160406000200154604051908152f35b34610613576020366003190112610613576020610736600435610e5881610694565b614ba9565b34610613576020366003190112610613576020610736600435610e7f81610694565b614af3565b90604060031983011261061357600435610e9d81610694565b91602435906001600160401b03821161061357610716916004016106a5565b3461061357610eca36610e84565b90610ed3613bcd565b610edb613baf565b6001600160a01b03838116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb257600091610f59575b50610b7257610b6692613e08565b610f71915060203d8111610bab57610b9d8183610905565b38610f4b565b604051630867d69960e11b8152600490fd5b3461061357604080600319360112610613576004908135600d8110156106135760243592610fb682613930565b600a8214908180156114d4575b80156114c3575b80156114b0575b801561149d575b801561148a575b8015611478575b8015611465575b8015611452575b610ffd84613930565b600684148091811561143d575b8115611428575b8115611413575b156113a45750600080516020615f70833981519152600052603260205261107061106c611065337f4be98a500fedc87dbf83b0f2e386ce313ece8458dab0590898ef9a4135d19214610a90565b5460ff1690565b1590565b611395575b60009261108185613930565b156110e45750905083156110d657602b5484116110c857506110c3600080516020615f1083398151915293602c54936110b982602c55565b5193849384613950565b0390a1005b8251635bf62a1160e01b8152fd5b8251635b9ad34160e11b8152fd5b6110ed84613930565b600984036111245750905083156110d657506110c3600080516020615f1083398151915293602b549361111f82602b55565b6110b9565b61112d84613930565b83611155575050506110c3600080516020615f10833981519152936025549361111f82602555565b61115e84613930565b60018403611189575050506110c3600080516020615f10833981519152936026549361111f82602655565b61119284613930565b600284036111e95750905062015180841080156111dd575b6111cf57506110c3600080516020615f10833981519152936027549361111f82602755565b825163d7c43e0f60e01b8152fd5b5062093a8084116111aa565b6111f284613930565b6003840361121d575050506110c3600080516020615f1083398151915293602a549361111f82602a55565b61122984959395613930565b83820361127857506001851161126a57506024805461ff0019166001861460081b61ff0016179055600080516020615f10833981519152936110c3916110b9565b905163af979eb560e01b8152fd5b61128184613930565b600584036112c057506001851161126a5750836110c39161111f6001600080516020615f10833981519152971460ff8019602454169115151617602455565b600080516020615f1083398151915295929491506112dd84613930565b156112f457506110c3906028549361111f82602855565b6112fd83613930565b6007830361131757506110c390600e549361111f82600e55565b61132083613930565b6008830361133a57506110c3906029549361111f82602955565b61134383613930565b600b830361135d57506110c390602d549361111f82602d55565b9261136783613930565b600c831461137a575b906110c3916110b9565b92506110c390602e549361138d82602e55565b909150611370565b508351634ca8886760e01b8152fd5b1561140457600080516020615ed083398151915260005260326020526113f061106c611065337f08ae08a1778cb01871246af592e3e907ec9ba7bc1cc0b308a58e75fd2ee1dfba610a90565b1561107557508351634ca8886760e01b8152fd5b508351630309cb8760e51b8152fd5b905061141e85613930565b600c851490611018565b905061143385613930565b6008851490611011565b905061144885613930565b600785149061100a565b5061145c83613930565b600b8314610ff4565b5061146f83613930565b60058314610fed565b5061148283613930565b808314610fe6565b5061149483613930565b60038314610fdf565b506114a783613930565b60028314610fd8565b506114ba83613930565b60018314610fd1565b506114cd83613930565b8215610fca565b506114de83613930565b60098314610fc3565b3461061357602036600319011261061357600435611503613bcd565b61150b613baf565b80156115b95760ff60245460081c166115a7576115569061152b3361526e565b6017546001600160a01b03163303611598575b61154661582c565b61154f81615237565b3390615d3a565b50506115606153ea565b60405190815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436490602090a2610b706001603055565b6115a28133613d4e565b61153e565b6040516370a7336d60e11b8152600490fd5b60405163162908e360e11b8152600490fd5b34610613576020366003190112610613576004356115e881610694565b60018060a01b031660005260208052602060ff604060002054166040519015158152f35b3461061357604036600319011261061357610b7060243560043561162f82610694565b8060005260326020526116496001604060002001546137d5565b613816565b346106135761165c36610e84565b611667929192613bcd565b61166f613baf565b60018060a01b038216600093818552602080805260409460ff86882054161561183c5761169a614f40565b506116b2826116ab87863386614f72565b0151151590565b61182b57906116d0858489979695946116c961582c565b3390614ca2565b80611739575b5050813b1561173557836116ff95518096819582946312ede2c560e21b84523360048501613de6565b03925af18015610bb25761171c575b506117196001603055565b80f35b8061172961172f926108b7565b80610618565b3861170e565b8380fd5b865163d57dfa1560e01b8152949550929391929080838061175f89883360048501613de6565b0381885afa928315610bb257889361180c575b508651633de6b58d60e21b8152928184806117928a893360048501613de6565b0381895afa908115610bb2576117b9946117b4938b936117dd575b50506139f9565b614c58565b602654116117cc579084929138806116d6565b83516302c9375f60e21b8152600490fd5b6117fd929350803d10611805575b6117f58183610905565b810190613bf0565b9038806117ad565b503d6117eb565b816118249294503d8511611805576117f58183610905565b9138611772565b85516367c11db560e01b8152600490fd5b8551630867d69960e11b8152600490fd5b90600052602052604060002090565b346106135760403660031901126106135760043561187981610694565b6001600160a01b03166000908152600f60209081526040808320602435845282529182902080546001820154600283015460038401546004850154600590950154875194855260ff93841615159685019690965295830152606082019490945292161515608083015260a082015260c090f35b346106135760403660031901126106135760243561190981610694565b336001600160a01b0382160361192557610b7090600435613891565b60405163334bd91960e11b8152600490fd5b3461061357600036600319011261061357611950613904565b60315460ff81161561198f5760ff19166031557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b346106135760203660031901126106135760206107366004356119c381610694565b6149ae565b634e487b7160e01b600052603260045260246000fd5b6021548110156119f957602160005260206000200190600090565b6119c8565b3461061357602036600319011261061357600435602154811015610613576021600052600080516020615f5083398151915201546040516001600160a01b039091168152602090f35b90606060031983011261061357600435611a6081610694565b91602435906001600160401b03821161061357611a7f916004016106a5565b909160443590565b3461061357611a9536611a47565b90611aa1939293613bcd565b611aa9613baf565b81156115b9576001600160a01b038316600090815260208052604090205460ff1615610f7757611ada9333936145cd565b6001603055005b3461061357600036600319011261061357602060ff603154166040519015158152f35b3461061357600036600319011261061357606060018060a01b03601154166012546013549060405192835260208301526040820152f35b3461061357602036600319011261061357600435611b5881610694565b611b60613904565b611b6f61106c611065836109f5565b610f7757611b89611b7f826109f5565b805460ff19169055565b6001600160a01b03908082169060005b60215480821015611c3a578385611bc7611bb2856119de565b905460039190911b1c6001600160a01b031690565b1614611bdc5750611bd7906139d6565b611b99565b600080516020615ef083398151915294506110c3935090611c13611c0d611bb2611c08611c32956139ea565b6119de565b916119de565b90919082549060031b9160018060a01b03809116831b921b1916179055565b610cff613a06565b5050600080516020615ef083398151915292506110c39150610cff565b34610613576000366003190112610613576033546040516001600160a01b039091168152602090f35b346106135760208060031936011261061357600435611c9e81610694565b611ca6613904565b601f611cba611cb5825461064c565b61064c565b6001600160a01b039283169390838116808614159081611eda575b50611dc6575b50600481611d14611cb5611cf2611cb5875461064c565b601f80546001600160a01b0319166001600160a01b038b16179055955461064c565b6040516338d52e0f60e01b815292839182905afa918215610bb257600092611d99575b505082611d48611cb560015461064c565b9116141580611d90575b611d7e57167f483bdedaaf23706a9800ac1af0d852b34927780d79f9d6ba60a80c7cad75ea39600080a3005b604051631b3b488360e11b8152600490fd5b50821515611d52565b611db89250803d10611dbf575b611db08183610905565b81019061422f565b3880611d37565b503d611da6565b81604051809263ce96cb7760e01b82528180611de53060048301610658565b03915afa60009181611ebb575b50611ead57506001611e026152f1565b806308c379a014611e8c57634e487b7114611e54575b611e23575b38611cdb565b611e2b614a50565b50611e3c611cb5611cb5845461064c565b600080516020615f30833981519152600080a2611e1d565b611e5c61537d565b5015611e1857506000611e75611cb5611cb5855461064c565b600080516020615f308339815191528280a2611e18565b50611e9561530f565b15611e1857506000611e75611cb5611cb5855461064c565b611eb6906153b3565b611e1d565b611ed3919250833d8511611805576117f58183610905565b9038611df2565b9050151538611cd5565b3461061357600080600319360112611f3057611efe613904565b602f80546001600160a01b0319811690915581906001600160a01b0316600080516020615f908339815191528280a380f35b80fd5b3461061357602036600319011261061357611f4c613baf565b610b70600435613c7b565b346106135760208060031936011261061357600490813591611f7883610694565b6000918293602154925b838610611f9457604051858152602090f35b90919293611faa611cb5611cb5611bb2896119de565b84604051809263572bf25760e01b82528180611fc889898301610658565b03915afa8015610bb257611fee92611fe892600092611ff8575b50613a8e565b956139d6565b9493929190611f82565b612010919250873d8911611805576117f58183610905565b9038611fe2565b346106135760403660031901126106135760043561203481610694565b61203c613904565b61204461582c565b6001600160a01b038116156120b85760008091612067611cb5611cb5845461064c565b90813b156120b45782916120959160405194858094819363768bab4560e01b83526024359060048401613e8e565b03925af18015610bb2576120a7575080f35b80611729611719926108b7565b5050fd5b60405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b6064820152608490fd5b34610613576000366003190112610613576020600954604051908152f35b346106135760003660031901126106135760c0601954601a54601b54601c54601d5491601e5493604051958652602086015260408501526060840152608083015260a0820152f35b3461061357600036600319011261061357612192613904565b61219a613baf565b600160ff1960315416176031557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610613576000366003190112610613576005546040516001600160801b039091168152602090f35b3461061357600036600319011261061357610180602454602554602654602754602854602954602a5490602b5492602c5494602d5496602e549860ff6040519b81811615158d5260081c16151560208c015260408b015260608a0152608089015260a088015260c087015260e0860152610100850152610120840152610140830152610160820152f35b34610613576000366003190112610613576034546040516001600160a01b039091168152602090f35b61232e909291926101208101938051825260208101516020830152604081015160408301526060810151151560608301526080810151608083015260a081015160a083015260c0810151151560c083015261231960e082015160e084019060018060a01b03169052565b610100908101516001600160a01b0316910152565b565b34610613576004612340366106d2565b91909261234b614fea565b5060018060a01b038116908160005260209283805260409460ff8660002054161561245c57916060612400926123ec879695612385614fea565b9a61238e614f40565b5061239b82828689614f72565b936123b48d876123ad8d890151151590565b1515910152565b8c60808d87015191015284518d526123d58d60c06123ad6080890151151590565b8c8a6123e38585858c614d4a565b91015286614bc7565b888a0152015160a088015260e08701614f31565b835163f8eef10f60e01b815295869182905afa8015610bb257610839946124359260009261243f575b50506101008401614f31565b51918291826122af565b6124559250803d10611dbf57611db08183610905565b3880612429565b8551630867d69960e11b81528890fd5b346106135760203660031901126106135760043561248981610694565b612491613904565b601154906001600160a01b03908183166124b9576001600160a01b0319909216911617601155005b60405163b6de9a7160e01b8152600490fd5b346106135760206107366124de366106d2565b929190916144bb565b3461061357600036600319011261061357602f546040516001600160a01b039091168152602090f35b346106135761251e36611a47565b91612527613bcd565b61252f613baf565b6001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb2576000916125ad575b50610b7257610b669361426f565b6125c5915060203d8111610bab57610b9d8183610905565b3861259f565b3461061357604036600319011261061357602060ff6126036024356125ef81610694565b600435600052603284526040600020610a90565b54166040519015158152f35b346106135761261d36610e84565b90612626613bcd565b61262e613baf565b6001600160a01b03838116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb2576000916126ac575b50610b7257610b6692614aba565b6126c4915060203d8111610bab57610b9d8183610905565b3861269e565b34610613576126d8366106d2565b916126e1613bcd565b6126e9613baf565b6001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb257600091612767575b50610b7257610b6693614a80565b61277f915060203d8111610bab57610b9d8183610905565b38612759565b34610613576020366003190112610613576004356127a281610694565b6127aa613904565b6001600160a01b03908116908115610c2a57601780546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d600080a3005b34610613576020366003190112610613576004803561281681610694565b6000908190602154905b81831061283257602084604051908152f35b909192612847611cb5611cb5611bb2876119de565b92600060405180956371e078ab60e01b82528180612867888c8301610658565b03915afa938415610bb2576000946128e7575b506000915b84518310156128ce576128c26128c8916128bc6128b76128b26128a189610a76565b6128ab898c614e7e565b519061184d565b614e92565b614de2565b90613a8e565b926139d6565b9161287f565b95929350936128dd91506139d6565b9193929093612820565b61290391943d8091833e6128fb8183610905565b810190614e03565b923861287a565b908152602081019190915260400190565b346106135760203660031901126106135760043561293881610694565b60018060a01b03166000526022602052604060002060018154910154906108396040519283928361290a565b3461061357600036600319011261061357602060405160008152f35b346106135760203660031901126106135760043561299d81610694565b6129a5613904565b6001600160a01b03908116908115610c2a57601880546001600160a01b031981168417909155167f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f38600080a3005b3461061357600080600319360112611f305760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb2578291612a65575b50610b7257611719613ea9565b612a7d915060203d8111610bab57610b9d8183610905565b38612a58565b34610613576000366003190112610613576018546001600160a01b039081163303612b5e57601f541615612b2a57610839612ac2611cb560015461064c565b612aee601a548092612ad342601b55565b612add6000601a55565b612ae860185461064c565b90615040565b6040518181527f7edfb0d5d58c6a3d398df94a9bdfa2b33f3fa42ae40d72ebdc717d2db3953ee590602090a16040519081529081906020820190565b60405162461bcd60e51b815260206004820152600c60248201526b139bc81d985d5b1d081cd95d60a21b6044820152606490fd5b6040516282b42960e81b8152600490fd5b34610613576000366003190112610613576016546040516001600160a01b039091168152602090f35b3461061357612bca6020612bab366106d2565b60405163d57dfa1560e01b815295869493859384939160048501613de6565b03916001600160a01b03165afa8015610bb257602091600091612bf1575b50604051908152f35b612c089150823d8111611805576117f58183610905565b38612be8565b3461061357612c1c366106d2565b6001600160a01b03938416600081815260208080526040808320549097919692959493929060ff1615612ce957612c51614f40565b5082865286805260ff888720541615612ce957168452600f8552858420865163a646a19360e01b81529493909286928692909183918291612c959160048401613f41565b03915afa938415610bb257612cb79486948491612ccc575b5083525220614e92565b6108396060820151915192519283928361290a565b612ce39150823d8411611805576117f58183610905565b38612cad565b8751630867d69960e11b8152600490fd5b3461061357602036600319011261061357600435612d16613bcd565b612d1e613baf565b80156115b95760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb257600091612d86575b50610b7257610b6690613a9b565b612d9e915060203d8111610bab57610b9d8183610905565b38612d78565b3461061357600080600319360112611f3057604051809160215490818352602080930180926021835284832090835b818110612e305750505084612de9910385610905565b60405193838594850191818652518092526040850193925b828110612e1057505050500390f35b83516001600160a01b031685528695509381019392810192600101612e01565b82546001600160a01b031684529286019260019283019201612dd3565b3461061357600036600319011261061357612e66613bcd565b612e6f3361526e565b6001603055602060405160018152f35b3461061357612e8d366106d2565b9291612e97614f40565b5060018060a01b038093169360009480865260209485805260409360ff858920541615612f6b5791612eec93918793168852600f835284882095855180958194829363a646a19360e01b845260048401613f41565b03915afa908115610bb2578560a094612f1593859360c09991612f4e575b508252865220614e92565b908051938251855280830151151590850152808201519084015260608101516060840152608081015115156080840152015160a0820152f35b612f659150883d8a11611805576117f58183610905565b38612f0a565b8451630867d69960e11b8152600490fd5b34610613576000366003190112610613576018546040516001600160a01b039091168152602090f35b3461061357602036600319011261061357601654600435906001600160a01b03163303612b5e5760018110613062576009549081613020575b7fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e9161300982600955565b6130116156fa565b6110c36040519283928361290a565b6130298261566c565b828211156130535761303b83836139f9565b1115612fde57604051631a8b543360e21b8152600490fd5b61305d82846139f9565b61303b565b60405163824c180760e01b8152600490fd5b346106135760203660031901126106135760043561309181610694565b6000546001600160a01b03163303613115576130ac81614ba9565b806130c2575b506130bf60125491610a0e565b55005b6130e56130f3916130df6012546130d886610a0e565b54906139f9565b9061497b565b670de0b6b3a7640000900490565b80156130b25761310d61310583610a28565b918254613a8e565b9055386130b2565b60405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792052546f6b656e2063616e20757064617465207265776172647300006044820152606490fd5b346106135760203660031901126106135760043561317781610694565b60018060a01b031660005260106020526020600160406000200154604051908152f35b34610613576131a8366106d2565b90916131b2613bcd565b6017546001600160a01b03929083163303612b5e5760009483811686526020805260ff60408720541615610f77576132329461322087959461321287966033541695604051948593602085019763c939ad6160e01b895260248601614a27565b03601f198101835282610905565b51915af461322c614a50565b9061539d565b6117196001603055565b34610613576000366003190112610613576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160801b031690565b346106135760003660031901126106135761010060018060a01b0380600054169080600154169060025416600354600454906005549264ffffffffff6006541694604051968752602087015260408601526060850152608084015260018060801b03811660a084015260801c60c083015260e0820152f35b34610613576020610736613318366106d2565b92919091614d4a565b3461061357602036600319011261061357602061073660043561334381610694565b614b4b565b3461061357604036600319011261061357610b7060243560043561336b82610694565b8060005260326020526133856001604060002001546137d5565b613891565b346106135761339836611a47565b916133a1613bcd565b6133a9613baf565b82156115b9576001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb25760009161342d575b50610b7257610b6693613ff5565b613445915060203d8111610bab57610b9d8183610905565b3861341f565b346106135760603660031901126106135760043561346881610694565b6024359061347582610694565b61347d613904565b6000546001600160a01b03918216911681146134a057610b709160443591615040565b60405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b6044820152606490fd5b3461061357600036600319011261061357610100600754600854600954600a54600b54600c5491600d5493600e5495604051978852602088015260408701526060860152608085015260a084015260c083015260e0820152f35b346106135760803660031901126106135760043561355381610694565b6024359061356082610694565b604435906001600160401b038211610613576020926135866107369336906004016106a5565b916064359361454f565b61232e9092919260e08061010083019560018060a01b038082511685528060208301511660208601526040820151166040850152606081015160608501526080810151608085015260018060801b038060a08301511660a086015260c08201511660c0850152015191019064ffffffffff169052565b346106135760003660031901126106135761361f614ee2565b5061083961362b610928565b61363f61363960005461064c565b82614f31565b61365661364d60015461064c565b60208301614f31565b61366d61366460025461064c565b60408301614f31565b600354606082015260045460808201526005546001600160801b03811660a083015261369d9060801c60c0830152565b6136be6136b060065464ffffffffff1690565b64ffffffffff1660e0830152565b60405191829182613590565b34610613576020366003190112610613576004356136e781610694565b6136ef613904565b6001600160a01b0390811690811561372b57602f80546001600160a01b03198116841790915516600080516020615f90833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b34610613576000366003190112610613576020604051600080516020615ed08339815191528152f35b34610613576000366003190112610613576020604051670de0b6b3a76400008152f35b3461061357600036600319011261061357601f546040516001600160a01b039091168152602090f35b346106135760206107366137cc366106d2565b92919091614ca2565b80600052603260205260ff6137ee336040600020610a90565b5416156137f85750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b600090808252603260205260ff6138308460408520610a90565b541661388b57808252603260205261384b8360408420610a90565b805460ff1916600117905533926001600160a01b0316917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50905090565b600090808252603260205260ff6138ab8460408520610a90565b54161561388b5780825260326020526138c78360408420610a90565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b602f546001600160a01b0316330361391857565b60405163118cdaa760e01b8152336004820152602490fd5b600d111561393a57565b634e487b7160e01b600052602160045260246000fd5b60608101949392600d83101561393a57604092825260208201520152565b602154600160401b8110156108ca5760018101806021558110156119f9576021600052600080516020615f508339815191520180546001600160a01b0319166001600160a01b03909216919091179055565b634e487b7160e01b600052601160045260246000fd5b60001981146139e55760010190565b6139c0565b6000198101919082116139e557565b919082039182116139e557565b6021548015613a485760001981810191808310156119f957602160008190529101600080516020615f508339815191520180546001600160a01b031916905555565b634e487b7160e01b600052603160045260246000fd5b5190811515820361061357565b9081602091031261061357613a7f90613a5e565b90565b6040513d6000823e3d90fd5b919082018092116139e557565b613aa43361526e565b613aac61582c565b6018546001600160a01b0390613ac19061064c565b16158015613b99575b15613b7157600080516020615eb0833981519152613b3f613aed600080946139f9565b92613af784613bff565b613b013385615c21565b906001613b0d33610a42565b0154613b5357846001613b1f33610a42565b01555b613b2a6153ea565b80613b44575b5060405191829133958361290a565b0390a2565b613b4d90615500565b38613b30565b6001613b5e33610a42565b01613b6a868254613a8e565b9055613b22565b600080516020615eb0833981519152613b3f613aed613b92602954856156a2565b80946139f9565b50613ba8611cb560175461064c565b3314613aca565b60ff60315416613bbb57565b60405163d93c066560e01b8152600490fd5b600260305414613bde576002603055565b604051633ee5aeb560e01b8152600490fd5b90816020910312610613575190565b6000546040516318160ddd60e01b81529190602090839060049082906001600160a01b03165afa918215610bb257600092613c5b575b5081018091116139e557602b5410613c4957565b6040516354db2d5d60e11b8152600490fd5b613c7491925060203d8111611805576117f58183610905565b9038613c35565b60245460081c60ff166115a757602d5415613d3c57613c9933610a5c565b8115613cfa57613b3f600182847f2816dbba0837d8d68f7bcead98695dd98db2cc1cb4066694ead56a12e795c4889455613ce7613cdb613cdb602d5442613a8e565b6001600160401b031690565b918291015560405191829133958361290a565b5050613d14613d0833610a5c565b60016000918281550155565b337f8b775bb80a5d4addc5ea2601b2378ae89a1bb9010227157ac02aa71498e799c4600080a2565b60405163410dc88360e11b8152600490fd5b90602d5415613dc157613d6082610a5c565b60018101548015613daf574210613d9d575403613d8b576001613d84600092610a5c565b8281550155565b604051635a4fecf360e11b8152600490fd5b60405163621e25c360e01b8152600490fd5b604051637b7e3ed560e11b8152600490fd5b5050565b908060209392818452848401376000828201840152601f01601f1916010190565b6001600160a01b039091168152604060208201819052613a7f93910191613dc5565b909291600091338352602360205260ff60408420541615613e7c57613e2b61582c565b6001600160a01b0316803b15613e7857613e5e93948360405180968195829463cf2c52cb60e01b84523360048501613de6565b03925af18015610bb257613e6f5750565b61232e906108b7565b8280fd5b6040516361803dfb60e11b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b33600052602360205260ff60406000205416613f2f57336000526023602052613edd6040600020600160ff19825416179055565b602e5480613f20575b507fd5acd12fd21128fb0a61c90d812321cb1423b1948052a3e93786c482bbef6608613f1b602e546040519182913383613e8e565b0390a1565b613f2990615500565b38613ee6565b60405163992c89a960e01b8152600490fd5b916020613a7f938181520191613dc5565b9081606091031261061357613f6681613a5e565b916040602083015192015190565b919082519283825260005b848110613fa0575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201613f7f565b6001600160a01b0391821681529116602082015260408101919091526001600160801b03909116606082015260a060808201819052613a7f92910190613f74565b919061400033610a76565b6040805163a646a19360e01b815290949160208280614023888860048401613f41565b03816001600160a01b0387165afa908115610bb25761404a9260009261420f575b5061184d565b92614059600185015460ff1690565b6141fe57918183614073886140e598979685606097615117565b61407b61582c565b61408488615237565b6140c5614098611cb5611cb560025461064c565b926140b76140a860055460801c90565b93895196879360208501613de6565b03601f198101855284610905565b6000865180988195829463292aab8160e11b84528c333360048701613fb4565b03925af18015610bb25760009384916141c9575b5061410e61410960055460801c90565b613281565b6003830155614124611cb5611cb560005461064c565b91823b1561061357600084518094635c921eb960e01b825281838161414d8c3360048401613e8e565b03925af18015610bb2577fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a36750956141959461418e926141b6575b508254613a8e565b9055600455565b61419e83615787565b6141a66153ea565b5191825233918060208101613b3f565b806117296141c3926108b7565b38614186565b90506141ed91935060603d81116141f7575b6141e58183610905565b810190613f52565b93915092386140f9565b503d6141db565b8451630bff073160e31b8152600490fd5b61422891925060203d8111611805576117f58183610905565b9038614044565b908160209103126106135751613a7f81610694565b9493929160409261426a9260018060a01b03168752606060208801526060870191613dc5565b930152565b9190928361427c33610a76565b9360018060a01b0393848216604094855163a646a19360e01b81526020988982806142ac8860049b8c8401613f41565b0381875afa908115610bb2576142c9926000926144a3575061184d565b906142d6848b33886144bb565b946142e482868d338561454f565b906142f6611cb5611cb560015461064c565b6143358c61430560185461064c565b8c51636eb1769f60e11b815233818e019081526001600160a01b0390921660208301529283918291604090910190565b0381855afa8015610bb25784918e600092614486575b505010614476578b89614372928c5180809581946370a0823160e01b835233908301610658565b03915afa8015610bb2578391600091614459575b5010614449576143c2836143ae6143cc948f8f9998978b6143a992600598613ff5565b61543d565b848a01805460ff1916600117905588613a8e565b9201918254613a8e565b9055855163f8eef10f60e01b815294859182905afa928315610bb2577f2386b33461472749e636e4d07c6e2b5e114398809469e25100c5ef910a663f6496600094614426575b5050613b3f92935194859416963385614244565b613b3f9450908161444292903d10611dbf57611db08183610905565b9238614412565b8851631e9acf1760e31b81528890fd5b61447091508d803d10611805576117f58183610905565b38614386565b89516339e067d560e21b81528990fd5b61449c9250803d10611805576117f58183610905565b388e61434b565b6142289192508b3d8d11611805576117f58183610905565b919290926144c7614f40565b5060018060a01b038093169360009285845260209586805260ff60408620541615610f775761451a958793168552600f8352604085209360405180978194829363a646a19360e01b845260048401613f41565b03915afa938415610bb25761453c946040948491612ccc575083525220614e92565b60a0815191015181039081116139e55790565b9061455b9392916144bb565b9081018091116139e557602854613a7f916156a2565b9190826080910312610613578151916020810151916060604083015192015190565b6001600160a01b03909116815260208101919091526001600160801b039091166040820152608060608201819052613a7f92910190613f74565b909194939280156115b9576001600160a01b03848116949092908515610c2a576145f561582c565b61462261460182610a76565b60208a6040978851808096819463a646a19360e01b83528d60048401613f41565b039188165afa908115610bb2576146409260009261420f575061184d565b9261464f600185015460ff1690565b8080614845575b614834578061481b575b61480a57918160809361467a8b8960009b9c9d9686614d4a565b908181118a1461480057509788915b6146ca61469d611cb5611cb560025461064c565b946146bc6146ad60055460801c90565b978b519c8d9360208501613de6565b03601f1981018b528a610905565b6146e98851998a9687958694638a94b05f60e01b865260048601614593565b03925af1928315610bb2576147776005917f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac4684956000809281926147c7575b506147699061473a614109875460801c90565b60038801556147648a614751611cb560015461064c565b61475c60005461064c565b90339061485c565b600455565b806147b4575b5083546139f9565b918281550190808254116147ac575b156147a2575b50614796836157d6565b519182523391602090a3565b600090553861478c565b808255614786565b6147bf908554613a8e565b84553861476f565b905061476992506147ef915060803d81116147f9575b6147e78183610905565b810190614571565b9093909250614727565b503d6147dd565b9050978891614689565b8451634b3c322760e11b8152600490fd5b5061482d600285015460275490613a8e565b4211614660565b855163224aae4f60e21b8152600490fd5b5061485761106c600487015460ff1690565b614656565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b038411176108ca5761232e926040525b906000602091828151910182855af115613a82576000513d61490357506001600160a01b0381163b155b6148e15750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156148da565b6011546001600160a01b031680156149695781156115b95781614932913090339061485c565b61493b8161507a565b6040519081527fe79ffd9a88f13c8c49fb545410401d9877ab90d9dcf7b15d4dc0601993a0d91360203392a2565b604051632506892760e01b8152600490fd5b818102929181159184041417156139e557565b8115614998570490565b634e487b7160e01b600052601260045260246000fd5b6011546001600160a01b0390811615614a20576149ca82614ba9565b908115614a1857601254908316600052601460205260406000205481039081116139e557614a04670de0b6b3a764000091614a0b9361497b565b0491610a28565b5481018091116139e55790565b505050600090565b5050600090565b6001600160a01b03918216815291166020820152606060408201819052613a7f93910191613dc5565b3d15614a7b573d90614a6182610948565b91614a6f6040519384610905565b82523d6000602084013e565b606090565b9261232e93600093613220859461321260018060a01b0360335416956040519485936020850197631318562160e31b895260248601614a27565b600091829161232e9461322060018060a01b0360335416936132126040519384926020840196634b195c9560e11b885260248501613de6565b600054604051630481930d60e21b81526001600160a01b0392831660048201529160209183916024918391165afa908115610bb257600091614b33575090565b613a7f915060203d8111611805576117f58183610905565b6017546001600160a01b039081168015614a1857600092839260405190602082019263c084b10b60e01b845216602482015260248152614b8a816108ea565b51915afa50613a7f614b9a614a50565b60208082518301019101613bf0565b614bbb614bb582614af3565b91614b4b565b81018091116139e55790565b6001600160a01b0381166000818152602080526040902054909491939060ff1615610f77576020604051809663d57dfa1560e01b82528180614c0e87878a60048501613de6565b03915afa928315610bb257613a7f95600094614c36575b50614c309394614d4a565b90614c58565b614c309450614c529060203d8111611805576117f58183610905565b93614c25565b60018210614c9057602554614c6c916156a2565b90670de0b6b3a7640000918281029281840414901517156139e557613a7f9161498e565b50676765c793fa10079d601b1b919050565b909193929360018060a01b038092169160009280845260209182805260409560ff878720541615614d3957614cd5614f40565b5082865283805260ff878720541615614d395791614d179798918493168652600f835286862094875180998194829363a646a19360e01b845260048401613f41565b03915afa8015610bb257614d35958491612ccc575083525220614e92565b5190565b8651630867d69960e11b8152600490fd5b9193929360018060a01b038093169060009180835260209485805260409460ff86862054161561183c57614d7c614f40565b5082855286805260ff86862054161561183c579186979891614dbf9793168552600f835285852093865180988194829363a646a19360e01b845260048401613f41565b03915afa948515610bb257613a7f956128b7958491612ccc575083525220614e92565b805190606060055460801c91015181039081116139e557614bbb90826156c0565b9060209081838203126106135782516001600160401b0393848211610613570181601f820112156106135780519384116108ca578360051b9060405194614e4c85840187610905565b85528380860192820101928311610613578301905b828210614e6f575050505090565b81518152908301908301614e61565b80518210156119f95760209160051b010190565b90604051614e9f816108cf565b60a0600582948054845260ff60018201541615156020850152600281015460408501526003810154606085015260ff600482015416151560808501520154910152565b6040519061010082016001600160401b038111838210176108ca576040528160e06000918281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b6001600160a01b039091169052565b60405190614f4d826108cf565b8160a06000918281528260208201528260408201528260608201528260808201520152565b9192909260018060a01b038093169360009285845260209586805260ff60408620541615610f7757614fc8958793168552600f8352604085209360405180978194829363a646a19360e01b845260048401613f41565b03915afa938415610bb257613a7f946040948491612ccc575083525220614e92565b6040519061012082016001600160401b038111838210176108ca57604052816101006000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e08201520152565b61507561232e939261506760405194859263a9059cbb60e01b602085015260248401613e8e565b03601f198101845283610905565b6148b0565b6011546001600160a01b031615614969576003548015613dc157811580156150a157505050565b670de0b6b3a76400008084029384041417156139e5576150c09161498e565b6012549081018091116139e55760125542601355565b156150dd57565b60405162461bcd60e51b8152602060048201526012602482015271189bdc9c9bddc818d85c081c995858da195960721b6044820152606490fd5b92909161512b611cb5611cb560025461064c565b9060405180926318160ddd60e01b825281600460209586935afa8015610bb257846151619161516b9360009161521a5750613a8e565b602c5410156150d6565b60405163d57dfa1560e01b815282818061518a85893360048501613de6565b03816001600160a01b038a165afa928315610bb2576000936151fb575b505081156151e9576151d0936151c36151cb93602554906156a2565b953390614ca2565b613a8e565b116151d757565b604051630369fbd160e51b8152600490fd5b604051638dc8d9b360e01b8152600490fd5b615212929350803d10611805576117f58183610905565b9038806151a7565b6152319150863d8811611805576117f58183610905565b38611fe2565b60008061232e9260018060a01b036034541690604051602081019163489493f160e11b8352602482015260248152613220816108ea565b6011546001600160a01b039190821615613dc15761528b816149ae565b908161529657505050565b816152e87fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea693838660209516968760005260158652600060408120556012546152de83610a0e565b5560115416615040565b604051908152a2565b60009060033d116152fe57565b905060046000803e60005160e01c90565b600060443d10613a7f57604051600319913d83016004833e81516001600160401b03918282113d60248401111761536c57818401948551938411615374573d8501016020848701011161536c5750613a7f92910160200190610905565b949350505050565b50949350505050565b6000809160233d1161538b57565b9150506020600460003e600051600191565b156153a55750565b805190811561061357602001fd5b60008061232e9260018060a01b036034541690604051602081019163076d081560e01b8352602482015260248152613220816108ea565b60345460408051633fa5758d60e11b60208201908152600482529290918201906001600160a01b03166001600160401b038211838310176108ca5761232e93600093849360405251915af461322c614a50565b6018546001600160a01b03906154529061064c565b168015610c2a5781156115b9576154d59160209161547160015461064c565b604051636033e31560e01b81526001600160a01b03909116600482015233602482015260448101929092527f65991ea5d80f7b6dc8c32648f59c5a653beb10caddae8fefad6966b35a0a65f160648301529092839190829060009082906084820190565b03925af18015610bb2576154e65750565b6154fd9060203d8111610bab57610b9d8183610905565b50565b6018546001600160a01b03906155159061064c565b1615610c2a576155368161552d611cb560015461064c565b3090339061485c565b80615548611cb5611cb560015461064c565b61555360185461064c565b604051809263095ea7b360e01b8252816000816155776020998a9760048401613e8e565b03925af1908115610bb25760009161564f575b501561563d5781615615916155a6611cb5611cb560185461064c565b6155b160015461064c565b604051636033e31560e01b81526001600160a01b03909116600482015230602482015260448101929092527f42fd249bdce4c4255579b56a79389d6d679ba17c7b7c848ee5c0a2ffcf354cf160648301529092839190829060009082906084820190565b03925af18015610bb257615627575050565b816154fd92903d10610bab57610b9d8183610905565b6040516340b27c2160e11b8152600490fd5b6156669150833d8511610bab57610b9d8183610905565b3861558a565b7e83126e978d4fdf3b645a1cac083126e978d4fdf3b645a1cac083126e978d458111610613576113886101f46127109202010490565b81611388190481111582151715610613576127109102611388010490565b8115676765c793fa10079d601a1b19839004821115171561061357676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b615745600454615708615e72565b50615711615e2b565b5061571e81600354615b9a565b61573881600954600a54600b54600c5491600d5493615ae7565b80600855600e5491615abd565b60075561575061582c565b7f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd960075460085490613f1b6040519283928361290a565b8061579c575b50615745600454615708615e72565b6003548181106157c4576157b56141096157bb936157f9565b906139f9565b6003553861578d565b60405163bb55fd2760e01b8152600490fd5b806157ea5750615745600454615708615e72565b6157bb906128bc614109600354925b6001600160801b039081811161580d571690565b604490604051906306dfcc6560e41b8252608060048301526024820152fd5b61585261584c61584260065464ffffffffff1690565b64ffffffffff1690565b426139f9565b600181106154fd57615868614109600554613281565b6001811061594857816158a96158876158c2936158e79560075461595a565b600580546001600160801b0319166001600160801b0392909216919091179055565b600854906158bc61410960055460801c90565b9161599e565b600580546001600160801b031660809290921b6001600160801b031916919091179055565b6006805464ffffffffff19164264ffffffffff16179055600554604080516001600160801b038316815260809290921c60208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd8204919081908101613f1b565b604051630a1cf3ed60e21b8152600490fd5b9161596b61597092613a7f94615975565b6156c0565b6157f9565b6301e13380916159849161497b565b04676765c793fa10079d601b1b9081018091116139e55790565b916159af61597092613a7f946159b5565b906156c0565b60018210614c9057744f3a68dbc8f03f243baf513267aa9a3ee524f8e028811161061357613a7f916301e1338062f099c06159fe93676765c793fa10079d601b1b0201046156c0565b615a28565b8160011c90676765c793fa10079d601b1b908183190481118415176106135702010490565b8015615aad57676765c793fa10079d601c1b81800204906b09b18ab5df7180b6b800000082820204676765c793fa10079d601d1b818302046b1027e72f1f1281308800000081840204906b1363156bbee3016d700000008285020492676765c793fa10079d601b1b956b169e43a85eb381aa5800000085870204950101010101010190565b50676765c793fa10079d601b1b90565b909192600111614a1857615adb91615ad4916156c0565b91826156c0565b81039081116139e55790565b91949290948186841191821592615b8f575b8215615b84575b8215615b79575b5050615b6757838311615b30575091615b2b6128bc926159af86613a7f97966139f9565b615a03565b9350918082039182116139e557676765c793fa10079d601b1b9081039081116139e557615b2b6128bc926159af85613a7f976139f9565b60405163abc83fed60e01b8152600490fd5b101590508138615b07565b878111159250615b00565b818510159250615af9565b60018110614c90578181018091116139e5576001600160801b0391615bc29161597091615a03565b1690565b919082608091031261061357615bdb82613a5e565b916020810151916060604083015192015190565b6001600160a01b0391821681529116602082015260408101919091526001600160801b03909116606082015260800190565b600181106115b957600091615c3461582c565b615c5082615c46611cb560015461064c565b61475c865461064c565b6080615c8f615c65611cb5611cb5875461064c565b615c70600554613281565b60405196878094819363b3f1c93d60e01b835289893060048601615bef565b03925af1928315610bb257600093615cdb575b5082600080516020615eb083398151915291615cbd846157d6565b615cd560405192839260018060a01b0316958361290a565b0390a290565b600080516020615eb0833981519152919350615d0d9060803d8111615d18575b615d058183610905565b810190615bc6565b505090509290615ca2565b503d615cfb565b90816060910312610613578051916040602083015192015190565b91600183106115b9576060615d8e93615d5161582c565b615d62611cb5611cb560005461064c565b615d6d600554613281565b916000604051809881958294636b81068560e11b84528a8060048601615bef565b03925af1918215610bb2576000938493615df3575b50615dad83615787565b6040516001600160a01b03909116907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689080615dea87878361290a565b0390a281929190565b909250615e1891935060603d8111615e24575b615e108183610905565b810190615d1f565b93919050929138615da3565b503d615e06565b64ffffffffff6006541642034281116139e55760018110615e6257613a7f9061596b6007549160018060801b036005541692615975565b506005546001600160801b031690565b64ffffffffff6006541642034281116139e55760018110615ea857615e9c613a7f916008546159b5565b60055460801c906156c0565b506004549056fe90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1571840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1df980d21d8c7bb34800e668dbe003299093bac8e693614151d3c57f73f98a93d063386e75a280368ce68f5e39db7d7a3f09737ca4d289d9345a5f4968ff76955c4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb1053a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b570ba279271fb7bbf76a6f3df3cc57bf80647fcafdea60ec3383d90f459de74e7c08be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220a4c79e496b929859813f285292141f0777525deaf07047a598c9d91d6af9030064736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
|
|
3485
|
+
"deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806301ffc9a7146105bd57806302768de4146105b8578063048c661d146105b3578063086c33e1146105ae57806309bf1e73146105a95780630ab30d8a146105a45780630c34b9141461059f5780630c42dcaf1461059a5780630c679a7b14610595578063150b7a0214610590578063152f15841461058b57806316c621e0146105865780631a7fd200146105815780631d4bf4a01461057c5780631d8557d71461057757806322f2caf1146105725780632445eee51461056d578063248a9ca31461056857806327156a68146105635780632a5bf6d21461055e5780632a7e7849146105595780632ab414fc146105545780632e1a7d4d1461054f5780632f17682b146104be5780632f2ff15d1461054a57806332128b031461054557806334176a6d1461054057806336568abe1461053b5780633f4ba83a146105365780634df9d6ba146105315780634ef501ac1461052c57806353f35770146105275780635c975abb146105225780636061ffc31461051d578063618295df14610518578063640bc491146105135780636817031b1461050e578063715018a614610509578063745400c91461050457806375417da6146104ff578063768bab45146104fa5780637bc7780b146104f55780638429d51f146104f05780638456cb59146104eb578063883c6b24146104e657806389035730146104e1578063893a5372146104dc5780638ad7cacc146104d75780638aee8127146104d25780638d7081e4146104cd5780638da5cb5b146104c85780638def3ec2146104c35780638f7e8498146104be57806391d14854146104b95780639632b92a146104b457806398c2b108146104af57806398d721e0146104aa5780639daa54b41461042d578063a013f9c6146104a5578063a217fddf146104a0578063a42dce801461049b578063a51e896314610496578063a90d728f14610491578063a9bf805c1461048c578063aaf6379914610487578063b21cfc7114610482578063b6b55f251461047d578063b82e16e314610478578063b88a802f14610473578063ba7466941461046e578063c415b95c14610469578063c4f8911c14610464578063c6d6916c1461045f578063c89109131461045a578063c939ad6114610455578063cac89c5c14610450578063cd3293de1461044b578063d017e97814610446578063d17e988314610441578063d547741f1461043c578063de597d5b14610437578063e5711e8b14610432578063e65896c91461042d578063ec915ee614610428578063ef16b0e014610423578063ef5bac251461041e578063f2fde38b14610419578063f36c8f5c14610414578063fbf4a6121461040f578063fbfa77cf1461040a5763fe64cc0b1461040557600080fd5b6137b9565b613790565b61376d565b613744565b6136ca565b613606565b613536565b6134dc565b6127f8565b61344b565b61338a565b613348565b613321565b613305565b61328d565b61323c565b61319a565b61315a565b613074565b612fa5565b612f7c565b612e7f565b612e4d565b612da4565b612cfa565b612c0e565b612b98565b612b6f565b612a83565b6129f3565b612980565b612964565b61291b565b612785565b6126ca565b61260f565b6125cb565b6115cb565b612510565b6124e7565b6124cb565b61246c565b612330565b612286565b6121fc565b6121d3565b612179565b612131565b612113565b612017565b611f57565b611f33565b611ee4565b611c80565b611c57565b611b3b565b611b04565b611ae1565b611a87565b6119fe565b6119a1565b611937565b6118ec565b61185c565b61164e565b61160c565b6114e7565b610f89565b610ebc565b610e5d565b610e36565b610e07565b610d23565b610c73565b610c5a565b610c3c565b610bb7565b610ae9565b610aa7565b610963565b61085a565b61083d565b61077d565b61075c565b61073e565b61071a565b61066b565b610623565b346106135760203660031901126106135760043563ffffffff60e01b811680910361061357602090637965db0b60e01b8114908115610602575b506040519015158152f35b6301ffc9a760e01b149050386105f7565b600080fd5b600091031261061357565b34610613576000366003190112610613576020604051600080516020615f708339815191528152f35b6001600160a01b031690565b6001600160a01b03909116815260200190565b34610613576000366003190112610613576017546040516001600160a01b039091168152602090f35b6001600160a01b0381160361061357565b9181601f84011215610613578235916001600160401b038311610613576020838186019501011161061357565b6060600319820112610613576004356106ea81610694565b916024356106f781610694565b91604435906001600160401b03821161061357610716916004016106a5565b9091565b3461061357602061073661072d366106d2565b92919091614bc7565b604051908152f35b346106135760003660031901126106135760206040516203f4808152f35b3461061357600036600319011261061357602060055460801c604051908152f35b3461061357600036600319011261061357610796614ee2565b506108396107a2610928565b600754815260085460208201526009546040820152600a546060820152600b546080820152600c5460a0820152600d5460c0820152600e5460e08201526040519182918291909160e080610100830194805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c081015160c08501520151910152565b0390f35b34610613576000366003190112610613576020604051611f408152f35b346106135760203660031901126106135760043561087781610694565b61087f613904565b601680546001600160a01b0319166001600160a01b0392909216919091179055005b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116108ca57604052565b6108a1565b60c081019081106001600160401b038211176108ca57604052565b606081019081106001600160401b038211176108ca57604052565b601f909101601f19168101906001600160401b038211908210176108ca57604052565b6040519061010082016001600160401b038111838210176108ca57604052565b6001600160401b0381116108ca57601f01601f191660200190565b346106135760803660031901126106135761097f600435610694565b61098a602435610694565b6064356001600160401b0381116106135736602382011215610613578060040135906109b582610948565b916109c36040519384610905565b8083523660248284010111610613576000928160246020940184830137010152604051630a85bd0160e11b8152602090f35b6001600160a01b03166000908152602080526040902090565b6001600160a01b0316600090815260146020526040902090565b6001600160a01b0316600090815260156020526040902090565b6001600160a01b0316600090815260106020526040902090565b6001600160a01b0316600090815260226020526040902090565b6001600160a01b03166000908152600f6020526040902090565b9060018060a01b0316600052602052604060002090565b3461061357602036600319011261061357600435610ac481610694565b60018060a01b03166000526023602052602060ff604060002054166040519015158152f35b3461061357602036600319011261061357610b02613bcd565b60405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb257600091610b84575b50610b7257610b6660043561490c565b610b706001603055565b005b604051632652747360e21b8152600490fd5b610ba5915060203d8111610bab575b610b9d8183610905565b810190613a6b565b38610b56565b503d610b93565b613a82565b3461061357602036600319011261061357600435610bd481610694565b610bdc613904565b6001600160a01b03908116908115610c2a57603380546001600160a01b031981168417909155167f748f1f5793b18b83e17ec58dd942771a149a2da21e05fe50ced8c278143c6d71600080a3005b6040516303988b8160e61b8152600490fd5b34610613576000366003190112610613576020601a54604051908152f35b3461061357600036600319011261061357610b7061582c565b3461061357602036600319011261061357600435610c9081610694565b610c98613904565b6001600160a01b03811660008181526020805260408120549092919060ff16610d115782526020805260408220805460ff191660011790557fa77e7c594c11a0d5d9d8e6a9132ac0db912dc0f34f5fb7d94860fe38d16410bd90610d0b90610cff8161396e565b60405191829182610658565b0390a180f35b60405163dc37823360e01b8152600490fd5b346106135760803660031901126106135760048035610d4181610694565b6024356001600160401b03811161061357610d5f90369084016106a5565b6044359160643593610d7085610694565b610d78613bcd565b610d80613baf565b8315610df6576001600160a01b03818116600090815260208052604090205460ff1615610de55760ff6024541615610dd457851615610dc357610b6695506145cd565b6040516303988b8160e61b81528690fd5b6040516312cefcd560e31b81528790fd5b604051630867d69960e11b81528790fd5b60405163162908e360e11b81528690fd5b346106135760203660031901126106135760043560005260326020526020600160406000200154604051908152f35b34610613576020366003190112610613576020610736600435610e5881610694565b614ba9565b34610613576020366003190112610613576020610736600435610e7f81610694565b614af3565b90604060031983011261061357600435610e9d81610694565b91602435906001600160401b03821161061357610716916004016106a5565b3461061357610eca36610e84565b90610ed3613bcd565b610edb613baf565b6001600160a01b03838116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb257600091610f59575b50610b7257610b6692613e08565b610f71915060203d8111610bab57610b9d8183610905565b38610f4b565b604051630867d69960e11b8152600490fd5b3461061357604080600319360112610613576004908135600d8110156106135760243592610fb682613930565b600a8214908180156114d4575b80156114c3575b80156114b0575b801561149d575b801561148a575b8015611478575b8015611465575b8015611452575b610ffd84613930565b600684148091811561143d575b8115611428575b8115611413575b156113a45750600080516020615f70833981519152600052603260205261107061106c611065337f4be98a500fedc87dbf83b0f2e386ce313ece8458dab0590898ef9a4135d19214610a90565b5460ff1690565b1590565b611395575b60009261108185613930565b156110e45750905083156110d657602b5484116110c857506110c3600080516020615f1083398151915293602c54936110b982602c55565b5193849384613950565b0390a1005b8251635bf62a1160e01b8152fd5b8251635b9ad34160e11b8152fd5b6110ed84613930565b600984036111245750905083156110d657506110c3600080516020615f1083398151915293602b549361111f82602b55565b6110b9565b61112d84613930565b83611155575050506110c3600080516020615f10833981519152936025549361111f82602555565b61115e84613930565b60018403611189575050506110c3600080516020615f10833981519152936026549361111f82602655565b61119284613930565b600284036111e95750905062015180841080156111dd575b6111cf57506110c3600080516020615f10833981519152936027549361111f82602755565b825163d7c43e0f60e01b8152fd5b5062093a8084116111aa565b6111f284613930565b6003840361121d575050506110c3600080516020615f1083398151915293602a549361111f82602a55565b61122984959395613930565b83820361127857506001851161126a57506024805461ff0019166001861460081b61ff0016179055600080516020615f10833981519152936110c3916110b9565b905163af979eb560e01b8152fd5b61128184613930565b600584036112c057506001851161126a5750836110c39161111f6001600080516020615f10833981519152971460ff8019602454169115151617602455565b600080516020615f1083398151915295929491506112dd84613930565b156112f457506110c3906028549361111f82602855565b6112fd83613930565b6007830361131757506110c390600e549361111f82600e55565b61132083613930565b6008830361133a57506110c3906029549361111f82602955565b61134383613930565b600b830361135d57506110c390602d549361111f82602d55565b9261136783613930565b600c831461137a575b906110c3916110b9565b92506110c390602e549361138d82602e55565b909150611370565b508351634ca8886760e01b8152fd5b1561140457600080516020615ed083398151915260005260326020526113f061106c611065337f08ae08a1778cb01871246af592e3e907ec9ba7bc1cc0b308a58e75fd2ee1dfba610a90565b1561107557508351634ca8886760e01b8152fd5b508351630309cb8760e51b8152fd5b905061141e85613930565b600c851490611018565b905061143385613930565b6008851490611011565b905061144885613930565b600785149061100a565b5061145c83613930565b600b8314610ff4565b5061146f83613930565b60058314610fed565b5061148283613930565b808314610fe6565b5061149483613930565b60038314610fdf565b506114a783613930565b60028314610fd8565b506114ba83613930565b60018314610fd1565b506114cd83613930565b8215610fca565b506114de83613930565b60098314610fc3565b3461061357602036600319011261061357600435611503613bcd565b61150b613baf565b80156115b95760ff60245460081c166115a7576115569061152b3361526e565b6017546001600160a01b03163303611598575b61154661582c565b61154f81615237565b3390615d3a565b50506115606153ea565b60405190815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436490602090a2610b706001603055565b6115a28133613d4e565b61153e565b6040516370a7336d60e11b8152600490fd5b60405163162908e360e11b8152600490fd5b34610613576020366003190112610613576004356115e881610694565b60018060a01b031660005260208052602060ff604060002054166040519015158152f35b3461061357604036600319011261061357610b7060243560043561162f82610694565b8060005260326020526116496001604060002001546137d5565b613816565b346106135761165c36610e84565b611667929192613bcd565b61166f613baf565b60018060a01b038216600093818552602080805260409460ff86882054161561183c5761169a614f40565b506116b2826116ab87863386614f72565b0151151590565b61182b57906116d0858489979695946116c961582c565b3390614ca2565b80611739575b5050813b1561173557836116ff95518096819582946312ede2c560e21b84523360048501613de6565b03925af18015610bb25761171c575b506117196001603055565b80f35b8061172961172f926108b7565b80610618565b3861170e565b8380fd5b865163d57dfa1560e01b8152949550929391929080838061175f89883360048501613de6565b0381885afa928315610bb257889361180c575b508651633de6b58d60e21b8152928184806117928a893360048501613de6565b0381895afa908115610bb2576117b9946117b4938b936117dd575b50506139f9565b614c58565b602654116117cc579084929138806116d6565b83516302c9375f60e21b8152600490fd5b6117fd929350803d10611805575b6117f58183610905565b810190613bf0565b9038806117ad565b503d6117eb565b816118249294503d8511611805576117f58183610905565b9138611772565b85516367c11db560e01b8152600490fd5b8551630867d69960e11b8152600490fd5b90600052602052604060002090565b346106135760403660031901126106135760043561187981610694565b6001600160a01b03166000908152600f60209081526040808320602435845282529182902080546001820154600283015460038401546004850154600590950154875194855260ff93841615159685019690965295830152606082019490945292161515608083015260a082015260c090f35b346106135760403660031901126106135760243561190981610694565b336001600160a01b0382160361192557610b7090600435613891565b60405163334bd91960e11b8152600490fd5b3461061357600036600319011261061357611950613904565b60315460ff81161561198f5760ff19166031557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b346106135760203660031901126106135760206107366004356119c381610694565b6149ae565b634e487b7160e01b600052603260045260246000fd5b6021548110156119f957602160005260206000200190600090565b6119c8565b3461061357602036600319011261061357600435602154811015610613576021600052600080516020615f5083398151915201546040516001600160a01b039091168152602090f35b90606060031983011261061357600435611a6081610694565b91602435906001600160401b03821161061357611a7f916004016106a5565b909160443590565b3461061357611a9536611a47565b90611aa1939293613bcd565b611aa9613baf565b81156115b9576001600160a01b038316600090815260208052604090205460ff1615610f7757611ada9333936145cd565b6001603055005b3461061357600036600319011261061357602060ff603154166040519015158152f35b3461061357600036600319011261061357606060018060a01b03601154166012546013549060405192835260208301526040820152f35b3461061357602036600319011261061357600435611b5881610694565b611b60613904565b611b6f61106c611065836109f5565b610f7757611b89611b7f826109f5565b805460ff19169055565b6001600160a01b03908082169060005b60215480821015611c3a578385611bc7611bb2856119de565b905460039190911b1c6001600160a01b031690565b1614611bdc5750611bd7906139d6565b611b99565b600080516020615ef083398151915294506110c3935090611c13611c0d611bb2611c08611c32956139ea565b6119de565b916119de565b90919082549060031b9160018060a01b03809116831b921b1916179055565b610cff613a06565b5050600080516020615ef083398151915292506110c39150610cff565b34610613576000366003190112610613576033546040516001600160a01b039091168152602090f35b346106135760208060031936011261061357600435611c9e81610694565b611ca6613904565b601f611cba611cb5825461064c565b61064c565b6001600160a01b039283169390838116808614159081611eda575b50611dc6575b50600481611d14611cb5611cf2611cb5875461064c565b601f80546001600160a01b0319166001600160a01b038b16179055955461064c565b6040516338d52e0f60e01b815292839182905afa918215610bb257600092611d99575b505082611d48611cb560015461064c565b9116141580611d90575b611d7e57167f483bdedaaf23706a9800ac1af0d852b34927780d79f9d6ba60a80c7cad75ea39600080a3005b604051631b3b488360e11b8152600490fd5b50821515611d52565b611db89250803d10611dbf575b611db08183610905565b81019061422f565b3880611d37565b503d611da6565b81604051809263ce96cb7760e01b82528180611de53060048301610658565b03915afa60009181611ebb575b50611ead57506001611e026152f1565b806308c379a014611e8c57634e487b7114611e54575b611e23575b38611cdb565b611e2b614a50565b50611e3c611cb5611cb5845461064c565b600080516020615f30833981519152600080a2611e1d565b611e5c61537d565b5015611e1857506000611e75611cb5611cb5855461064c565b600080516020615f308339815191528280a2611e18565b50611e9561530f565b15611e1857506000611e75611cb5611cb5855461064c565b611eb6906153b3565b611e1d565b611ed3919250833d8511611805576117f58183610905565b9038611df2565b9050151538611cd5565b3461061357600080600319360112611f3057611efe613904565b602f80546001600160a01b0319811690915581906001600160a01b0316600080516020615f908339815191528280a380f35b80fd5b3461061357602036600319011261061357611f4c613baf565b610b70600435613c7b565b346106135760208060031936011261061357600490813591611f7883610694565b6000918293602154925b838610611f9457604051858152602090f35b90919293611faa611cb5611cb5611bb2896119de565b84604051809263572bf25760e01b82528180611fc889898301610658565b03915afa8015610bb257611fee92611fe892600092611ff8575b50613a8e565b956139d6565b9493929190611f82565b612010919250873d8911611805576117f58183610905565b9038611fe2565b346106135760403660031901126106135760043561203481610694565b61203c613904565b61204461582c565b6001600160a01b038116156120b85760008091612067611cb5611cb5845461064c565b90813b156120b45782916120959160405194858094819363768bab4560e01b83526024359060048401613e8e565b03925af18015610bb2576120a7575080f35b80611729611719926108b7565b5050fd5b60405162461bcd60e51b815260206004820152602d60248201527f4c656e64696e67506f6f6c3a20526563697069656e742063616e6e6f7420626560448201526c207a65726f206164647265737360981b6064820152608490fd5b34610613576000366003190112610613576020600954604051908152f35b346106135760003660031901126106135760c0601954601a54601b54601c54601d5491601e5493604051958652602086015260408501526060840152608083015260a0820152f35b3461061357600036600319011261061357612192613904565b61219a613baf565b600160ff1960315416176031557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610613576000366003190112610613576005546040516001600160801b039091168152602090f35b3461061357600036600319011261061357610180602454602554602654602754602854602954602a5490602b5492602c5494602d5496602e549860ff6040519b81811615158d5260081c16151560208c015260408b015260608a0152608089015260a088015260c087015260e0860152610100850152610120840152610140830152610160820152f35b34610613576000366003190112610613576034546040516001600160a01b039091168152602090f35b61232e909291926101208101938051825260208101516020830152604081015160408301526060810151151560608301526080810151608083015260a081015160a083015260c0810151151560c083015261231960e082015160e084019060018060a01b03169052565b610100908101516001600160a01b0316910152565b565b34610613576004612340366106d2565b91909261234b614fea565b5060018060a01b038116908160005260209283805260409460ff8660002054161561245c57916060612400926123ec879695612385614fea565b9a61238e614f40565b5061239b82828689614f72565b936123b48d876123ad8d890151151590565b1515910152565b8c60808d87015191015284518d526123d58d60c06123ad6080890151151590565b8c8a6123e38585858c614d4a565b91015286614bc7565b888a0152015160a088015260e08701614f31565b835163f8eef10f60e01b815295869182905afa8015610bb257610839946124359260009261243f575b50506101008401614f31565b51918291826122af565b6124559250803d10611dbf57611db08183610905565b3880612429565b8551630867d69960e11b81528890fd5b346106135760203660031901126106135760043561248981610694565b612491613904565b601154906001600160a01b03908183166124b9576001600160a01b0319909216911617601155005b60405163b6de9a7160e01b8152600490fd5b346106135760206107366124de366106d2565b929190916144bb565b3461061357600036600319011261061357602f546040516001600160a01b039091168152602090f35b346106135761251e36611a47565b91612527613bcd565b61252f613baf565b6001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb2576000916125ad575b50610b7257610b669361426f565b6125c5915060203d8111610bab57610b9d8183610905565b3861259f565b3461061357604036600319011261061357602060ff6126036024356125ef81610694565b600435600052603284526040600020610a90565b54166040519015158152f35b346106135761261d36610e84565b90612626613bcd565b61262e613baf565b6001600160a01b03838116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb2576000916126ac575b50610b7257610b6692614aba565b6126c4915060203d8111610bab57610b9d8183610905565b3861269e565b34610613576126d8366106d2565b916126e1613bcd565b6126e9613baf565b6001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb257600091612767575b50610b7257610b6693614a80565b61277f915060203d8111610bab57610b9d8183610905565b38612759565b34610613576020366003190112610613576004356127a281610694565b6127aa613904565b6001600160a01b03908116908115610c2a57601780546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d600080a3005b34610613576020366003190112610613576004803561281681610694565b6000908190602154905b81831061283257602084604051908152f35b909192612847611cb5611cb5611bb2876119de565b92600060405180956371e078ab60e01b82528180612867888c8301610658565b03915afa938415610bb2576000946128e7575b506000915b84518310156128ce576128c26128c8916128bc6128b76128b26128a189610a76565b6128ab898c614e7e565b519061184d565b614e92565b614de2565b90613a8e565b926139d6565b9161287f565b95929350936128dd91506139d6565b9193929093612820565b61290391943d8091833e6128fb8183610905565b810190614e03565b923861287a565b908152602081019190915260400190565b346106135760203660031901126106135760043561293881610694565b60018060a01b03166000526022602052604060002060018154910154906108396040519283928361290a565b3461061357600036600319011261061357602060405160008152f35b346106135760203660031901126106135760043561299d81610694565b6129a5613904565b6001600160a01b03908116908115610c2a57601880546001600160a01b031981168417909155167f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f38600080a3005b3461061357600080600319360112611f305760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb2578291612a65575b50610b7257611719613ea9565b612a7d915060203d8111610bab57610b9d8183610905565b38612a58565b34610613576000366003190112610613576018546001600160a01b039081163303612b5e57601f541615612b2a57610839612ac2611cb560015461064c565b612aee601a548092612ad342601b55565b612add6000601a55565b612ae860185461064c565b90615040565b6040518181527f7edfb0d5d58c6a3d398df94a9bdfa2b33f3fa42ae40d72ebdc717d2db3953ee590602090a16040519081529081906020820190565b60405162461bcd60e51b815260206004820152600c60248201526b139bc81d985d5b1d081cd95d60a21b6044820152606490fd5b6040516282b42960e81b8152600490fd5b34610613576000366003190112610613576016546040516001600160a01b039091168152602090f35b3461061357612bca6020612bab366106d2565b60405163d57dfa1560e01b815295869493859384939160048501613de6565b03916001600160a01b03165afa8015610bb257602091600091612bf1575b50604051908152f35b612c089150823d8111611805576117f58183610905565b38612be8565b3461061357612c1c366106d2565b6001600160a01b03938416600081815260208080526040808320549097919692959493929060ff1615612ce957612c51614f40565b5082865286805260ff888720541615612ce957168452600f8552858420865163a646a19360e01b81529493909286928692909183918291612c959160048401613f41565b03915afa938415610bb257612cb79486948491612ccc575b5083525220614e92565b6108396060820151915192519283928361290a565b612ce39150823d8411611805576117f58183610905565b38612cad565b8751630867d69960e11b8152600490fd5b3461061357602036600319011261061357600435612d16613bcd565b612d1e613baf565b80156115b95760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610bb257600091612d86575b50610b7257610b6690613a9b565b612d9e915060203d8111610bab57610b9d8183610905565b38612d78565b3461061357600080600319360112611f3057604051809160215490818352602080930180926021835284832090835b818110612e305750505084612de9910385610905565b60405193838594850191818652518092526040850193925b828110612e1057505050500390f35b83516001600160a01b031685528695509381019392810192600101612e01565b82546001600160a01b031684529286019260019283019201612dd3565b3461061357600036600319011261061357612e66613bcd565b612e6f3361526e565b6001603055602060405160018152f35b3461061357612e8d366106d2565b9291612e97614f40565b5060018060a01b038093169360009480865260209485805260409360ff858920541615612f6b5791612eec93918793168852600f835284882095855180958194829363a646a19360e01b845260048401613f41565b03915afa908115610bb2578560a094612f1593859360c09991612f4e575b508252865220614e92565b908051938251855280830151151590850152808201519084015260608101516060840152608081015115156080840152015160a0820152f35b612f659150883d8a11611805576117f58183610905565b38612f0a565b8451630867d69960e11b8152600490fd5b34610613576000366003190112610613576018546040516001600160a01b039091168152602090f35b3461061357602036600319011261061357601654600435906001600160a01b03163303612b5e5760018110613062576009549081613020575b7fd45d1eb66419c036e2fa401916c7db417696f889cf4ab8ca92272327e8e1c83e9161300982600955565b6130116156fa565b6110c36040519283928361290a565b6130298261566c565b828211156130535761303b83836139f9565b1115612fde57604051631a8b543360e21b8152600490fd5b61305d82846139f9565b61303b565b60405163824c180760e01b8152600490fd5b346106135760203660031901126106135760043561309181610694565b6000546001600160a01b03163303613115576130ac81614ba9565b806130c2575b506130bf60125491610a0e565b55005b6130e56130f3916130df6012546130d886610a0e565b54906139f9565b9061497b565b670de0b6b3a7640000900490565b80156130b25761310d61310583610a28565b918254613a8e565b9055386130b2565b60405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792052546f6b656e2063616e20757064617465207265776172647300006044820152606490fd5b346106135760203660031901126106135760043561317781610694565b60018060a01b031660005260106020526020600160406000200154604051908152f35b34610613576131a8366106d2565b90916131b2613bcd565b6017546001600160a01b03929083163303612b5e5760009483811686526020805260ff60408720541615610f77576132329461322087959461321287966033541695604051948593602085019763c939ad6160e01b895260248601614a27565b03601f198101835282610905565b51915af461322c614a50565b9061539d565b6117196001603055565b34610613576000366003190112610613576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160801b031690565b346106135760003660031901126106135761010060018060a01b0380600054169080600154169060025416600354600454906005549264ffffffffff6006541694604051968752602087015260408601526060850152608084015260018060801b03811660a084015260801c60c083015260e0820152f35b34610613576020610736613318366106d2565b92919091614d4a565b3461061357602036600319011261061357602061073660043561334381610694565b614b4b565b3461061357604036600319011261061357610b7060243560043561336b82610694565b8060005260326020526133856001604060002001546137d5565b613891565b346106135761339836611a47565b916133a1613bcd565b6133a9613baf565b82156115b9576001600160a01b03848116600090815260208052604090205460ff1615610f775760206024916040519283809263fe575a8760e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610bb25760009161342d575b50610b7257610b6693613ff5565b613445915060203d8111610bab57610b9d8183610905565b3861341f565b346106135760603660031901126106135760043561346881610694565b6024359061347582610694565b61347d613904565b6000546001600160a01b03918216911681146134a057610b709160443591615040565b60405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b9b1bab290292a37b5b2b760611b6044820152606490fd5b3461061357600036600319011261061357610100600754600854600954600a54600b54600c5491600d5493600e5495604051978852602088015260408701526060860152608085015260a084015260c083015260e0820152f35b346106135760803660031901126106135760043561355381610694565b6024359061356082610694565b604435906001600160401b038211610613576020926135866107369336906004016106a5565b916064359361454f565b61232e9092919260e08061010083019560018060a01b038082511685528060208301511660208601526040820151166040850152606081015160608501526080810151608085015260018060801b038060a08301511660a086015260c08201511660c0850152015191019064ffffffffff169052565b346106135760003660031901126106135761361f614ee2565b5061083961362b610928565b61363f61363960005461064c565b82614f31565b61365661364d60015461064c565b60208301614f31565b61366d61366460025461064c565b60408301614f31565b600354606082015260045460808201526005546001600160801b03811660a083015261369d9060801c60c0830152565b6136be6136b060065464ffffffffff1690565b64ffffffffff1660e0830152565b60405191829182613590565b34610613576020366003190112610613576004356136e781610694565b6136ef613904565b6001600160a01b0390811690811561372b57602f80546001600160a01b03198116841790915516600080516020615f90833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b34610613576000366003190112610613576020604051600080516020615ed08339815191528152f35b34610613576000366003190112610613576020604051670de0b6b3a76400008152f35b3461061357600036600319011261061357601f546040516001600160a01b039091168152602090f35b346106135760206107366137cc366106d2565b92919091614ca2565b80600052603260205260ff6137ee336040600020610a90565b5416156137f85750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b600090808252603260205260ff6138308460408520610a90565b541661388b57808252603260205261384b8360408420610a90565b805460ff1916600117905533926001600160a01b0316917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50905090565b600090808252603260205260ff6138ab8460408520610a90565b54161561388b5780825260326020526138c78360408420610a90565b805460ff1916905533926001600160a01b0316917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b602f546001600160a01b0316330361391857565b60405163118cdaa760e01b8152336004820152602490fd5b600d111561393a57565b634e487b7160e01b600052602160045260246000fd5b60608101949392600d83101561393a57604092825260208201520152565b602154600160401b8110156108ca5760018101806021558110156119f9576021600052600080516020615f508339815191520180546001600160a01b0319166001600160a01b03909216919091179055565b634e487b7160e01b600052601160045260246000fd5b60001981146139e55760010190565b6139c0565b6000198101919082116139e557565b919082039182116139e557565b6021548015613a485760001981810191808310156119f957602160008190529101600080516020615f508339815191520180546001600160a01b031916905555565b634e487b7160e01b600052603160045260246000fd5b5190811515820361061357565b9081602091031261061357613a7f90613a5e565b90565b6040513d6000823e3d90fd5b919082018092116139e557565b613aa43361526e565b613aac61582c565b6018546001600160a01b0390613ac19061064c565b16158015613b99575b15613b7157600080516020615eb0833981519152613b3f613aed600080946139f9565b92613af784613bff565b613b013385615c21565b906001613b0d33610a42565b0154613b5357846001613b1f33610a42565b01555b613b2a6153ea565b80613b44575b5060405191829133958361290a565b0390a2565b613b4d90615500565b38613b30565b6001613b5e33610a42565b01613b6a868254613a8e565b9055613b22565b600080516020615eb0833981519152613b3f613aed613b92602954856156a2565b80946139f9565b50613ba8611cb560175461064c565b3314613aca565b60ff60315416613bbb57565b60405163d93c066560e01b8152600490fd5b600260305414613bde576002603055565b604051633ee5aeb560e01b8152600490fd5b90816020910312610613575190565b6000546040516318160ddd60e01b81529190602090839060049082906001600160a01b03165afa918215610bb257600092613c5b575b5081018091116139e557602b5410613c4957565b6040516354db2d5d60e11b8152600490fd5b613c7491925060203d8111611805576117f58183610905565b9038613c35565b60245460081c60ff166115a757602d5415613d3c57613c9933610a5c565b8115613cfa57613b3f600182847f2816dbba0837d8d68f7bcead98695dd98db2cc1cb4066694ead56a12e795c4889455613ce7613cdb613cdb602d5442613a8e565b6001600160401b031690565b918291015560405191829133958361290a565b5050613d14613d0833610a5c565b60016000918281550155565b337f8b775bb80a5d4addc5ea2601b2378ae89a1bb9010227157ac02aa71498e799c4600080a2565b60405163410dc88360e11b8152600490fd5b90602d5415613dc157613d6082610a5c565b60018101548015613daf574210613d9d575403613d8b576001613d84600092610a5c565b8281550155565b604051635a4fecf360e11b8152600490fd5b60405163621e25c360e01b8152600490fd5b604051637b7e3ed560e11b8152600490fd5b5050565b908060209392818452848401376000828201840152601f01601f1916010190565b6001600160a01b039091168152604060208201819052613a7f93910191613dc5565b909291600091338352602360205260ff60408420541615613e7c57613e2b61582c565b6001600160a01b0316803b15613e7857613e5e93948360405180968195829463cf2c52cb60e01b84523360048501613de6565b03925af18015610bb257613e6f5750565b61232e906108b7565b8280fd5b6040516361803dfb60e11b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b33600052602360205260ff60406000205416613f2f57336000526023602052613edd6040600020600160ff19825416179055565b602e5480613f20575b507fd5acd12fd21128fb0a61c90d812321cb1423b1948052a3e93786c482bbef6608613f1b602e546040519182913383613e8e565b0390a1565b613f2990615500565b38613ee6565b60405163992c89a960e01b8152600490fd5b916020613a7f938181520191613dc5565b9081606091031261061357613f6681613a5e565b916040602083015192015190565b919082519283825260005b848110613fa0575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201613f7f565b6001600160a01b0391821681529116602082015260408101919091526001600160801b03909116606082015260a060808201819052613a7f92910190613f74565b919061400033610a76565b6040805163a646a19360e01b815290949160208280614023888860048401613f41565b03816001600160a01b0387165afa908115610bb25761404a9260009261420f575b5061184d565b92614059600185015460ff1690565b6141fe57918183614073886140e598979685606097615117565b61407b61582c565b61408488615237565b6140c5614098611cb5611cb560025461064c565b926140b76140a860055460801c90565b93895196879360208501613de6565b03601f198101855284610905565b6000865180988195829463292aab8160e11b84528c333360048701613fb4565b03925af18015610bb25760009384916141c9575b5061410e61410960055460801c90565b613281565b6003830155614124611cb5611cb560005461064c565b91823b1561061357600084518094635c921eb960e01b825281838161414d8c3360048401613e8e565b03925af18015610bb2577fcbc04eca7e9da35cb1393a6135a199ca52e450d5e9251cbd99f7847d33a36750956141959461418e926141b6575b508254613a8e565b9055600455565b61419e83615787565b6141a66153ea565b5191825233918060208101613b3f565b806117296141c3926108b7565b38614186565b90506141ed91935060603d81116141f7575b6141e58183610905565b810190613f52565b93915092386140f9565b503d6141db565b8451630bff073160e31b8152600490fd5b61422891925060203d8111611805576117f58183610905565b9038614044565b908160209103126106135751613a7f81610694565b9493929160409261426a9260018060a01b03168752606060208801526060870191613dc5565b930152565b9190928361427c33610a76565b9360018060a01b0393848216604094855163a646a19360e01b81526020988982806142ac8860049b8c8401613f41565b0381875afa908115610bb2576142c9926000926144a3575061184d565b906142d6848b33886144bb565b946142e482868d338561454f565b906142f6611cb5611cb560015461064c565b6143358c61430560185461064c565b8c51636eb1769f60e11b815233818e019081526001600160a01b0390921660208301529283918291604090910190565b0381855afa8015610bb25784918e600092614486575b505010614476578b89614372928c5180809581946370a0823160e01b835233908301610658565b03915afa8015610bb2578391600091614459575b5010614449576143c2836143ae6143cc948f8f9998978b6143a992600598613ff5565b61543d565b848a01805460ff1916600117905588613a8e565b9201918254613a8e565b9055855163f8eef10f60e01b815294859182905afa928315610bb2577f2386b33461472749e636e4d07c6e2b5e114398809469e25100c5ef910a663f6496600094614426575b5050613b3f92935194859416963385614244565b613b3f9450908161444292903d10611dbf57611db08183610905565b9238614412565b8851631e9acf1760e31b81528890fd5b61447091508d803d10611805576117f58183610905565b38614386565b89516339e067d560e21b81528990fd5b61449c9250803d10611805576117f58183610905565b388e61434b565b6142289192508b3d8d11611805576117f58183610905565b919290926144c7614f40565b5060018060a01b038093169360009285845260209586805260ff60408620541615610f775761451a958793168552600f8352604085209360405180978194829363a646a19360e01b845260048401613f41565b03915afa938415610bb25761453c946040948491612ccc575083525220614e92565b60a0815191015181039081116139e55790565b9061455b9392916144bb565b9081018091116139e557602854613a7f916156a2565b9190826080910312610613578151916020810151916060604083015192015190565b6001600160a01b03909116815260208101919091526001600160801b039091166040820152608060608201819052613a7f92910190613f74565b909194939280156115b9576001600160a01b03848116949092908515610c2a576145f561582c565b61462261460182610a76565b60208a6040978851808096819463a646a19360e01b83528d60048401613f41565b039188165afa908115610bb2576146409260009261420f575061184d565b9261464f600185015460ff1690565b8080614845575b614834578061481b575b61480a57918160809361467a8b8960009b9c9d9686614d4a565b908181118a1461480057509788915b6146ca61469d611cb5611cb560025461064c565b946146bc6146ad60055460801c90565b978b519c8d9360208501613de6565b03601f1981018b528a610905565b6146e98851998a9687958694638a94b05f60e01b865260048601614593565b03925af1928315610bb2576147776005917f05f2eeda0e08e4b437f487c8d7d29b14537d15e3488170dc3de5dbdf8dac4684956000809281926147c7575b506147699061473a614109875460801c90565b60038801556147648a614751611cb560015461064c565b61475c60005461064c565b90339061485c565b600455565b806147b4575b5083546139f9565b918281550190808254116147ac575b156147a2575b50614796836157d6565b519182523391602090a3565b600090553861478c565b808255614786565b6147bf908554613a8e565b84553861476f565b905061476992506147ef915060803d81116147f9575b6147e78183610905565b810190614571565b9093909250614727565b503d6147dd565b9050978891614689565b8451634b3c322760e11b8152600490fd5b5061482d600285015460275490613a8e565b4211614660565b855163224aae4f60e21b8152600490fd5b5061485761106c600487015460ff1690565b614656565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b038411176108ca5761232e926040525b906000602091828151910182855af115613a82576000513d61490357506001600160a01b0381163b155b6148e15750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156148da565b6011546001600160a01b031680156149695781156115b95781614932913090339061485c565b61493b8161507a565b6040519081527fe79ffd9a88f13c8c49fb545410401d9877ab90d9dcf7b15d4dc0601993a0d91360203392a2565b604051632506892760e01b8152600490fd5b818102929181159184041417156139e557565b8115614998570490565b634e487b7160e01b600052601260045260246000fd5b6011546001600160a01b0390811615614a20576149ca82614ba9565b908115614a1857601254908316600052601460205260406000205481039081116139e557614a04670de0b6b3a764000091614a0b9361497b565b0491610a28565b5481018091116139e55790565b505050600090565b5050600090565b6001600160a01b03918216815291166020820152606060408201819052613a7f93910191613dc5565b3d15614a7b573d90614a6182610948565b91614a6f6040519384610905565b82523d6000602084013e565b606090565b9261232e93600093613220859461321260018060a01b0360335416956040519485936020850197631318562160e31b895260248601614a27565b600091829161232e9461322060018060a01b0360335416936132126040519384926020840196634b195c9560e11b885260248501613de6565b600054604051630481930d60e21b81526001600160a01b0392831660048201529160209183916024918391165afa908115610bb257600091614b33575090565b613a7f915060203d8111611805576117f58183610905565b6017546001600160a01b039081168015614a1857600092839260405190602082019263c084b10b60e01b845216602482015260248152614b8a816108ea565b51915afa50613a7f614b9a614a50565b60208082518301019101613bf0565b614bbb614bb582614af3565b91614b4b565b81018091116139e55790565b6001600160a01b0381166000818152602080526040902054909491939060ff1615610f77576020604051809663d57dfa1560e01b82528180614c0e87878a60048501613de6565b03915afa928315610bb257613a7f95600094614c36575b50614c309394614d4a565b90614c58565b614c309450614c529060203d8111611805576117f58183610905565b93614c25565b60018210614c9057602554614c6c916156a2565b90670de0b6b3a7640000918281029281840414901517156139e557613a7f9161498e565b50676765c793fa10079d601b1b919050565b909193929360018060a01b038092169160009280845260209182805260409560ff878720541615614d3957614cd5614f40565b5082865283805260ff878720541615614d395791614d179798918493168652600f835286862094875180998194829363a646a19360e01b845260048401613f41565b03915afa8015610bb257614d35958491612ccc575083525220614e92565b5190565b8651630867d69960e11b8152600490fd5b9193929360018060a01b038093169060009180835260209485805260409460ff86862054161561183c57614d7c614f40565b5082855286805260ff86862054161561183c579186979891614dbf9793168552600f835285852093865180988194829363a646a19360e01b845260048401613f41565b03915afa948515610bb257613a7f956128b7958491612ccc575083525220614e92565b805190606060055460801c91015181039081116139e557614bbb90826156c0565b9060209081838203126106135782516001600160401b0393848211610613570181601f820112156106135780519384116108ca578360051b9060405194614e4c85840187610905565b85528380860192820101928311610613578301905b828210614e6f575050505090565b81518152908301908301614e61565b80518210156119f95760209160051b010190565b90604051614e9f816108cf565b60a0600582948054845260ff60018201541615156020850152600281015460408501526003810154606085015260ff600482015416151560808501520154910152565b6040519061010082016001600160401b038111838210176108ca576040528160e06000918281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b6001600160a01b039091169052565b60405190614f4d826108cf565b8160a06000918281528260208201528260408201528260608201528260808201520152565b9192909260018060a01b038093169360009285845260209586805260ff60408620541615610f7757614fc8958793168552600f8352604085209360405180978194829363a646a19360e01b845260048401613f41565b03915afa938415610bb257613a7f946040948491612ccc575083525220614e92565b6040519061012082016001600160401b038111838210176108ca57604052816101006000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e08201520152565b61507561232e939261506760405194859263a9059cbb60e01b602085015260248401613e8e565b03601f198101845283610905565b6148b0565b6011546001600160a01b031615614969576003548015613dc157811580156150a157505050565b670de0b6b3a76400008084029384041417156139e5576150c09161498e565b6012549081018091116139e55760125542601355565b156150dd57565b60405162461bcd60e51b8152602060048201526012602482015271189bdc9c9bddc818d85c081c995858da195960721b6044820152606490fd5b92909161512b611cb5611cb560025461064c565b9060405180926318160ddd60e01b825281600460209586935afa8015610bb257846151619161516b9360009161521a5750613a8e565b602c5410156150d6565b60405163d57dfa1560e01b815282818061518a85893360048501613de6565b03816001600160a01b038a165afa928315610bb2576000936151fb575b505081156151e9576151d0936151c36151cb93602554906156a2565b953390614ca2565b613a8e565b116151d757565b604051630369fbd160e51b8152600490fd5b604051638dc8d9b360e01b8152600490fd5b615212929350803d10611805576117f58183610905565b9038806151a7565b6152319150863d8811611805576117f58183610905565b38611fe2565b60008061232e9260018060a01b036034541690604051602081019163489493f160e11b8352602482015260248152613220816108ea565b6011546001600160a01b039190821615613dc15761528b816149ae565b908161529657505050565b816152e87fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea693838660209516968760005260158652600060408120556012546152de83610a0e565b5560115416615040565b604051908152a2565b60009060033d116152fe57565b905060046000803e60005160e01c90565b600060443d10613a7f57604051600319913d83016004833e81516001600160401b03918282113d60248401111761536c57818401948551938411615374573d8501016020848701011161536c5750613a7f92910160200190610905565b949350505050565b50949350505050565b6000809160233d1161538b57565b9150506020600460003e600051600191565b156153a55750565b805190811561061357602001fd5b60008061232e9260018060a01b036034541690604051602081019163076d081560e01b8352602482015260248152613220816108ea565b60345460408051633fa5758d60e11b60208201908152600482529290918201906001600160a01b03166001600160401b038211838310176108ca5761232e93600093849360405251915af461322c614a50565b6018546001600160a01b03906154529061064c565b168015610c2a5781156115b9576154d59160209161547160015461064c565b604051636033e31560e01b81526001600160a01b03909116600482015233602482015260448101929092527f65991ea5d80f7b6dc8c32648f59c5a653beb10caddae8fefad6966b35a0a65f160648301529092839190829060009082906084820190565b03925af18015610bb2576154e65750565b6154fd9060203d8111610bab57610b9d8183610905565b50565b6018546001600160a01b03906155159061064c565b1615610c2a576155368161552d611cb560015461064c565b3090339061485c565b80615548611cb5611cb560015461064c565b61555360185461064c565b604051809263095ea7b360e01b8252816000816155776020998a9760048401613e8e565b03925af1908115610bb25760009161564f575b501561563d5781615615916155a6611cb5611cb560185461064c565b6155b160015461064c565b604051636033e31560e01b81526001600160a01b03909116600482015230602482015260448101929092527f42fd249bdce4c4255579b56a79389d6d679ba17c7b7c848ee5c0a2ffcf354cf160648301529092839190829060009082906084820190565b03925af18015610bb257615627575050565b816154fd92903d10610bab57610b9d8183610905565b6040516340b27c2160e11b8152600490fd5b6156669150833d8511610bab57610b9d8183610905565b3861558a565b7e83126e978d4fdf3b645a1cac083126e978d4fdf3b645a1cac083126e978d458111610613576113886101f46127109202010490565b81611388190481111582151715610613576127109102611388010490565b8115676765c793fa10079d601a1b19839004821115171561061357676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b615745600454615708615e72565b50615711615e2b565b5061571e81600354615b9a565b61573881600954600a54600b54600c5491600d5493615ae7565b80600855600e5491615abd565b60075561575061582c565b7f48f4f83c2f1843e8fd7ef13ffcff40fca5055dc1b9b074cd9dd0f9a8a8e09dd960075460085490613f1b6040519283928361290a565b8061579c575b50615745600454615708615e72565b6003548181106157c4576157b56141096157bb936157f9565b906139f9565b6003553861578d565b60405163bb55fd2760e01b8152600490fd5b806157ea5750615745600454615708615e72565b6157bb906128bc614109600354925b6001600160801b039081811161580d571690565b604490604051906306dfcc6560e41b8252608060048301526024820152fd5b61585261584c61584260065464ffffffffff1690565b64ffffffffff1690565b426139f9565b600181106154fd57615868614109600554613281565b6001811061594857816158a96158876158c2936158e79560075461595a565b600580546001600160801b0319166001600160801b0392909216919091179055565b600854906158bc61410960055460801c90565b9161599e565b600580546001600160801b031660809290921b6001600160801b031916919091179055565b6006805464ffffffffff19164264ffffffffff16179055600554604080516001600160801b038316815260809290921c60208301527ff92a3abee06d57c996e7e19eb34560241fdc1fe67e9ebd503177710bf9fd8204919081908101613f1b565b604051630a1cf3ed60e21b8152600490fd5b9161596b61597092613a7f94615975565b6156c0565b6157f9565b6301e13380916159849161497b565b04676765c793fa10079d601b1b9081018091116139e55790565b916159af61597092613a7f946159b5565b906156c0565b60018210614c9057744f3a68dbc8f03f243baf513267aa9a3ee524f8e028811161061357613a7f916301e1338062f099c06159fe93676765c793fa10079d601b1b0201046156c0565b615a28565b8160011c90676765c793fa10079d601b1b908183190481118415176106135702010490565b8015615aad57676765c793fa10079d601c1b81800204906b09b18ab5df7180b6b800000082820204676765c793fa10079d601d1b818302046b1027e72f1f1281308800000081840204906b1363156bbee3016d700000008285020492676765c793fa10079d601b1b956b169e43a85eb381aa5800000085870204950101010101010190565b50676765c793fa10079d601b1b90565b909192600111614a1857615adb91615ad4916156c0565b91826156c0565b81039081116139e55790565b91949290948186841191821592615b8f575b8215615b84575b8215615b79575b5050615b6757838311615b30575091615b2b6128bc926159af86613a7f97966139f9565b615a03565b9350918082039182116139e557676765c793fa10079d601b1b9081039081116139e557615b2b6128bc926159af85613a7f976139f9565b60405163abc83fed60e01b8152600490fd5b101590508138615b07565b878111159250615b00565b818510159250615af9565b60018110614c90578181018091116139e5576001600160801b0391615bc29161597091615a03565b1690565b919082608091031261061357615bdb82613a5e565b916020810151916060604083015192015190565b6001600160a01b0391821681529116602082015260408101919091526001600160801b03909116606082015260800190565b600181106115b957600091615c3461582c565b615c5082615c46611cb560015461064c565b61475c865461064c565b6080615c8f615c65611cb5611cb5875461064c565b615c70600554613281565b60405196878094819363b3f1c93d60e01b835289893060048601615bef565b03925af1928315610bb257600093615cdb575b5082600080516020615eb083398151915291615cbd846157d6565b615cd560405192839260018060a01b0316958361290a565b0390a290565b600080516020615eb0833981519152919350615d0d9060803d8111615d18575b615d058183610905565b810190615bc6565b505090509290615ca2565b503d615cfb565b90816060910312610613578051916040602083015192015190565b91600183106115b9576060615d8e93615d5161582c565b615d62611cb5611cb560005461064c565b615d6d600554613281565b916000604051809881958294636b81068560e11b84528a8060048601615bef565b03925af1918215610bb2576000938493615df3575b50615dad83615787565b6040516001600160a01b03909116907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689080615dea87878361290a565b0390a281929190565b909250615e1891935060603d8111615e24575b615e108183610905565b810190615d1f565b93919050929138615da3565b503d615e06565b64ffffffffff6006541642034281116139e55760018110615e6257613a7f9061596b6007549160018060801b036005541692615975565b506005546001600160801b031690565b64ffffffffff6006541642034281116139e55760018110615ea857615e9c613a7f916008546159b5565b60055460801c906156c0565b506004549056fe90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1571840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1df980d21d8c7bb34800e668dbe003299093bac8e693614151d3c57f73f98a93d063386e75a280368ce68f5e39db7d7a3f09737ca4d289d9345a5f4968ff76955c4cede9b2b63ba72d39d2f630b4b742e1cada59d7a073ac4e10da9ac7b2eb1053a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b570ba279271fb7bbf76a6f3df3cc57bf80647fcafdea60ec3383d90f459de74e7c08be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220a4c79e496b929859813f285292141f0777525deaf07047a598c9d91d6af9030064736f6c63430008140033",
|
|
2758
3486
|
"linkReferences": {},
|
|
2759
3487
|
"deployedLinkReferences": {}
|
|
2760
3488
|
}
|