@pendle/core-v2 0.13.1-testnet → 0.14.0-testnet
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/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +89 -0
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +91 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +91 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +26 -26
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
- package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield → StandardizedYield}/PYIndex.sol/PYIndexLib.json +3 -3
- package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/SCYBase.sol/SCYBase.json → StandardizedYield/SYBase.sol/SYBase.json} +11 -11
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/SCYBaseWithRewards.sol/SCYBaseWithRewards.json → StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.json} +11 -11
- package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/SCYUtils.sol/SCYUtils.json → StandardizedYield/SYUtils.sol/SYUtils.json} +4 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield → StandardizedYield}/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +3 -3
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json → StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json} +17 -17
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.json +1028 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.json → StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.json} +47 -47
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield → StandardizedYield}/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +5 -5
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json → StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json} +13 -13
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +4 -4
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +4 -4
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +24 -24
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +28 -28
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +30 -30
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +34 -34
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +20 -20
- package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.json +2 -2
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +20 -20
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +106 -106
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +18 -18
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.json +3 -3
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +6 -6
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{ISuperComposableYield.sol/ISuperComposableYield.json → IStandardizedYield.sol/IStandardizedYield.json} +5 -5
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +7 -7
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +116 -116
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +35 -35
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +12 -12
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +41 -41
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +28 -28
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +4 -4
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +22 -22
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
- package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +96 -27
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +40 -12
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +24 -5
- package/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol +133 -0
- package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +33 -0
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +8 -1
- package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +3 -3
- package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +2 -7
- package/contracts/core/Market/MarketMathCore.sol +50 -53
- package/contracts/core/Market/PendleGauge.sol +8 -8
- package/contracts/core/Market/PendleMarket.sol +49 -49
- package/contracts/core/Market/PendleMarketFactory.sol +1 -1
- package/contracts/core/RewardManager/RewardManager.sol +1 -1
- package/contracts/core/{SuperComposableYield → StandardizedYield}/PYIndex.sol +16 -16
- package/contracts/core/{SuperComposableYield/SCYBase.sol → StandardizedYield/SYBase.sol} +17 -17
- package/contracts/core/{SuperComposableYield/SCYBaseWithRewards.sol → StandardizedYield/SYBaseWithRewards.sol} +9 -9
- package/contracts/core/StandardizedYield/SYUtils.sol +26 -0
- package/contracts/core/{SuperComposableYield → StandardizedYield}/implementations/BenQi/PendleQiTokenHelper.sol +1 -1
- package/contracts/core/{SuperComposableYield/implementations/BenQi/PendleQiTokenSCY.sol → StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol} +10 -10
- package/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol +167 -0
- package/contracts/core/{SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol → StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol} +51 -70
- package/contracts/core/{SuperComposableYield → StandardizedYield}/implementations/Convex/Pendle3CrvHelper.sol +7 -7
- package/contracts/core/{SuperComposableYield/implementations/PendleWstEthSCY.sol → StandardizedYield/implementations/PendleWstEthSY.sol} +5 -5
- package/contracts/core/YieldContracts/InterestManagerYT.sol +7 -7
- package/contracts/core/YieldContracts/PendlePrincipalToken.sol +3 -3
- package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +15 -15
- package/contracts/core/YieldContracts/PendleYieldToken.sol +71 -71
- package/contracts/core/libraries/Errors.sol +23 -21
- package/contracts/core/libraries/TokenHelper.sol +0 -33
- package/contracts/interfaces/Curve/ICrvPool.sol +2 -0
- package/contracts/interfaces/ILayerZeroEndpoint.sol +39 -0
- package/contracts/interfaces/ILayerZeroReceiver.sol +12 -0
- package/contracts/interfaces/IPActionAddRemoveLiq.sol +27 -27
- package/contracts/interfaces/IPActionMintRedeem.sol +30 -30
- package/contracts/interfaces/IPActionSwapPT.sol +16 -16
- package/contracts/interfaces/IPActionSwapPTYT.sol +2 -2
- package/contracts/interfaces/IPActionSwapYT.sol +16 -16
- package/contracts/interfaces/IPMarket.sol +14 -19
- package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
- package/contracts/interfaces/IPMsgSendEndpoint.sol +4 -2
- package/contracts/interfaces/IPPrincipalToken.sol +1 -1
- package/contracts/interfaces/IPYieldContractFactory.sol +3 -3
- package/contracts/interfaces/IPYieldToken.sol +7 -9
- package/contracts/interfaces/{ISuperComposableYield.sol → IStandardizedYield.sol} +6 -6
- package/contracts/offchain-helpers/MarketMathStatic.sol +116 -131
- package/contracts/offchain-helpers/RouterStatic.sol +80 -93
- package/contracts/router/ActionAddRemoveLiq.sol +99 -111
- package/contracts/router/ActionCallback.sol +46 -46
- package/contracts/router/ActionMintRedeem.sol +58 -58
- package/contracts/router/ActionSwapPT.sol +61 -69
- package/contracts/router/ActionSwapPTYT.sol +7 -7
- package/contracts/router/ActionSwapYT.sol +72 -79
- package/contracts/router/PendleRouter.sol +16 -16
- package/contracts/router/base/ActionBaseMintRedeem.sol +43 -43
- package/contracts/router/base/CallbackHelper.sol +20 -20
- package/contracts/router/base/MarketApproxLib.sol +166 -143
- package/contracts/router/kyberswap/KyberSwapHelper.sol +2 -2
- package/deployments/43113-core.json +16 -0
- package/{contracts/deployments → deployments}/43113-helper.json +0 -0
- package/deployments/43113-markets/benqi-market-QI-USDC-FEB-2ND.json +8 -0
- package/deployments/43113-markets/benqi-market-QI-WETH-DEC-1ST.json +8 -0
- package/{contracts/deployments → deployments}/43113-testenv.json +0 -0
- package/deployments/80001-core.json +15 -0
- package/{contracts/deployments → deployments}/80001-testenv.json +0 -0
- package/package.json +2 -2
- package/typechain-types/ActionAddRemoveLiq.ts +127 -129
- package/typechain-types/ActionCallback.ts +5 -5
- package/typechain-types/ActionMintRedeem.ts +139 -141
- package/typechain-types/ActionSwapPT.ts +73 -73
- package/typechain-types/ActionSwapPTYT.ts +2 -2
- package/typechain-types/ActionSwapYT.ts +73 -73
- package/typechain-types/IPActionAddRemoveLiq.ts +127 -129
- package/typechain-types/IPActionMintRedeem.ts +139 -141
- package/typechain-types/IPActionSwapPT.ts +73 -73
- package/typechain-types/IPActionSwapPTYT.ts +2 -2
- package/typechain-types/IPActionSwapYT.ts +73 -73
- package/typechain-types/IPAllAction.ts +402 -406
- package/typechain-types/IPMarket.ts +51 -54
- package/typechain-types/IPMarketSwapCallback.ts +5 -5
- package/typechain-types/IPPrincipalToken.ts +8 -8
- package/typechain-types/IPYieldContractFactory.ts +13 -13
- package/typechain-types/IPYieldToken.ts +17 -17
- package/typechain-types/IStandardizedYield.ts +895 -0
- package/typechain-types/MarketMathStatic.ts +27 -27
- package/typechain-types/Pendle3CrvAndTokenSY.ts +1243 -0
- package/typechain-types/Pendle3CrvHelper.ts +13 -13
- package/typechain-types/PendleConvexLPSY.ts +1189 -0
- package/typechain-types/PendleGaugeControllerBaseUpg.ts +125 -0
- package/typechain-types/PendleGaugeControllerMainchainUpg.ts +125 -0
- package/typechain-types/PendleGaugeControllerSidechainUpg.ts +124 -0
- package/typechain-types/PendleMarket.ts +54 -57
- package/typechain-types/PendlePrincipalToken.ts +8 -8
- package/typechain-types/PendleQiTokenSY.ts +1166 -0
- package/typechain-types/PendleWstEthSY.ts +1040 -0
- package/typechain-types/PendleYieldContractFactory.ts +8 -8
- package/typechain-types/PendleYieldToken.ts +41 -44
- package/typechain-types/RouterStatic.ts +196 -196
- package/typechain-types/SYBase.ts +1001 -0
- package/typechain-types/SYBaseWithRewards.ts +1094 -0
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +34 -34
- package/typechain-types/factories/ActionCallback__factory.ts +11 -11
- package/typechain-types/factories/ActionMintRedeem__factory.ts +38 -38
- package/typechain-types/factories/ActionMisc__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPTYT__factory.ts +3 -3
- package/typechain-types/factories/ActionSwapPT__factory.ts +27 -27
- package/typechain-types/factories/ActionSwapYT__factory.ts +21 -21
- package/typechain-types/factories/Errors__factory.ts +27 -27
- package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +30 -30
- package/typechain-types/factories/IPActionMintRedeem__factory.ts +34 -34
- package/typechain-types/factories/IPActionSwapPTYT__factory.ts +2 -2
- package/typechain-types/factories/IPActionSwapPT__factory.ts +20 -20
- package/typechain-types/factories/IPActionSwapYT__factory.ts +20 -20
- package/typechain-types/factories/IPAllAction__factory.ts +106 -106
- package/typechain-types/factories/IPMarketSwapCallback__factory.ts +1 -1
- package/typechain-types/factories/IPMarket__factory.ts +18 -18
- package/typechain-types/factories/IPPrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/IPYieldContractFactory__factory.ts +3 -3
- package/typechain-types/factories/IPYieldToken__factory.ts +6 -6
- package/typechain-types/factories/IStandardizedYield__factory.ts +658 -0
- package/typechain-types/factories/MarketMathStatic__factory.ts +6 -6
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/Pendle3CrvAndTokenSY__factory.ts +1124 -0
- package/typechain-types/factories/Pendle3CrvHelper__factory.ts +3 -3
- package/typechain-types/factories/PendleConvexLPSY__factory.ts +963 -0
- package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +89 -0
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +90 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +90 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__factory.ts +21 -21
- package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +7 -7
- package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSY__factory.ts +1095 -0
- package/typechain-types/factories/PendleRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleWstEthSY__factory.ts +924 -0
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +3 -3
- package/typechain-types/factories/PendleYieldToken__factory.ts +27 -27
- package/typechain-types/factories/RouterStatic__factory.ts +57 -57
- package/typechain-types/factories/SYBaseWithRewards__factory.ts +867 -0
- package/typechain-types/factories/SYBase__factory.ts +795 -0
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +33 -51
- package/typechain-types/index.ts +14 -18
- package/build/artifacts/contracts/core/SuperComposableYield/PYIndex.sol/PYIndexLib.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/SCYBase.sol/SCYBase.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/SCYUtils.sol/SCYUtils.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.json +0 -1030
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.json +0 -1025
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.json +0 -190
- package/contracts/core/SuperComposableYield/SCYUtils.sol +0 -34
- package/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol +0 -135
- package/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol +0 -96
- package/contracts/deployments/43113-core.json +0 -16
- package/contracts/deployments/43113-markets/benqi-market-QI-USDC-FEB-2ND.json +0 -8
- package/contracts/deployments/43113-markets/benqi-market-QI-WETH-DEC-1ST.json +0 -8
- package/contracts/deployments/80001-core.json +0 -15
- package/contracts/deployments/80001-markets/benqi-market-QI-USDC-FEB-2ND.json +0 -8
- package/contracts/deployments/80001-markets/benqi-market-QI-WETH-DEC-1ST.json +0 -8
- package/contracts/interfaces/ICelerMessageBus.sol +0 -28
- package/contracts/interfaces/ICelerMessageReceiverApp.sol +0 -25
- package/contracts/offchain-helpers/ImplicitSwapfeeContract.sol +0 -26
|
@@ -156,16 +156,16 @@ const _abi = [
|
|
|
156
156
|
inputs: [
|
|
157
157
|
{
|
|
158
158
|
internalType: "uint256",
|
|
159
|
-
name: "
|
|
159
|
+
name: "actualSyOut",
|
|
160
160
|
type: "uint256",
|
|
161
161
|
},
|
|
162
162
|
{
|
|
163
163
|
internalType: "uint256",
|
|
164
|
-
name: "
|
|
164
|
+
name: "requiredSyOut",
|
|
165
165
|
type: "uint256",
|
|
166
166
|
},
|
|
167
167
|
],
|
|
168
|
-
name: "
|
|
168
|
+
name: "RouterInsufficientSyOut",
|
|
169
169
|
type: "error",
|
|
170
170
|
},
|
|
171
171
|
{
|
|
@@ -208,7 +208,7 @@ const _abi = [
|
|
|
208
208
|
{
|
|
209
209
|
indexed: false,
|
|
210
210
|
internalType: "uint256",
|
|
211
|
-
name: "
|
|
211
|
+
name: "netSyUsed",
|
|
212
212
|
type: "uint256",
|
|
213
213
|
},
|
|
214
214
|
{
|
|
@@ -224,7 +224,7 @@ const _abi = [
|
|
|
224
224
|
type: "uint256",
|
|
225
225
|
},
|
|
226
226
|
],
|
|
227
|
-
name: "
|
|
227
|
+
name: "AddLiquidityDualSyAndPt",
|
|
228
228
|
type: "event",
|
|
229
229
|
},
|
|
230
230
|
{
|
|
@@ -337,7 +337,7 @@ const _abi = [
|
|
|
337
337
|
{
|
|
338
338
|
indexed: false,
|
|
339
339
|
internalType: "uint256",
|
|
340
|
-
name: "
|
|
340
|
+
name: "netSyIn",
|
|
341
341
|
type: "uint256",
|
|
342
342
|
},
|
|
343
343
|
{
|
|
@@ -347,7 +347,7 @@ const _abi = [
|
|
|
347
347
|
type: "uint256",
|
|
348
348
|
},
|
|
349
349
|
],
|
|
350
|
-
name: "
|
|
350
|
+
name: "AddLiquiditySingleSy",
|
|
351
351
|
type: "event",
|
|
352
352
|
},
|
|
353
353
|
{
|
|
@@ -429,11 +429,11 @@ const _abi = [
|
|
|
429
429
|
{
|
|
430
430
|
indexed: false,
|
|
431
431
|
internalType: "uint256",
|
|
432
|
-
name: "
|
|
432
|
+
name: "netSyOut",
|
|
433
433
|
type: "uint256",
|
|
434
434
|
},
|
|
435
435
|
],
|
|
436
|
-
name: "
|
|
436
|
+
name: "RemoveLiquidityDualSyAndPt",
|
|
437
437
|
type: "event",
|
|
438
438
|
},
|
|
439
439
|
{
|
|
@@ -552,11 +552,11 @@ const _abi = [
|
|
|
552
552
|
{
|
|
553
553
|
indexed: false,
|
|
554
554
|
internalType: "uint256",
|
|
555
|
-
name: "
|
|
555
|
+
name: "netSyOut",
|
|
556
556
|
type: "uint256",
|
|
557
557
|
},
|
|
558
558
|
],
|
|
559
|
-
name: "
|
|
559
|
+
name: "RemoveLiquiditySingleSy",
|
|
560
560
|
type: "event",
|
|
561
561
|
},
|
|
562
562
|
{
|
|
@@ -616,7 +616,7 @@ const _abi = [
|
|
|
616
616
|
},
|
|
617
617
|
{
|
|
618
618
|
internalType: "uint256",
|
|
619
|
-
name: "
|
|
619
|
+
name: "netSyDesired",
|
|
620
620
|
type: "uint256",
|
|
621
621
|
},
|
|
622
622
|
{
|
|
@@ -630,7 +630,7 @@ const _abi = [
|
|
|
630
630
|
type: "uint256",
|
|
631
631
|
},
|
|
632
632
|
],
|
|
633
|
-
name: "
|
|
633
|
+
name: "addLiquidityDualSyAndPt",
|
|
634
634
|
outputs: [
|
|
635
635
|
{
|
|
636
636
|
internalType: "uint256",
|
|
@@ -639,7 +639,7 @@ const _abi = [
|
|
|
639
639
|
},
|
|
640
640
|
{
|
|
641
641
|
internalType: "uint256",
|
|
642
|
-
name: "
|
|
642
|
+
name: "netSyUsed",
|
|
643
643
|
type: "uint256",
|
|
644
644
|
},
|
|
645
645
|
{
|
|
@@ -756,7 +756,7 @@ const _abi = [
|
|
|
756
756
|
},
|
|
757
757
|
],
|
|
758
758
|
internalType: "struct ApproxParams",
|
|
759
|
-
name: "
|
|
759
|
+
name: "guessPtSwapToSy",
|
|
760
760
|
type: "tuple",
|
|
761
761
|
},
|
|
762
762
|
],
|
|
@@ -769,7 +769,7 @@ const _abi = [
|
|
|
769
769
|
},
|
|
770
770
|
{
|
|
771
771
|
internalType: "uint256",
|
|
772
|
-
name: "
|
|
772
|
+
name: "netSyFee",
|
|
773
773
|
type: "uint256",
|
|
774
774
|
},
|
|
775
775
|
],
|
|
@@ -790,7 +790,7 @@ const _abi = [
|
|
|
790
790
|
},
|
|
791
791
|
{
|
|
792
792
|
internalType: "uint256",
|
|
793
|
-
name: "
|
|
793
|
+
name: "netSyIn",
|
|
794
794
|
type: "uint256",
|
|
795
795
|
},
|
|
796
796
|
{
|
|
@@ -827,11 +827,11 @@ const _abi = [
|
|
|
827
827
|
},
|
|
828
828
|
],
|
|
829
829
|
internalType: "struct ApproxParams",
|
|
830
|
-
name: "
|
|
830
|
+
name: "guessPtReceivedFromSy",
|
|
831
831
|
type: "tuple",
|
|
832
832
|
},
|
|
833
833
|
],
|
|
834
|
-
name: "
|
|
834
|
+
name: "addLiquiditySingleSy",
|
|
835
835
|
outputs: [
|
|
836
836
|
{
|
|
837
837
|
internalType: "uint256",
|
|
@@ -840,7 +840,7 @@ const _abi = [
|
|
|
840
840
|
},
|
|
841
841
|
{
|
|
842
842
|
internalType: "uint256",
|
|
843
|
-
name: "
|
|
843
|
+
name: "netSyFee",
|
|
844
844
|
type: "uint256",
|
|
845
845
|
},
|
|
846
846
|
],
|
|
@@ -893,7 +893,7 @@ const _abi = [
|
|
|
893
893
|
},
|
|
894
894
|
],
|
|
895
895
|
internalType: "struct ApproxParams",
|
|
896
|
-
name: "
|
|
896
|
+
name: "guessPtReceivedFromSy",
|
|
897
897
|
type: "tuple",
|
|
898
898
|
},
|
|
899
899
|
{
|
|
@@ -910,7 +910,7 @@ const _abi = [
|
|
|
910
910
|
},
|
|
911
911
|
{
|
|
912
912
|
internalType: "address",
|
|
913
|
-
name: "
|
|
913
|
+
name: "tokenMintSy",
|
|
914
914
|
type: "address",
|
|
915
915
|
},
|
|
916
916
|
{
|
|
@@ -933,7 +933,7 @@ const _abi = [
|
|
|
933
933
|
},
|
|
934
934
|
{
|
|
935
935
|
internalType: "uint256",
|
|
936
|
-
name: "
|
|
936
|
+
name: "netSyFee",
|
|
937
937
|
type: "uint256",
|
|
938
938
|
},
|
|
939
939
|
],
|
|
@@ -972,7 +972,7 @@ const _abi = [
|
|
|
972
972
|
},
|
|
973
973
|
{
|
|
974
974
|
internalType: "uint256",
|
|
975
|
-
name: "
|
|
975
|
+
name: "minSyOut",
|
|
976
976
|
type: "uint256",
|
|
977
977
|
},
|
|
978
978
|
{
|
|
@@ -981,11 +981,11 @@ const _abi = [
|
|
|
981
981
|
type: "uint256",
|
|
982
982
|
},
|
|
983
983
|
],
|
|
984
|
-
name: "
|
|
984
|
+
name: "removeLiquidityDualSyAndPt",
|
|
985
985
|
outputs: [
|
|
986
986
|
{
|
|
987
987
|
internalType: "uint256",
|
|
988
|
-
name: "
|
|
988
|
+
name: "netSyOut",
|
|
989
989
|
type: "uint256",
|
|
990
990
|
},
|
|
991
991
|
{
|
|
@@ -1110,7 +1110,7 @@ const _abi = [
|
|
|
1110
1110
|
},
|
|
1111
1111
|
{
|
|
1112
1112
|
internalType: "uint256",
|
|
1113
|
-
name: "
|
|
1113
|
+
name: "netSyFee",
|
|
1114
1114
|
type: "uint256",
|
|
1115
1115
|
},
|
|
1116
1116
|
],
|
|
@@ -1136,20 +1136,20 @@ const _abi = [
|
|
|
1136
1136
|
},
|
|
1137
1137
|
{
|
|
1138
1138
|
internalType: "uint256",
|
|
1139
|
-
name: "
|
|
1139
|
+
name: "minSyOut",
|
|
1140
1140
|
type: "uint256",
|
|
1141
1141
|
},
|
|
1142
1142
|
],
|
|
1143
|
-
name: "
|
|
1143
|
+
name: "removeLiquiditySingleSy",
|
|
1144
1144
|
outputs: [
|
|
1145
1145
|
{
|
|
1146
1146
|
internalType: "uint256",
|
|
1147
|
-
name: "
|
|
1147
|
+
name: "netSyOut",
|
|
1148
1148
|
type: "uint256",
|
|
1149
1149
|
},
|
|
1150
1150
|
{
|
|
1151
1151
|
internalType: "uint256",
|
|
1152
|
-
name: "
|
|
1152
|
+
name: "netSyFee",
|
|
1153
1153
|
type: "uint256",
|
|
1154
1154
|
},
|
|
1155
1155
|
],
|
|
@@ -1187,7 +1187,7 @@ const _abi = [
|
|
|
1187
1187
|
},
|
|
1188
1188
|
{
|
|
1189
1189
|
internalType: "address",
|
|
1190
|
-
name: "
|
|
1190
|
+
name: "tokenRedeemSy",
|
|
1191
1191
|
type: "address",
|
|
1192
1192
|
},
|
|
1193
1193
|
{
|
|
@@ -1210,7 +1210,7 @@ const _abi = [
|
|
|
1210
1210
|
},
|
|
1211
1211
|
{
|
|
1212
1212
|
internalType: "uint256",
|
|
1213
|
-
name: "
|
|
1213
|
+
name: "netSyFee",
|
|
1214
1214
|
type: "uint256",
|
|
1215
1215
|
},
|
|
1216
1216
|
],
|
|
@@ -1220,7 +1220,7 @@ const _abi = [
|
|
|
1220
1220
|
];
|
|
1221
1221
|
|
|
1222
1222
|
const _bytecode =
|
|
1223
|
-
"0x60a06040523480156200001157600080fd5b5060405162004c2a38038062004c2a833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051614b89620000a16000396000818160a301528181612eab0152612f780152614b896000f3fe60806040526004361061008c5760003560e01c80631ef6f327146100915780631f8dfdf0146100db578063226c71f6146101095780633af1f32914610138578063694ab559146101585780637307a7a5146101785780639b4def431461018b578063eda0b715146101ab578063f17b8c4a146101cb578063f3a411b8146101de578063febde725146101fe575b600080fd5b34801561009d57600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516100d291906141a8565b60405180910390f35b3480156100e757600080fd5b506100fb6100f63660046141e6565b61021e565b6040516100d2929190614243565b34801561011557600080fd5b50610129610124366004614251565b61031c565b6040516100d2939291906142a2565b34801561014457600080fd5b506100fb6101533660046141e6565b61054d565b34801561016457600080fd5b506100fb6101733660046141e6565b6107fe565b6101296101863660046142b8565b610ad0565b34801561019757600080fd5b506100fb6101a636600461431d565b610ea8565b3480156101b757600080fd5b506100fb6101c6366004614251565b610f34565b6100fb6101d9366004614375565b611070565b3480156101ea57600080fd5b506100fb6101f93660046143f4565b611177565b34801561020a57600080fd5b506100fb610219366004614459565b611379565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610262573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028691906144c4565b9193509091506102a390506001600160a01b038316338a8a61148e565b6102b18989838a8a8a6114ec565b8094508195505050886001600160a01b0316886001600160a01b0316336001600160a01b03167f6420656ef082773859a20b33d5e3ccc7f1a226c9477622c5c819c8cc097823388a88604051610308929190614243565b60405180910390a450509550959350505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610362573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038691906144c4565b50915091506000896001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156103cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f0919061455b565b90506103fe818a8a426116c6565b919850965094505086861015610434578587604051636a1dbf1b60e01b815260040161042b929190614243565b60405180910390fd5b6104496001600160a01b038416338c8861148e565b61045e6001600160a01b038316338c8761148e565b604051630ab714fb60e11b81526001600160a01b038b169063156e29f69061048e908e90899089906004016145dd565b6060604051808303816000875af11580156104ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d191906145fe565b5090965050868610156104e6576104e661462c565b8a6001600160a01b03168a6001600160a01b0316336001600160a01b03167f0db691c6956ae614f5038616009ba884fade551caf94d16b641a94c578841d6088888b604051610537939291906142a2565b60405180910390a4505050955095509592505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b591906144c4565b92509250506000886001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156105fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061f919061455b565b90506000610653610638846001600160a01b0316611731565b8a42610649368c90038c018c614642565b869392919061179d565b5090915061066e90506001600160a01b038516338c8c61148e565b604080516000808252602082019283905263d8e763c160e01b9092526001600160a01b038c169063d8e763c1906106ac908e90869060248101614701565b60408051808303816000875af11580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee9190614728565b965090506001600160a01b038b1663156e29f68d8361070d868f614762565b6040518463ffffffff1660e01b815260040161072b939291906145dd565b6060604051808303816000875af115801561074a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076e91906145fe565b509097505088871015610798578689604051636a1dbf1b60e01b815260040161042b929190614243565b8b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fc87b85efc5055ef177e0092af0d4e624fff4b1d57db748857f65e4b7e4a28a368d8b6040516107e7929190614243565b60405180910390a450505050509550959350505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086591906144c4565b925061087f9150506001600160a01b03881633898961148e565b6000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156108c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e4919061455b565b90506000806108f3838a6119a9565b91509150600061092961090e866001600160a01b0316611731565b844261091f368d90038d018d614642565b88939291906119e4565b509050886109378284614775565b1015610963576109478183614775565b89604051634e6ffe4760e11b815260040161042b929190614243565b8a6001600160a01b031663f6b911bc8c8e8d6040518463ffffffff1660e01b815260040161099393929190614788565b60408051808303816000875af11580156109b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d59190614728565b604080516000815260208101918290526307bb0e7160e41b9091529093506001600160a01b038d169150637bb0e71090610a16908f90859060248101614701565b60408051808303816000875af1158015610a34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a589190614728565b9650899050610a678284614775565b1015610a7557610a7561462c565b610a7f8183614775565b96508b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fac97b87f5422fa3beec99bff8f336310d8ebc7d33d909b7d534cd7c72f61e8718d8b6040516107e7929190614243565b6000806000806000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3a91906144c4565b50915091506000826001600160a01b031663b8f82b268b8b6040518363ffffffff1660e01b8152600401610b6f9291906147ac565b602060405180830381865afa158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb091906147c5565b90506000808c6001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c18919061455b565b9050610c2681848c426116c6565b919a509097509250505087871015610c55578688604051636a1dbf1b60e01b815260040161042b929190614243565b610c6a6001600160a01b038416338e8861148e565b610c7e82610c78838d6147de565b90611ae7565b95506001600160a01b038b16610d2957610c998b338c611b11565b836001600160a01b03166320e8c565878e8e8a866040518663ffffffff1660e01b8152600401610ccc94939291906147f5565b60206040518083038185885af1158015610cea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d0f91906147c5565b50610d248b33610d1f898e614762565b611b7d565b610db5565b610d348b3388611b11565b610d3e8b85611c41565b6040516320e8c56560e01b81526001600160a01b038516906320e8c56590610d70908f908f908b9087906004016147f5565b6020604051808303816000875af1158015610d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db391906147c5565b505b8b6001600160a01b031663156e29f68e83886040518463ffffffff1660e01b8152600401610de5939291906145dd565b6060604051808303816000875af1158015610e04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2891906145fe565b509097505087871015610e3d57610e3d61462c565b604080516001600160a01b038d81168252602082018d905291810187905260608101899052818f16918e169033907f7f646a534401967ac0913451efea28d9e170ffc164efa98e3957cde363c0245f9060800160405180910390a45050505096509650969350505050565b600080610ec06001600160a01b03861633878761148e565b610ecc86868686611cf9565b8092508193505050856001600160a01b0316856001600160a01b0316336001600160a01b03167fbc3c499a1de793e234d84bc867d7a02572ffafdb65cb029004f3df0db19e1e108786604051610f23929190614243565b60405180910390a494509492505050565b600080610f4c6001600160a01b03871633888861148e565b604051633dae446f60e21b81526001600160a01b0387169063f6b911bc90610f7c908a9081908a90600401614788565b60408051808303816000875af1158015610f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbe9190614728565b909250905083821015610fe857818460405163cb95352560e01b815260040161042b929190614243565b8281101561100d578083604051634e6ffe4760e11b815260040161042b929190614243565b866001600160a01b0316866001600160a01b0316336001600160a01b03167f5679d08d637341ee04c1fc1dd03601a3a56736e677507260a2ade55bad840b7d88858760405161105e939291906142a2565b60405180910390a49550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156110b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d891906144c4565b925050915060006110ec8984600189611db4565b90506110fc8a8a84848c8c6114ec565b909550935061110e602087018761481e565b6001600160a01b0316896001600160a01b0316336001600160a01b03167ff83776e5b667a2b471f92ddfd482749c61b5328b832d375097638c2c08818f3b8d8a602001358a604051611162939291906145dd565b60405180910390a45050509550959350505050565b6000806000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156111ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111de91906144c4565b509091506111f990506001600160a01b038916338a8a61148e565b604051633dae446f60e21b81526000906001600160a01b038a169063f6b911bc9061122c9085908e908d90600401614788565b60408051808303816000875af115801561124a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126e9190614728565b60405163769f8e5d60e01b81529094509091506001600160a01b0383169063769f8e5d906112a9908d9085908c908c9060019060040161483b565b6020604051808303816000875af11580156112c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ec91906147c5565b935084831015611313578285604051634e6ffe4760e11b815260040161042b929190614243565b60408051898152602081018590526001600160a01b03898116828401526060820187905291518c8316928c169133917f0eed48ee59ddaf7384d334727280158b7a75d5e84baa5614200f0506f08bb4fb9181900360800190a45050965096945050505050565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156113bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e091906144c4565b509091506113fb90506001600160a01b03871633888861148e565b600061140a8288886001611cf9565b9350905061141c888383886000611f52565b935061142b602086018661481e565b6001600160a01b0316876001600160a01b0316336001600160a01b03167f3fff08e8137afe866dce7ced13ddc12d684db61b80b0ac5cb9e54961c9dd8a218b8a8960405161147b939291906145dd565b60405180910390a4505094509492505050565b6114e6846323b872dd60e01b8585856040516024016114af93929190614788565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612142565b50505050565b6000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611530573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611554919061455b565b9050600061158861156d896001600160a01b0316611731565b884261157e368a90038a018a614642565b8693929190612214565b505060408051600080825260208201928390526307bb0e7160e41b909252919250906001600160a01b038b1690637bb0e710906115cc908d90869060248101614701565b60408051808303816000875af11580156115ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160e9190614728565b945090506001600160a01b038a1663156e29f68c61162c848c614762565b856040518463ffffffff1660e01b815260040161164b939291906145dd565b6060604051808303816000875af115801561166a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168e91906145fe565b5090955050868510156116b8578487604051636a1dbf1b60e01b815260040161042b929190614243565b505050965096945050505050565b6000806000806000806000806116ee8c6116df8d6123d9565b6116e88d6123d9565b8c6123f3565b93509350935093506116ff846125ab565b975061170a836125ab565b9650611715826125ab565b9550611720816125ab565b945050505050945094509450949050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611773573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179791906147c5565b92915050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036117ee5760405162461bcd60e51b815260040161042b9061486f565b602081015160608201518251600092611806926125ba565b9050600061182f87600061182a866040015161182587602001516126b4565b6126cb565b6126e1565b9050611843816020015184604001516126cb565b602082015260005b81606001518110156119845760008061186e8486886000015160000151866127ac565b915091508161188257602084015250611974565b6000806118998860000151888a6020015186612814565b915091506000806000856118b48c60000151600001516125ab565b6118be9190614775565b90506000868c604001516118d29190614762565b9050600085876118e98f60000151602001516125ab565b6118f39190614762565b6118fd9190614762565b905061190983886147de565b945061191581836147de565b935050505061192982828a60800151612856565b156119435750929a50909850965061199e95505050505050565b80821161195c57611955856001614775565b885261196d565b611967600186614762565b60208901525b5050505050505b61197d81614897565b905061184b565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000806119c1866119bc876123d9565b61289f565b915091506119ce826125ab565b93506119d9816125ab565b925050509250929050565b604080516080810182528681526020810186905290810184905260608101839052600090819081611a168989886125ba565b90506000611a37866000611a328587600001516000015161296a565b612a07565b905060005b8160600151811015611984576000611a548383612a39565b9050600080611a6d876000015187896020015186612aa5565b9150915086604001518211611ab85782855260408701516080860151600091611a9891859190612ac6565b90508015611ab25750919750909550611add945050505050565b50611ac9565b611ac3600184614762565b60208601525b50505080611ad690614897565b9050611a3c565b9550959350505050565b6000816001611af68286614775565b611b009190614762565b611b0a91906148c6565b9392505050565b6001600160a01b038316611b6257803414611b5d5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b604482015260640161042b565b505050565b8015611b5d57611b5d6001600160a01b03841683308461148e565b80600003611b8a57505050565b6001600160a01b038316611c2d576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611be5576040519150601f19603f3d011682016040523d82523d6000602084013e611bea565b606091505b50509050806114e65760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161042b565b611b5d6001600160a01b0384168383612af4565b6001600160a01b038216611c53575050565b611c6560026001600160601b036148da565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015611cbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce291906147c5565b1015611cf557611cf58282600019612b13565b5050565b600080846001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5e9190614900565b15611d7557611d6e868686612c27565b9150611d86565b611d80868686612d8b565b90925090505b82821015611dab57818360405163cb95352560e01b815260040161042b929190614243565b94509492505050565b6000611dd1611dc6602084018461481e565b338460200135611b11565b611de1606083016040840161481e565b6001600160a01b0316611df7602084018461481e565b6001600160a01b031614611e6157611e61611e15602084018461481e565b6020840135611e276060860186614922565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612ea592505050565b611e7a611e74606084016040850161481e565b85611c41565b6000611e94611e8f606085016040860161481e565b612f9f565b9050600080611ea9606086016040870161481e565b6001600160a01b031614611ebe576000611ec0565b815b90506001600160a01b0386166320e8c5658289611ee36060890160408a0161481e565b868a6040518663ffffffff1660e01b8152600401611f0494939291906147f5565b60206040518083038185885af1158015611f22573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f4791906147c5565b979650505050505050565b60008115611f6f57611f6f6001600160a01b03861633878761148e565b611f7c602084018461481e565b6001600160a01b0316611f95606085016040860161481e565b6001600160a01b031603612035576001600160a01b03851663769f8e5d8786611fc4606088016040890161481e565b876020013560016040518663ffffffff1660e01b8152600401611feb95949392919061483b565b6020604051808303816000875af115801561200a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202e91906147c5565b9050612139565b60006001600160a01b03861663769f8e5d30876120586060890160408a0161481e565b6001806040518663ffffffff1660e01b815260040161207b95949392919061483b565b6020604051808303816000875af115801561209a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120be91906147c5565b90506120e16120d3606086016040870161481e565b82611e276060880188614922565b6120f1611e8f602086018661481e565b915083602001358210156121205781846020013560405163c5b5576d60e01b815260040161042b929190614243565b612137612130602086018661481e565b8884611b7d565b505b95945050505050565b6000612197826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166130299092919063ffffffff16565b805190915015611b5d57808060200190518101906121b59190614900565b611b5d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161042b565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036122655760405162461bcd60e51b815260040161042b9061486f565b60208101516060820151825160009261227d926125ba565b90506000612299876000611a328587600001516000015161296a565b905060005b81606001518110156119845760006122b68383612a39565b90506000806122cf876000015187896020015186612aa5565b9150915086604001518211156122f8576122ea600184614762565b6020860152506123c9915050565b6000806000848a6040015161230d9190614762565b90506000866123238c60000151600001516125ab565b61232d9190614762565b9050600085876123408d602001516125ab565b61234a9190614775565b6123549190614762565b905061236081896147de565b935061236c82846147de565b945050505061238081838960800151612856565b156123995750929950909750955061199e945050505050565b8181116123b2576123ab856001614775565b87526123c3565b6123bd600186614762565b60208801525b50505050505b6123d281614897565b905061229e565b60006001600160ff1b038211156123ef57600080fd5b5090565b6000808080861580612403575085155b15612421576040516325daaec360e01b815260040160405180910390fd5b60c088015185106124455760405163b2094b5960e01b815260040160405180910390fd5b8760400151600003612492576103e861247661247161246c6124678a8c61496f565b6125ab565b613038565b6123d9565b612480919061499f565b92506103e89350869150859050612535565b87516040890151600091906124a7908961496f565b6124b191906149c6565b9050600089602001518a604001518a6124ca919061496f565b6124d491906149c6565b90508082121561250a578194508792508960400151858b602001516124f9919061496f565b61250391906149c6565b9350612532565b8094508893508960400151858b60000151612525919061496f565b61252f91906149c6565b92505b50505b8260000361255657604051631997ea8d60e31b815260040160405180910390fd5b818860200181815161256891906149f4565b90525087518190899061257c9083906149f4565b90525061258984846149f4565b8860400181815161259a91906149f4565b905250929791965094509092509050565b6000808212156123ef57600080fd5b6125e56040518060800160405280600081526020016000815260200160008152602001600081525090565b60c084015182106126095760405163b2094b5960e01b815260040160405180910390fd5b6000828560c0015161261b9190614762565b905061262785826130a8565b82526020850151612639908590613104565b60208301528451158061264e57506020820151155b15612675578451602083015160405163b1c4aefb60e01b815261042b929190600401614243565b6126938560000151866101000151846020015185600001518561313b565b604083015260a08501516126a790826131bc565b6060830152509392505050565b600060016126c1836125ab565b6117979190614762565b60008183106126da5781611b0a565b5090919050565b61271a6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b835161272690846131f0565b8152602084015161273790836126cb565b60208201819052815111806127575750670de0b6b3a76400008460800151115b1561278457835160208501516080860151604051632cc06bc160e21b815261042b939291906004016142a2565b6040808501519082015260608085015190820152608093840151938101939093525090919050565b60008060006127bb8785612a39565b90508660a0015181116127d357600192509050611dab565b60006127e887876127e3856123d9565b6131ff565b905060008112156127ff5750600092509050611dab565b5060a096909601869052506001959350505050565b6000806000806128318787612828886132f1565b8b929190613308565b9150915061283e826125ab565b9350612849816125ab565b9250505094509492505050565b6000836128748461286f85670de0b6b3a7640000614762565b61344e565b1115801561289757506128938361286f84670de0b6b3a7640000614775565b8411155b949350505050565b600080826000036128c3576040516325daaec360e01b815260040160405180910390fd5b604084015160208501516128d7908561496f565b6128e191906149c6565b60408501518551919350906128f6908561496f565b61290091906149c6565b905081158061290d575080155b1561292b57604051631997ea8d60e31b815260040160405180910390fd5b604084015161293a908461346e565b6040850152835161294b908261346e565b8452602084015161295c908361346e565b602090940193909352929050565b60008061299761299285600001518660400151876060015161298c919061499f565b906134b5565b6134d8565b905060006129b76129b0670de0b6b3a7640000846149f4565b83906138ed565b905060006129d58660200151866129ce91906149f4565b83906134b5565b905060006129e3828761499f565b90506103e86129f1826125ab565b6129fd906103e76147de565b611f4791906148c6565b61271a6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b600081158015612a4c5750604083015115155b15612a5c57506040820151611797565b6020830151835111612a8c5760208301518351600291612a7b91614775565b612a8591906148c6565b9050611797565b604051637d388ed960e11b815260040160405180910390fd5b600080600080612ab98787612828886123d9565b9150915061283e82613913565b60008284111580156128975750612ae98361286f84670de0b6b3a7640000614762565b909310159392505050565b611b5d8363a9059cbb60e01b84846040516024016114af9291906147ac565b600080846001600160a01b031663095ea7b360e01b8585604051602401612b3b9291906147ac565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051612b799190614a1c565b6000604051808303816000865af19150503d8060008114612bb6576040519150601f19603f3d011682016040523d82523d6000602084013e612bbb565b606091505b5091509150818015612be5575080511580612be5575080806020019051810190612be59190614900565b612c205760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640161042b565b5050505050565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612c68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c8c91906144c4565b925050506000846001600160a01b031663f6b911bc8784876040518463ffffffff1660e01b8152600401612cc293929190614788565b60408051808303816000875af1158015612ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d049190614728565b5060405163bcb7ea5d60e01b81529091506001600160a01b0383169063bcb7ea5d90612d349089906004016141a8565b6020604051808303816000875af1158015612d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7791906147c5565b612d819082614775565b9695505050505050565b600080600080856001600160a01b031663f6b911bc8888886040518463ffffffff1660e01b8152600401612dc193929190614788565b60408051808303816000875af1158015612ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e039190614728565b604080516000808252602082019283905263d8e763c160e01b909252929450909250906001600160a01b0388169063d8e763c190612e48908b90869060248101614701565b60408051808303816000875af1158015612e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e8a9190614728565b94509050612e988184614775565b9450505050935093915050565b612ecf837f0000000000000000000000000000000000000000000000000000000000000000611c41565b60405163726d379760e11b815260009073__$802f57dc5d2627d21bbb7805eff3c348c4$__9063e4da6f2e90612f0b9085908790600401614a38565b600060405180830381865af4158015612f28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f509190810190614a5a565b9050612c20816001600160a01b03861615612f6c576000612f6e565b845b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190613925565b60006001600160a01b03821615613022576040516370a0823160e01b81526001600160a01b038316906370a0823190612fdc9030906004016141a8565b602060405180830381865afa158015612ff9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061301d91906147c5565b611797565b4792915050565b60606128978484600085613947565b6000600382111561309957508060006130526002836148c6565b61305d906001614775565b90505b818110156130935790508060028161307881866148c6565b6130829190614775565b61308c91906148c6565b9050613060565b50919050565b81156130a3575060015b919050565b60006130b3826123d9565b6130c56124716201518061016d6147de565b84608001516130d4919061496f565b6130de91906149c6565b90506000811361179757604051630e520c3b60e11b81526004810182905260240161042b565b6000806000831261311657600161311a565b6000195b90506131316124718561312c86613913565b613a6d565b612897908261496f565b60008061314886846131bc565b9050670de0b6b3a76400008112156131765760405163329e322960e21b81526004810182905260240161042b565b600061318c613185878a6149f4565b89906138ed565b9050600061319982613a82565b90506131a581876138ed565b6131af908461499f565b9998505050505050505050565b6000806131ce6201518061016d6147de565b6131d884866147de565b6131e291906148c6565b9050612897612992826123d9565b60008183116126da5781611b0a565b600080828560200151613212919061499f565b9050600061322085856149f4565b90506000821380156132325750600081135b6132735760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b604482015260640161042b565b60006132a1613282848461496f565b602089015161329190896149f4565b61329b908861496f565b906138ed565b905060006132b76132b284866138ed565b613ad1565b88519091506000906132d290670de0b6b3a7640000906138ed565b90506132e28161298c848661499f565b89604001516131af919061499f565b60006132fc826123d9565b6117979060001961496f565b600080600061332a876000015187602001518860000151896040015188613b5d565b9050600061334061333b86846138ed565b613c0e565b606088015190915060008613156133af57600061335d84836138ed565b9050670de0b6b3a764000081121561338b5760405163329e322960e21b81526004810182905260240161042b565b6133a76133a083670de0b6b3a764000061499f565b84906134b5565b9150506133dc565b6133d9816133c581670de0b6b3a764000061499f565b6133cf908561496f565b61333b91906149c6565b90505b600060646133ed8b60e001516123d9565b6133f7908461496f565b61340191906149c6565b9050600061340f838561499f565b905060008112613428576134238982613c1c565b613432565b6134328982613c49565b965061343e8983613c1c565b9550505050505094509492505050565b60008061345b83856147de565b670de0b6b3a76400009004949350505050565b6000818312156134ab5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b604482015260640161042b565b611b0a828461499f565b6000806134c2838561496f565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff1982121580156134fd575068070c1cc73b00c800008213155b61353c5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161042b565b600082121561357457613551826000036134d8565b6a0c097ce7bc90715b34b9f160241b8161356d5761356d6148b0565b0592915050565b60006806f05b59d3b200000083126135b257506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b6135e8565b6803782dace9d900000083126135e457506803782dace9d8ffffff19909101906b1425982cf597cd205cef73806135e8565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126136385768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412613674576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126136ae57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126136e8576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261372157680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261375a5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412613793576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126137cc5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080613902670de0b6b3a76400008561496f565b90508281816134cf576134cf6148b0565b60008082136123ef5761301d82614afb565b6060612897848484604051806060016040528060298152602001614b2b602991395b6060824710156139a85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161042b565b6001600160a01b0385163b6139ff5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161042b565b600080866001600160a01b03168587604051613a1b9190614a1c565b60006040518083038185875af1925050503d8060008114613a58576040519150601f19603f3d011682016040523d82523d6000602084013e613a5d565b606091505b5091509150611f47828286613c76565b6000670de0b6b3a7640000611b0084846147de565b6000670de0b6b3a76400008203613aac5760405163a9c8b14d60e01b815260040160405180910390fd5b6000613aca613ac384670de0b6b3a764000061499f565b84906138ed565b9050611b0a815b6000808213613b125760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640161042b565b670c7d713b49da000082138015613b305750670f43fc2c04ee000082125b15613b5457670de0b6b3a7640000613b4783613caf565b8161356d5761356d6148b0565b61179782613dce565b600080613b6a878461346e565b90506000613b7b6129b0888a6149f4565b9050670d529ae9e8600000811315613bb25780670d529ae9e8600000604051637e34684f60e11b815260040161042b929190614243565b6000613bbd82613a82565b905085613bca82896138ed565b613bd491906149f4565b9350670de0b6b3a7640000841215613c025760405163329e322960e21b81526004810185905260240161042b565b50505095945050505050565b60006117978260001961496f565b60008060008312613c2e576001613c32565b6000195b905061313161247185613c4486613913565b614171565b60008060008312613c5b576001613c5f565b6000195b905061313161247185613c7186613913565b614186565b60608315613c85575081611b0a565b825115613c955782518084602001fd5b8160405162461bcd60e51b815260040161042b9190614b17565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281613cf057613cf06148b0565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215613e0f57613e06826a0c097ce7bc90715b34b9f160241b81613e0057613e006148b0565b05613dce565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312613e5a5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312613e91576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312613ed9576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312613f14576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312613f4b57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312613f8257690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312613fb75768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312613fe257680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312614017576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f1775788937937831261404c576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312614080576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126140b4576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d6310000080860302816140dd576140dd6148b0565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b600082611b00670de0b6b3a7640000846147de565b60008260018161419e670de0b6b3a7640000866147de565b611af69190614775565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146141d157600080fd5b50565b600060a0828403121561309357600080fd5b600080600080600061012086880312156141ff57600080fd5b853561420a816141bc565b9450602086013561421a816141bc565b9350604086013592506060860135915061423787608088016141d4565b90509295509295909350565b918252602082015260400190565b600080600080600060a0868803121561426957600080fd5b8535614274816141bc565b94506020860135614284816141bc565b94979496505050506040830135926060810135926080909101359150565b9283526020830191909152604082015260600190565b60008060008060008060c087890312156142d157600080fd5b86356142dc816141bc565b955060208701356142ec816141bc565b945060408701356142fc816141bc565b959894975094956060810135955060808101359460a0909101359350915050565b6000806000806080858703121561433357600080fd5b843561433e816141bc565b9350602085013561434e816141bc565b93969395505050506040820135916060013590565b60006080828403121561309357600080fd5b6000806000806000610120868803121561438e57600080fd5b8535614399816141bc565b945060208601356143a9816141bc565b9350604086013592506143bf87606088016141d4565b91506101008601356001600160401b038111156143db57600080fd5b6143e788828901614363565b9150509295509295909350565b60008060008060008060c0878903121561440d57600080fd5b8635614418816141bc565b95506020870135614428816141bc565b945060408701359350606087013561443f816141bc565b9598949750929560808101359460a0909101359350915050565b6000806000806080858703121561446f57600080fd5b843561447a816141bc565b9350602085013561448a816141bc565b92506040850135915060608501356001600160401b038111156144ac57600080fd5b6144b887828801614363565b91505092959194509250565b6000806000606084860312156144d957600080fd5b83516144e4816141bc565b60208501519093506144f5816141bc565b6040850151909250614506816141bc565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561454a5761454a614511565b60405290565b80516130a3816141bc565b6000610120828403121561456e57600080fd5b614576614527565b82518152602083015160208201526040830151604082015261459a60608401614550565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b6001600160a01b039390931683526020830191909152604082015260600190565b60008060006060848603121561461357600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052600160045260246000fd5b600060a0828403121561465457600080fd5b60405160a081016001600160401b038111828210171561467657614676614511565b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60005b838110156146cc5781810151838201526020016146b4565b50506000910152565b600081518084526146ed8160208601602086016146b1565b601f01601f19169290920160200192915050565b60018060a01b038416815282602082015260606040820152600061213960608301846146d5565b6000806040838503121561473b57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b818103818111156117975761179761474c565b808201808211156117975761179761474c565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6000602082840312156147d757600080fd5b5051919050565b80820281158282048414176117975761179761474c565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561483057600080fd5b8135611b0a816141bc565b6001600160a01b03958616815260208101949094529190931660408301526060820192909252901515608082015260a00190565b6020808252600e908201526d06e6f206578697374696e67206c760941b604082015260600190565b6000600182016148a9576148a961474c565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826148d5576148d56148b0565b500490565b60006001600160601b03838116806148f4576148f46148b0565b92169190910492915050565b60006020828403121561491257600080fd5b81518015158114611b0a57600080fd5b6000808335601e1984360301811261493957600080fd5b8301803591506001600160401b0382111561495357600080fd5b60200191503681900382131561496857600080fd5b9250929050565b80820260008212600160ff1b8414161561498b5761498b61474c565b81810583148215176117975761179761474c565b81810360008312801583831316838312821617156149bf576149bf61474c565b5092915050565b6000826149d5576149d56148b0565b600160ff1b8214600019841416156149ef576149ef61474c565b500590565b8082018281126000831280158216821582161715614a1457614a1461474c565b505092915050565b60008251614a2e8184602087016146b1565b9190910192915050565b604081526000614a4b60408301856146d5565b90508260208301529392505050565b600060208284031215614a6c57600080fd5b81516001600160401b0380821115614a8357600080fd5b818401915084601f830112614a9757600080fd5b815181811115614aa957614aa9614511565b604051601f8201601f19908116603f01168101908382118183101715614ad157614ad1614511565b81604052828152876020848701011115614aea57600080fd5b611f478360208301602088016146b1565b6000600160ff1b8201614b1057614b1061474c565b5060000390565b602081526000611b0a60208301846146d556fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220003f718c44c5b0b5af53d962447d83de446d1e09411db3c5f949e714036e737064736f6c63430008110033";
|
|
1223
|
+
"0x60a06040523480156200001157600080fd5b5060405162004c2a38038062004c2a833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051614b89620000a16000396000818160da01528181612eab0152612f780152614b896000f3fe60806040526004361061008c5760003560e01c8063178d29d3146100915780631ef6f327146100c85780633af1f32914610109578063409c7a8914610129578063694ab559146101495780637307a7a51461016957806397ee279e1461018b578063b7d75b8b146101ab578063f17b8c4a146101cb578063f3a411b8146101de578063febde725146101fe575b600080fd5b34801561009d57600080fd5b506100b16100ac3660046141c0565b61021e565b6040516100bf929190614206565b60405180910390f35b3480156100d457600080fd5b506100fc7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100bf9190614214565b34801561011557600080fd5b506100b161012436600461423a565b6102aa565b34801561013557600080fd5b506100b161014436600461423a565b610564565b34801561015557600080fd5b506100b161016436600461423a565b610662565b61017c610177366004614297565b610934565b6040516100bf939291906142fc565b34801561019757600080fd5b5061017c6101a6366004614312565b610d0c565b3480156101b757600080fd5b506100b16101c6366004614312565b610f34565b6100b16101d9366004614375565b611070565b3480156101ea57600080fd5b506100b16101f93660046143f4565b611177565b34801561020a57600080fd5b506100b1610219366004614459565b611379565b6000806102366001600160a01b03861633878761148e565b610242868686866114ec565b8092508193505050856001600160a01b0316856001600160a01b0316336001600160a01b03167fd31f02c44717b409d13b92ec9d2eaf1427fb4e63f85f4777f1458fb8d93877618786604051610299929190614206565b60405180910390a494509492505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031291906144c4565b92509250506000886001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037c919061455b565b905060006103b0610395846001600160a01b03166115a7565b8a426103a6368c90038c018c6145dd565b8693929190611613565b509091506103cb90506001600160a01b038516338c8c61148e565b60408051600080825260208201928390526329910b1160e01b9092526001600160a01b038c16906329910b1190610409908e9086906024810161469c565b60408051808303816000875af1158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b91906146c3565b965090506001600160a01b038b1663156e29f68d8361046a868f6146fd565b6040518463ffffffff1660e01b815260040161048893929190614710565b6060604051808303816000875af11580156104a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cb9190614731565b5090975050888710156104fe578689604051636a1dbf1b60e01b81526004016104f5929190614206565b60405180910390fd5b8b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fc87b85efc5055ef177e0092af0d4e624fff4b1d57db748857f65e4b7e4a28a368d8b60405161054d929190614206565b60405180910390a450505050509550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156105a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cc91906144c4565b9193509091506105e990506001600160a01b038316338a8a61148e565b6105f78989838a8a8a61181f565b8094508195505050886001600160a01b0316886001600160a01b0316336001600160a01b03167fb51950711c9b21dc7888d41f68a19540231ffb5f0d19d8f75cbccaf90ffa7fa58a8860405161064e929190614206565b60405180910390a450509550959350505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c991906144c4565b92506106e39150506001600160a01b03881633898961148e565b6000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610724573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610748919061455b565b9050600080610757838a6119f9565b91509150600061078d610772866001600160a01b03166115a7565b8442610783368d90038d018d6145dd565b8893929190611a34565b5090508861079b828461475f565b10156107c7576107ab818361475f565b89604051634e6ffe4760e11b81526004016104f5929190614206565b8a6001600160a01b031663f6b911bc8c8e8d6040518463ffffffff1660e01b81526004016107f793929190614772565b60408051808303816000875af1158015610815573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083991906146c3565b60408051600081526020810191829052635b709f1760e01b9091529093506001600160a01b038d169150635b709f179061087a908f9085906024810161469c565b60408051808303816000875af1158015610898573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bc91906146c3565b96508990506108cb828461475f565b10156108d9576108d9614796565b6108e3818361475f565b96508b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fac97b87f5422fa3beec99bff8f336310d8ebc7d33d909b7d534cd7c72f61e8718d8b60405161054d929190614206565b6000806000806000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561097a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099e91906144c4565b50915091506000826001600160a01b031663b8f82b268b8b6040518363ffffffff1660e01b81526004016109d39291906147ac565b602060405180830381865afa1580156109f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1491906147c5565b90506000808c6001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7c919061455b565b9050610a8a81848c42611b37565b919a509097509250505087871015610ab9578688604051636a1dbf1b60e01b81526004016104f5929190614206565b610ace6001600160a01b038416338e8861148e565b610ae282610adc838d6147de565b90611ba2565b95506001600160a01b038b16610b8d57610afd8b338c611bcc565b836001600160a01b03166320e8c565878e8e8a866040518663ffffffff1660e01b8152600401610b3094939291906147f5565b60206040518083038185885af1158015610b4e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b7391906147c5565b50610b888b33610b83898e6146fd565b611c38565b610c19565b610b988b3388611bcc565b610ba28b85611cfc565b6040516320e8c56560e01b81526001600160a01b038516906320e8c56590610bd4908f908f908b9087906004016147f5565b6020604051808303816000875af1158015610bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1791906147c5565b505b8b6001600160a01b031663156e29f68e83886040518463ffffffff1660e01b8152600401610c4993929190614710565b6060604051808303816000875af1158015610c68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8c9190614731565b509097505087871015610ca157610ca1614796565b604080516001600160a01b038d81168252602082018d905291810187905260608101899052818f16918e169033907f7f646a534401967ac0913451efea28d9e170ffc164efa98e3957cde363c0245f9060800160405180910390a45050505096509650969350505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610d52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7691906144c4565b50915091506000896001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de0919061455b565b9050610dee818a8a42611b37565b919850965094505086861015610e1b578587604051636a1dbf1b60e01b81526004016104f5929190614206565b610e306001600160a01b038416338c8861148e565b610e456001600160a01b038316338c8761148e565b604051630ab714fb60e11b81526001600160a01b038b169063156e29f690610e75908e9089908990600401614710565b6060604051808303816000875af1158015610e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb89190614731565b509096505086861015610ecd57610ecd614796565b8a6001600160a01b03168a6001600160a01b0316336001600160a01b03167f9334566f6358cd68e33d423fb1c9119c6837e3a2a7a8affaaa5020ed06aec06988888b604051610f1e939291906142fc565b60405180910390a4505050955095509592505050565b600080610f4c6001600160a01b03871633888861148e565b604051633dae446f60e21b81526001600160a01b0387169063f6b911bc90610f7c908a9081908a90600401614772565b60408051808303816000875af1158015610f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbe91906146c3565b909250905083821015610fe85781846040516305221cf360e11b81526004016104f5929190614206565b8281101561100d578083604051634e6ffe4760e11b81526004016104f5929190614206565b866001600160a01b0316866001600160a01b0316336001600160a01b03167fd9f35a37b64d95edfd8f26adf130ce45f3e9ddf3c7ab8c1fb7224727a339a98e88858760405161105e939291906142fc565b60405180910390a49550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156110b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d891906144c4565b925050915060006110ec8984600189611db4565b90506110fc8a8a84848c8c61181f565b909550935061110e602087018761481e565b6001600160a01b0316896001600160a01b0316336001600160a01b03167ff83776e5b667a2b471f92ddfd482749c61b5328b832d375097638c2c08818f3b8d8a602001358a60405161116293929190614710565b60405180910390a45050509550959350505050565b6000806000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156111ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111de91906144c4565b509091506111f990506001600160a01b038916338a8a61148e565b604051633dae446f60e21b81526000906001600160a01b038a169063f6b911bc9061122c9085908e908d90600401614772565b60408051808303816000875af115801561124a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126e91906146c3565b60405163769f8e5d60e01b81529094509091506001600160a01b0383169063769f8e5d906112a9908d9085908c908c9060019060040161483b565b6020604051808303816000875af11580156112c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ec91906147c5565b935084831015611313578285604051634e6ffe4760e11b81526004016104f5929190614206565b60408051898152602081018590526001600160a01b03898116828401526060820187905291518c8316928c169133917f0eed48ee59ddaf7384d334727280158b7a75d5e84baa5614200f0506f08bb4fb9181900360800190a45050965096945050505050565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156113bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e091906144c4565b509091506113fb90506001600160a01b03871633888861148e565b600061140a82888860016114ec565b9350905061141c888383886000611f52565b935061142b602086018661481e565b6001600160a01b0316876001600160a01b0316336001600160a01b03167f3fff08e8137afe866dce7ced13ddc12d684db61b80b0ac5cb9e54961c9dd8a218b8a8960405161147b93929190614710565b60405180910390a4505094509492505050565b6114e6846323b872dd60e01b8585856040516024016114af93929190614772565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612142565b50505050565b600080846001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611551919061486f565b1561156857611561868686612214565b9150611579565b611573868686612378565b90925090505b8282101561159e5781836040516305221cf360e11b81526004016104f5929190614206565b94509492505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156115e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160d91906147c5565b92915050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036116645760405162461bcd60e51b81526004016104f590614891565b60208101516060820151825160009261167c92612492565b905060006116a58760006116a0866040015161169b876020015161258c565b6125a3565b6125b9565b90506116b9816020015184604001516125a3565b602082015260005b81606001518110156117fa576000806116e4848688600001516000015186612684565b91509150816116f8576020840152506117ea565b60008061170f8860000151888a60200151866126ec565b9150915060008060008561172a8c600001516000015161272e565b611734919061475f565b90506000868c6040015161174891906146fd565b90506000858761175f8f600001516020015161272e565b61176991906146fd565b61177391906146fd565b905061177f83886147de565b945061178b81836147de565b935050505061179f82828a60800151612741565b156117b95750929a50909850965061181495505050505050565b8082116117d2576117cb85600161475f565b88526117e3565b6117dd6001866146fd565b60208901525b5050505050505b6117f3816148b9565b90506116c1565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611863573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611887919061455b565b905060006118bb6118a0896001600160a01b03166115a7565b88426118b1368a90038a018a6145dd565b869392919061278a565b50506040805160008082526020820192839052635b709f1760e01b909252919250906001600160a01b038b1690635b709f17906118ff908d9086906024810161469c565b60408051808303816000875af115801561191d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194191906146c3565b945090506001600160a01b038a1663156e29f68c61195f848c6146fd565b856040518463ffffffff1660e01b815260040161197e93929190614710565b6060604051808303816000875af115801561199d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c19190614731565b5090955050868510156119eb578487604051636a1dbf1b60e01b81526004016104f5929190614206565b505050965096945050505050565b600080600080611a1186611a0c8761294f565b612965565b91509150611a1e8261272e565b9350611a298161272e565b925050509250929050565b604080516080810182528681526020810186905290810184905260608101839052600090819081611a66898988612492565b90506000611a87866000611a8285876000015160000151612a30565b612acd565b905060005b81606001518110156117fa576000611aa48383612aff565b9050600080611abd876000015187896020015186612b6b565b9150915086604001518211611b085782855260408701516080860151600091611ae891859190612b8c565b90508015611b025750919750909550611b2d945050505050565b50611b19565b611b136001846146fd565b60208601525b50505080611b26906148b9565b9050611a8c565b9550959350505050565b600080600080600080600080611b5f8c611b508d61294f565b611b598d61294f565b8c612bba565b9350935093509350611b708461272e565b9750611b7b8361272e565b9650611b868261272e565b9550611b918161272e565b945050505050945094509450949050565b6000816001611bb1828661475f565b611bbb91906146fd565b611bc591906148e8565b9392505050565b6001600160a01b038316611c1d57803414611c185760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016104f5565b505050565b8015611c1857611c186001600160a01b03841683308461148e565b80600003611c4557505050565b6001600160a01b038316611ce8576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611ca0576040519150601f19603f3d011682016040523d82523d6000602084013e611ca5565b606091505b50509050806114e65760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016104f5565b611c186001600160a01b0384168383612d72565b6001600160a01b038216611d0e575050565b611d2060026001600160601b036148fc565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015611d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9d91906147c5565b1015611db057611db08282600019612d91565b5050565b6000611dd1611dc6602084018461481e565b338460200135611bcc565b611de1606083016040840161481e565b6001600160a01b0316611df7602084018461481e565b6001600160a01b031614611e6157611e61611e15602084018461481e565b6020840135611e276060860186614922565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612ea592505050565b611e7a611e74606084016040850161481e565b85611cfc565b6000611e94611e8f606085016040860161481e565b612f9f565b9050600080611ea9606086016040870161481e565b6001600160a01b031614611ebe576000611ec0565b815b90506001600160a01b0386166320e8c5658289611ee36060890160408a0161481e565b868a6040518663ffffffff1660e01b8152600401611f0494939291906147f5565b60206040518083038185885af1158015611f22573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f4791906147c5565b979650505050505050565b60008115611f6f57611f6f6001600160a01b03861633878761148e565b611f7c602084018461481e565b6001600160a01b0316611f95606085016040860161481e565b6001600160a01b031603612035576001600160a01b03851663769f8e5d8786611fc4606088016040890161481e565b876020013560016040518663ffffffff1660e01b8152600401611feb95949392919061483b565b6020604051808303816000875af115801561200a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202e91906147c5565b9050612139565b60006001600160a01b03861663769f8e5d30876120586060890160408a0161481e565b6001806040518663ffffffff1660e01b815260040161207b95949392919061483b565b6020604051808303816000875af115801561209a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120be91906147c5565b90506120e16120d3606086016040870161481e565b82611e276060880188614922565b6120f1611e8f602086018661481e565b915083602001358210156121205781846020013560405163c5b5576d60e01b81526004016104f5929190614206565b612137612130602086018661481e565b8884611c38565b505b95945050505050565b6000612197826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166130299092919063ffffffff16565b805190915015611c1857808060200190518101906121b5919061486f565b611c185760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104f5565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612255573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227991906144c4565b925050506000846001600160a01b031663f6b911bc8784876040518463ffffffff1660e01b81526004016122af93929190614772565b60408051808303816000875af11580156122cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122f191906146c3565b5060405163bcb7ea5d60e01b81529091506001600160a01b0383169063bcb7ea5d90612321908990600401614214565b6020604051808303816000875af1158015612340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061236491906147c5565b61236e908261475f565b9695505050505050565b600080600080856001600160a01b031663f6b911bc8888886040518463ffffffff1660e01b81526004016123ae93929190614772565b60408051808303816000875af11580156123cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f091906146c3565b60408051600080825260208201928390526329910b1160e01b909252929450909250906001600160a01b038816906329910b1190612435908b9086906024810161469c565b60408051808303816000875af1158015612453573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061247791906146c3565b94509050612485818461475f565b9450505050935093915050565b6124bd6040518060800160405280600081526020016000815260200160008152602001600081525090565b60c084015182106124e15760405163b2094b5960e01b815260040160405180910390fd5b6000828560c001516124f391906146fd565b90506124ff8582613038565b82526020850151612511908590613094565b60208301528451158061252657506020820151155b1561254d578451602083015160405163b1c4aefb60e01b81526104f5929190600401614206565b61256b856000015186610100015184602001518560000151856130cb565b604083015260a085015161257f908261314c565b6060830152509392505050565b600060016125998361272e565b61160d91906146fd565b60008183106125b25781611bc5565b5090919050565b6125f26040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b83516125fe9084613180565b8152602084015161260f90836125a3565b602082018190528151118061262f5750670de0b6b3a76400008460800151115b1561265c57835160208501516080860151604051632cc06bc160e21b81526104f5939291906004016142fc565b6040808501519082015260608085015190820152608093840151938101939093525090919050565b60008060006126938785612aff565b90508660a0015181116126ab5760019250905061159e565b60006126c087876126bb8561294f565b61318f565b905060008112156126d7575060009250905061159e565b5060a096909601869052506001959350505050565b600080600080612709878761270088613281565b8b929190613298565b915091506127168261272e565b93506127218161272e565b9250505094509492505050565b60008082121561273d57600080fd5b5090565b60008361275f8461275a85670de0b6b3a76400006146fd565b6133de565b11158015612782575061277e8361275a84670de0b6b3a764000061475f565b8411155b949350505050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036127db5760405162461bcd60e51b81526004016104f590614891565b6020810151606082015182516000926127f392612492565b9050600061280f876000611a8285876000015160000151612a30565b905060005b81606001518110156117fa57600061282c8383612aff565b9050600080612845876000015187896020015186612b6b565b91509150866040015182111561286e576128606001846146fd565b60208601525061293f915050565b6000806000848a6040015161288391906146fd565b90506000866128998c600001516000015161272e565b6128a391906146fd565b9050600085876128b68d6020015161272e565b6128c0919061475f565b6128ca91906146fd565b90506128d681896147de565b93506128e282846147de565b94505050506128f681838960800151612741565b1561290f57509299509097509550611814945050505050565b8181116129285761292185600161475f565b8752612939565b6129336001866146fd565b60208801525b50505050505b612948816148b9565b9050612814565b60006001600160ff1b0382111561273d57600080fd5b60008082600003612989576040516325daaec360e01b815260040160405180910390fd5b6040840151602085015161299d908561496f565b6129a7919061499f565b60408501518551919350906129bc908561496f565b6129c6919061499f565b90508115806129d3575080155b156129f157604051631997ea8d60e31b815260040160405180910390fd5b6040840151612a0090846133fe565b60408501528351612a1190826133fe565b84526020840151612a2290836133fe565b602090940193909352929050565b600080612a5d612a58856000015186604001518760600151612a5291906149cd565b90613445565b613468565b90506000612a7d612a76670de0b6b3a7640000846149f4565b839061387d565b90506000612a9b866020015186612a9491906149f4565b8390613445565b90506000612aa982876149cd565b90506103e8612ab78261272e565b612ac3906103e76147de565b611f4791906148e8565b6125f26040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b600081158015612b125750604083015115155b15612b225750604082015161160d565b6020830151835111612b525760208301518351600291612b419161475f565b612b4b91906148e8565b905061160d565b604051637d388ed960e11b815260040160405180910390fd5b600080600080612b7f87876127008861294f565b91509150612716826138a3565b60008284111580156127825750612baf8361275a84670de0b6b3a76400006146fd565b909310159392505050565b6000808080861580612bca575085155b15612be8576040516325daaec360e01b815260040160405180910390fd5b60c08801518510612c0c5760405163b2094b5960e01b815260040160405180910390fd5b8760400151600003612c59576103e8612c3d612c38612c33612c2e8a8c61496f565b61272e565b6138b5565b61294f565b612c4791906149cd565b92506103e89350869150859050612cfc565b8751604089015160009190612c6e908961496f565b612c78919061499f565b9050600089602001518a604001518a612c91919061496f565b612c9b919061499f565b905080821215612cd1578194508792508960400151858b60200151612cc0919061496f565b612cca919061499f565b9350612cf9565b8094508893508960400151858b60000151612cec919061496f565b612cf6919061499f565b92505b50505b82600003612d1d57604051631997ea8d60e31b815260040160405180910390fd5b8188602001818151612d2f91906149f4565b905250875181908990612d439083906149f4565b905250612d5084846149f4565b88604001818151612d6191906149f4565b905250929791965094509092509050565b611c188363a9059cbb60e01b84846040516024016114af9291906147ac565b600080846001600160a01b031663095ea7b360e01b8585604051602401612db99291906147ac565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051612df79190614a1c565b6000604051808303816000865af19150503d8060008114612e34576040519150601f19603f3d011682016040523d82523d6000602084013e612e39565b606091505b5091509150818015612e63575080511580612e63575080806020019051810190612e63919061486f565b612e9e5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016104f5565b5050505050565b612ecf837f0000000000000000000000000000000000000000000000000000000000000000611cfc565b60405163726d379760e11b815260009073__$802f57dc5d2627d21bbb7805eff3c348c4$__9063e4da6f2e90612f0b9085908790600401614a38565b600060405180830381865af4158015612f28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f509190810190614a5a565b9050612e9e816001600160a01b03861615612f6c576000612f6e565b845b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190613925565b60006001600160a01b03821615613022576040516370a0823160e01b81526001600160a01b038316906370a0823190612fdc903090600401614214565b602060405180830381865afa158015612ff9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061301d91906147c5565b61160d565b4792915050565b60606127828484600085613947565b60006130438261294f565b613055612c386201518061016d6147de565b8460800151613064919061496f565b61306e919061499f565b90506000811361160d57604051630e520c3b60e11b8152600481018290526024016104f5565b600080600083126130a65760016130aa565b6000195b90506130c1612c38856130bc866138a3565b613a6d565b612782908261496f565b6000806130d8868461314c565b9050670de0b6b3a76400008112156131065760405163329e322960e21b8152600481018290526024016104f5565b600061311c613115878a6149f4565b899061387d565b9050600061312982613a82565b9050613135818761387d565b61313f90846149cd565b9998505050505050505050565b60008061315e6201518061016d6147de565b61316884866147de565b61317291906148e8565b9050612782612a588261294f565b60008183116125b25781611bc5565b6000808285602001516131a291906149cd565b905060006131b085856149f4565b90506000821380156131c25750600081135b6132035760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b60448201526064016104f5565b6000613231613212848461496f565b602089015161322190896149f4565b61322b908861496f565b9061387d565b90506000613247613242848661387d565b613ad1565b885190915060009061326290670de0b6b3a76400009061387d565b905061327281612a5284866149cd565b896040015161313f91906149cd565b600061328c8261294f565b61160d9060001961496f565b60008060006132ba876000015187602001518860000151896040015188613b5d565b905060006132d06132cb868461387d565b613c0e565b6060880151909150600086131561333f5760006132ed848361387d565b9050670de0b6b3a764000081121561331b5760405163329e322960e21b8152600481018290526024016104f5565b61333761333083670de0b6b3a76400006149cd565b8490613445565b91505061336c565b6133698161335581670de0b6b3a76400006149cd565b61335f908561496f565b6132cb919061499f565b90505b6000606461337d8b60e0015161294f565b613387908461496f565b613391919061499f565b9050600061339f83856149cd565b9050600081126133b8576133b38982613c1c565b6133c2565b6133c28982613c49565b96506133ce8983613c1c565b9550505050505094509492505050565b6000806133eb83856147de565b670de0b6b3a76400009004949350505050565b60008183121561343b5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b60448201526064016104f5565b611bc582846149cd565b600080613452838561496f565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff19821215801561348d575068070c1cc73b00c800008213155b6134cc5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016104f5565b6000821215613504576134e182600003613468565b6a0c097ce7bc90715b34b9f160241b816134fd576134fd6148d2565b0592915050565b60006806f05b59d3b2000000831261354257506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b613578565b6803782dace9d9000000831261357457506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380613578565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126135c85768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412613604576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261363e57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412613678576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126136b157680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126136ea5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412613723576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261375c5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080613892670de0b6b3a76400008561496f565b905082818161345f5761345f6148d2565b600080821361273d5761301d82614afb565b6000600382111561391657508060006138cf6002836148e8565b6138da90600161475f565b90505b81811015613910579050806002816138f581866148e8565b6138ff919061475f565b61390991906148e8565b90506138dd565b50919050565b8115613920575060015b919050565b6060612782848484604051806060016040528060298152602001614b2b602991395b6060824710156139a85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104f5565b6001600160a01b0385163b6139ff5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104f5565b600080866001600160a01b03168587604051613a1b9190614a1c565b60006040518083038185875af1925050503d8060008114613a58576040519150601f19603f3d011682016040523d82523d6000602084013e613a5d565b606091505b5091509150611f47828286613c76565b6000670de0b6b3a7640000611bbb84846147de565b6000670de0b6b3a76400008203613aac5760405163a9c8b14d60e01b815260040160405180910390fd5b6000613aca613ac384670de0b6b3a76400006149cd565b849061387d565b9050611bc5815b6000808213613b125760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016104f5565b670c7d713b49da000082138015613b305750670f43fc2c04ee000082125b15613b5457670de0b6b3a7640000613b4783613caf565b816134fd576134fd6148d2565b61160d82613dce565b600080613b6a87846133fe565b90506000613b7b612a76888a6149f4565b9050670d529ae9e8600000811315613bb25780670d529ae9e8600000604051637e34684f60e11b81526004016104f5929190614206565b6000613bbd82613a82565b905085613bca828961387d565b613bd491906149f4565b9350670de0b6b3a7640000841215613c025760405163329e322960e21b8152600481018590526024016104f5565b50505095945050505050565b600061160d8260001961496f565b60008060008312613c2e576001613c32565b6000195b90506130c1612c3885613c44866138a3565b614171565b60008060008312613c5b576001613c5f565b6000195b90506130c1612c3885613c71866138a3565b614186565b60608315613c85575081611bc5565b825115613c955782518084602001fd5b8160405162461bcd60e51b81526004016104f59190614b17565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281613cf057613cf06148d2565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215613e0f57613e06826a0c097ce7bc90715b34b9f160241b81613e0057613e006148d2565b05613dce565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312613e5a5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312613e91576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312613ed9576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312613f14576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312613f4b57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312613f8257690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312613fb75768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312613fe257680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312614017576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f1775788937937831261404c576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312614080576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126140b4576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d6310000080860302816140dd576140dd6148d2565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b600082611bbb670de0b6b3a7640000846147de565b60008260018161419e670de0b6b3a7640000866147de565b611bb1919061475f565b6001600160a01b03811681146141bd57600080fd5b50565b600080600080608085870312156141d657600080fd5b84356141e1816141a8565b935060208501356141f1816141a8565b93969395505050506040820135916060013590565b918252602082015260400190565b6001600160a01b0391909116815260200190565b600060a0828403121561391057600080fd5b6000806000806000610120868803121561425357600080fd5b853561425e816141a8565b9450602086013561426e816141a8565b9350604086013592506060860135915061428b8760808801614228565b90509295509295909350565b60008060008060008060c087890312156142b057600080fd5b86356142bb816141a8565b955060208701356142cb816141a8565b945060408701356142db816141a8565b959894975094956060810135955060808101359460a0909101359350915050565b9283526020830191909152604082015260600190565b600080600080600060a0868803121561432a57600080fd5b8535614335816141a8565b94506020860135614345816141a8565b94979496505050506040830135926060810135926080909101359150565b60006080828403121561391057600080fd5b6000806000806000610120868803121561438e57600080fd5b8535614399816141a8565b945060208601356143a9816141a8565b9350604086013592506143bf8760608801614228565b91506101008601356001600160401b038111156143db57600080fd5b6143e788828901614363565b9150509295509295909350565b60008060008060008060c0878903121561440d57600080fd5b8635614418816141a8565b95506020870135614428816141a8565b945060408701359350606087013561443f816141a8565b9598949750929560808101359460a0909101359350915050565b6000806000806080858703121561446f57600080fd5b843561447a816141a8565b9350602085013561448a816141a8565b92506040850135915060608501356001600160401b038111156144ac57600080fd5b6144b887828801614363565b91505092959194509250565b6000806000606084860312156144d957600080fd5b83516144e4816141a8565b60208501519093506144f5816141a8565b6040850151909250614506816141a8565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561454a5761454a614511565b60405290565b8051613920816141a8565b6000610120828403121561456e57600080fd5b614576614527565b82518152602083015160208201526040830151604082015261459a60608401614550565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b600060a082840312156145ef57600080fd5b60405160a081016001600160401b038111828210171561461157614611614511565b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60005b8381101561466757818101518382015260200161464f565b50506000910152565b6000815180845261468881602086016020860161464c565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006121396060830184614670565b600080604083850312156146d657600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b8181038181111561160d5761160d6146e7565b6001600160a01b039390931683526020830191909152604082015260600190565b60008060006060848603121561474657600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561160d5761160d6146e7565b6001600160a01b039384168152919092166020820152604081019190915260600190565b634e487b7160e01b600052600160045260246000fd5b6001600160a01b03929092168252602082015260400190565b6000602082840312156147d757600080fd5b5051919050565b808202811582820484141761160d5761160d6146e7565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561483057600080fd5b8135611bc5816141a8565b6001600160a01b03958616815260208101949094529190931660408301526060820192909252901515608082015260a00190565b60006020828403121561488157600080fd5b81518015158114611bc557600080fd5b6020808252600e908201526d06e6f206578697374696e67206c760941b604082015260600190565b6000600182016148cb576148cb6146e7565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826148f7576148f76148d2565b500490565b60006001600160601b0383811680614916576149166148d2565b92169190910492915050565b6000808335601e1984360301811261493957600080fd5b8301803591506001600160401b0382111561495357600080fd5b60200191503681900382131561496857600080fd5b9250929050565b80820260008212600160ff1b8414161561498b5761498b6146e7565b818105831482151761160d5761160d6146e7565b6000826149ae576149ae6148d2565b600160ff1b8214600019841416156149c8576149c86146e7565b500590565b81810360008312801583831316838312821617156149ed576149ed6146e7565b5092915050565b8082018281126000831280158216821582161715614a1457614a146146e7565b505092915050565b60008251614a2e81846020870161464c565b9190910192915050565b604081526000614a4b6040830185614670565b90508260208301529392505050565b600060208284031215614a6c57600080fd5b81516001600160401b0380821115614a8357600080fd5b818401915084601f830112614a9757600080fd5b815181811115614aa957614aa9614511565b604051601f8201601f19908116603f01168101908382118183101715614ad157614ad1614511565b81604052828152876020848701011115614aea57600080fd5b611f4783602083016020880161464c565b6000600160ff1b8201614b1057614b106146e7565b5060000390565b602081526000611bc5602083018461467056fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220e582d98573f0c3b4dd1a82b168a2dd55125ceeb751a26e818b422f7e5a8a33e464736f6c63430008110033";
|
|
1224
1224
|
|
|
1225
1225
|
type ActionAddRemoveLiqConstructorParams =
|
|
1226
1226
|
| [linkLibraryAddresses: ActionAddRemoveLiqLibraryAddresses, signer?: Signer]
|
|
@@ -35,16 +35,16 @@ const _abi = [
|
|
|
35
35
|
inputs: [
|
|
36
36
|
{
|
|
37
37
|
internalType: "uint256",
|
|
38
|
-
name: "
|
|
38
|
+
name: "actualSyIn",
|
|
39
39
|
type: "uint256",
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
internalType: "uint256",
|
|
43
|
-
name: "
|
|
43
|
+
name: "limitSyIn",
|
|
44
44
|
type: "uint256",
|
|
45
45
|
},
|
|
46
46
|
],
|
|
47
|
-
name: "
|
|
47
|
+
name: "RouterExceededLimitSyIn",
|
|
48
48
|
type: "error",
|
|
49
49
|
},
|
|
50
50
|
{
|
|
@@ -83,32 +83,32 @@ const _abi = [
|
|
|
83
83
|
inputs: [
|
|
84
84
|
{
|
|
85
85
|
internalType: "uint256",
|
|
86
|
-
name: "
|
|
86
|
+
name: "actualSyOut",
|
|
87
87
|
type: "uint256",
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
internalType: "uint256",
|
|
91
|
-
name: "
|
|
91
|
+
name: "requiredSyOut",
|
|
92
92
|
type: "uint256",
|
|
93
93
|
},
|
|
94
94
|
],
|
|
95
|
-
name: "
|
|
95
|
+
name: "RouterInsufficientSyOut",
|
|
96
96
|
type: "error",
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
inputs: [
|
|
100
100
|
{
|
|
101
101
|
internalType: "uint256",
|
|
102
|
-
name: "
|
|
102
|
+
name: "actualSyRepay",
|
|
103
103
|
type: "uint256",
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
internalType: "uint256",
|
|
107
|
-
name: "
|
|
107
|
+
name: "requiredSyRepay",
|
|
108
108
|
type: "uint256",
|
|
109
109
|
},
|
|
110
110
|
],
|
|
111
|
-
name: "
|
|
111
|
+
name: "RouterInsufficientSyRepay",
|
|
112
112
|
type: "error",
|
|
113
113
|
},
|
|
114
114
|
{
|
|
@@ -149,7 +149,7 @@ const _abi = [
|
|
|
149
149
|
},
|
|
150
150
|
{
|
|
151
151
|
internalType: "int256",
|
|
152
|
-
name: "
|
|
152
|
+
name: "syToAccount",
|
|
153
153
|
type: "int256",
|
|
154
154
|
},
|
|
155
155
|
{
|
|
@@ -166,7 +166,7 @@ const _abi = [
|
|
|
166
166
|
];
|
|
167
167
|
|
|
168
168
|
const _bytecode =
|
|
169
|
-
"0x60a060405234801561001057600080fd5b5060405161165f38038061165f83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516115cf610090600039600081816040015260a601526115cf6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306ae70951461003b578063fa483e7214610078575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405161006f919061106d565b60405180910390f35b61008b610086366004611081565b61008d565b005b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906100db90849060040161106d565b602060405180830381865afa1580156100f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011c9190611100565b610144578060405163083c2ed160e11b815260040161013b919061106d565b60405180910390fd5b6000339050600061018a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061026092505050565b905060018160048111156101a0576101a0611122565b036101b7576101b2828888888861027c565b610257565b60008160048111156101cb576101cb611122565b036101dd576101b28288888888610402565b60028160048111156101f1576101f1611122565b03610203576101b2828888888861062b565b600381600481111561021757610217611122565b03610229576101b282888888886108f8565b600481600481111561023d5761023d611122565b0361024f576101b28288888888610ab7565b610257611138565b50505050505050565b6000818060200190518101906102769190611162565b92915050565b6000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e09190611195565b9250505060008061032685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c5492505050565b91509150600061033588610c76565b90506000846001600160a01b031663db74aa158b866040518363ffffffff1660e01b81526004016103679291906111e2565b6020604051808303816000875af1158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa91906111fc565b9050818110156103d157808260405163c217d4a960e01b815260040161013b929190611215565b828110156103f657808360405163a59b8c3160e01b815260040161013b929190611215565b50505050505050505050565b604080516060810182526000808252602082018190529181019190915261045e83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c9192505050565b6040808501919091526001600160a01b03918216602085015291811683528151630b2339af60e21b8152915160009283928a1691632c8ce6bc916004808201926060929091908290030181865afa1580156104bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e19190611195565b925050915060006104fa826001600160a01b0316610cb8565b9050600061050789610c76565b905060006105158383610d1e565b905060006105228a610d31565b905060006105308383610d40565b9050876040015181111561055f5780886040015160405163ddd5bdb560e01b815260040161013b929190611215565b801561057d57875161057d906001600160a01b038916908884610d57565b6000866001600160a01b031663db74aa158f8b602001516040518363ffffffff1660e01b81526004016105b19291906111e2565b6020604051808303816000875af11580156105d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f491906111fc565b90508481101561061b57808560405163c217d4a960e01b815260040161013b929190611215565b5050505050505050505050505050565b60008061066d84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c5492505050565b915091506000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d59190611195565b9250505060006106ed826001600160a01b0316610cb8565b905060006107026106fd89610dc8565b610d31565b60408051600280825260608201835292935060009290916020830190803683375050604080516002808252606082018352939450600093909250906020830190803683370190505090508b6107578585610dd6565b8360008151811061076a5761076a611239565b602002602001018360008151811061078457610784611239565b6020026020010182815250826001600160a01b03166001600160a01b0316815250505086816000815181106107bb576107bb611239565b60200260200101516107cc8d610d31565b6107d69190611265565b836001815181106107e9576107e9611239565b602002602001018360018151811061080357610803611239565b60209081029190910101919091526001600160a01b03918216905260405163b0d8898160e01b815260009187169063b0d88981906108479086908690600401611278565b6000604051808303816000875af1158015610866573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261088e91908101906112fc565b905086816001815181106108a4576108a4611239565b602002602001015110156108e957806001815181106108c5576108c5611239565b60200260200101518760405163cb95352560e01b815260040161013b929190611215565b50505050505050505050505050565b600080600061093c85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610deb92505050565b925092509250600080896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610983573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a79190611195565b925092505060006109b789610c76565b90506109cd6001600160a01b0384168387610e04565b60405163bcb7ea5d60e01b81526000906001600160a01b0384169063bcb7ea5d906109fc908f9060040161106d565b6020604051808303816000875af1158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f91906111fc565b905081811015610a665780826040516395f6195f60e01b815260040161013b929190611215565b600086610a728d610d31565b610a7c9190611265565b905085811015610aa3578086604051634e6ffe4760e11b815260040161013b929190611215565b6108e96001600160a01b0386168983610e04565b6000806000610afb85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610deb92505050565b9250925092506000610b0c88610c76565b90506000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b729190611195565b925050506000816001600160a01b031663db74aa158c886040518363ffffffff1660e01b8152600401610ba69291906111e2565b6020604051808303816000875af1158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be991906111fc565b905083811015610c1057808460405163a59b8c3160e01b815260040161013b929190611215565b82610c1b82876113b9565b1015610c4757610c2b81866113b9565b8360405163c217d4a960e01b815260040161013b929190611215565b5050505050505050505050565b60008082806020019051810190610c6b91906113cc565b909590945092505050565b6000808213610c8d57610c888261140c565b610276565b5090565b600080600083806020019051810190610caa9190611428565b919790965090945092505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027691906111fc565b6000610d2a8383610e39565b9392505050565b600080821215610c8d57600080fd5b600081831015610d51576000610d2a565b50900390565b6040516001600160a01b0380851660248301528316604482015260648101829052610dc29085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610e6f565b50505050565b600061027682600019611478565b600082610de38184610f41565b949350505050565b600080600083806020019051810190610caa91906114a8565b6040516001600160a01b038316602482015260448101829052610e3490849063a9059cbb60e01b90606401610d8b565b505050565b600082600181610e51670de0b6b3a7640000866114ed565b610e5b91906113b9565b610e659190611265565b610d2a9190611504565b6000610ec4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f599092919063ffffffff16565b805190915015610e345780806020019051810190610ee29190611100565b610e345760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161013b565b6000670de0b6b3a7640000600181610e5186866114ed565b6060610de38484600085856001600160a01b0385163b610fbb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161013b565b600080866001600160a01b03168587604051610fd7919061154a565b60006040518083038185875af1925050503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b5091509150611029828286611034565b979650505050505050565b60608315611043575081610d2a565b8251156110535782518084602001fd5b8160405162461bcd60e51b815260040161013b9190611566565b6001600160a01b0391909116815260200190565b6000806000806060858703121561109757600080fd5b843593506020850135925060408501356001600160401b03808211156110bc57600080fd5b818701915087601f8301126110d057600080fd5b8135818111156110df57600080fd5b8860208285010111156110f157600080fd5b95989497505060200194505050565b60006020828403121561111257600080fd5b81518015158114610d2a57600080fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b80516005811061115d57600080fd5b919050565b60006020828403121561117457600080fd5b610d2a8261114e565b6001600160a01b038116811461119257600080fd5b50565b6000806000606084860312156111aa57600080fd5b83516111b58161117d565b60208501519093506111c68161117d565b60408501519092506111d78161117d565b809150509250925092565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561120e57600080fd5b5051919050565b918252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156102765761027661124f565b604080825283519082018190526000906020906060840190828701845b828110156112ba5781516001600160a01b031684529284019290840190600101611295565b5050508381038285015284518082528583019183019060005b818110156112ef578351835292840192918401916001016112d3565b5090979650505050505050565b6000602080838503121561130f57600080fd5b82516001600160401b038082111561132657600080fd5b818501915085601f83011261133a57600080fd5b81518181111561134c5761134c611223565b8060051b604051601f19603f8301168101818110858211171561137157611371611223565b60405291825284820192508381018501918883111561138f57600080fd5b938501935b828510156113ad57845184529385019392850192611394565b98975050505050505050565b808201808211156102765761027661124f565b6000806000606084860312156113e157600080fd5b6113ea8461114e565b925060208401516113fa8161117d565b80925050604084015190509250925092565b6000600160ff1b82016114215761142161124f565b5060000390565b6000806000806080858703121561143e57600080fd5b6114478561114e565b935060208501516114578161117d565b60408601519093506114688161117d565b6060959095015193969295505050565b80820260008212600160ff1b841416156114945761149461124f565b81810583148215176102765761027661124f565b600080600080608085870312156114be57600080fd5b6114c78561114e565b935060208501516114d78161117d565b6040860151606090960151949790965092505050565b80820281158282048414176102765761027661124f565b60008261152157634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015611541578181015183820152602001611529565b50506000910152565b6000825161155c818460208701611526565b9190910192915050565b6020815260008251806020840152611585816040850160208701611526565b601f01601f1916919091016040019291505056fea2646970667358221220a66b85cf73d45c4e818016cce66693425357072c442dc344c48564b04aa03f8a64736f6c63430008110033";
|
|
169
|
+
"0x60a060405234801561001057600080fd5b5060405161165f38038061165f83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516115cf610090600039600081816040015260a601526115cf6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306ae70951461003b578063fa483e7214610078575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405161006f919061106d565b60405180910390f35b61008b610086366004611081565b61008d565b005b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906100db90849060040161106d565b602060405180830381865afa1580156100f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011c9190611100565b610144578060405163083c2ed160e11b815260040161013b919061106d565b60405180910390fd5b6000339050600061018a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061026092505050565b905060018160048111156101a0576101a0611122565b036101b7576101b2828888888861027c565b610257565b60008160048111156101cb576101cb611122565b036101dd576101b28288888888610402565b60028160048111156101f1576101f1611122565b03610203576101b2828888888861062b565b600381600481111561021757610217611122565b03610229576101b282888888886108f8565b600481600481111561023d5761023d611122565b0361024f576101b28288888888610ab7565b610257611138565b50505050505050565b6000818060200190518101906102769190611162565b92915050565b6000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e09190611195565b9250505060008061032685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c5492505050565b91509150600061033588610c76565b90506000846001600160a01b031663db74aa158b866040518363ffffffff1660e01b81526004016103679291906111e2565b6020604051808303816000875af1158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa91906111fc565b9050818110156103d157808260405163c217d4a960e01b815260040161013b929190611215565b828110156103f657808360405163a59b8c3160e01b815260040161013b929190611215565b50505050505050505050565b604080516060810182526000808252602082018190529181019190915261045e83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c9192505050565b6040808501919091526001600160a01b03918216602085015291811683528151630b2339af60e21b8152915160009283928a1691632c8ce6bc916004808201926060929091908290030181865afa1580156104bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e19190611195565b925050915060006104fa826001600160a01b0316610cb8565b9050600061050789610c76565b905060006105158383610d1e565b905060006105228a610d31565b905060006105308383610d40565b9050876040015181111561055f5780886040015160405163039d13e760e61b815260040161013b929190611215565b801561057d57875161057d906001600160a01b038916908884610d57565b6000866001600160a01b031663db74aa158f8b602001516040518363ffffffff1660e01b81526004016105b19291906111e2565b6020604051808303816000875af11580156105d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f491906111fc565b90508481101561061b57808560405163c217d4a960e01b815260040161013b929190611215565b5050505050505050505050505050565b60008061066d84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c5492505050565b915091506000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d59190611195565b9250505060006106ed826001600160a01b0316610cb8565b905060006107026106fd89610dc8565b610d31565b60408051600280825260608201835292935060009290916020830190803683375050604080516002808252606082018352939450600093909250906020830190803683370190505090508b6107578585610dd6565b8360008151811061076a5761076a611239565b602002602001018360008151811061078457610784611239565b6020026020010182815250826001600160a01b03166001600160a01b0316815250505086816000815181106107bb576107bb611239565b60200260200101516107cc8d610d31565b6107d69190611265565b836001815181106107e9576107e9611239565b602002602001018360018151811061080357610803611239565b60209081029190910101919091526001600160a01b03918216905260405163b0d8898160e01b815260009187169063b0d88981906108479086908690600401611278565b6000604051808303816000875af1158015610866573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261088e91908101906112fc565b905086816001815181106108a4576108a4611239565b602002602001015110156108e957806001815181106108c5576108c5611239565b6020026020010151876040516305221cf360e11b815260040161013b929190611215565b50505050505050505050505050565b600080600061093c85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610deb92505050565b925092509250600080896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610983573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a79190611195565b925092505060006109b789610c76565b90506109cd6001600160a01b0384168387610e04565b60405163bcb7ea5d60e01b81526000906001600160a01b0384169063bcb7ea5d906109fc908f9060040161106d565b6020604051808303816000875af1158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f91906111fc565b905081811015610a6657808260405163042b0dcf60e31b815260040161013b929190611215565b600086610a728d610d31565b610a7c9190611265565b905085811015610aa3578086604051634e6ffe4760e11b815260040161013b929190611215565b6108e96001600160a01b0386168983610e04565b6000806000610afb85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610deb92505050565b9250925092506000610b0c88610c76565b90506000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b729190611195565b925050506000816001600160a01b031663db74aa158c886040518363ffffffff1660e01b8152600401610ba69291906111e2565b6020604051808303816000875af1158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be991906111fc565b905083811015610c1057808460405163a59b8c3160e01b815260040161013b929190611215565b82610c1b82876113b9565b1015610c4757610c2b81866113b9565b8360405163c217d4a960e01b815260040161013b929190611215565b5050505050505050505050565b60008082806020019051810190610c6b91906113cc565b909590945092505050565b6000808213610c8d57610c888261140c565b610276565b5090565b600080600083806020019051810190610caa9190611428565b919790965090945092505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027691906111fc565b6000610d2a8383610e39565b9392505050565b600080821215610c8d57600080fd5b600081831015610d51576000610d2a565b50900390565b6040516001600160a01b0380851660248301528316604482015260648101829052610dc29085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610e6f565b50505050565b600061027682600019611478565b600082610de38184610f41565b949350505050565b600080600083806020019051810190610caa91906114a8565b6040516001600160a01b038316602482015260448101829052610e3490849063a9059cbb60e01b90606401610d8b565b505050565b600082600181610e51670de0b6b3a7640000866114ed565b610e5b91906113b9565b610e659190611265565b610d2a9190611504565b6000610ec4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f599092919063ffffffff16565b805190915015610e345780806020019051810190610ee29190611100565b610e345760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161013b565b6000670de0b6b3a7640000600181610e5186866114ed565b6060610de38484600085856001600160a01b0385163b610fbb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161013b565b600080866001600160a01b03168587604051610fd7919061154a565b60006040518083038185875af1925050503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b5091509150611029828286611034565b979650505050505050565b60608315611043575081610d2a565b8251156110535782518084602001fd5b8160405162461bcd60e51b815260040161013b9190611566565b6001600160a01b0391909116815260200190565b6000806000806060858703121561109757600080fd5b843593506020850135925060408501356001600160401b03808211156110bc57600080fd5b818701915087601f8301126110d057600080fd5b8135818111156110df57600080fd5b8860208285010111156110f157600080fd5b95989497505060200194505050565b60006020828403121561111257600080fd5b81518015158114610d2a57600080fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b80516005811061115d57600080fd5b919050565b60006020828403121561117457600080fd5b610d2a8261114e565b6001600160a01b038116811461119257600080fd5b50565b6000806000606084860312156111aa57600080fd5b83516111b58161117d565b60208501519093506111c68161117d565b60408501519092506111d78161117d565b809150509250925092565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561120e57600080fd5b5051919050565b918252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156102765761027661124f565b604080825283519082018190526000906020906060840190828701845b828110156112ba5781516001600160a01b031684529284019290840190600101611295565b5050508381038285015284518082528583019183019060005b818110156112ef578351835292840192918401916001016112d3565b5090979650505050505050565b6000602080838503121561130f57600080fd5b82516001600160401b038082111561132657600080fd5b818501915085601f83011261133a57600080fd5b81518181111561134c5761134c611223565b8060051b604051601f19603f8301168101818110858211171561137157611371611223565b60405291825284820192508381018501918883111561138f57600080fd5b938501935b828510156113ad57845184529385019392850192611394565b98975050505050505050565b808201808211156102765761027661124f565b6000806000606084860312156113e157600080fd5b6113ea8461114e565b925060208401516113fa8161117d565b80925050604084015190509250925092565b6000600160ff1b82016114215761142161124f565b5060000390565b6000806000806080858703121561143e57600080fd5b6114478561114e565b935060208501516114578161117d565b60408601519093506114688161117d565b6060959095015193969295505050565b80820260008212600160ff1b841416156114945761149461124f565b81810583148215176102765761027661124f565b600080600080608085870312156114be57600080fd5b6114c78561114e565b935060208501516114d78161117d565b6040860151606090960151949790965092505050565b80820281158282048414176102765761027661124f565b60008261152157634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015611541578181015183820152602001611529565b50506000910152565b6000825161155c818460208701611526565b9190910192915050565b6020815260008251806020840152611585816040850160208701611526565b601f01601f1916919091016040019291505056fea2646970667358221220130f99ee842f06e2d4924378548798b7c580aa0235d5c5471f0763c429ecfbeb64736f6c63430008110033";
|
|
170
170
|
|
|
171
171
|
type ActionCallbackConstructorParams =
|
|
172
172
|
| [signer?: Signer]
|