@gooddollar/goodprotocol 1.0.29-beta.0 → 1.0.29-beta.2
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/artifacts/abis/AdminWallet.min.json +1 -1
- package/artifacts/abis/BulkProof.min.json +1 -1
- package/artifacts/abis/DistributionBridgeMock.min.json +1 -0
- package/artifacts/abis/DistributionHelper.min.json +1 -0
- package/artifacts/abis/DistributionHelperTest.min.json +1 -0
- package/artifacts/abis/DistributionHelperTestHelper.min.json +1 -0
- package/artifacts/abis/ERC20.min.json +1 -1
- package/artifacts/abis/Faucet.min.json +1 -0
- package/artifacts/abis/GoodDollarMintBurnWrapper.min.json +1 -0
- package/artifacts/abis/GoodDollarStaking.min.json +1 -0
- package/artifacts/abis/GoodDollarStakingMock.min.json +1 -0
- package/artifacts/abis/GoodReserveCDai.min.json +1 -1
- package/artifacts/abis/IERC2917.min.json +1 -1
- package/artifacts/abis/IGoodDollar.min.json +1 -1
- package/artifacts/abis/IGoodDollarStakingTest.min.json +1 -0
- package/artifacts/abis/IGovernanceStaking.min.json +1 -0
- package/artifacts/abis/IIdentity.min.json +1 -1
- package/artifacts/abis/IIdentityV2.min.json +1 -0
- package/artifacts/abis/IMultichainRouter.min.json +1 -0
- package/artifacts/abis/IRouter.min.json +1 -0
- package/artifacts/abis/IWrapper.min.json +1 -0
- package/artifacts/abis/IdentityV2.min.json +1 -0
- package/artifacts/abis/InvitesV2.min.json +1 -0
- package/artifacts/abis/Math64x64.min.json +1 -0
- package/artifacts/abis/MultichainBridgeHelper.min.json +1 -0
- package/artifacts/abis/MultichainRouterMock.min.json +1 -0
- package/artifacts/abis/OverMintTester.min.json +1 -1
- package/artifacts/abis/PausableControl.min.json +1 -0
- package/artifacts/abis/RewardsMinter.min.json +1 -0
- package/artifacts/abis/StakingMockFixedAPY.min.json +1 -0
- package/artifacts/abis/StakingRewardsFixedAPY.min.json +1 -0
- package/artifacts/abis/TokenOperation.min.json +1 -0
- package/artifacts/abis/UBIScheme.min.json +1 -1
- package/artifacts/abis/cERC20.min.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ERC20.json +13 -0
- package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IERC2917.json +13 -0
- package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodDollar.json +39 -0
- package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IIdentity.json +51 -0
- package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +4 -0
- package/artifacts/contracts/Interfaces.sol/IIdentityV2.json +281 -0
- package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +4 -0
- package/artifacts/contracts/Interfaces.sol/IMultichainRouter.json +67 -0
- package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/cERC20.json +13 -0
- package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +4 -0
- package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +684 -0
- package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +2 -2
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
- package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
- package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
- package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +4 -0
- package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +1335 -0
- package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +4 -0
- package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.json +24 -0
- package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +4 -0
- package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.json +35 -0
- package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
- package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
- package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +4 -0
- package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +1000 -0
- package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
- package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +4 -0
- package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +586 -0
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +4 -0
- package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +152 -0
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +4 -0
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +662 -0
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +4 -0
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +680 -0
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
- package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +4 -0
- package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +1335 -0
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
- package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +4 -0
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.json +59 -0
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +4 -0
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +81 -0
- package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +4 -0
- package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.json +49 -0
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +4 -4
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
- package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +4 -0
- package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.json +682 -0
- package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
- package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
- package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
- package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +4 -0
- package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +662 -0
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +75 -35
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
- package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
- package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +2 -2
- package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
- package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
- package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
- package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
- package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +4 -0
- package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +10 -0
- package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +4 -0
- package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.json +268 -0
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +15 -22
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +76 -56
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +3 -34
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
- package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
- package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +4 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +1263 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +4 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.json +59 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +4 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.json +69 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +4 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +10 -0
- package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +4 -0
- package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +79 -0
- package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
- package/contracts/Interfaces.sol +46 -0
- package/contracts/fuseFaucet/Faucet.sol +245 -0
- package/contracts/governance/GoodDollarStaking.sol +524 -0
- package/contracts/governance/MultiBaseGovernanceShareField.sol +1 -0
- package/contracts/identity/IdentityV2.sol +434 -0
- package/contracts/invite/InvitesV2.sol +316 -0
- package/contracts/mocks/DistributionBridgeMock.sol +50 -0
- package/contracts/mocks/DistributionHelperTest.sol +22 -0
- package/contracts/mocks/GoodDollarStakingMock.sol +24 -0
- package/contracts/mocks/MultichainRouterMock.sol +38 -0
- package/contracts/mocks/OverMintTester.sol +39 -25
- package/contracts/mocks/StakingMockFixedAPY.sol +78 -0
- package/contracts/reserve/DistributionHelper.sol +142 -0
- package/contracts/reserve/GoodReserveCDai.sol +95 -41
- package/contracts/staking/utils/Math64X64.sol +268 -0
- package/contracts/staking/utils/StakingRewardsFixedAPY.sol +336 -0
- package/contracts/ubi/UBIScheme.sol +45 -40
- package/contracts/utils/AdminWallet.sol +42 -11
- package/contracts/utils/BulkProof.sol +10 -10
- package/contracts/utils/GoodDollarMintBurnWrapper.sol +638 -0
- package/contracts/utils/MultichainBridgeHelper.sol +39 -0
- package/hardhat.config.ts +21 -5
- package/package.json +9 -5
- package/patches/@openzeppelin+hardhat-upgrades+1.7.0.patch.depracate +67 -0
- package/releases/deploy-settings.json +36 -1
- package/releases/deployment.json +103 -55
- package/releases/olddao.json +1 -1
- package/scripts/analytics/activeUsersCount.ts +65 -0
- package/scripts/analytics/activeWalletsStats.ts +150 -0
- package/scripts/analytics/claimIncidentStats.ts +117 -0
- package/scripts/analytics/faucetStats.ts +103 -0
- package/scripts/analytics/goodHolders.ts +50 -0
- package/scripts/{misc → analytics}/goodgiveback.ts +0 -0
- package/scripts/governance/airdropCalculation.ts +1 -0
- package/scripts/multichain-deploy/0_proxyFactory-deploy.ts +45 -0
- package/scripts/multichain-deploy/{basicdao-deploy.ts → 1_basicdao-deploy.ts} +75 -56
- package/scripts/multichain-deploy/2_helpers-deploy.ts +143 -0
- package/scripts/multichain-deploy/3_gdSavings-deploy.ts +246 -0
- package/scripts/multichain-deploy/4_ubi-deploy.ts +121 -0
- package/scripts/multichain-deploy/5_gov-deploy.ts +123 -0
- package/scripts/multichain-deploy/helpers.ts +72 -8
- package/scripts/multichain-deploy/multichainWrapper-deploy.ts +56 -0
- package/scripts/multichain-deploy/verifyEtherscan.ts +84 -0
- package/scripts/test/localOldDaoDeploy.ts +10 -3
- package/scripts/upgrades/identity-upgrade.ts +153 -0
- package/scripts/upgrades/nonubiDistribution-deploy.ts +167 -0
- package/scripts/voltageswaps.ts +47 -0
- package/test/governance/ClaimersDistribution.test.ts +1 -1
- package/test/governance/GoodDollarStaking.gd.test.ts +559 -0
- package/test/governance/GoodDollarStaking.good.test.ts +998 -0
- package/test/governance/GovernanceStaking.test.ts +43 -0
- package/test/helpers.ts +21 -20
- package/test/reserve/DistributionHelper.test.ts +394 -0
- package/test/reserve/GoodReserveCDai.distribution.test.ts +296 -0
- package/test/reserve/GoodReserveCDai.gdx.test.ts +21 -16
- package/test/reserve/GoodReserveCDai.pause.test.ts +116 -0
- package/test/staking/StakingRewardsFixedAPY.test.ts +900 -0
- package/test/ubi/UBIScheme.test.ts +30 -30
- package/test/ubi/UBISchemeCycle.test.ts +9 -7
- package/test/utils/AdminWallet.test.ts +40 -13
- package/test/utils/GoodDollarMintBurnWrapper.test.ts +796 -0
- package/tsconfig.json +4 -9
- package/types/AccessControl.ts +361 -0
- package/types/AdminWallet.ts +124 -113
- package/types/CERC20.ts +25 -0
- package/types/DistributionBridgeMock.ts +251 -0
- package/types/DistributionHelper.ts +908 -0
- package/types/DistributionHelperTest.ts +909 -0
- package/types/DistributionHelperTestHelper.ts +945 -0
- package/types/ERC165.ts +104 -0
- package/types/ERC20.ts +101 -49
- package/types/Faucet.ts +1014 -0
- package/types/GoodDollarMintBurnWrapper.ts +1806 -0
- package/types/GoodDollarStaking.ts +1889 -0
- package/types/GoodDollarStakingMock.ts +1889 -0
- package/types/GoodReserveCDai.ts +90 -55
- package/types/IAccessControl.ts +306 -0
- package/types/IERC1271.ts +109 -0
- package/types/IERC165.ts +104 -0
- package/types/IERC20.ts +300 -0
- package/types/IERC20Metadata.ts +339 -0
- package/types/IERC2917.ts +25 -0
- package/types/IGoodDollar.ts +54 -0
- package/types/IGoodDollarStakingTest.ts +160 -0
- package/types/{BulkProof.ts → IGovernanceStaking.ts} +15 -28
- package/types/IIdentity.ts +75 -0
- package/types/IIdentityV2.ts +526 -0
- package/types/IMultichainRouter.ts +166 -0
- package/types/IRouter.ts +143 -0
- package/types/IWrapper.ts +143 -0
- package/types/IdentityV2.ts +1612 -0
- package/types/InvitesV2.ts +933 -0
- package/types/MultichainBridgeHelper.ts +170 -0
- package/types/MultichainRouterMock.ts +141 -0
- package/types/Pausable.ts +103 -0
- package/types/PausableControl.ts +125 -0
- package/types/RewardsMinter.ts +107 -0
- package/types/StakingMockFixedAPY.ts +995 -0
- package/types/StakingRewardsFixedAPY.ts +428 -0
- package/types/UBIScheme.ts +19 -40
- package/types/factories/AaveStakingFactory__factory.ts +1 -1
- package/types/factories/AccessControl__factory.ts +227 -0
- package/types/factories/AdminWallet__factory.ts +75 -55
- package/types/factories/BaseShareFieldV2__factory.ts +1 -1
- package/types/factories/BaseShareField__factory.ts +1 -1
- package/types/factories/CERC20__factory.ts +13 -0
- package/types/factories/ClaimersDistribution__factory.ts +1 -1
- package/types/factories/CompoundStakingFactory__factory.ts +1 -1
- package/types/factories/CompoundVotingMachine__factory.ts +1 -1
- package/types/factories/DAOContract__factory.ts +1 -1
- package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
- package/types/factories/DistributionBridgeMock__factory.ts +207 -0
- package/types/factories/DistributionHelperTestHelper__factory.ts +737 -0
- package/types/factories/DistributionHelperTest__factory.ts +717 -0
- package/types/factories/DistributionHelper__factory.ts +713 -0
- package/types/factories/DonationsStaking__factory.ts +1 -1
- package/types/factories/ERC165__factory.ts +39 -0
- package/types/factories/ERC20__factory.ts +13 -0
- package/types/factories/ExchangeHelper__factory.ts +1 -1
- package/types/factories/Faucet__factory.ts +729 -0
- package/types/factories/FuseFaucet__factory.ts +1 -1
- package/types/factories/FuseStakingV3__factory.ts +1 -1
- package/types/factories/GReputation__factory.ts +1 -1
- package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
- package/types/factories/GoodAaveStaking__factory.ts +1 -1
- package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
- package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
- package/types/factories/GoodCompoundStaking__factory.ts +1 -1
- package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1318 -0
- package/types/factories/GoodDollarStakingMock__factory.ts +1417 -0
- package/types/factories/GoodDollarStaking__factory.ts +1413 -0
- package/types/factories/GoodFundManagerTest__factory.ts +1 -1
- package/types/factories/GoodFundManager__factory.ts +1 -1
- package/types/factories/GoodMarketMaker__factory.ts +1 -1
- package/types/factories/GoodReserveCDai__factory.ts +74 -34
- package/types/factories/GovernanceStaking__factory.ts +1 -1
- package/types/factories/IAccessControl__factory.ts +198 -0
- package/types/factories/IERC1271__factory.ts +47 -0
- package/types/factories/IERC165__factory.ts +42 -0
- package/types/factories/IERC20Metadata__factory.ts +248 -0
- package/types/factories/IERC20__factory.ts +203 -0
- package/types/factories/IERC2917__factory.ts +13 -0
- package/types/factories/IGoodDollarStakingTest__factory.ts +68 -0
- package/types/factories/IGoodDollar__factory.ts +39 -0
- package/types/factories/IGovernanceStaking__factory.ts +39 -0
- package/types/factories/IIdentityV2__factory.ts +293 -0
- package/types/factories/IIdentity__factory.ts +51 -0
- package/types/factories/IMultichainRouter__factory.ts +82 -0
- package/types/factories/IRouter__factory.ts +71 -0
- package/types/factories/IWrapper__factory.ts +71 -0
- package/types/factories/IdentityV2__factory.ts +1048 -0
- package/types/factories/InvitesV1__factory.ts +1 -1
- package/types/factories/InvitesV2__factory.ts +634 -0
- package/types/factories/MultichainBridgeHelper__factory.ts +134 -0
- package/types/factories/MultichainRouterMock__factory.ts +141 -0
- package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
- package/types/factories/OverMintTester__factory.ts +3 -3
- package/types/factories/PausableControl__factory.ts +84 -0
- package/types/factories/Pausable__factory.ts +62 -0
- package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
- package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
- package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
- package/types/factories/ProtocolUpgrade__factory.ts +1 -1
- package/types/factories/ReputationTestHelper__factory.ts +1 -1
- package/types/factories/Reputation__factory.ts +1 -1
- package/types/factories/RewardsMinter__factory.ts +47 -0
- package/types/factories/StakersDistribution__factory.ts +1 -1
- package/types/factories/StakingMockFixedAPY__factory.ts +745 -0
- package/types/factories/StakingRewardsFixedAPY__factory.ts +287 -0
- package/types/factories/SwapHelperTest__factory.ts +1 -1
- package/types/factories/UBIScheme__factory.ts +14 -21
- package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
- package/types/factories/UpgradableMock2__factory.ts +1 -1
- package/types/factories/UpgradableMock3__factory.ts +1 -1
- package/types/factories/UpgradableMock4__factory.ts +1 -1
- package/types/factories/UpgradableMock__factory.ts +1 -1
- package/types/hardhat.d.ts +279 -9
- package/types/index.ts +62 -4
- package/yarn.lock +184 -108
- package/types/factories/BulkProof__factory.ts +0 -89
|
@@ -324,7 +324,7 @@ const _abi = [
|
|
|
324
324
|
];
|
|
325
325
|
|
|
326
326
|
const _bytecode =
|
|
327
|
-
"0x608060405234801561001057600080fd5b50611619806100206000396000f3fe6080604052600436106100e85760003560e01c8063119e5bf3146100f45780632c159a1a1461012a5780632d000cc01461014a5780633771dcf8146101615780635bc758e2146101815780635c9302c9146101a557806378e97925146101bb5780637befab10146101d157806389b08f111461020a57806393a08de414610273578063a4c0ed3614610290578063aa31e459146102c0578063c4d66de8146102f0578063c5da103314610310578063cce987d414610348578063e6ea39391461036c578063e97eefd214610382578063f84b40f5146103a2578063fe173b97146103b857600080fd5b366100ef57005b600080fd5b34801561010057600080fd5b50600b54610114906001600160a01b031681565b604051610121919061121b565b60405180910390f35b34801561013657600080fd5b50600654610114906001600160a01b031681565b34801561015657600080fd5b5061015f6103f7565b005b34801561016d57600080fd5b5061015f61017c366004611244565b61052b565b34801561018d57600080fd5b5061019760035481565b604051908152602001610121565b3480156101b157600080fd5b5061019760055481565b3480156101c757600080fd5b5061019760045481565b3480156101dd57600080fd5b50600a546101f590600160601b900463ffffffff1681565b60405163ffffffff9091168152602001610121565b34801561021657600080fd5b5061024f610225366004611244565b6009602052600090815260409020546001600160801b03811690600160801b900463ffffffff1682565b604080516001600160801b03909316835263ffffffff909116602083015201610121565b34801561027f57600080fd5b50600a546101f59063ffffffff1681565b34801561029c57600080fd5b506102b06102ab366004611268565b610963565b6040519015158152602001610121565b3480156102cc57600080fd5b506102b06102db366004611244565b60086020526000908152604090205460ff1681565b3480156102fc57600080fd5b5061015f61030b366004611244565b610b8c565b34801561031c57600080fd5b5061019761032b3660046112f0565b600760209081526000928352604080842090915290825290205481565b34801561035457600080fd5b50600a546101f590600160801b900463ffffffff1681565b34801561037857600080fd5b5061019760025481565b34801561038e57600080fd5b506102b061039d366004611244565b610cdc565b3480156103ae57600080fd5b5061019760015481565b3480156103c457600080fd5b50600a546103df90600160201b90046001600160401b031681565b6040516001600160401b039091168152602001610121565b600a8054600160201b600160601b031916629502f9602a1b1790819055610432906001600160401b03600160201b90910416620927c0611336565b6001600160401b0316600281815561044a9190611365565b600155600a805463ffffffff600160601b03600160a01b03191660036501f40000000160611b01179055600b805473495d133b938596c9984d462f007b676bdc57ecec6001600160a01b0319909116811790915560405163095ea7b360e01b815273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb56004820152600019602482015263095ea7b390604401602060405180830381600087803b1580156104f057600080fd5b505af1158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190611384565b50565b60005a905081610539610fc8565b6005546001600160a01b0382166000908152600960205260409020546001600160801b03908116911614158061059b5750600a546001600160a01b03821660009081526009602052604090205463ffffffff918216600160801b909104909116105b6105e15760405162461bcd60e51b81526020600482015260126024820152716d6178206461696c7920746f7070696e677360701b60448201526064015b60405180910390fd5b600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061061190849060040161121b565b60206040518083038186803b15801561062957600080fd5b505afa15801561063d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106619190611384565b8061068557506001600160a01b03811660009081526008602052604090205460ff16155b6106e05760405162461bcd60e51b815260206004820152602660248201527f55736572206e6f742077686974656c6973746564206f72206e6f742066697273604482015265742074696d6560d01b60648201526084016105d8565b600060076005546106f191906113bc565b6001600160a01b0383166000908152600960205260408120546005549293509091610725916001600160801b0316906113d0565b9050600781116107355780610738565b60075b90508181116107475780610752565b6107528260016113e7565b90506000816107628460016113e7565b61076c91906113d0565b90505b8281116107e4576001600160a01b038416600090815260096020526040812060010182600781106107a2576107a26113ff565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b0316021790555080806107dc90611415565b91505061076f565b506000805b83811161085a576001600160a01b0385166000908152600960205260409020600101816007811061081c5761081c6113ff565b600291828204019190066010029054906101000a90046001600160801b0316826108469190611430565b91508061085281611415565b9150506107e9565b50600a5460015461087891600160601b900463ffffffff1690611365565b816001600160801b0316106108ec5760405162461bcd60e51b815260206004820152603460248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f206044820152736d616e792074696d65732074686973207765656b60601b60648201526084016105d8565b6108f586610fe9565b505050505a61090490826113d0565b6109109061a4106113e7565b600a5490915033906108fc9061093690600160201b90046001600160401b031684611365565b6040518115909202916000818181858888f1935050505015801561095e573d6000803e3d6000fd5b505050565b600b546000906001600160a01b031633146109a95760405162461bcd60e51b81526020600482015260066024820152651b9bdd0811c960d21b60448201526064016105d8565b600a54600160801b900463ffffffff168411156109f35760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016105d8565b60408051600280825260608201835273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb59260009291906020830190803683370190505090503381600081518110610a4057610a406113ff565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad19190611471565b81600181518110610ae457610ae46113ff565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe590610b2890899060009086908d90429060040161148e565b600060405180830381600087803b158015610b4257600080fd5b505af1158015610b56573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7e91908101906114ff565b506001979650505050505050565b600054610100900460ff1680610ba5575060005460ff16155b610c085760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105d8565b600054610100900460ff16158015610c2a576000805461ffff19166101011790555b600a8054600160201b600160601b031916629502f9602a1b1790819055610c65906001600160401b03600160201b90910416620927c0611336565b6001600160401b03166002818155610c7d9190611365565b600155600a805442600455600680546001600160a01b0319166001600160a01b03861617905563ffffffff600160601b03600160a01b03191660036501f40000000160611b011790558015610cd8576000805461ff00191690555b5050565b6000806201518060045442610cf191906113d0565b610cfb91906115b0565b6001600160a01b038416600090815260096020526040812054919250906001600160801b038084169116141580610d5857506001600160a01b0384166000908152600960205260409020546003600160801b90910463ffffffff16105b8015610e035750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610d8f90879060040161121b565b60206040518083038186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf9190611384565b80610e0357506001600160a01b03841660009081526008602052604090205460ff16155b6001600160a01b038516600090815260096020526040808220815160e0810192839052939450919291600101906007908285855b82829054906101000a90046001600160801b03166001600160801b031681526020019060100190602082600f01049283019260010382029150808411610e37579050505050505090506000600784610e8f91906113bc565b6001600160a01b03871660009081526009602052604081205491925090610ebf906001600160801b0316866113d0565b905060078111610ecf5780610ed2565b60075b9050818111610ee15780610eec565b610eec8260016113e7565b9050600081610efc8460016113e7565b610f0691906113d0565b90505b828111610f49576000848260078110610f2457610f246113ff565b6001600160801b03909216602092909202015280610f4181611415565b915050610f09565b506000805b838111610f8a57848160078110610f6757610f676113ff565b6020020151610f769083611430565b915080610f8281611415565b915050610f4e565b50848015610fbc5750600a54600154610fb091600160601b900463ffffffff1690611365565b816001600160801b0316105b98975050505050505050565b6201518060045442610fda91906113d0565b610fe491906115b0565b600555565b806001600160a01b0316316002541161100157600080fd5b6000816001600160a01b03163160025461101b91906113d0565b90506000600760055461102e91906113bc565b6005546001600160a01b0385166000908152600960205260409020549192506001600160801b03918216911614156110bc576001600160a01b0383166000908152600960205260409020805460019190601090611099908490600160801b900463ffffffff166115c4565b92506101000a81548163ffffffff021916908363ffffffff1602179055506110e9565b6001600160a01b0383166000908152600960205260409020805463ffffffff60801b1916600160801b1790555b6005546001600160a01b038416600090815260096020526040902080546001600160801b0319166001600160801b0390921691909117815582906001018260078110611137576111376113ff565b600291828204019190066010028282829054906101000a90046001600160801b03166111639190611430565b82546001600160801b039182166101009390930a9283029190920219909116179055506001600160a01b038316600081815260086020526040808220805460ff191660011790555184156108fc0291859190818181858888f193505050501580156111d2573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858360405161120e91815260200190565b60405180910390a2505050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461052857600080fd5b60006020828403121561125657600080fd5b81356112618161122f565b9392505050565b6000806000806060858703121561127e57600080fd5b84356112898161122f565b93506020850135925060408501356001600160401b03808211156112ac57600080fd5b818701915087601f8301126112c057600080fd5b8135818111156112cf57600080fd5b8860208285010111156112e157600080fd5b95989497505060200194505050565b6000806040838503121561130357600080fd5b8235915060208301356113158161122f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b038281168482168115158284048211161561135c5761135c611320565b02949350505050565b600081600019048311821515161561137f5761137f611320565b500290565b60006020828403121561139657600080fd5b8151801515811461126157600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113cb576113cb6113a6565b500690565b6000828210156113e2576113e2611320565b500390565b600082198211156113fa576113fa611320565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561142957611429611320565b5060010190565b60006001600160801b0382811684821680830382111561145257611452611320565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561148357600080fd5b81516112618161122f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114de5784516001600160a01b0316835293830193918301916001016114b9565b50506001600160a01b03969096166060850152505050608001529392505050565b6000602080838503121561151257600080fd5b82516001600160401b038082111561152957600080fd5b818501915085601f83011261153d57600080fd5b81518181111561154f5761154f61145b565b8060051b604051601f19603f830116810181811085821117156115745761157461145b565b60405291825284820192508381018501918883111561159257600080fd5b938501935b82851015610fbc57845184529385019392850192611597565b6000826115bf576115bf6113a6565b500490565b600063ffffffff8083168185168083038211156114525761145261132056fea26469706673582212205a58709ad2f58e2ab700545c57d90be66138c290b726d33be7ef4ef15348d0d964736f6c63430008080033";
|
|
327
|
+
"0x608060405234801561001057600080fd5b50611619806100206000396000f3fe6080604052600436106100e85760003560e01c8063119e5bf3146100f45780632c159a1a1461012a5780632d000cc01461014a5780633771dcf8146101615780635bc758e2146101815780635c9302c9146101a557806378e97925146101bb5780637befab10146101d157806389b08f111461020a57806393a08de414610273578063a4c0ed3614610290578063aa31e459146102c0578063c4d66de8146102f0578063c5da103314610310578063cce987d414610348578063e6ea39391461036c578063e97eefd214610382578063f84b40f5146103a2578063fe173b97146103b857600080fd5b366100ef57005b600080fd5b34801561010057600080fd5b50600b54610114906001600160a01b031681565b604051610121919061121b565b60405180910390f35b34801561013657600080fd5b50600654610114906001600160a01b031681565b34801561015657600080fd5b5061015f6103f7565b005b34801561016d57600080fd5b5061015f61017c366004611244565b61052b565b34801561018d57600080fd5b5061019760035481565b604051908152602001610121565b3480156101b157600080fd5b5061019760055481565b3480156101c757600080fd5b5061019760045481565b3480156101dd57600080fd5b50600a546101f590600160601b900463ffffffff1681565b60405163ffffffff9091168152602001610121565b34801561021657600080fd5b5061024f610225366004611244565b6009602052600090815260409020546001600160801b03811690600160801b900463ffffffff1682565b604080516001600160801b03909316835263ffffffff909116602083015201610121565b34801561027f57600080fd5b50600a546101f59063ffffffff1681565b34801561029c57600080fd5b506102b06102ab366004611268565b610963565b6040519015158152602001610121565b3480156102cc57600080fd5b506102b06102db366004611244565b60086020526000908152604090205460ff1681565b3480156102fc57600080fd5b5061015f61030b366004611244565b610b8c565b34801561031c57600080fd5b5061019761032b3660046112f0565b600760209081526000928352604080842090915290825290205481565b34801561035457600080fd5b50600a546101f590600160801b900463ffffffff1681565b34801561037857600080fd5b5061019760025481565b34801561038e57600080fd5b506102b061039d366004611244565b610cdc565b3480156103ae57600080fd5b5061019760015481565b3480156103c457600080fd5b50600a546103df90600160201b90046001600160401b031681565b6040516001600160401b039091168152602001610121565b600a8054600160201b600160601b031916629502f9602a1b1790819055610432906001600160401b03600160201b90910416620927c0611336565b6001600160401b0316600281815561044a9190611365565b600155600a805463ffffffff600160601b03600160a01b03191660036501f40000000160611b01179055600b805473495d133b938596c9984d462f007b676bdc57ecec6001600160a01b0319909116811790915560405163095ea7b360e01b815273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb56004820152600019602482015263095ea7b390604401602060405180830381600087803b1580156104f057600080fd5b505af1158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190611384565b50565b60005a905081610539610fc8565b6005546001600160a01b0382166000908152600960205260409020546001600160801b03908116911614158061059b5750600a546001600160a01b03821660009081526009602052604090205463ffffffff918216600160801b909104909116105b6105e15760405162461bcd60e51b81526020600482015260126024820152716d6178206461696c7920746f7070696e677360701b60448201526064015b60405180910390fd5b600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061061190849060040161121b565b60206040518083038186803b15801561062957600080fd5b505afa15801561063d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106619190611384565b8061068557506001600160a01b03811660009081526008602052604090205460ff16155b6106e05760405162461bcd60e51b815260206004820152602660248201527f55736572206e6f742077686974656c6973746564206f72206e6f742066697273604482015265742074696d6560d01b60648201526084016105d8565b600060076005546106f191906113bc565b6001600160a01b0383166000908152600960205260408120546005549293509091610725916001600160801b0316906113d0565b9050600781116107355780610738565b60075b90508181116107475780610752565b6107528260016113e7565b90506000816107628460016113e7565b61076c91906113d0565b90505b8281116107e4576001600160a01b038416600090815260096020526040812060010182600781106107a2576107a26113ff565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b0316021790555080806107dc90611415565b91505061076f565b506000805b83811161085a576001600160a01b0385166000908152600960205260409020600101816007811061081c5761081c6113ff565b600291828204019190066010029054906101000a90046001600160801b0316826108469190611430565b91508061085281611415565b9150506107e9565b50600a5460015461087891600160601b900463ffffffff1690611365565b816001600160801b0316106108ec5760405162461bcd60e51b815260206004820152603460248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f206044820152736d616e792074696d65732074686973207765656b60601b60648201526084016105d8565b6108f586610fe9565b505050505a61090490826113d0565b6109109061a4106113e7565b600a5490915033906108fc9061093690600160201b90046001600160401b031684611365565b6040518115909202916000818181858888f1935050505015801561095e573d6000803e3d6000fd5b505050565b600b546000906001600160a01b031633146109a95760405162461bcd60e51b81526020600482015260066024820152651b9bdd0811c960d21b60448201526064016105d8565b600a54600160801b900463ffffffff168411156109f35760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016105d8565b60408051600280825260608201835273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb59260009291906020830190803683370190505090503381600081518110610a4057610a406113ff565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad19190611471565b81600181518110610ae457610ae46113ff565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe590610b2890899060009086908d90429060040161148e565b600060405180830381600087803b158015610b4257600080fd5b505af1158015610b56573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7e91908101906114ff565b506001979650505050505050565b600054610100900460ff1680610ba5575060005460ff16155b610c085760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105d8565b600054610100900460ff16158015610c2a576000805461ffff19166101011790555b600a8054600160201b600160601b031916629502f9602a1b1790819055610c65906001600160401b03600160201b90910416620927c0611336565b6001600160401b03166002818155610c7d9190611365565b600155600a805442600455600680546001600160a01b0319166001600160a01b03861617905563ffffffff600160601b03600160a01b03191660036501f40000000160611b011790558015610cd8576000805461ff00191690555b5050565b6000806201518060045442610cf191906113d0565b610cfb91906115b0565b6001600160a01b038416600090815260096020526040812054919250906001600160801b038084169116141580610d5857506001600160a01b0384166000908152600960205260409020546003600160801b90910463ffffffff16105b8015610e035750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610d8f90879060040161121b565b60206040518083038186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf9190611384565b80610e0357506001600160a01b03841660009081526008602052604090205460ff16155b6001600160a01b038516600090815260096020526040808220815160e0810192839052939450919291600101906007908285855b82829054906101000a90046001600160801b03166001600160801b031681526020019060100190602082600f01049283019260010382029150808411610e37579050505050505090506000600784610e8f91906113bc565b6001600160a01b03871660009081526009602052604081205491925090610ebf906001600160801b0316866113d0565b905060078111610ecf5780610ed2565b60075b9050818111610ee15780610eec565b610eec8260016113e7565b9050600081610efc8460016113e7565b610f0691906113d0565b90505b828111610f49576000848260078110610f2457610f246113ff565b6001600160801b03909216602092909202015280610f4181611415565b915050610f09565b506000805b838111610f8a57848160078110610f6757610f676113ff565b6020020151610f769083611430565b915080610f8281611415565b915050610f4e565b50848015610fbc5750600a54600154610fb091600160601b900463ffffffff1690611365565b816001600160801b0316105b98975050505050505050565b6201518060045442610fda91906113d0565b610fe491906115b0565b600555565b806001600160a01b0316316002541161100157600080fd5b6000816001600160a01b03163160025461101b91906113d0565b90506000600760055461102e91906113bc565b6005546001600160a01b0385166000908152600960205260409020549192506001600160801b03918216911614156110bc576001600160a01b0383166000908152600960205260409020805460019190601090611099908490600160801b900463ffffffff166115c4565b92506101000a81548163ffffffff021916908363ffffffff1602179055506110e9565b6001600160a01b0383166000908152600960205260409020805463ffffffff60801b1916600160801b1790555b6005546001600160a01b038416600090815260096020526040902080546001600160801b0319166001600160801b0390921691909117815582906001018260078110611137576111376113ff565b600291828204019190066010028282829054906101000a90046001600160801b03166111639190611430565b82546001600160801b039182166101009390930a9283029190920219909116179055506001600160a01b038316600081815260086020526040808220805460ff191660011790555184156108fc0291859190818181858888f193505050501580156111d2573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858360405161120e91815260200190565b60405180910390a2505050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461052857600080fd5b60006020828403121561125657600080fd5b81356112618161122f565b9392505050565b6000806000806060858703121561127e57600080fd5b84356112898161122f565b93506020850135925060408501356001600160401b03808211156112ac57600080fd5b818701915087601f8301126112c057600080fd5b8135818111156112cf57600080fd5b8860208285010111156112e157600080fd5b95989497505060200194505050565b6000806040838503121561130357600080fd5b8235915060208301356113158161122f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b038281168482168115158284048211161561135c5761135c611320565b02949350505050565b600081600019048311821515161561137f5761137f611320565b500290565b60006020828403121561139657600080fd5b8151801515811461126157600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113cb576113cb6113a6565b500690565b6000828210156113e2576113e2611320565b500390565b600082198211156113fa576113fa611320565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561142957611429611320565b5060010190565b60006001600160801b0382811684821680830382111561145257611452611320565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561148357600080fd5b81516112618161122f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114de5784516001600160a01b0316835293830193918301916001016114b9565b50506001600160a01b03969096166060850152505050608001529392505050565b6000602080838503121561151257600080fd5b82516001600160401b038082111561152957600080fd5b818501915085601f83011261153d57600080fd5b81518181111561154f5761154f61145b565b8060051b604051601f19603f830116810181811085821117156115745761157461145b565b60405291825284820192508381018501918883111561159257600080fd5b938501935b82851015610fbc57845184529385019392850192611597565b6000826115bf576115bf6113a6565b500490565b600063ffffffff8083168185168083038211156114525761145261132056fea2646970667358221220aae4039d00a36c17f6b0d5af08a45c1863c12cada27f558c8cb19507b945c56964736f6c63430008080033";
|
|
328
328
|
|
|
329
329
|
type FuseFaucetConstructorParams =
|
|
330
330
|
| [signer?: Signer]
|
|
@@ -732,7 +732,7 @@ const _abi = [
|
|
|
732
732
|
];
|
|
733
733
|
|
|
734
734
|
const _bytecode =
|
|
735
|
-
"0x608060405234801561001057600080fd5b506136e3806100206000396000f3fe60806040526004361061021c5760003560e01c806304d26ebf14610228578063094e23f914610251578063150d7e471461027e57806316c38b3c1461029457806317dfb94d146102b657806326476204146102eb5780632681f7e41461030e5780632e1a7d4d1461032e57806335aa2e441461034e5780633a4b66f11461036e5780633fb1ccf11461037657806340a141ff14610396578063452a9320146103b657806347a1671a146103d65780634cabdbfb146103f65780634d238c8e1461040b5780635c975abb1461042b5780636021a9d51461044c5780636711281c1461046257806370a0823114610477578063715018a6146104ad57806374a7262e146104c25780637c557046146104d85780637fd589c0146104f857806380d04de81461050d57806381028f67146105225780638129fc1c14610542578063853828b6146105575780638918c4a21461056c57806389a30271146105825780638a0dac4a146105a25780638bdb2afa146105c25780638da5cb5b146105e25780638ef3f761146105f75780639168ae7214610617578063a5a9063614610644578063aff44caf14610659578063bc8d95801461066e578063bf79c67f14610684578063c11a5630146106a4578063c25673d5146106ba578063c816841b146106cf578063d22e9b06146106ef578063d3a8c5f614610705578063d8952a4914610725578063f2fde38b14610745578063ff39f2591461076557600080fd5b3661022357005b600080fd5b34801561023457600080fd5b5061023e606f5481565b6040519081526020015b60405180910390f35b34801561025d57600080fd5b50607654610271906001600160a01b031681565b604051610248919061305c565b34801561028a57600080fd5b5061023e60705481565b3480156102a057600080fd5b506102b46102af36600461307e565b61077a565b005b3480156102c257600080fd5b506102d66102d136600461309b565b6107cb565b60408051928352602083019190915201610248565b6102fe6102f93660046130c9565b610976565b6040519015158152602001610248565b34801561031a57600080fd5b50606854610271906001600160a01b031681565b34801561033a57600080fd5b5061023e61034936600461309b565b610b42565b34801561035a57600080fd5b5061027161036936600461309b565b610df1565b6102fe610e1b565b34801561038257600080fd5b50606954610271906001600160a01b031681565b3480156103a257600080fd5b506102b46103b13660046130c9565b610e2c565b3480156103c257600080fd5b50607754610271906001600160a01b031681565b3480156103e257600080fd5b506102b46103f13660046130e6565b611029565b34801561040257600080fd5b506102b461123e565b34801561041757600080fd5b506102b46104263660046130c9565b611299565b34801561043757600080fd5b506076546102fe90600160a01b900460ff1681565b34801561045857600080fd5b5061023e606e5481565b34801561046e57600080fd5b506102b4611308565b34801561048357600080fd5b5061023e6104923660046130c9565b6001600160a01b031660009081526065602052604090205490565b3480156104b957600080fd5b506102b461132e565b3480156104ce57600080fd5b5061023e60745481565b3480156104e457600080fd5b506102d66104f336600461309b565b611367565b34801561050457600080fd5b506102b461169d565b34801561051957600080fd5b5061023e61186f565b34801561052e57600080fd5b50606a54610271906001600160a01b031681565b34801561054e57600080fd5b506102b461195a565b34801561056357600080fd5b506102b4611a33565b34801561057857600080fd5b5061023e606d5481565b34801561058e57600080fd5b50607554610271906001600160a01b031681565b3480156105ae57600080fd5b506102b46105bd3660046130c9565b611baf565b3480156105ce57600080fd5b50606b54610271906001600160a01b031681565b3480156105ee57600080fd5b50610271611bfb565b34801561060357600080fd5b50606754610271906001600160a01b031681565b34801561062357600080fd5b5061023e6106323660046130c9565b60656020526000908152604090205481565b34801561065057600080fd5b506102b4611c0a565b34801561066557600080fd5b506102b461205b565b34801561067a57600080fd5b5061023e60735481565b34801561069057600080fd5b506102d661069f366004613131565b612170565b3480156106b057600080fd5b5061023e60715481565b3480156106c657600080fd5b506102b46121b6565b3480156106db57600080fd5b50606c54610271906001600160a01b031681565b3480156106fb57600080fd5b5061023e60725481565b34801561071157600080fd5b506102b461072036600461315d565b612201565b34801561073157600080fd5b506102b4610740366004613189565b6122c6565b34801561075157600080fd5b506102b46107603660046130c9565b61234f565b34801561077157600080fd5b506102b46123ec565b6077546001600160a01b031633146107ad5760405162461bcd60e51b81526004016107a4906131c2565b60405180910390fd5b60768054911515600160a01b0260ff60a01b19909216919091179055565b606b54606854604080516315ab88c960e31b815290516000938493849384936001600160a01b039384169363e6a4390593169163ad5c4648916004808301926020929190829003018186803b15801561082357600080fd5b505afa158015610837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085b91906131e8565b6069546040516001600160e01b031960e085901b16815261088992916001600160a01b031690600401613205565b60206040518083038186803b1580156108a157600080fd5b505afa1580156108b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d991906131e8565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561091157600080fd5b505afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109499190613236565b506001600160701b031691506001600160701b0316915061096b828287612170565b935093505050915091565b6077546000906001600160a01b031633146109a35760405162461bcd60e51b81526004016107a4906131c2565b600034116109e75760405162461bcd60e51b815260206004820152601160248201527007374616b65206d757374206265203e203607c1b60448201526064016107a4565b606654610a2f5760405162461bcd60e51b81526020600482015260166024820152756e6f20617070726f7665642076616c696461746f727360501b60448201526064016107a4565b6000805b6001600160a01b03841615801590610a4c575060665481105b15610aa357836001600160a01b031660668281548110610a6e57610a6e61327b565b6000918252602090912001546001600160a01b031614610a915760019150610aa3565b80610a9b816132a7565b915050610a33565b506001600160a01b0383161580610ab75750805b610b035760405162461bcd60e51b815260206004820152601e60248201527f76616c696461746f72206e6f7420696e20617070726f766564206c697374000060448201526064016107a4565b6000610b0f3485612431565b33600090815260656020526040812080549293503492909190610b339084906132c2565b9091555090925050505b919050565b60003031818315610b535783610b64565b336000908152606560205260409020545b9050808015801590610b855750336000908152606560205260409020548211155b610bcb5760405162461bcd60e51b81526020600482015260176024820152761a5b9d985b1a59081dda5d1a191c985dc8185b5bdd5b9d604a1b60448201526064016107a4565b606654600090610bdc9087906126a7565b905060005b606654811015610d5457606754606680546000926001600160a01b0316916321429e609130919086908110610c1857610c1861327b565b6000918252602090912001546040516001600160e01b031960e085901b168152610c4f92916001600160a01b031690600401613205565b60206040518083038186803b158015610c6757600080fd5b505afa158015610c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9f91906132da565b905080610cac5750610d42565b828111610cf657610ce460668381548110610cc957610cc961327b565b6000918252602090912001546001600160a01b0316826126ba565b50610cef8482612792565b9350610d35565b610d2760668381548110610d0c57610d0c61327b565b6000918252602090912001546001600160a01b0316846126ba565b50610d328484612792565b93505b83610d405750610d54565b505b80610d4c816132a7565b915050610be1565b50610d60303185612792565b935083831115610d6e578392505b33600090815260656020526040902054610d889084612792565b336000908152606560205260409020558215610de75760405133908490600081818185875af1925050503d8060008114610dde576040519150601f19603f3d011682016040523d82523d6000602084013e610de3565b606091505b5050505b5090949350505050565b60668181548110610e0157600080fd5b6000918252602090912001546001600160a01b0316905081565b6000610e276000610976565b905090565b33610e35611bfb565b6001600160a01b031614610e5b5760405162461bcd60e51b81526004016107a4906132f3565b60675460405163010a14f360e51b81526000916001600160a01b0316906321429e6090610e8e9030908690600401613205565b60206040518083038186803b158015610ea657600080fd5b505afa158015610eba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ede91906132da565b90508015610f03573031610ef283836126ba565b508030311415610f0157505050565b505b60005b60665481101561102357826001600160a01b031660668281548110610f2d57610f2d61327b565b6000918252602090912001546001600160a01b0316141561101157606654610f5790600190613328565b811015610fd95760668054610f6e90600190613328565b81548110610f7e57610f7e61327b565b600091825260209091200154606680546001600160a01b039092169183908110610faa57610faa61327b565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b6066805480610fea57610fea61333f565b600082815260209020810160001990810180546001600160a01b0319169055019055611023565b8061101b816132a7565b915050610f06565b50505b50565b606c546001600160a01b0316611023576001600160a01b0381161561104e5780611064565b73fb76e9e7d88e308ab530330ed90e84a9525703195b606880546001600160a01b03199081166001600160a01b03938416908117909255606980548216878516179055606a8054909116928516929092179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156110d857600080fd5b505afa1580156110ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111091906131e8565b606b80546001600160a01b0319166001600160a01b03928316908117909155606854604080516315ab88c960e31b81529051929363e6a439059392169163ad5c464891600480820192602092909190829003018186803b15801561117357600080fd5b505afa158015611187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ab91906131e8565b856040518363ffffffff1660e01b81526004016111c9929190613205565b60206040518083038186803b1580156111e157600080fd5b505afa1580156111f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121991906131e8565b606c80546001600160a01b0319166001600160a01b0392909216919091179055505050565b6075546001600160a01b031661129757607580546001600160a01b031990811673620fd5fa44be6af63715ef4e65ddfa0387ad13f5179091556076805490911673249be57637d8b013ad64785404b24aebae9b098b1790555b565b336112a2611bfb565b6001600160a01b0316146112c85760405162461bcd60e51b81526004016107a4906132f3565b6066805460018101825560009190915260008051602061368e8339815191520180546001600160a01b0319166001600160a01b0392909216919091179055565b60715461129757618235606e819055607255610bb8606f55601e607055620186a0607155565b33611337611bfb565b6001600160a01b03161461135d5760405162461bcd60e51b81526004016107a4906132f3565b611297600061279e565b606b54606854604080516315ab88c960e31b81529051600093849384936001600160a01b039283169363e6a43905939092169163ad5c464891600480820192602092909190829003018186803b1580156113c057600080fd5b505afa1580156113d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f891906131e8565b6076546040516001600160e01b031960e085901b16815261142692916001600160a01b031690600401613205565b60206040518083038186803b15801561143e57600080fd5b505afa158015611452573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147691906131e8565b606b5460695460755460405163e6a4390560e01b81529394506000936001600160a01b039384169363e6a43905936114b79390821692911690600401613205565b60206040518083038186803b1580156114cf57600080fd5b505afa1580156114e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150791906131e8565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561154557600080fd5b505afa158015611559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157d9190613236565b506001600160701b031691506001600160701b03169150600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156115d057600080fd5b505afa1580156115e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116089190613236565b506001600160701b03918216935016905060006116378261163185670de0b6b3a76400006127f0565b906126a7565b90506000611651826116318d670de0b6b3a76400006127f0565b905060008061166f6116688864e8d4a51000613355565b8985612170565b9b5091508a905061168c670de0b6b3a764000061163184876127f0565b9b5050505050505050505050915091565b606880546001600160a01b03191673e3f85aad0c8dd7337427b9df5d0fb741d65eeeb59081179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156116fc57600080fd5b505afa158015611710573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173491906131e8565b606b80546001600160a01b0319166001600160a01b03928316908117909155606854604080516315ab88c960e31b81529051929363e6a439059392169163ad5c464891600480820192602092909190829003018186803b15801561179757600080fd5b505afa1580156117ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cf91906131e8565b6069546040516001600160e01b031960e085901b1681526117fd92916001600160a01b031690600401613205565b60206040518083038186803b15801561181557600080fd5b505afa158015611829573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184d91906131e8565b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b600080805b60665481101561195457606754606680546000926001600160a01b0316916321429e6091309190869081106118ab576118ab61327b565b6000918252602090912001546040516001600160e01b031960e085901b1681526118e292916001600160a01b031690600401613205565b60206040518083038186803b1580156118fa57600080fd5b505afa15801561190e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193291906132da565b905061193e81846132c2565b925050808061194c906132a7565b915050611874565b50919050565b600054610100900460ff1680611973575060005460ff16155b61198f5760405162461bcd60e51b81526004016107a490613374565b600054610100900460ff161580156119b1576000805461ffff19166101011790555b6119b96127fc565b606780546001600160a01b0319908116733014ca10b91cb3d0ad85fef7a3cb95bcac9c0f79179091556066805460018101825560009190915260008051602061368e83398151915201805490911673cb876a393f05a6677a8a029f1c6d7603b416c0a61790558015611026576000805461ff001916905550565b6077546001600160a01b03163314611a5d5760405162461bcd60e51b81526004016107a4906131c2565b60005b606654811015611b5657606754606680546000926001600160a01b0316916321429e609130919086908110611a9757611a9761327b565b6000918252602090912001546040516001600160e01b031960e085901b168152611ace92916001600160a01b031690600401613205565b60206040518083038186803b158015611ae657600080fd5b505afa158015611afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1e91906132da565b905080611b2b5750611b44565b611b4160668381548110610cc957610cc961327b565b50505b80611b4e816132a7565b915050611a60565b506000607455303180156110265760405133908290600081818185875af1925050503d8060008114611ba4576040519150601f19603f3d011682016040523d82523d6000602084013e611ba9565b606091505b50505050565b6077546001600160a01b03163314611bd95760405162461bcd60e51b81526004016107a4906131c2565b607780546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031690565b607654600160a01b900460ff1615611c605760405162461bcd60e51b81526020600482015260196024820152781d589a4818dbdb1b1958dd1a5bdb881a5cc81c185d585cd959603a1b60448201526064016107a4565b606a5460408051635c9302c960e01b815290516000926001600160a01b031691635c9302c9916004808301926020929190829003018186803b158015611ca557600080fd5b505afa158015611cb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cdd91906132da565b9050606d54811415611d3d5760405162461bcd60e51b8152602060048201526024808201527f63616e20636f6c6c656374206f6e6c79206f6e636520696e206120756269206360448201526379636c6560e01b60648201526084016107a4565b6000607454611d4a303190565b611d549190613328565b9050600081607454611d6691906132c2565b11611dac5760405162461bcd60e51b81526020600482015260166024820152751b9bc819585c9b9a5b99dcc81d1bc818dbdb1b1958dd60521b60448201526064016107a4565b606d829055607154606e54600091611dd39161163190611dcc9083613328565b85906127f0565b90506000611de18284613328565b90506000611dfb60745484611df691906132c2565b612870565b905080600081518110611e1057611e1061327b565b602002602001015160745484611e2691906132c2565b611e309190613328565b607455611e3e826000612431565b5060008160018351611e509190613328565b81518110611e6057611e6061327b565b602002602001015190506000611e87607154611631607054856127f090919063ffffffff16565b90508015611f155760695460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90611ec190339085906004016133c2565b602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1391906133db565b505b611f1f8183613328565b91506000611f3e607154611631607254866127f090919063ffffffff16565b90506000611f4c8483612792565b606954606a5460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb92611f8492169085906004016133c2565b602060405180830381600087803b158015611f9e57600080fd5b505af1158015611fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd691906133db565b508160736000828254611fe991906132c2565b90915550506074546040805183815260208101859052908101869052606081018a905260808101919091523360a082015260c0810184905289907f49a079c90e07ed02ae8283e86eaeb643c637381d30aa7ba06d155e5b744a85439060e00160405180910390a2505050505050505050565b60765460785460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261209392911690600019906004016133c2565b602060405180830381600087803b1580156120ad57600080fd5b505af11580156120c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e591906133db565b5060755460685460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261211e92911690600019906004016133c2565b602060405180830381600087803b15801561213857600080fd5b505af115801561214c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102691906133db565b600080607154606f54866121849190613355565b61218e91906133f8565b915082821061219d578261219f565b815b91506121ac828686612bbc565b9050935093915050565b6077546001600160a01b0316611297576076805460ff60a01b1916600160a01b179055607780546001600160a01b031916735128e3c1f8846724cc1007af9b4189713922e4bb179055565b6077546001600160a01b0316331461222b5760405162461bcd60e51b81526004016107a4906131c2565b806073600082825461223d9190613328565b909155505060695460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061227490859085906004016133c2565b602060405180830381600087803b15801561228e57600080fd5b505af11580156122a2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102391906133db565b336122cf611bfb565b6001600160a01b0316146122f55760405162461bcd60e51b81526004016107a4906132f3565b6001600160a01b0382161561232057606980546001600160a01b0319166001600160a01b0384161790555b6001600160a01b0381161561234b57606a80546001600160a01b0319166001600160a01b0383161790555b5050565b33612358611bfb565b6001600160a01b03161461237e5760405162461bcd60e51b81526004016107a4906132f3565b6001600160a01b0381166123e35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107a4565b6110268161279e565b6078546001600160a01b031661129757607880546001600160a01b03191673dfe016328e7bcd6fa06614fe3af3877e931f7e0a1790556076805460ff60a01b19169055565b606654600090612443575060006126a1565b6001600160a01b038216156124bf576067546040516317066a5760e21b81526001600160a01b0390911690635c19a95c90859061248490869060040161305c565b6000604051808303818588803b15801561249d57600080fd5b505af11580156124b1573d6000803e3d6000fd5b5050505050600190506126a1565b606654600090846124ce61186f565b6124d891906132c2565b6124e291906133f8565b90508360005b606654811080156124f95750600082115b1561269957606754606680546000926001600160a01b0316916321429e60913091908690811061252b5761252b61327b565b6000918252602090912001546040516001600160e01b031960e085901b16815261256292916001600160a01b031690600401613205565b60206040518083038186803b15801561257a57600080fd5b505afa15801561258e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b291906132da565b9050838110156126865760006125c88583612792565b90508381106125d757836125d9565b805b606754606680549293506001600160a01b0390911691635c19a95c918491879081106126075761260761327b565b6000918252602090912001546040516001600160e01b031960e085901b16815261263d916001600160a01b03169060040161305c565b6000604051808303818588803b15801561265657600080fd5b505af115801561266a573d6000803e3d6000fd5b5050505050612682818561279290919063ffffffff16565b9350505b5080612691816132a7565b9150506124e8565b506001925050505b92915050565b60006126b382846133f8565b9392505050565b60675460405163f3fef3a360e01b81526000916001600160a01b03169063f3fef3a3906126ed90869086906004016133c2565b600060405180830381600087803b15801561270757600080fd5b505af1925050508015612718575060015b61278a5761272461341a565b806308c379a0141561274e5750612739613478565b806127445750612750565b60009150506126a1565b505b3d80801561277a576040519150601f19603f3d011682016040523d82523d6000602084013e61277f565b606091505b5060009150506126a1565b5060016126a1565b60006126b38284613328565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006126b38284613355565b600054610100900460ff1680612815575060005460ff16155b6128315760405162461bcd60e51b81526004016107a490613374565b600054610100900460ff16158015612853576000805461ffff19166101011790555b61285c3361279e565b8015611026576000805461ff001916905550565b6060600082116128925760405162461bcd60e51b81526004016107a490613501565b60008061289e846107cb565b915091506000806128ae86611367565b915091506060828510612a56576040805160028082526060820183529091602083019080368337505060695482519293506001600160a01b03169183915060019081106128fd576128fd61327b565b6001600160a01b03928316602091820292909201810191909152606854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561295157600080fd5b505afa158015612965573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298991906131e8565b8160008151811061299c5761299c61327b565b6001600160a01b03928316602091820292909201015260685416637ff36ab58660646129c988605f613355565b6129d391906133f8565b8430426040518663ffffffff1660e01b81526004016129f59493929190613576565b6000604051808303818588803b158015612a0e57600080fd5b505af1158015612a22573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052612a4b91908101906135ab565b979650505050505050565b600080612a6285612c00565b60408051600280825260608201909252929450909250816020016020820280368337505060695482519295506001600160a01b0316918591506001908110612aac57612aac61327b565b6001600160a01b03928316602091820292909201015260755484519116908490600090612adb57612adb61327b565b6001600160a01b039283166020918202929092010152606854600091166338ed1739846064612b0b89605f613355565b612b1591906133f8565b8730426040518663ffffffff1660e01b8152600401612b38959493929190613651565b600060405180830381600087803b158015612b5257600080fd5b505af1158015612b66573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612b8e91908101906135ab565b90508181600081518110612ba457612ba461327b565b60209081029190910101529998505050505050505050565b600080612bcb856103e5613355565b90506000612bd98483613355565b9050600082612bea876103e8613355565b612bf491906132c2565b9050612a4b81836133f8565b60008060008311612c235760405162461bcd60e51b81526004016107a490613501565b606b54606854604080516315ab88c960e31b815290516000936001600160a01b039081169363e6a439059391169163ad5c464891600480820192602092909190829003018186803b158015612c7757600080fd5b505afa158015612c8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612caf91906131e8565b6076546040516001600160e01b031960e085901b168152612cdd92916001600160a01b031690600401613205565b60206040518083038186803b158015612cf557600080fd5b505afa158015612d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d2d91906131e8565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612d6b57600080fd5b505afa158015612d7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da39190613236565b506001600160701b031691506001600160701b03169150600080612dc884848a612170565b60408051600280825260608201835293955091935060009290602083019080368337505060765482519293506001600160a01b0316918391506001908110612e1257612e1261327b565b6001600160a01b03928316602091820292909201810191909152606854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612e6657600080fd5b505afa158015612e7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e9e91906131e8565b81600081518110612eb157612eb161327b565b6001600160a01b03928316602091820292909201015260685460009116637ff36ab5856064612ee187605f613355565b612eeb91906133f8565b8530426040518663ffffffff1660e01b8152600401612f0d9493929190613576565b6000604051808303818588803b158015612f2657600080fd5b505af1158015612f3a573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052612f6391908101906135ab565b60785481519192506001600160a01b031690632b7f09239083906001908110612f8e57612f8e61327b565b602090810291909101015160765460755460405160e085901b6001600160e01b031916815260048101939093526001600160a01b039182166024840152166044820152606401600060405180830381600087803b158015612fee57600080fd5b505af1158015613002573d6000803e3d6000fd5b50505050806000815181106130195761301961327b565b6020026020010151975064e8d4a510008160018151811061303c5761303c61327b565b602002602001015161304e91906133f8565b985050505050505050915091565b6001600160a01b0391909116815260200190565b801515811461102657600080fd5b60006020828403121561309057600080fd5b81356126b381613070565b6000602082840312156130ad57600080fd5b5035919050565b6001600160a01b038116811461102657600080fd5b6000602082840312156130db57600080fd5b81356126b3816130b4565b6000806000606084860312156130fb57600080fd5b8335613106816130b4565b92506020840135613116816130b4565b91506040840135613126816130b4565b809150509250925092565b60008060006060848603121561314657600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561317057600080fd5b823561317b816130b4565b946020939093013593505050565b6000806040838503121561319c57600080fd5b82356131a7816130b4565b915060208301356131b7816130b4565b809150509250929050565b6020808252600c908201526b3737ba1033bab0b93234b0b760a11b604082015260600190565b6000602082840312156131fa57600080fd5b81516126b3816130b4565b6001600160a01b0392831681529116602082015260400190565b80516001600160701b0381168114610b3d57600080fd5b60008060006060848603121561324b57600080fd5b6132548461321f565b92506132626020850161321f565b9150604084015163ffffffff8116811461312657600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156132bb576132bb613291565b5060010190565b600082198211156132d5576132d5613291565b500190565b6000602082840312156132ec57600080fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008282101561333a5761333a613291565b500390565b634e487b7160e01b600052603160045260246000fd5b600081600019048311821515161561336f5761336f613291565b500290565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03929092168252602082015260400190565b6000602082840312156133ed57600080fd5b81516126b381613070565b60008261341557634e487b7160e01b600052601260045260246000fd5b500490565b600060033d11156134335760046000803e5060005160e01c5b90565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561347157613471613436565b6040525050565b600060443d10156134865790565b6040516003193d81016004833e81513d6001600160401b0380831160248401831017156134b557505050505090565b82850191508151818111156134cd5750505050505090565b843d87010160208285010111156134e75750505050505090565b6134f66020828601018761344c565b509095945050505050565b60208082526017908201527606275792076616c75652073686f756c64206265203e203604c1b604082015260600190565b600081518084526020808501945080840160005b8381101561356b5781516001600160a01b031687529582019590820190600101613546565b509495945050505050565b84815260806020820152600061358f6080830186613532565b6001600160a01b03949094166040830152506060015292915050565b600060208083850312156135be57600080fd5b82516001600160401b03808211156135d557600080fd5b818501915085601f8301126135e957600080fd5b8151818111156135fb576135fb613436565b8060051b91506040516136108584018261344c565b8181529183018401918481018884111561362957600080fd5b938501935b83851015613645578451815293850193850161362e565b50979650505050505050565b85815284602082015260a06040820152600061367060a0830186613532565b6001600160a01b039490941660608301525060800152939250505056fe46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354a2646970667358221220644e51f27293570e744cb5a1516fd69635325e4ee25e5f1cb196ce5a0131857964736f6c63430008080033";
|
|
735
|
+
"0x608060405234801561001057600080fd5b506136e3806100206000396000f3fe60806040526004361061021c5760003560e01c806304d26ebf14610228578063094e23f914610251578063150d7e471461027e57806316c38b3c1461029457806317dfb94d146102b657806326476204146102eb5780632681f7e41461030e5780632e1a7d4d1461032e57806335aa2e441461034e5780633a4b66f11461036e5780633fb1ccf11461037657806340a141ff14610396578063452a9320146103b657806347a1671a146103d65780634cabdbfb146103f65780634d238c8e1461040b5780635c975abb1461042b5780636021a9d51461044c5780636711281c1461046257806370a0823114610477578063715018a6146104ad57806374a7262e146104c25780637c557046146104d85780637fd589c0146104f857806380d04de81461050d57806381028f67146105225780638129fc1c14610542578063853828b6146105575780638918c4a21461056c57806389a30271146105825780638a0dac4a146105a25780638bdb2afa146105c25780638da5cb5b146105e25780638ef3f761146105f75780639168ae7214610617578063a5a9063614610644578063aff44caf14610659578063bc8d95801461066e578063bf79c67f14610684578063c11a5630146106a4578063c25673d5146106ba578063c816841b146106cf578063d22e9b06146106ef578063d3a8c5f614610705578063d8952a4914610725578063f2fde38b14610745578063ff39f2591461076557600080fd5b3661022357005b600080fd5b34801561023457600080fd5b5061023e606f5481565b6040519081526020015b60405180910390f35b34801561025d57600080fd5b50607654610271906001600160a01b031681565b604051610248919061305c565b34801561028a57600080fd5b5061023e60705481565b3480156102a057600080fd5b506102b46102af36600461307e565b61077a565b005b3480156102c257600080fd5b506102d66102d136600461309b565b6107cb565b60408051928352602083019190915201610248565b6102fe6102f93660046130c9565b610976565b6040519015158152602001610248565b34801561031a57600080fd5b50606854610271906001600160a01b031681565b34801561033a57600080fd5b5061023e61034936600461309b565b610b42565b34801561035a57600080fd5b5061027161036936600461309b565b610df1565b6102fe610e1b565b34801561038257600080fd5b50606954610271906001600160a01b031681565b3480156103a257600080fd5b506102b46103b13660046130c9565b610e2c565b3480156103c257600080fd5b50607754610271906001600160a01b031681565b3480156103e257600080fd5b506102b46103f13660046130e6565b611029565b34801561040257600080fd5b506102b461123e565b34801561041757600080fd5b506102b46104263660046130c9565b611299565b34801561043757600080fd5b506076546102fe90600160a01b900460ff1681565b34801561045857600080fd5b5061023e606e5481565b34801561046e57600080fd5b506102b4611308565b34801561048357600080fd5b5061023e6104923660046130c9565b6001600160a01b031660009081526065602052604090205490565b3480156104b957600080fd5b506102b461132e565b3480156104ce57600080fd5b5061023e60745481565b3480156104e457600080fd5b506102d66104f336600461309b565b611367565b34801561050457600080fd5b506102b461169d565b34801561051957600080fd5b5061023e61186f565b34801561052e57600080fd5b50606a54610271906001600160a01b031681565b34801561054e57600080fd5b506102b461195a565b34801561056357600080fd5b506102b4611a33565b34801561057857600080fd5b5061023e606d5481565b34801561058e57600080fd5b50607554610271906001600160a01b031681565b3480156105ae57600080fd5b506102b46105bd3660046130c9565b611baf565b3480156105ce57600080fd5b50606b54610271906001600160a01b031681565b3480156105ee57600080fd5b50610271611bfb565b34801561060357600080fd5b50606754610271906001600160a01b031681565b34801561062357600080fd5b5061023e6106323660046130c9565b60656020526000908152604090205481565b34801561065057600080fd5b506102b4611c0a565b34801561066557600080fd5b506102b461205b565b34801561067a57600080fd5b5061023e60735481565b34801561069057600080fd5b506102d661069f366004613131565b612170565b3480156106b057600080fd5b5061023e60715481565b3480156106c657600080fd5b506102b46121b6565b3480156106db57600080fd5b50606c54610271906001600160a01b031681565b3480156106fb57600080fd5b5061023e60725481565b34801561071157600080fd5b506102b461072036600461315d565b612201565b34801561073157600080fd5b506102b4610740366004613189565b6122c6565b34801561075157600080fd5b506102b46107603660046130c9565b61234f565b34801561077157600080fd5b506102b46123ec565b6077546001600160a01b031633146107ad5760405162461bcd60e51b81526004016107a4906131c2565b60405180910390fd5b60768054911515600160a01b0260ff60a01b19909216919091179055565b606b54606854604080516315ab88c960e31b815290516000938493849384936001600160a01b039384169363e6a4390593169163ad5c4648916004808301926020929190829003018186803b15801561082357600080fd5b505afa158015610837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085b91906131e8565b6069546040516001600160e01b031960e085901b16815261088992916001600160a01b031690600401613205565b60206040518083038186803b1580156108a157600080fd5b505afa1580156108b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d991906131e8565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561091157600080fd5b505afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109499190613236565b506001600160701b031691506001600160701b0316915061096b828287612170565b935093505050915091565b6077546000906001600160a01b031633146109a35760405162461bcd60e51b81526004016107a4906131c2565b600034116109e75760405162461bcd60e51b815260206004820152601160248201527007374616b65206d757374206265203e203607c1b60448201526064016107a4565b606654610a2f5760405162461bcd60e51b81526020600482015260166024820152756e6f20617070726f7665642076616c696461746f727360501b60448201526064016107a4565b6000805b6001600160a01b03841615801590610a4c575060665481105b15610aa357836001600160a01b031660668281548110610a6e57610a6e61327b565b6000918252602090912001546001600160a01b031614610a915760019150610aa3565b80610a9b816132a7565b915050610a33565b506001600160a01b0383161580610ab75750805b610b035760405162461bcd60e51b815260206004820152601e60248201527f76616c696461746f72206e6f7420696e20617070726f766564206c697374000060448201526064016107a4565b6000610b0f3485612431565b33600090815260656020526040812080549293503492909190610b339084906132c2565b9091555090925050505b919050565b60003031818315610b535783610b64565b336000908152606560205260409020545b9050808015801590610b855750336000908152606560205260409020548211155b610bcb5760405162461bcd60e51b81526020600482015260176024820152761a5b9d985b1a59081dda5d1a191c985dc8185b5bdd5b9d604a1b60448201526064016107a4565b606654600090610bdc9087906126a7565b905060005b606654811015610d5457606754606680546000926001600160a01b0316916321429e609130919086908110610c1857610c1861327b565b6000918252602090912001546040516001600160e01b031960e085901b168152610c4f92916001600160a01b031690600401613205565b60206040518083038186803b158015610c6757600080fd5b505afa158015610c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9f91906132da565b905080610cac5750610d42565b828111610cf657610ce460668381548110610cc957610cc961327b565b6000918252602090912001546001600160a01b0316826126ba565b50610cef8482612792565b9350610d35565b610d2760668381548110610d0c57610d0c61327b565b6000918252602090912001546001600160a01b0316846126ba565b50610d328484612792565b93505b83610d405750610d54565b505b80610d4c816132a7565b915050610be1565b50610d60303185612792565b935083831115610d6e578392505b33600090815260656020526040902054610d889084612792565b336000908152606560205260409020558215610de75760405133908490600081818185875af1925050503d8060008114610dde576040519150601f19603f3d011682016040523d82523d6000602084013e610de3565b606091505b5050505b5090949350505050565b60668181548110610e0157600080fd5b6000918252602090912001546001600160a01b0316905081565b6000610e276000610976565b905090565b33610e35611bfb565b6001600160a01b031614610e5b5760405162461bcd60e51b81526004016107a4906132f3565b60675460405163010a14f360e51b81526000916001600160a01b0316906321429e6090610e8e9030908690600401613205565b60206040518083038186803b158015610ea657600080fd5b505afa158015610eba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ede91906132da565b90508015610f03573031610ef283836126ba565b508030311415610f0157505050565b505b60005b60665481101561102357826001600160a01b031660668281548110610f2d57610f2d61327b565b6000918252602090912001546001600160a01b0316141561101157606654610f5790600190613328565b811015610fd95760668054610f6e90600190613328565b81548110610f7e57610f7e61327b565b600091825260209091200154606680546001600160a01b039092169183908110610faa57610faa61327b565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b6066805480610fea57610fea61333f565b600082815260209020810160001990810180546001600160a01b0319169055019055611023565b8061101b816132a7565b915050610f06565b50505b50565b606c546001600160a01b0316611023576001600160a01b0381161561104e5780611064565b73fb76e9e7d88e308ab530330ed90e84a9525703195b606880546001600160a01b03199081166001600160a01b03938416908117909255606980548216878516179055606a8054909116928516929092179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156110d857600080fd5b505afa1580156110ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111091906131e8565b606b80546001600160a01b0319166001600160a01b03928316908117909155606854604080516315ab88c960e31b81529051929363e6a439059392169163ad5c464891600480820192602092909190829003018186803b15801561117357600080fd5b505afa158015611187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ab91906131e8565b856040518363ffffffff1660e01b81526004016111c9929190613205565b60206040518083038186803b1580156111e157600080fd5b505afa1580156111f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121991906131e8565b606c80546001600160a01b0319166001600160a01b0392909216919091179055505050565b6075546001600160a01b031661129757607580546001600160a01b031990811673620fd5fa44be6af63715ef4e65ddfa0387ad13f5179091556076805490911673249be57637d8b013ad64785404b24aebae9b098b1790555b565b336112a2611bfb565b6001600160a01b0316146112c85760405162461bcd60e51b81526004016107a4906132f3565b6066805460018101825560009190915260008051602061368e8339815191520180546001600160a01b0319166001600160a01b0392909216919091179055565b60715461129757618235606e819055607255610bb8606f55601e607055620186a0607155565b33611337611bfb565b6001600160a01b03161461135d5760405162461bcd60e51b81526004016107a4906132f3565b611297600061279e565b606b54606854604080516315ab88c960e31b81529051600093849384936001600160a01b039283169363e6a43905939092169163ad5c464891600480820192602092909190829003018186803b1580156113c057600080fd5b505afa1580156113d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f891906131e8565b6076546040516001600160e01b031960e085901b16815261142692916001600160a01b031690600401613205565b60206040518083038186803b15801561143e57600080fd5b505afa158015611452573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147691906131e8565b606b5460695460755460405163e6a4390560e01b81529394506000936001600160a01b039384169363e6a43905936114b79390821692911690600401613205565b60206040518083038186803b1580156114cf57600080fd5b505afa1580156114e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150791906131e8565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561154557600080fd5b505afa158015611559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157d9190613236565b506001600160701b031691506001600160701b03169150600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156115d057600080fd5b505afa1580156115e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116089190613236565b506001600160701b03918216935016905060006116378261163185670de0b6b3a76400006127f0565b906126a7565b90506000611651826116318d670de0b6b3a76400006127f0565b905060008061166f6116688864e8d4a51000613355565b8985612170565b9b5091508a905061168c670de0b6b3a764000061163184876127f0565b9b5050505050505050505050915091565b606880546001600160a01b03191673e3f85aad0c8dd7337427b9df5d0fb741d65eeeb59081179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156116fc57600080fd5b505afa158015611710573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173491906131e8565b606b80546001600160a01b0319166001600160a01b03928316908117909155606854604080516315ab88c960e31b81529051929363e6a439059392169163ad5c464891600480820192602092909190829003018186803b15801561179757600080fd5b505afa1580156117ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cf91906131e8565b6069546040516001600160e01b031960e085901b1681526117fd92916001600160a01b031690600401613205565b60206040518083038186803b15801561181557600080fd5b505afa158015611829573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184d91906131e8565b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b600080805b60665481101561195457606754606680546000926001600160a01b0316916321429e6091309190869081106118ab576118ab61327b565b6000918252602090912001546040516001600160e01b031960e085901b1681526118e292916001600160a01b031690600401613205565b60206040518083038186803b1580156118fa57600080fd5b505afa15801561190e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193291906132da565b905061193e81846132c2565b925050808061194c906132a7565b915050611874565b50919050565b600054610100900460ff1680611973575060005460ff16155b61198f5760405162461bcd60e51b81526004016107a490613374565b600054610100900460ff161580156119b1576000805461ffff19166101011790555b6119b96127fc565b606780546001600160a01b0319908116733014ca10b91cb3d0ad85fef7a3cb95bcac9c0f79179091556066805460018101825560009190915260008051602061368e83398151915201805490911673cb876a393f05a6677a8a029f1c6d7603b416c0a61790558015611026576000805461ff001916905550565b6077546001600160a01b03163314611a5d5760405162461bcd60e51b81526004016107a4906131c2565b60005b606654811015611b5657606754606680546000926001600160a01b0316916321429e609130919086908110611a9757611a9761327b565b6000918252602090912001546040516001600160e01b031960e085901b168152611ace92916001600160a01b031690600401613205565b60206040518083038186803b158015611ae657600080fd5b505afa158015611afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1e91906132da565b905080611b2b5750611b44565b611b4160668381548110610cc957610cc961327b565b50505b80611b4e816132a7565b915050611a60565b506000607455303180156110265760405133908290600081818185875af1925050503d8060008114611ba4576040519150601f19603f3d011682016040523d82523d6000602084013e611ba9565b606091505b50505050565b6077546001600160a01b03163314611bd95760405162461bcd60e51b81526004016107a4906131c2565b607780546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031690565b607654600160a01b900460ff1615611c605760405162461bcd60e51b81526020600482015260196024820152781d589a4818dbdb1b1958dd1a5bdb881a5cc81c185d585cd959603a1b60448201526064016107a4565b606a5460408051635c9302c960e01b815290516000926001600160a01b031691635c9302c9916004808301926020929190829003018186803b158015611ca557600080fd5b505afa158015611cb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cdd91906132da565b9050606d54811415611d3d5760405162461bcd60e51b8152602060048201526024808201527f63616e20636f6c6c656374206f6e6c79206f6e636520696e206120756269206360448201526379636c6560e01b60648201526084016107a4565b6000607454611d4a303190565b611d549190613328565b9050600081607454611d6691906132c2565b11611dac5760405162461bcd60e51b81526020600482015260166024820152751b9bc819585c9b9a5b99dcc81d1bc818dbdb1b1958dd60521b60448201526064016107a4565b606d829055607154606e54600091611dd39161163190611dcc9083613328565b85906127f0565b90506000611de18284613328565b90506000611dfb60745484611df691906132c2565b612870565b905080600081518110611e1057611e1061327b565b602002602001015160745484611e2691906132c2565b611e309190613328565b607455611e3e826000612431565b5060008160018351611e509190613328565b81518110611e6057611e6061327b565b602002602001015190506000611e87607154611631607054856127f090919063ffffffff16565b90508015611f155760695460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90611ec190339085906004016133c2565b602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1391906133db565b505b611f1f8183613328565b91506000611f3e607154611631607254866127f090919063ffffffff16565b90506000611f4c8483612792565b606954606a5460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb92611f8492169085906004016133c2565b602060405180830381600087803b158015611f9e57600080fd5b505af1158015611fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd691906133db565b508160736000828254611fe991906132c2565b90915550506074546040805183815260208101859052908101869052606081018a905260808101919091523360a082015260c0810184905289907f49a079c90e07ed02ae8283e86eaeb643c637381d30aa7ba06d155e5b744a85439060e00160405180910390a2505050505050505050565b60765460785460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261209392911690600019906004016133c2565b602060405180830381600087803b1580156120ad57600080fd5b505af11580156120c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e591906133db565b5060755460685460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261211e92911690600019906004016133c2565b602060405180830381600087803b15801561213857600080fd5b505af115801561214c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102691906133db565b600080607154606f54866121849190613355565b61218e91906133f8565b915082821061219d578261219f565b815b91506121ac828686612bbc565b9050935093915050565b6077546001600160a01b0316611297576076805460ff60a01b1916600160a01b179055607780546001600160a01b031916735128e3c1f8846724cc1007af9b4189713922e4bb179055565b6077546001600160a01b0316331461222b5760405162461bcd60e51b81526004016107a4906131c2565b806073600082825461223d9190613328565b909155505060695460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061227490859085906004016133c2565b602060405180830381600087803b15801561228e57600080fd5b505af11580156122a2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102391906133db565b336122cf611bfb565b6001600160a01b0316146122f55760405162461bcd60e51b81526004016107a4906132f3565b6001600160a01b0382161561232057606980546001600160a01b0319166001600160a01b0384161790555b6001600160a01b0381161561234b57606a80546001600160a01b0319166001600160a01b0383161790555b5050565b33612358611bfb565b6001600160a01b03161461237e5760405162461bcd60e51b81526004016107a4906132f3565b6001600160a01b0381166123e35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107a4565b6110268161279e565b6078546001600160a01b031661129757607880546001600160a01b03191673dfe016328e7bcd6fa06614fe3af3877e931f7e0a1790556076805460ff60a01b19169055565b606654600090612443575060006126a1565b6001600160a01b038216156124bf576067546040516317066a5760e21b81526001600160a01b0390911690635c19a95c90859061248490869060040161305c565b6000604051808303818588803b15801561249d57600080fd5b505af11580156124b1573d6000803e3d6000fd5b5050505050600190506126a1565b606654600090846124ce61186f565b6124d891906132c2565b6124e291906133f8565b90508360005b606654811080156124f95750600082115b1561269957606754606680546000926001600160a01b0316916321429e60913091908690811061252b5761252b61327b565b6000918252602090912001546040516001600160e01b031960e085901b16815261256292916001600160a01b031690600401613205565b60206040518083038186803b15801561257a57600080fd5b505afa15801561258e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b291906132da565b9050838110156126865760006125c88583612792565b90508381106125d757836125d9565b805b606754606680549293506001600160a01b0390911691635c19a95c918491879081106126075761260761327b565b6000918252602090912001546040516001600160e01b031960e085901b16815261263d916001600160a01b03169060040161305c565b6000604051808303818588803b15801561265657600080fd5b505af115801561266a573d6000803e3d6000fd5b5050505050612682818561279290919063ffffffff16565b9350505b5080612691816132a7565b9150506124e8565b506001925050505b92915050565b60006126b382846133f8565b9392505050565b60675460405163f3fef3a360e01b81526000916001600160a01b03169063f3fef3a3906126ed90869086906004016133c2565b600060405180830381600087803b15801561270757600080fd5b505af1925050508015612718575060015b61278a5761272461341a565b806308c379a0141561274e5750612739613478565b806127445750612750565b60009150506126a1565b505b3d80801561277a576040519150601f19603f3d011682016040523d82523d6000602084013e61277f565b606091505b5060009150506126a1565b5060016126a1565b60006126b38284613328565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006126b38284613355565b600054610100900460ff1680612815575060005460ff16155b6128315760405162461bcd60e51b81526004016107a490613374565b600054610100900460ff16158015612853576000805461ffff19166101011790555b61285c3361279e565b8015611026576000805461ff001916905550565b6060600082116128925760405162461bcd60e51b81526004016107a490613501565b60008061289e846107cb565b915091506000806128ae86611367565b915091506060828510612a56576040805160028082526060820183529091602083019080368337505060695482519293506001600160a01b03169183915060019081106128fd576128fd61327b565b6001600160a01b03928316602091820292909201810191909152606854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561295157600080fd5b505afa158015612965573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298991906131e8565b8160008151811061299c5761299c61327b565b6001600160a01b03928316602091820292909201015260685416637ff36ab58660646129c988605f613355565b6129d391906133f8565b8430426040518663ffffffff1660e01b81526004016129f59493929190613576565b6000604051808303818588803b158015612a0e57600080fd5b505af1158015612a22573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052612a4b91908101906135ab565b979650505050505050565b600080612a6285612c00565b60408051600280825260608201909252929450909250816020016020820280368337505060695482519295506001600160a01b0316918591506001908110612aac57612aac61327b565b6001600160a01b03928316602091820292909201015260755484519116908490600090612adb57612adb61327b565b6001600160a01b039283166020918202929092010152606854600091166338ed1739846064612b0b89605f613355565b612b1591906133f8565b8730426040518663ffffffff1660e01b8152600401612b38959493929190613651565b600060405180830381600087803b158015612b5257600080fd5b505af1158015612b66573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612b8e91908101906135ab565b90508181600081518110612ba457612ba461327b565b60209081029190910101529998505050505050505050565b600080612bcb856103e5613355565b90506000612bd98483613355565b9050600082612bea876103e8613355565b612bf491906132c2565b9050612a4b81836133f8565b60008060008311612c235760405162461bcd60e51b81526004016107a490613501565b606b54606854604080516315ab88c960e31b815290516000936001600160a01b039081169363e6a439059391169163ad5c464891600480820192602092909190829003018186803b158015612c7757600080fd5b505afa158015612c8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612caf91906131e8565b6076546040516001600160e01b031960e085901b168152612cdd92916001600160a01b031690600401613205565b60206040518083038186803b158015612cf557600080fd5b505afa158015612d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d2d91906131e8565b9050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612d6b57600080fd5b505afa158015612d7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da39190613236565b506001600160701b031691506001600160701b03169150600080612dc884848a612170565b60408051600280825260608201835293955091935060009290602083019080368337505060765482519293506001600160a01b0316918391506001908110612e1257612e1261327b565b6001600160a01b03928316602091820292909201810191909152606854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612e6657600080fd5b505afa158015612e7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e9e91906131e8565b81600081518110612eb157612eb161327b565b6001600160a01b03928316602091820292909201015260685460009116637ff36ab5856064612ee187605f613355565b612eeb91906133f8565b8530426040518663ffffffff1660e01b8152600401612f0d9493929190613576565b6000604051808303818588803b158015612f2657600080fd5b505af1158015612f3a573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052612f6391908101906135ab565b60785481519192506001600160a01b031690632b7f09239083906001908110612f8e57612f8e61327b565b602090810291909101015160765460755460405160e085901b6001600160e01b031916815260048101939093526001600160a01b039182166024840152166044820152606401600060405180830381600087803b158015612fee57600080fd5b505af1158015613002573d6000803e3d6000fd5b50505050806000815181106130195761301961327b565b6020026020010151975064e8d4a510008160018151811061303c5761303c61327b565b602002602001015161304e91906133f8565b985050505050505050915091565b6001600160a01b0391909116815260200190565b801515811461102657600080fd5b60006020828403121561309057600080fd5b81356126b381613070565b6000602082840312156130ad57600080fd5b5035919050565b6001600160a01b038116811461102657600080fd5b6000602082840312156130db57600080fd5b81356126b3816130b4565b6000806000606084860312156130fb57600080fd5b8335613106816130b4565b92506020840135613116816130b4565b91506040840135613126816130b4565b809150509250925092565b60008060006060848603121561314657600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561317057600080fd5b823561317b816130b4565b946020939093013593505050565b6000806040838503121561319c57600080fd5b82356131a7816130b4565b915060208301356131b7816130b4565b809150509250929050565b6020808252600c908201526b3737ba1033bab0b93234b0b760a11b604082015260600190565b6000602082840312156131fa57600080fd5b81516126b3816130b4565b6001600160a01b0392831681529116602082015260400190565b80516001600160701b0381168114610b3d57600080fd5b60008060006060848603121561324b57600080fd5b6132548461321f565b92506132626020850161321f565b9150604084015163ffffffff8116811461312657600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156132bb576132bb613291565b5060010190565b600082198211156132d5576132d5613291565b500190565b6000602082840312156132ec57600080fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008282101561333a5761333a613291565b500390565b634e487b7160e01b600052603160045260246000fd5b600081600019048311821515161561336f5761336f613291565b500290565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03929092168252602082015260400190565b6000602082840312156133ed57600080fd5b81516126b381613070565b60008261341557634e487b7160e01b600052601260045260246000fd5b500490565b600060033d11156134335760046000803e5060005160e01c5b90565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561347157613471613436565b6040525050565b600060443d10156134865790565b6040516003193d81016004833e81513d6001600160401b0380831160248401831017156134b557505050505090565b82850191508151818111156134cd5750505050505090565b843d87010160208285010111156134e75750505050505090565b6134f66020828601018761344c565b509095945050505050565b60208082526017908201527606275792076616c75652073686f756c64206265203e203604c1b604082015260600190565b600081518084526020808501945080840160005b8381101561356b5781516001600160a01b031687529582019590820190600101613546565b509495945050505050565b84815260806020820152600061358f6080830186613532565b6001600160a01b03949094166040830152506060015292915050565b600060208083850312156135be57600080fd5b82516001600160401b03808211156135d557600080fd5b818501915085601f8301126135e957600080fd5b8151818111156135fb576135fb613436565b8060051b91506040516136108584018261344c565b8181529183018401918481018884111561362957600080fd5b938501935b83851015613645578451815293850193850161362e565b50979650505050505050565b85815284602082015260a06040820152600061367060a0830186613532565b6001600160a01b039490941660608301525060800152939250505056fe46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354a26469706673582212204d3ffb3ffa8b92a848f561d6597be8f71ef6b3daef38c7b61ba962d1012a1ec264736f6c63430008080033";
|
|
736
736
|
|
|
737
737
|
type FuseStakingV3ConstructorParams =
|
|
738
738
|
| [signer?: Signer]
|
|
@@ -1366,7 +1366,7 @@ const _abi = [
|
|
|
1366
1366
|
];
|
|
1367
1367
|
|
|
1368
1368
|
const _bytecode =
|
|
1369
|
-
"0x60a06040523060601b60805234801561001757600080fd5b5060805160601c613cc861004b60003960008181611175015281816111b50152818161125c015261129c0152613cc86000f3fe6080604052600436106102915760003560e01c806301ffc9a71461029657806303b14b9e146102cb57806305bc9e84146102eb57806306fdde03146103195780630a1b50641461033b57806317aeda021461037f57806318160ddd146103a157806318a1851f146103b65780631b3c90a8146103d657806320606b70146103eb57806322ea1d801461040d5780632337f7b614610446578063248a9ca3146104665780632cff4382146104865780632f2ff15d1461049b578063313ce567146104bb57806336568abe146104e85780633659cfe6146105085780633e6326fc1461052857806340c10f19146105485780634162169f146105685780634518380d146105885780634ea953a4146105d35780634f1ef286146105f55780635534f3fa14610608578063587cde1e146106285780635aef7de61461065f5780636641d9a01461067f5780636c087d901461069f57806370a08231146106bf578063782d6fe1146106df578063798fc26b146106ff5780637ecebe001461071f5780638392edca1461074d5780638d22ea2a1461076d57806391d14854146107a757806392ab89bb146107c75780639324bffa146106df57806395d89b41146107dc578063981b24d0146107f15780639ab24eb0146108115780639dc29fac14610831578063a217fddf14610851578063a265ba4614610866578063ac637c7a14610886578063ae94c721146108a6578063b4b5ea5714610811578063bcb6c0b5146108c6578063c3cda520146108e6578063c4d66de814610906578063cbf1304d14610926578063ccb057d314610946578063d539139314610966578063d547741f14610988578063e1758bd8146109a8578063e7a324dc146109bd578063f0e18a43146109df578063f2a035e214610a1f575b600080fd5b3480156102a257600080fd5b506102b66102b1366004613134565b610a3f565b60405190151581526020015b60405180910390f35b3480156102d757600080fd5b506102b66102e63660046132af565b610a76565b3480156102f757600080fd5b5061030b610306366004613338565b610cc3565b6040519081526020016102c2565b34801561032557600080fd5b5061032e610d85565b6040516102c291906133b6565b34801561034757600080fd5b506103726103563660046133c9565b61013b602052600090815260409020546001600160a01b031681565b6040516102c291906133e6565b34801561038b57600080fd5b5061039f61039a3660046133fa565b610e14565b005b3480156103ad57600080fd5b5061030b610e2c565b3480156103c257600080fd5b5061030b6103d1366004613447565b610e3c565b3480156103e257600080fd5b5061039f610f38565b3480156103f757600080fd5b5061030b600080516020613b8c83398151915281565b34801561041957600080fd5b5061030b61042836600461347f565b61013760209081526000928352604080842090915290825290205481565b34801561045257600080fd5b5061030b6104613660046134af565b61107d565b34801561047257600080fd5b5061030b6104813660046134db565b6110af565b34801561049257600080fd5b5061030b6110c4565b3480156104a757600080fd5b5061039f6104b636600461347f565b6110cf565b3480156104c757600080fd5b50610132546104d69060ff1681565b60405160ff90911681526020016102c2565b3480156104f457600080fd5b5061039f61050336600461347f565b6110ec565b34801561051457600080fd5b5061039f6105233660046133c9565b61116a565b34801561053457600080fd5b50606754610372906001600160a01b031681565b34801561055457600080fd5b506102b66105633660046134af565b611233565b34801561057457600080fd5b50606554610372906001600160a01b031681565b34801561059457600080fd5b5061039f6105a33660046133c9565b33600090815261013b6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b3480156105df57600080fd5b5061030b600080516020613c5383398151915281565b61039f6106033660046134f4565b611251565b34801561061457600080fd5b5061039f610623366004613557565b611307565b34801561063457600080fd5b506103726106433660046133c9565b610139602052600090815260409020546001600160a01b031681565b34801561066b57600080fd5b50606654610372906001600160a01b031681565b34801561068b57600080fd5b5061030b61069a3660046134db565b6113ca565b3480156106ab57600080fd5b5061030b6106ba3660046134db565b6113ec565b3480156106cb57600080fd5b5061030b6106da3660046133c9565b6113fd565b3480156106eb57600080fd5b5061030b6106fa3660046134af565b611405565b34801561070b57600080fd5b5061030b61071a3660046134af565b611413565b34801561072b57600080fd5b5061030b61073a3660046133c9565b6101356020526000908152604090205481565b34801561075957600080fd5b5061030b6107683660046134db565b6114ab565b34801561077957600080fd5b506103726107883660046133c9565b6001600160a01b03908116600090815261013960205260409020541690565b3480156107b357600080fd5b506102b66107c236600461347f565b6114fe565b3480156107d357600080fd5b5061039f611529565b3480156107e857600080fd5b5061032e611535565b3480156107fd57600080fd5b5061030b61080c3660046134db565b611543565b34801561081d57600080fd5b5061030b61082c3660046133c9565b6115ac565b34801561083d57600080fd5b506102b661084c3660046134af565b6115ba565b34801561085d57600080fd5b5061030b600081565b34801561087257600080fd5b5061030b6108813660046135ea565b6115de565b34801561089257600080fd5b5061039f6108a13660046133c9565b61166a565b3480156108b257600080fd5b5061030b6108c13660046133c9565b611674565b3480156108d257600080fd5b5061039f6108e13660046133c9565b611680565b3480156108f257600080fd5b5061039f61090136600461361f565b6116d6565b34801561091257600080fd5b5061039f6109213660046133c9565b61197a565b34801561093257600080fd5b5061030b6109413660046134af565b6119ef565b34801561095257600080fd5b506102b6610961366004613681565b611a0c565b34801561097257600080fd5b5061030b600080516020613c3383398151915281565b34801561099457600080fd5b5061039f6109a336600461347f565b611b4f565b3480156109b457600080fd5b50610372611b6c565b3480156109c957600080fd5b5061030b600080516020613c7383398151915281565b3480156109eb57600080fd5b506109ff6109fa366004613338565b611c03565b6040805194855260208501939093529183015260608201526080016102c2565b348015610a2b57600080fd5b5061030b610a3a3660046134db565b611c4a565b60006001600160e01b03198216637965db0b60e01b1480610a7057506301ffc9a760e01b6001600160e01b03198316145b92915050565b845160208087019190912060008181526101369092526040822054610ae15760405162461bcd60e51b815260206004820152601c60248201527b1b9bc81cdd185d1948199bdd5b9908199bdc8819da5d995b8817da5960221b60448201526064015b60405180910390fd5b6000818152610136602052604081208054610afe906001906136ea565b81548110610b0e57610b0e613701565b60009182526020808320600990920290910154808352610137825260408084206001600160a01b038c16855290925291205490915015610b8b5760405162461bcd60e51b81526020600482015260186024820152771cdd185d1952185cda08185b1c9958591e481c1c9bdd995960421b6044820152606401610ad8565b604080516001600160a01b03891660208201529081018790526000906060016040516020818303038152906040528051906020012090506000610bd087848489611a0c565b905080610c165760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b21036b2b935b63290383937b7b360611b6044820152606401610ad8565b600080516020613c53833981519152841415610c52576000610c37436114ab565b9050610c438a8a611c55565b50610c5061013482611d0a565b505b6000838152610137602090815260408083206001600160a01b038d168085529252918290208a905590517f1c708de3afb744b96b84aa0fbf440e683fac3130cce82a8f01eb94b5e67610a090610cab908d908c90613717565b60405180910390a25060019998505050505050505050565b60008281526101366020526040812080548290610ce557600092505050610a70565b8154610cf3906001906136ea565b90505b60008112610d3f5783828281548110610d1157610d11613701565b90600052602060002090600902016003015411610d2d57610d3f565b80610d3781613739565b915050610cf6565b6000811215610d5357600092505050610a70565b6000828281548110610d6757610d67613701565b60009182526020909120600260099092020101549695505050505050565b6101308054610d9390613757565b80601f0160208091040260200160405190810160405280929190818152602001828054610dbf90613757565b8015610e0c5780601f10610de157610100808354040283529160200191610e0c565b820191906000526020600020905b815481529060010190602001808311610def57829003601f168201915b505050505081565b610e1c611e34565b610e27838383611f06565b505050565b6000610e3743611543565b905090565b600083815261013660205260408120805480610e5d57600092505050610f31565b600082610e6b600184613792565b81548110610e7b57610e7b613701565b90600052602060002090600902019050600182610e989190613792565b91505b60008212610ef25784816003015411610eb357610ef2565b82610ebf600184613792565b81548110610ecf57610ecf613701565b906000526020600020906009020190508180610eea90613739565b925050610e9b565b6000821215610f075760009350505050610f31565b546000908152610137602090815260408083206001600160a01b0389168452909152902054925050505b9392505050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610f9657600080fd5b505afa158015610faa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fce91906137d1565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561102357600080fd5b505afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b91906137d1565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b61013a602052816000526040600020818154811061109a57600080fd5b90600052602060002001600091509150505481565b600090815260fe602052604090206001015490565b6000610e37436114ab565b6110d8826110af565b6110e281336120e9565b610e27838361214d565b6001600160a01b038116331461115c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610ad8565b61116682826121d3565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156111b35760405162461bcd60e51b8152600401610ad8906137ee565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111e561223a565b6001600160a01b03161461120b5760405162461bcd60e51b8152600401610ad890613828565b61121481612256565b604080516000808252602082019092526112309183919061225e565b50565b600061123d6123a5565b6112478383611c55565b5060019392505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561129a5760405162461bcd60e51b8152600401610ad8906137ee565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166112cc61223a565b6001600160a01b0316146112f25760405162461bcd60e51b8152600401610ad890613828565b6112fb82612256565b6111668282600161225e565b600054610100900460ff1680611320575060005460ff16155b61133c5760405162461bcd60e51b8152600401610ad890613862565b600054610100900460ff1615801561135e576000805461ffff19166101011790555b6113678661263c565b81156113b0576113b085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250869150611f069050565b80156113c2576000805461ff00191690555b505050505050565b61013481815481106113db57600080fd5b600091825260209091200154905081565b61013881815481106113db57600080fd5b6000610a7082435b6000610f31836001846115de565b6001600160a01b03821660009081526101336020526040812054158061147457506001600160a01b038316600090815261013360205260408120805484929061145e5761145e613701565b90600052602060002001546001600160801b0316115b1561148157506000610a70565b6001600160a01b0383166000908152610133602052604090206114a490836126d7565b9050610a70565b6101345460009015806114e55750816101346000815481106114cf576114cf613701565b90600052602060002001546001600160801b0316115b156114f257506000919050565b610a70610134836126d7565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b611533333361281e565b565b6101318054610d9390613757565b60008061154f836114ab565b905060005b610138548110156115a557611587610138828154811061157657611576613701565b906000526020600020015485610cc3565b61159190836138b0565b91508061159d816138c8565b915050611554565b5092915050565b6000610a70826001436115de565b60006001600160a01b03831633146115d4576115d46123a5565b611247838361298d565b6001600160a01b038316600090815261013a60205260408120819061160390846126d7565b905083156116625760005b6101385481101561166057611642610138828154811061163057611630613701565b90600052602060002001548786610e3c565b61164c90836138b0565b915080611658816138c8565b91505061160e565b505b949350505050565b611230338261281e565b6000610a708243611413565b6067546001600160a01b03166112305761169981612a20565b6066546116b1906000906001600160a01b0316612a43565b60665461123090600080516020613c33833981519152906001600160a01b0316612a43565b6000600080516020613b8c8339815191526101306040516116f791906138e3565b60405180910390206117064690565b60408051602080820195909552808201939093526060830191909152306080808401919091528151808403909101815260a083018252805190840120600080516020613c7383398151915260c08401526001600160a01b038b1660e084015261010083018a90526101208084018a90528251808503909101815261014084019092528151919093012061190160f01b610160830152610162820183905261018282018190529192506000906101a20160408051601f198184030181528282528051602091820120600080855291840180845281905260ff8a169284019290925260608301889052608083018790529092509060019060a0016020604051602081039080840390855afa158015611820573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166118875760405162461bcd60e51b815260206004820152602d6024820152600080516020613bac83398151915260448201526c6c6964207369676e617475726560981b6064820152608401610ad8565b6001600160a01b0381166000908152610135602052604081208054916118ac836138c8565b9190505589146118fe5760405162461bcd60e51b81526020600482015260296024820152600080516020613bac8339815191526044820152686c6964206e6f6e636560b81b6064820152608401610ad8565b874211156119645760405162461bcd60e51b815260206004820152602d60248201527f4752657075746174696f6e3a3a64656c656761746542795369673a207369676e60448201526c185d1d5c9948195e1c1a5c9959609a1b6064820152608401610ad8565b61196e818b61281e565b50505050505050505050565b600054610100900460ff1680611993575060005460ff16155b6119af5760405162461bcd60e51b8152600401610ad890613862565b600054610100900460ff161580156119d1576000805461ffff19166101011790555b6119da8261263c565b8015611166576000805461ff00191690555050565b610133602052816000526040600020818154811061109a57600080fd5b6000808381805b8851811015611b4157888181518110611a2e57611a2e613701565b60200260200101519350808951611a4591906136ea565b91505b600082118015611a625750611a5e600287613995565b6001145b8015611a775750611a74826002613a8d565b86115b15611a9957611a87600287613a99565b611a929060016138b0565b9550611a48565b611aa4600287613995565b611ae8576040805160208101869052908101849052606001604051602081830303815290604052805190602001209250600286611ae19190613a99565b9550611b2f565b6040805160208101859052908101859052606001604051602081830303815290604052805190602001209250600286611b219190613a99565b611b2c9060016138b0565b95505b80611b39816138c8565b915050611a13565b505090941495945050505050565b611b58826110af565b611b6281336120e9565b610e2783836121d3565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3791906137d1565b6101366020528160005260406000208181548110611c2057600080fd5b60009182526020909120600990910201805460018201546002830154600390930154919450925084565b6000610a70826114ab565b6001600160a01b03808316600090815261013b602052604081205490911680611c7e5783611c80565b805b9050611c8c8184612a4d565b506001600160a01b03808216600090815261013960205260409020541680611cdb57506001600160a01b03811660008181526101396020526040902080546001600160a01b0319169091179055805b6000611ce9826000436115de565b9050611d00828483611cfb89826138b0565b612af1565b5092949350505050565b80816001600160801b031614611d585760405162461bcd60e51b815260206004820152601360248201527272657075746174696f6e206f766572666c6f7760681b6044820152606401610ad8565b81541580611d995750815443908390611d73906001906136ea565b81548110611d8357611d83613701565b90600052602060002001546001600160801b0316105b15611dc65781546001810183556000838152602090206001600160801b034316608084901b179101555050565b608081901b6001600160801b038360018580549050611de591906136ea565b81548110611df557611df5613701565b906000526020600020015416178260018480549050611e1491906136ea565b81548110611e2457611e24613701565b6000918252602090912001555050565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b158015611e7857600080fd5b505afa158015611e8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb091906137d1565b6001600160a01b0316146115335760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610ad8565b82516020840120600080516020613c538339815191528114801580611f315750611f2f436114ab565b155b611f795760405162461bcd60e51b81526020600482015260196024820152781c9bdbdd14dd185d1948185b1c9958591e4818dc99585d1959603a1b6044820152606401610ad8565b8015611f8b57611f8b61013484611d0a565b60005b81158015611f9e57506101385481105b15611fe057826101388281548110611fb857611fb8613701565b90600052602060002001541415611fce57611fe0565b80611fd8816138c8565b915050611f8e565b81158015611ff057506101385481145b1561202c5761013880546001810182556000919091527ff79a63dcec80ed75c82f36161f17b9c2f407860160383a7be0a0ee7962c527ae018390555b612034613019565b858152604080820186815243606084019081526000878152610136602090815293812080546001818101835591835291859020865160099093020191825593850151938101939093559051600283015551600382015560808201518291906120a29060048301906005613050565b5050507f5298f094d368dc1c18dca22952c4ea2cb8b115d7c70a18269735b0f4ed0f49138787876040516120d893929190613aad565b60405180910390a150505050505050565b6120f382826114fe565b6111665761210b816001600160a01b03166014612b70565b612116836020612b70565b604051602001612127929190613ad2565b60408051601f198184030181529082905262461bcd60e51b8252610ad8916004016133b6565b61215782826114fe565b61116657600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561218f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6121dd82826114fe565b1561116657600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020613bec833981519152546001600160a01b031690565b611230611e34565b600061226861223a565b905061227384612d0b565b6000835111806122805750815b156122915761228f8484612d9e565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661239e57805460ff1916600117815560405161230c9086906122dd9085906024016133e6565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052612d9e565b50805460ff1916815561231d61223a565b6001600160a01b0316826001600160a01b0316146123955760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610ad8565b61239e85612e89565b5050505050565b60675460405163bf40fac160e01b815260206004820152600d60248201526c4744414f5f434c41494d45525360981b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561240657600080fd5b505afa15801561241a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243e91906137d1565b6001600160a01b0316336001600160a01b03161480612505575060675460405163bf40fac160e01b815260206004820152600c60248201526b4744414f5f5354414b494e4760a01b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156124b857600080fd5b505afa1580156124cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f091906137d1565b6001600160a01b0316336001600160a01b0316145b806125b8575060675460405163bf40fac160e01b815260206004820152600c60248201526b4744414f5f5354414b45525360a01b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561256b57600080fd5b505afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a391906137d1565b6001600160a01b0316336001600160a01b0316145b806125d657506125d6600080516020613c33833981519152336114fe565b6115335760405162461bcd60e51b815260206004820152603160248201527f4752657075746174696f6e3a206e656564206d696e74657220726f6c65206f726044820152700818994811d11053c818dbdb9d1c9858dd607a1b6064820152608401610ad8565b610132805460ff1916601217905560408051808201909152600780825266476f6f6444414f60c81b6020909201918252612679916101309161308e565b506040805180820190915260048082526311d3d3d160e21b60209092019182526126a6916101319161308e565b506126af612ec9565b6126b7612ec9565b6126bf612ec9565b6001600160a01b038116156112305761169981612a20565b8154600090806126eb576000915050610a70565b6000846126f96001846136ea565b8154811061270957612709613701565b90600052602060002001549050806001600160801b031684106127325760801c9150610a709050565b8460008154811061274557612745613701565b90600052602060002001546001600160801b031684101561276b57600092505050610a70565b6000806127796001856136ea565b90505b818111156127f1576000600261279284846138b0565b61279d9060016138b0565b6127a79190613a99565b9050868882815481106127bc576127bc613701565b90600052602060002001546001600160801b0316116127dd578092506127eb565b6127e86001826136ea565b91505b5061277c565b608087838154811061280557612805613701565b9060005260206000200154901c94505050505092915050565b6001600160a01b0381166128915760405162461bcd60e51b815260206004820152603460248201527f4752657075746174696f6e3a3a64656c65676174652063616e27742064656c656044820152736761746520746f206e756c6c206164647265737360601b6064820152608401610ad8565b6001600160a01b038083166000908152610139602052604090205481169082168114156129005760405162461bcd60e51b815260206004820152601f60248201527f616c72656164792064656c65676174696e6720746f2064656c656761746f72006044820152606401610ad8565b6001600160a01b0383811660009081526101396020526040812080546001600160a01b0319169285169290921790915561293a8443611413565b90506001600160a01b0382161561296d576000612959836000436115de565b905061296b838683611cfb86826136ea565b505b600061297b846000436115de565b905061239e848683611cfb86826138b0565b60008061299a8484612f34565b6001600160a01b038086166000908152610139602052604090205491925016806129c457846129c6565b805b6001600160a01b0386811660009081526101396020526040812080546001600160a01b03191692841692909217909155909150612a048282436115de565b9050612a16828783611cfb87826136ea565b5090949350505050565b606780546001600160a01b0319166001600160a01b038316179055611230610f38565b611166828261214d565b600080612a59436114ab565b90506000612a678543611413565b9050612a7e610134612a7986856138b0565b611d0a565b6001600160a01b038516600090815261013360205260409020612aa590612a7986846138b0565b846001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688585604051612ae091815260200190565b60405180910390a250919392505050565b6001600160a01b038416600090815261013a60205260409020612b149082611d0a565b826001600160a01b0316846001600160a01b03167f8553411b8bbb348336351063649aa1f4fa74c4935f5c4386469a017df33a1f668484604051612b62929190918252602082015260400190565b60405180910390a350505050565b60606000612b7f836002613b41565b612b8a9060026138b0565b6001600160401b03811115612ba157612ba161315e565b6040519080825280601f01601f191660200182016040528015612bcb576020820181803683370190505b509050600360fc1b81600081518110612be657612be6613701565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612c1557612c15613701565b60200101906001600160f81b031916908160001a9053506000612c39846002613b41565b612c449060016138b0565b90505b6001811115612cbc576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612c7857612c78613701565b1a60f81b828281518110612c8e57612c8e613701565b60200101906001600160f81b031916908160001a90535060049490941c93612cb581613b60565b9050612c47565b508315610f315760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ad8565b803b612d6f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610ad8565b600080516020613bec83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b612dfd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610ad8565b600080846001600160a01b031684604051612e189190613b6f565b600060405180830381855af49150503d8060008114612e53576040519150601f19603f3d011682016040523d82523d6000602084013e612e58565b606091505b5091509150612e808282604051806060016040528060278152602001613c0c60279139612fe0565b95945050505050565b612e9281612d0b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff1680612ee2575060005460ff16155b612efe5760405162461bcd60e51b8152600401610ad890613862565b600054610100900460ff16158015612f20576000805461ffff19166101011790555b8015611230576000805461ff001916905550565b600080612f40436114ab565b9050826000612f4f8643611413565b905081811015612f5d578091505b612f6d610134612a7984866136ea565b6001600160a01b038616600090815261013360205260409020612f9490612a7984846136ea565b856001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca583604051612fcf91815260200190565b60405180910390a250949350505050565b60608315612fef575081610f31565b825115612fff5782518084602001fd5b8160405162461bcd60e51b8152600401610ad891906133b6565b6040518060a001604052806000801916815260200160008152602001600081526020016000815260200161304b613101565b905290565b826005810192821561307e579160200282015b8281111561307e578251825591602001919060010190613063565b5061308a92915061311f565b5090565b82805461309a90613757565b90600052602060002090601f0160209004810192826130bc576000855561307e565b82601f106130d557805160ff191683800117855561307e565b8280016001018555821561307e579182018281111561307e578251825591602001919060010190613063565b6040518060a001604052806005906020820280368337509192915050565b5b8082111561308a5760008155600101613120565b60006020828403121561314657600080fd5b81356001600160e01b031981168114610f3157600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561319c5761319c61315e565b604052919050565b60006001600160401b038311156131bd576131bd61315e565b6131d0601f8401601f1916602001613174565b90508281528383830111156131e457600080fd5b828260208301376000602084830101529392505050565b600082601f83011261320c57600080fd5b610f31838335602085016131a4565b6001600160a01b038116811461123057600080fd5b600082601f83011261324157600080fd5b813560206001600160401b0382111561325c5761325c61315e565b8160051b61326b828201613174565b928352848101820192828101908785111561328557600080fd5b83870192505b848310156132a45782358252918301919083019061328b565b979650505050505050565b600080600080600060a086880312156132c757600080fd5b85356001600160401b03808211156132de57600080fd5b6132ea89838a016131fb565b9650602088013591506132fc8261321b565b909450604087013593506060870135908082111561331957600080fd5b5061332688828901613230565b95989497509295608001359392505050565b6000806040838503121561334b57600080fd5b50508035926020909101359150565b60005b8381101561337557818101518382015260200161335d565b83811115613384576000848401525b50505050565b600081518084526133a281602086016020860161335a565b601f01601f19169290920160200192915050565b602081526000610f31602083018461338a565b6000602082840312156133db57600080fd5b8135610f318161321b565b6001600160a01b0391909116815260200190565b60008060006060848603121561340f57600080fd5b83356001600160401b0381111561342557600080fd5b613431868287016131fb565b9660208601359650604090950135949350505050565b60008060006060848603121561345c57600080fd5b83359250602084013561346e8161321b565b929592945050506040919091013590565b6000806040838503121561349257600080fd5b8235915060208301356134a48161321b565b809150509250929050565b600080604083850312156134c257600080fd5b82356134cd8161321b565b946020939093013593505050565b6000602082840312156134ed57600080fd5b5035919050565b6000806040838503121561350757600080fd5b82356135128161321b565b915060208301356001600160401b0381111561352d57600080fd5b8301601f8101851361353e57600080fd5b61354d858235602084016131a4565b9150509250929050565b60008060008060006080868803121561356f57600080fd5b853561357a8161321b565b945060208601356001600160401b038082111561359657600080fd5b818801915088601f8301126135aa57600080fd5b8135818111156135b957600080fd5b8960208285010111156135cb57600080fd5b9699602092909201985095966040810135965060600135945092505050565b6000806000606084860312156135ff57600080fd5b833561360a8161321b565b92506020840135801515811461346e57600080fd5b60008060008060008060c0878903121561363857600080fd5b86356136438161321b565b95506020870135945060408701359350606087013560ff8116811461366757600080fd5b9598949750929560808101359460a0909101359350915050565b6000806000806080858703121561369757600080fd5b84356001600160401b038111156136ad57600080fd5b6136b987828801613230565b97602087013597506040870135966060013595509350505050565b634e487b7160e01b600052601160045260246000fd5b6000828210156136fc576136fc6136d4565b500390565b634e487b7160e01b600052603260045260246000fd5b60408152600061372a604083018561338a565b90508260208301529392505050565b6000600160ff1b82141561374f5761374f6136d4565b506000190190565b600181811c9082168061376b57607f821691505b6020821081141561378c57634e487b7160e01b600052602260045260246000fd5b50919050565b60008083128015600160ff1b8501841216156137b0576137b06136d4565b6001600160ff1b03840183138116156137cb576137cb6136d4565b50500390565b6000602082840312156137e357600080fd5b8151610f318161321b565b6020808252602c90820152600080516020613bcc83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020613bcc83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600082198211156138c3576138c36136d4565b500190565b60006000198214156138dc576138dc6136d4565b5060010190565b600080835481600182811c9150808316806138ff57607f831692505b602080841082141561391f57634e487b7160e01b86526022600452602486fd5b818015613933576001811461394457613971565b60ff19861689528489019650613971565b60008a81526020902060005b868110156139695781548b820152908501908301613950565b505084890196505b509498975050505050505050565b634e487b7160e01b600052601260045260246000fd5b6000826139a4576139a461397f565b500690565b600181815b808511156139e45781600019048211156139ca576139ca6136d4565b808516156139d757918102915b93841c93908002906139ae565b509250929050565b6000826139fb57506001610a70565b81613a0857506000610a70565b8160018114613a1e5760028114613a2857613a44565b6001915050610a70565b60ff841115613a3957613a396136d4565b50506001821b610a70565b5060208310610133831016604e8410600b8410161715613a67575081810a610a70565b613a7183836139a9565b8060001904821115613a8557613a856136d4565b029392505050565b6000610f3183836139ec565b600082613aa857613aa861397f565b500490565b606081526000613ac0606083018661338a565b60208301949094525060400152919050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351613b0481601785016020880161335a565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613b3581602884016020880161335a565b01602801949350505050565b6000816000190483118215151615613b5b57613b5b6136d4565b500290565b60008161374f5761374f6136d4565b60008251613b8181846020870161335a565b919091019291505056fe8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8664752657075746174696f6e3a3a64656c656761746542795369673a20696e766146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65649f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a60df2f1ec68f7ac2e4205051c96e8cfd7b54c89c139839c13d3d59548ae1488a1ff41620983935eb4d4a3c7384a066ca8c1d10cef9a5eca9eb97ca735cd14a755a2646970667358221220bd8076da2f7dfbdf2fce8bb7b2b7b5b11b5e4d57d3e90b98e008aa6add94102e64736f6c63430008080033";
|
|
1369
|
+
"0x60a06040523060601b60805234801561001757600080fd5b5060805160601c613cc861004b60003960008181611175015281816111b50152818161125c015261129c0152613cc86000f3fe6080604052600436106102915760003560e01c806301ffc9a71461029657806303b14b9e146102cb57806305bc9e84146102eb57806306fdde03146103195780630a1b50641461033b57806317aeda021461037f57806318160ddd146103a157806318a1851f146103b65780631b3c90a8146103d657806320606b70146103eb57806322ea1d801461040d5780632337f7b614610446578063248a9ca3146104665780632cff4382146104865780632f2ff15d1461049b578063313ce567146104bb57806336568abe146104e85780633659cfe6146105085780633e6326fc1461052857806340c10f19146105485780634162169f146105685780634518380d146105885780634ea953a4146105d35780634f1ef286146105f55780635534f3fa14610608578063587cde1e146106285780635aef7de61461065f5780636641d9a01461067f5780636c087d901461069f57806370a08231146106bf578063782d6fe1146106df578063798fc26b146106ff5780637ecebe001461071f5780638392edca1461074d5780638d22ea2a1461076d57806391d14854146107a757806392ab89bb146107c75780639324bffa146106df57806395d89b41146107dc578063981b24d0146107f15780639ab24eb0146108115780639dc29fac14610831578063a217fddf14610851578063a265ba4614610866578063ac637c7a14610886578063ae94c721146108a6578063b4b5ea5714610811578063bcb6c0b5146108c6578063c3cda520146108e6578063c4d66de814610906578063cbf1304d14610926578063ccb057d314610946578063d539139314610966578063d547741f14610988578063e1758bd8146109a8578063e7a324dc146109bd578063f0e18a43146109df578063f2a035e214610a1f575b600080fd5b3480156102a257600080fd5b506102b66102b1366004613134565b610a3f565b60405190151581526020015b60405180910390f35b3480156102d757600080fd5b506102b66102e63660046132af565b610a76565b3480156102f757600080fd5b5061030b610306366004613338565b610cc3565b6040519081526020016102c2565b34801561032557600080fd5b5061032e610d85565b6040516102c291906133b6565b34801561034757600080fd5b506103726103563660046133c9565b61013b602052600090815260409020546001600160a01b031681565b6040516102c291906133e6565b34801561038b57600080fd5b5061039f61039a3660046133fa565b610e14565b005b3480156103ad57600080fd5b5061030b610e2c565b3480156103c257600080fd5b5061030b6103d1366004613447565b610e3c565b3480156103e257600080fd5b5061039f610f38565b3480156103f757600080fd5b5061030b600080516020613b8c83398151915281565b34801561041957600080fd5b5061030b61042836600461347f565b61013760209081526000928352604080842090915290825290205481565b34801561045257600080fd5b5061030b6104613660046134af565b61107d565b34801561047257600080fd5b5061030b6104813660046134db565b6110af565b34801561049257600080fd5b5061030b6110c4565b3480156104a757600080fd5b5061039f6104b636600461347f565b6110cf565b3480156104c757600080fd5b50610132546104d69060ff1681565b60405160ff90911681526020016102c2565b3480156104f457600080fd5b5061039f61050336600461347f565b6110ec565b34801561051457600080fd5b5061039f6105233660046133c9565b61116a565b34801561053457600080fd5b50606754610372906001600160a01b031681565b34801561055457600080fd5b506102b66105633660046134af565b611233565b34801561057457600080fd5b50606554610372906001600160a01b031681565b34801561059457600080fd5b5061039f6105a33660046133c9565b33600090815261013b6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b3480156105df57600080fd5b5061030b600080516020613c5383398151915281565b61039f6106033660046134f4565b611251565b34801561061457600080fd5b5061039f610623366004613557565b611307565b34801561063457600080fd5b506103726106433660046133c9565b610139602052600090815260409020546001600160a01b031681565b34801561066b57600080fd5b50606654610372906001600160a01b031681565b34801561068b57600080fd5b5061030b61069a3660046134db565b6113ca565b3480156106ab57600080fd5b5061030b6106ba3660046134db565b6113ec565b3480156106cb57600080fd5b5061030b6106da3660046133c9565b6113fd565b3480156106eb57600080fd5b5061030b6106fa3660046134af565b611405565b34801561070b57600080fd5b5061030b61071a3660046134af565b611413565b34801561072b57600080fd5b5061030b61073a3660046133c9565b6101356020526000908152604090205481565b34801561075957600080fd5b5061030b6107683660046134db565b6114ab565b34801561077957600080fd5b506103726107883660046133c9565b6001600160a01b03908116600090815261013960205260409020541690565b3480156107b357600080fd5b506102b66107c236600461347f565b6114fe565b3480156107d357600080fd5b5061039f611529565b3480156107e857600080fd5b5061032e611535565b3480156107fd57600080fd5b5061030b61080c3660046134db565b611543565b34801561081d57600080fd5b5061030b61082c3660046133c9565b6115ac565b34801561083d57600080fd5b506102b661084c3660046134af565b6115ba565b34801561085d57600080fd5b5061030b600081565b34801561087257600080fd5b5061030b6108813660046135ea565b6115de565b34801561089257600080fd5b5061039f6108a13660046133c9565b61166a565b3480156108b257600080fd5b5061030b6108c13660046133c9565b611674565b3480156108d257600080fd5b5061039f6108e13660046133c9565b611680565b3480156108f257600080fd5b5061039f61090136600461361f565b6116d6565b34801561091257600080fd5b5061039f6109213660046133c9565b61197a565b34801561093257600080fd5b5061030b6109413660046134af565b6119ef565b34801561095257600080fd5b506102b6610961366004613681565b611a0c565b34801561097257600080fd5b5061030b600080516020613c3383398151915281565b34801561099457600080fd5b5061039f6109a336600461347f565b611b4f565b3480156109b457600080fd5b50610372611b6c565b3480156109c957600080fd5b5061030b600080516020613c7383398151915281565b3480156109eb57600080fd5b506109ff6109fa366004613338565b611c03565b6040805194855260208501939093529183015260608201526080016102c2565b348015610a2b57600080fd5b5061030b610a3a3660046134db565b611c4a565b60006001600160e01b03198216637965db0b60e01b1480610a7057506301ffc9a760e01b6001600160e01b03198316145b92915050565b845160208087019190912060008181526101369092526040822054610ae15760405162461bcd60e51b815260206004820152601c60248201527b1b9bc81cdd185d1948199bdd5b9908199bdc8819da5d995b8817da5960221b60448201526064015b60405180910390fd5b6000818152610136602052604081208054610afe906001906136ea565b81548110610b0e57610b0e613701565b60009182526020808320600990920290910154808352610137825260408084206001600160a01b038c16855290925291205490915015610b8b5760405162461bcd60e51b81526020600482015260186024820152771cdd185d1952185cda08185b1c9958591e481c1c9bdd995960421b6044820152606401610ad8565b604080516001600160a01b03891660208201529081018790526000906060016040516020818303038152906040528051906020012090506000610bd087848489611a0c565b905080610c165760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b21036b2b935b63290383937b7b360611b6044820152606401610ad8565b600080516020613c53833981519152841415610c52576000610c37436114ab565b9050610c438a8a611c55565b50610c5061013482611d0a565b505b6000838152610137602090815260408083206001600160a01b038d168085529252918290208a905590517f1c708de3afb744b96b84aa0fbf440e683fac3130cce82a8f01eb94b5e67610a090610cab908d908c90613717565b60405180910390a25060019998505050505050505050565b60008281526101366020526040812080548290610ce557600092505050610a70565b8154610cf3906001906136ea565b90505b60008112610d3f5783828281548110610d1157610d11613701565b90600052602060002090600902016003015411610d2d57610d3f565b80610d3781613739565b915050610cf6565b6000811215610d5357600092505050610a70565b6000828281548110610d6757610d67613701565b60009182526020909120600260099092020101549695505050505050565b6101308054610d9390613757565b80601f0160208091040260200160405190810160405280929190818152602001828054610dbf90613757565b8015610e0c5780601f10610de157610100808354040283529160200191610e0c565b820191906000526020600020905b815481529060010190602001808311610def57829003601f168201915b505050505081565b610e1c611e34565b610e27838383611f06565b505050565b6000610e3743611543565b905090565b600083815261013660205260408120805480610e5d57600092505050610f31565b600082610e6b600184613792565b81548110610e7b57610e7b613701565b90600052602060002090600902019050600182610e989190613792565b91505b60008212610ef25784816003015411610eb357610ef2565b82610ebf600184613792565b81548110610ecf57610ecf613701565b906000526020600020906009020190508180610eea90613739565b925050610e9b565b6000821215610f075760009350505050610f31565b546000908152610137602090815260408083206001600160a01b0389168452909152902054925050505b9392505050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610f9657600080fd5b505afa158015610faa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fce91906137d1565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561102357600080fd5b505afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b91906137d1565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b61013a602052816000526040600020818154811061109a57600080fd5b90600052602060002001600091509150505481565b600090815260fe602052604090206001015490565b6000610e37436114ab565b6110d8826110af565b6110e281336120e9565b610e27838361214d565b6001600160a01b038116331461115c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610ad8565b61116682826121d3565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156111b35760405162461bcd60e51b8152600401610ad8906137ee565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111e561223a565b6001600160a01b03161461120b5760405162461bcd60e51b8152600401610ad890613828565b61121481612256565b604080516000808252602082019092526112309183919061225e565b50565b600061123d6123a5565b6112478383611c55565b5060019392505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561129a5760405162461bcd60e51b8152600401610ad8906137ee565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166112cc61223a565b6001600160a01b0316146112f25760405162461bcd60e51b8152600401610ad890613828565b6112fb82612256565b6111668282600161225e565b600054610100900460ff1680611320575060005460ff16155b61133c5760405162461bcd60e51b8152600401610ad890613862565b600054610100900460ff1615801561135e576000805461ffff19166101011790555b6113678661263c565b81156113b0576113b085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250869150611f069050565b80156113c2576000805461ff00191690555b505050505050565b61013481815481106113db57600080fd5b600091825260209091200154905081565b61013881815481106113db57600080fd5b6000610a7082435b6000610f31836001846115de565b6001600160a01b03821660009081526101336020526040812054158061147457506001600160a01b038316600090815261013360205260408120805484929061145e5761145e613701565b90600052602060002001546001600160801b0316115b1561148157506000610a70565b6001600160a01b0383166000908152610133602052604090206114a490836126d7565b9050610a70565b6101345460009015806114e55750816101346000815481106114cf576114cf613701565b90600052602060002001546001600160801b0316115b156114f257506000919050565b610a70610134836126d7565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b611533333361281e565b565b6101318054610d9390613757565b60008061154f836114ab565b905060005b610138548110156115a557611587610138828154811061157657611576613701565b906000526020600020015485610cc3565b61159190836138b0565b91508061159d816138c8565b915050611554565b5092915050565b6000610a70826001436115de565b60006001600160a01b03831633146115d4576115d46123a5565b611247838361298d565b6001600160a01b038316600090815261013a60205260408120819061160390846126d7565b905083156116625760005b6101385481101561166057611642610138828154811061163057611630613701565b90600052602060002001548786610e3c565b61164c90836138b0565b915080611658816138c8565b91505061160e565b505b949350505050565b611230338261281e565b6000610a708243611413565b6067546001600160a01b03166112305761169981612a20565b6066546116b1906000906001600160a01b0316612a43565b60665461123090600080516020613c33833981519152906001600160a01b0316612a43565b6000600080516020613b8c8339815191526101306040516116f791906138e3565b60405180910390206117064690565b60408051602080820195909552808201939093526060830191909152306080808401919091528151808403909101815260a083018252805190840120600080516020613c7383398151915260c08401526001600160a01b038b1660e084015261010083018a90526101208084018a90528251808503909101815261014084019092528151919093012061190160f01b610160830152610162820183905261018282018190529192506000906101a20160408051601f198184030181528282528051602091820120600080855291840180845281905260ff8a169284019290925260608301889052608083018790529092509060019060a0016020604051602081039080840390855afa158015611820573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166118875760405162461bcd60e51b815260206004820152602d6024820152600080516020613bac83398151915260448201526c6c6964207369676e617475726560981b6064820152608401610ad8565b6001600160a01b0381166000908152610135602052604081208054916118ac836138c8565b9190505589146118fe5760405162461bcd60e51b81526020600482015260296024820152600080516020613bac8339815191526044820152686c6964206e6f6e636560b81b6064820152608401610ad8565b874211156119645760405162461bcd60e51b815260206004820152602d60248201527f4752657075746174696f6e3a3a64656c656761746542795369673a207369676e60448201526c185d1d5c9948195e1c1a5c9959609a1b6064820152608401610ad8565b61196e818b61281e565b50505050505050505050565b600054610100900460ff1680611993575060005460ff16155b6119af5760405162461bcd60e51b8152600401610ad890613862565b600054610100900460ff161580156119d1576000805461ffff19166101011790555b6119da8261263c565b8015611166576000805461ff00191690555050565b610133602052816000526040600020818154811061109a57600080fd5b6000808381805b8851811015611b4157888181518110611a2e57611a2e613701565b60200260200101519350808951611a4591906136ea565b91505b600082118015611a625750611a5e600287613995565b6001145b8015611a775750611a74826002613a8d565b86115b15611a9957611a87600287613a99565b611a929060016138b0565b9550611a48565b611aa4600287613995565b611ae8576040805160208101869052908101849052606001604051602081830303815290604052805190602001209250600286611ae19190613a99565b9550611b2f565b6040805160208101859052908101859052606001604051602081830303815290604052805190602001209250600286611b219190613a99565b611b2c9060016138b0565b95505b80611b39816138c8565b915050611a13565b505090941495945050505050565b611b58826110af565b611b6281336120e9565b610e2783836121d3565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3791906137d1565b6101366020528160005260406000208181548110611c2057600080fd5b60009182526020909120600990910201805460018201546002830154600390930154919450925084565b6000610a70826114ab565b6001600160a01b03808316600090815261013b602052604081205490911680611c7e5783611c80565b805b9050611c8c8184612a4d565b506001600160a01b03808216600090815261013960205260409020541680611cdb57506001600160a01b03811660008181526101396020526040902080546001600160a01b0319169091179055805b6000611ce9826000436115de565b9050611d00828483611cfb89826138b0565b612af1565b5092949350505050565b80816001600160801b031614611d585760405162461bcd60e51b815260206004820152601360248201527272657075746174696f6e206f766572666c6f7760681b6044820152606401610ad8565b81541580611d995750815443908390611d73906001906136ea565b81548110611d8357611d83613701565b90600052602060002001546001600160801b0316105b15611dc65781546001810183556000838152602090206001600160801b034316608084901b179101555050565b608081901b6001600160801b038360018580549050611de591906136ea565b81548110611df557611df5613701565b906000526020600020015416178260018480549050611e1491906136ea565b81548110611e2457611e24613701565b6000918252602090912001555050565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b158015611e7857600080fd5b505afa158015611e8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb091906137d1565b6001600160a01b0316146115335760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610ad8565b82516020840120600080516020613c538339815191528114801580611f315750611f2f436114ab565b155b611f795760405162461bcd60e51b81526020600482015260196024820152781c9bdbdd14dd185d1948185b1c9958591e4818dc99585d1959603a1b6044820152606401610ad8565b8015611f8b57611f8b61013484611d0a565b60005b81158015611f9e57506101385481105b15611fe057826101388281548110611fb857611fb8613701565b90600052602060002001541415611fce57611fe0565b80611fd8816138c8565b915050611f8e565b81158015611ff057506101385481145b1561202c5761013880546001810182556000919091527ff79a63dcec80ed75c82f36161f17b9c2f407860160383a7be0a0ee7962c527ae018390555b612034613019565b858152604080820186815243606084019081526000878152610136602090815293812080546001818101835591835291859020865160099093020191825593850151938101939093559051600283015551600382015560808201518291906120a29060048301906005613050565b5050507f5298f094d368dc1c18dca22952c4ea2cb8b115d7c70a18269735b0f4ed0f49138787876040516120d893929190613aad565b60405180910390a150505050505050565b6120f382826114fe565b6111665761210b816001600160a01b03166014612b70565b612116836020612b70565b604051602001612127929190613ad2565b60408051601f198184030181529082905262461bcd60e51b8252610ad8916004016133b6565b61215782826114fe565b61116657600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561218f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6121dd82826114fe565b1561116657600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020613bec833981519152546001600160a01b031690565b611230611e34565b600061226861223a565b905061227384612d0b565b6000835111806122805750815b156122915761228f8484612d9e565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661239e57805460ff1916600117815560405161230c9086906122dd9085906024016133e6565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052612d9e565b50805460ff1916815561231d61223a565b6001600160a01b0316826001600160a01b0316146123955760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610ad8565b61239e85612e89565b5050505050565b60675460405163bf40fac160e01b815260206004820152600d60248201526c4744414f5f434c41494d45525360981b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561240657600080fd5b505afa15801561241a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243e91906137d1565b6001600160a01b0316336001600160a01b03161480612505575060675460405163bf40fac160e01b815260206004820152600c60248201526b4744414f5f5354414b494e4760a01b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156124b857600080fd5b505afa1580156124cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f091906137d1565b6001600160a01b0316336001600160a01b0316145b806125b8575060675460405163bf40fac160e01b815260206004820152600c60248201526b4744414f5f5354414b45525360a01b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561256b57600080fd5b505afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a391906137d1565b6001600160a01b0316336001600160a01b0316145b806125d657506125d6600080516020613c33833981519152336114fe565b6115335760405162461bcd60e51b815260206004820152603160248201527f4752657075746174696f6e3a206e656564206d696e74657220726f6c65206f726044820152700818994811d11053c818dbdb9d1c9858dd607a1b6064820152608401610ad8565b610132805460ff1916601217905560408051808201909152600780825266476f6f6444414f60c81b6020909201918252612679916101309161308e565b506040805180820190915260048082526311d3d3d160e21b60209092019182526126a6916101319161308e565b506126af612ec9565b6126b7612ec9565b6126bf612ec9565b6001600160a01b038116156112305761169981612a20565b8154600090806126eb576000915050610a70565b6000846126f96001846136ea565b8154811061270957612709613701565b90600052602060002001549050806001600160801b031684106127325760801c9150610a709050565b8460008154811061274557612745613701565b90600052602060002001546001600160801b031684101561276b57600092505050610a70565b6000806127796001856136ea565b90505b818111156127f1576000600261279284846138b0565b61279d9060016138b0565b6127a79190613a99565b9050868882815481106127bc576127bc613701565b90600052602060002001546001600160801b0316116127dd578092506127eb565b6127e86001826136ea565b91505b5061277c565b608087838154811061280557612805613701565b9060005260206000200154901c94505050505092915050565b6001600160a01b0381166128915760405162461bcd60e51b815260206004820152603460248201527f4752657075746174696f6e3a3a64656c65676174652063616e27742064656c656044820152736761746520746f206e756c6c206164647265737360601b6064820152608401610ad8565b6001600160a01b038083166000908152610139602052604090205481169082168114156129005760405162461bcd60e51b815260206004820152601f60248201527f616c72656164792064656c65676174696e6720746f2064656c656761746f72006044820152606401610ad8565b6001600160a01b0383811660009081526101396020526040812080546001600160a01b0319169285169290921790915561293a8443611413565b90506001600160a01b0382161561296d576000612959836000436115de565b905061296b838683611cfb86826136ea565b505b600061297b846000436115de565b905061239e848683611cfb86826138b0565b60008061299a8484612f34565b6001600160a01b038086166000908152610139602052604090205491925016806129c457846129c6565b805b6001600160a01b0386811660009081526101396020526040812080546001600160a01b03191692841692909217909155909150612a048282436115de565b9050612a16828783611cfb87826136ea565b5090949350505050565b606780546001600160a01b0319166001600160a01b038316179055611230610f38565b611166828261214d565b600080612a59436114ab565b90506000612a678543611413565b9050612a7e610134612a7986856138b0565b611d0a565b6001600160a01b038516600090815261013360205260409020612aa590612a7986846138b0565b846001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688585604051612ae091815260200190565b60405180910390a250919392505050565b6001600160a01b038416600090815261013a60205260409020612b149082611d0a565b826001600160a01b0316846001600160a01b03167f8553411b8bbb348336351063649aa1f4fa74c4935f5c4386469a017df33a1f668484604051612b62929190918252602082015260400190565b60405180910390a350505050565b60606000612b7f836002613b41565b612b8a9060026138b0565b6001600160401b03811115612ba157612ba161315e565b6040519080825280601f01601f191660200182016040528015612bcb576020820181803683370190505b509050600360fc1b81600081518110612be657612be6613701565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612c1557612c15613701565b60200101906001600160f81b031916908160001a9053506000612c39846002613b41565b612c449060016138b0565b90505b6001811115612cbc576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612c7857612c78613701565b1a60f81b828281518110612c8e57612c8e613701565b60200101906001600160f81b031916908160001a90535060049490941c93612cb581613b60565b9050612c47565b508315610f315760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ad8565b803b612d6f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610ad8565b600080516020613bec83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b612dfd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610ad8565b600080846001600160a01b031684604051612e189190613b6f565b600060405180830381855af49150503d8060008114612e53576040519150601f19603f3d011682016040523d82523d6000602084013e612e58565b606091505b5091509150612e808282604051806060016040528060278152602001613c0c60279139612fe0565b95945050505050565b612e9281612d0b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff1680612ee2575060005460ff16155b612efe5760405162461bcd60e51b8152600401610ad890613862565b600054610100900460ff16158015612f20576000805461ffff19166101011790555b8015611230576000805461ff001916905550565b600080612f40436114ab565b9050826000612f4f8643611413565b905081811015612f5d578091505b612f6d610134612a7984866136ea565b6001600160a01b038616600090815261013360205260409020612f9490612a7984846136ea565b856001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca583604051612fcf91815260200190565b60405180910390a250949350505050565b60608315612fef575081610f31565b825115612fff5782518084602001fd5b8160405162461bcd60e51b8152600401610ad891906133b6565b6040518060a001604052806000801916815260200160008152602001600081526020016000815260200161304b613101565b905290565b826005810192821561307e579160200282015b8281111561307e578251825591602001919060010190613063565b5061308a92915061311f565b5090565b82805461309a90613757565b90600052602060002090601f0160209004810192826130bc576000855561307e565b82601f106130d557805160ff191683800117855561307e565b8280016001018555821561307e579182018281111561307e578251825591602001919060010190613063565b6040518060a001604052806005906020820280368337509192915050565b5b8082111561308a5760008155600101613120565b60006020828403121561314657600080fd5b81356001600160e01b031981168114610f3157600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561319c5761319c61315e565b604052919050565b60006001600160401b038311156131bd576131bd61315e565b6131d0601f8401601f1916602001613174565b90508281528383830111156131e457600080fd5b828260208301376000602084830101529392505050565b600082601f83011261320c57600080fd5b610f31838335602085016131a4565b6001600160a01b038116811461123057600080fd5b600082601f83011261324157600080fd5b813560206001600160401b0382111561325c5761325c61315e565b8160051b61326b828201613174565b928352848101820192828101908785111561328557600080fd5b83870192505b848310156132a45782358252918301919083019061328b565b979650505050505050565b600080600080600060a086880312156132c757600080fd5b85356001600160401b03808211156132de57600080fd5b6132ea89838a016131fb565b9650602088013591506132fc8261321b565b909450604087013593506060870135908082111561331957600080fd5b5061332688828901613230565b95989497509295608001359392505050565b6000806040838503121561334b57600080fd5b50508035926020909101359150565b60005b8381101561337557818101518382015260200161335d565b83811115613384576000848401525b50505050565b600081518084526133a281602086016020860161335a565b601f01601f19169290920160200192915050565b602081526000610f31602083018461338a565b6000602082840312156133db57600080fd5b8135610f318161321b565b6001600160a01b0391909116815260200190565b60008060006060848603121561340f57600080fd5b83356001600160401b0381111561342557600080fd5b613431868287016131fb565b9660208601359650604090950135949350505050565b60008060006060848603121561345c57600080fd5b83359250602084013561346e8161321b565b929592945050506040919091013590565b6000806040838503121561349257600080fd5b8235915060208301356134a48161321b565b809150509250929050565b600080604083850312156134c257600080fd5b82356134cd8161321b565b946020939093013593505050565b6000602082840312156134ed57600080fd5b5035919050565b6000806040838503121561350757600080fd5b82356135128161321b565b915060208301356001600160401b0381111561352d57600080fd5b8301601f8101851361353e57600080fd5b61354d858235602084016131a4565b9150509250929050565b60008060008060006080868803121561356f57600080fd5b853561357a8161321b565b945060208601356001600160401b038082111561359657600080fd5b818801915088601f8301126135aa57600080fd5b8135818111156135b957600080fd5b8960208285010111156135cb57600080fd5b9699602092909201985095966040810135965060600135945092505050565b6000806000606084860312156135ff57600080fd5b833561360a8161321b565b92506020840135801515811461346e57600080fd5b60008060008060008060c0878903121561363857600080fd5b86356136438161321b565b95506020870135945060408701359350606087013560ff8116811461366757600080fd5b9598949750929560808101359460a0909101359350915050565b6000806000806080858703121561369757600080fd5b84356001600160401b038111156136ad57600080fd5b6136b987828801613230565b97602087013597506040870135966060013595509350505050565b634e487b7160e01b600052601160045260246000fd5b6000828210156136fc576136fc6136d4565b500390565b634e487b7160e01b600052603260045260246000fd5b60408152600061372a604083018561338a565b90508260208301529392505050565b6000600160ff1b82141561374f5761374f6136d4565b506000190190565b600181811c9082168061376b57607f821691505b6020821081141561378c57634e487b7160e01b600052602260045260246000fd5b50919050565b60008083128015600160ff1b8501841216156137b0576137b06136d4565b6001600160ff1b03840183138116156137cb576137cb6136d4565b50500390565b6000602082840312156137e357600080fd5b8151610f318161321b565b6020808252602c90820152600080516020613bcc83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020613bcc83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600082198211156138c3576138c36136d4565b500190565b60006000198214156138dc576138dc6136d4565b5060010190565b600080835481600182811c9150808316806138ff57607f831692505b602080841082141561391f57634e487b7160e01b86526022600452602486fd5b818015613933576001811461394457613971565b60ff19861689528489019650613971565b60008a81526020902060005b868110156139695781548b820152908501908301613950565b505084890196505b509498975050505050505050565b634e487b7160e01b600052601260045260246000fd5b6000826139a4576139a461397f565b500690565b600181815b808511156139e45781600019048211156139ca576139ca6136d4565b808516156139d757918102915b93841c93908002906139ae565b509250929050565b6000826139fb57506001610a70565b81613a0857506000610a70565b8160018114613a1e5760028114613a2857613a44565b6001915050610a70565b60ff841115613a3957613a396136d4565b50506001821b610a70565b5060208310610133831016604e8410600b8410161715613a67575081810a610a70565b613a7183836139a9565b8060001904821115613a8557613a856136d4565b029392505050565b6000610f3183836139ec565b600082613aa857613aa861397f565b500490565b606081526000613ac0606083018661338a565b60208301949094525060400152919050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351613b0481601785016020880161335a565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613b3581602884016020880161335a565b01602801949350505050565b6000816000190483118215151615613b5b57613b5b6136d4565b500290565b60008161374f5761374f6136d4565b60008251613b8181846020870161335a565b919091019291505056fe8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8664752657075746174696f6e3a3a64656c656761746542795369673a20696e766146756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65649f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a60df2f1ec68f7ac2e4205051c96e8cfd7b54c89c139839c13d3d59548ae1488a1ff41620983935eb4d4a3c7384a066ca8c1d10cef9a5eca9eb97ca735cd14a755a26469706673582212203b7b3cd650df4338afbdedebf2612e8fd8c139c994e08e1c4faa10811a0028de64736f6c63430008080033";
|
|
1370
1370
|
|
|
1371
1371
|
type GReputationConstructorParams =
|
|
1372
1372
|
| [signer?: Signer]
|
|
@@ -1146,7 +1146,7 @@ const _abi = [
|
|
|
1146
1146
|
];
|
|
1147
1147
|
|
|
1148
1148
|
const _bytecode =
|
|
1149
|
-
"0x608060405234801561001057600080fd5b5061596b80620000216000396000f3fe608060405234801561001057600080fd5b506004361061023b5760003560e01c806302329a291461024057806306fdde0314610255578063095ea7b31461027357806309b04fb4146102965780630cd865ec146102d157806318160ddd146102e45780631b3c90a8146102f657806323b872dd146102fe57806328e964e9146103115780632ba7cff9146103695780632bbbdc8914610389578063313ce5671461039c57806337455990146103b657806339509351146103e45780633e6326fc146103f7578063408cfe241461040a5780634162169f1461041d57806343d93ca01461043057806346b30ff514610443578063561b24631461044b578063574c5c931461045e5780635aef7de6146104715780635b9fe37f1461048457806370a08231146104975780638824d07d146104c057806389eb6426146104ec57806395d89b41146104ff578063995a122914610507578063a457c2d71461051a578063a59a99731461052d578063a82415ae14610540578063a87430ba14610553578063a9059cbb14610610578063ad1e5d7514610623578063b0ce7abb14610636578063b0f479a114610649578063b187bd2614610651578063b76e230e14610665578063c59d48471461067c578063c7b8981c146106f5578063dd62ed3e146106fd578063e1758bd814610736578063e32f17261461073e578063e660b53f14610751578063e99b5d3d14610759578063ead8dbd414610762578063edb5b86314610775578063f412a6af14610788578063fc0c546a146107b2575b600080fd5b61025361024e366004614aae565b6107c5565b005b61025d6107eb565b60405161026a9190614ad2565b60405180910390f35b610286610281366004614b4c565b61087d565b604051901515815260200161026a565b6102a96102a4366004614b78565b610894565b604080519586526020860194909452928401919091526060830152608082015260a00161026a565b6102536102df366004614bb1565b610ad6565b6035545b60405190815260200161026a565b610253610c9b565b61028661030c366004614bce565b610de0565b61035461031f366004614bb1565b6001600160a01b03166000908152609e6020526040902054609a546001600160801b0391821692600160801b90910490911690565b6040805192835260208301919091520161026a565b60d75461037c906001600160a01b031681565b60405161026a9190614c0f565b610253610397366004614c35565b610e8a565b6103a4610ed1565b60405160ff909116815260200161026a565b6103c96103c4366004614bb1565b610f53565b6040805193845260208401929092529082015260600161026a565b6102866103f2366004614b4c565b610fef565b60675461037c906001600160a01b031681565b60d25461037c906001600160a01b031681565b60655461037c906001600160a01b031681565b61025361043e366004614c63565b61102b565b610253611057565b610253610459366004614c88565b611191565b6102e861046c366004614cc1565b611637565b60665461037c906001600160a01b031681565b60d65461037c906001600160a01b031681565b6102e86104a5366004614bb1565b6001600160a01b031660009081526033602052604090205490565b60d7546104d790600160c01b900463ffffffff1681565b60405163ffffffff909116815260200161026a565b60d45461037c906001600160a01b031681565b61025d61173f565b610253610515366004614e91565b61174e565b610286610528366004614b4c565b6119c9565b60d55461037c906001600160a01b031681565b6102e861054e366004614cc1565b611a62565b6105bc610561366004614bb1565b609e602052600090815260409020805460018201546002909201546001600160801b0380831693600160801b9384900482169381831693918190048316928216916001600160401b03918104821691600160c01b9091041687565b604080516001600160801b039889168152968816602088015294871694860194909452918516606085015290931660808301526001600160401b0392831660a08301529190911660c082015260e00161026a565b61028661061e366004614b4c565b611cf1565b6102e8610631366004614f8f565b611cfe565b61037c610644366004614fc4565b611da2565b61037c611dcc565b60d25461028690600160a01b900460ff1681565b60d7546104d790600160a01b900463ffffffff1681565b609d54609a54609b54609c54604080519485526001600160801b038085166020870152600160801b948590048116918601919091528083166060860152918390048216608085015290811660a08401529081046001600160401b031660c0830152600160c01b900460ff1660e08201526101000161026a565b610253611e4b565b6102e861070b366004614fdd565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b61037c611fd6565b61025361074c36600461500b565b612022565b6104d761227a565b6102e860d35481565b6102536107703660046150b9565b61239c565b610354610783366004614bb1565b61296a565b60d25461079e90600160a81b900462ffffff1681565b60405162ffffff909116815260200161026a565b60d15461037c906001600160a01b031681565b6107cd612afc565b60d28054911515600160a01b0260ff60a01b19909216919091179055565b6060603680546107fa906150de565b80601f0160208091040260200160405190810160405280929190818152602001828054610826906150de565b80156108735780601f1061084857610100808354040283529160200191610873565b820191906000526020600020905b81548152906001019060200180831161085657829003601f168201915b5050505050905090565b600061088a338484612bd0565b5060015b92915050565b60d2546040516370a0823160e01b815260009182918291829182916001600160a01b03169081906370a08231906108cf903090600401614c0f565b60206040518083038186803b1580156108e757600080fd5b505afa1580156108fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091f9190615119565b93508761092d5760006109be565b60d45460d1546040805163313ce56760e01b815290516109be936001600160a01b0390811693899391169163313ce56791600480820192602092909190829003018186803b15801561097e57600080fd5b505afa158015610992573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b69190615143565b60ff16611cfe565b6040805160018082528183019092529194506000919060208083019080368337505060d15482519293506001600160a01b031691839150600090610a0457610a0461515e565b6001600160a01b0390921660209283029190910190910152609a546001600160801b03600160801b909104168511610a48575060009550859450849150610acc9050565b609a54610a6590600160801b90046001600160801b03168661518a565b955085965087610a76576000610ac7565b60d45460d1546040805163313ce56760e01b81529051610ac7936001600160a01b03908116938b9391169163313ce56791600480820192602092909190829003018186803b15801561097e57600080fd5b925050505b9295509295909350565b610ade612afc565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610b0d903090600401614c0f565b60206040518083038186803b158015610b2557600080fd5b505afa158015610b39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5d9190615119565b60d2549091506001600160a01b0383811691161415610bda57609a54600160801b90046001600160801b0316158015610b9f575060d254600160a01b900460ff165b610bda5760405162461bcd60e51b81526020600482015260076024820152663932b1b7bb32b960c91b60448201526064015b60405180910390fd5b60665460405163a9059cbb60e01b81526001600160a01b038481169263a9059cbb92610c0e929091169085906004016151a1565b602060405180830381600087803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6091906151ba565b610c975760405162461bcd60e51b81526020600482015260086024820152673a3930b739b332b960c11b6044820152606401610bd1565b5050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610cf957600080fd5b505afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3191906151e2565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b158015610d8657600080fd5b505afa158015610d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbe91906151e2565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ded848484612cf4565b6001600160a01b038416600090815260346020908152604080832033845290915290205482811015610e725760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610bd1565b610e7f8533858403612bd0565b506001949350505050565b610e92612afc565b60d78054600160a01b600160e01b031916600160a01b63ffffffff9485160263ffffffff60c01b191617600160c01b9290931691909102919091179055565b60d1546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b158015610f1657600080fd5b505afa158015610f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4e9190615143565b905090565b6000806000610f60612fbd565b600080610f6e600080610894565b50505091509150610f7f8287613084565b604080516001600160a01b038b16815260208101879052908101859052606081018490526080810183905260a0810182905292975090955093507f38c2c21f82a20481909d7aef48247b0743f69728fbb599c274039e2eecf8bb179060c00160405180910390a150509193909250565b3360008181526034602090815260408083206001600160a01b0387168452909152812054909161088a9185906110269086906151ff565b612bd0565b611033612afc565b60d2805462ffffff909216600160a81b0262ffffff60a81b19909216919091179055565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac19061108690600401615217565b60206040518083038186803b15801561109e57600080fd5b505afa1580156110b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d691906151e2565b90506001600160a01b0381161561118e5760408051600180825281830190925260009160208083019080368337019050509050308160008151811061111d5761111d61515e565b6001600160a01b03928316602091820292909201015260405163455518ef60e11b815290831690638aaa31de9061115a9033908590600401615281565b600060405180830381600087803b15801561117457600080fd5b505af1158015611188573d6000803e3d6000fd5b50505050505b50565b6002609f5414156111b45760405162461bcd60e51b8152600401610bd1906152ad565b6002609f5560d254600160a01b900460ff16156112075760405162461bcd60e51b815260206004820152601160248201527014dd185ada5b99c81a5cc81c185d5cd959607a1b6044820152606401610bd1565b8115806112145750816064145b61124e5760405162461bcd60e51b815260206004820152600b60248201526a3237b730ba34b7b72832b960a91b6044820152606401610bd1565b600083116112875760405162461bcd60e51b8152602060048201526006602482015265185b5bdd5b9d60d21b6044820152606401610bd1565b8061129d5760d1546001600160a01b03166112aa565b60d2546001600160a01b03165b6001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101869052606401602060405180830381600087803b15801561130757600080fd5b505af115801561131b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133f91906151ba565b6113755760405162461bcd60e51b8152602060048201526007602482015266617070726f766560c81b6044820152606401610bd1565b806113805782611382565b825b92508061139257611392836133f4565b61139c338461346c565b60675460405163bf40fac160e01b8152600091829182916001600160a01b03169063bf40fac1906113cf906004016152e4565b60206040518083038186803b1580156113e757600080fd5b505afa1580156113fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141f91906151e2565b6001600160a01b031663d0250144306040518263ffffffff1660e01b815260040161144a9190614c0f565b60806040518083038186803b15801561146257600080fd5b505afa158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a919061530a565b509250925092506114cd6114ab3390565b878563ffffffff16856001600160401b0316856001600160401b03168a613539565b5060006114dc60016000610894565b5060d381905560675460405163bf40fac160e01b8152919550600094506001600160a01b0316925063bf40fac1915061151790600401615217565b60206040518083038186803b15801561152f57600080fd5b505afa158015611543573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156791906151e2565b90506001600160a01b038116156115e1576001600160a01b03811663a39b2153336115918b6135c7565b6040518363ffffffff1660e01b81526004016115ae9291906151a1565b600060405180830381600087803b1580156115c857600080fd5b505af11580156115dc573d6000803e3d6000fd5b505050505b60d15460405133917f5dac0c1b1112564a045ba943c9d50270893e8e826c49be8e7073adc713ab7bd791611620916001600160a01b0316908c906151a1565b60405180910390a250506001609f55505050505050565b6000611641612fbd565b61164c8484846136fd565b6001600160a01b0385166000908152609e602052604090205461167b9086906001600160801b0316600161387e565b6001600160a01b0385166000908152609e602052604081206001810180546001600160801b0380821690925560029092018054600160801b9093048216938493919290916116cb91859116615369565b82546101009290920a6001600160801b03818102199093169183160217909155609a546116fb9250839116615369565b609a80546001600160801b0319166001600160801b039290921691909117905561172c662386f26fc10000826153aa565b6001600160801b03169695505050505050565b6060603780546107fa906150de565b60d580546001600160a01b0319166001600160a01b038b169081179091556040516335ea6a7560e01b8152600091906335ea6a7590611791908e90600401614c0f565b6101806040518083038186803b1580156117aa57600080fd5b505afa1580156117be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e2919061543d565b90506117f68b8260e001518b8b8b8b612022565b8a6001600160a01b0316826000815181106118135761181361515e565b60200260200101516001600160a01b03161480156118f6575060675460405163bf40fac160e01b815260206004820152600360248201526244414960e81b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561188357600080fd5b505afa158015611897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118bb91906151e2565b6001600160a01b031682600184516118d3919061518a565b815181106118e3576118e361515e565b60200260200101516001600160a01b0316145b6119405760405162461bcd60e51b815260206004820152601b60248201527a0d2dcecc2d8d2c840bee8ded6cadca8de88c2d2a6eec2e0a0c2e8d602b1b6044820152606401610bd1565b81516119539060d89060208501906149b6565b5060d480546001600160a01b03199081166001600160a01b038881169190911790925560d6805490911686831617905560d780549185166001600160c01b031990921691909117613d0960a41b1763ffffffff60c01b1916610c3560c41b1790556119bc613d15565b5050505050505050505050565b3360009081526034602090815260408083206001600160a01b038616845290915281205482811015611a4b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610bd1565b611a583385858403612bd0565b5060019392505050565b6001600160a01b0384166000908152609e60209081526040808320815160e08101835281546001600160801b038082168352600160801b91829004811695830195909552600183015480861694830194909452928390048416606082015260029091015480841660808301526001600160401b03928104831660a0830152600160c01b900490911660c0820152609d54609b549192909184911615801590611b0a5750854310155b8015611b165750438510155b15611ccc57609c54600090611b34906001600160801b03164361518a565b90506000611b4989662386f26fc1000061552a565b611b53908361552a565b90506000806000611b6388613ea6565b609c549295509093509150611b8390600160c01b900460ff16600a61562d565b609b54611b9991906001600160801b031661552a565b611bae85676765c793fa10079d601b1b61552a565b611bb8919061563c565b611bc290886151ff565b9650878315611cc55780604001516001600160801b0316676765c793fa10079d601b1b89609c60189054906101000a900460ff16600a611c02919061562d565b84602001516001600160801b0316611c1a919061552a565b611c24919061552a565b611c2e919061563c565b611c38919061518a565b96506000611c4e85670de0b6b3a764000061552a565b611c6389676765c793fa10079d601b1b61552a565b611c6d919061563c565b905064174876e80081611c8185606461552a565b600a611c8e88606461552a565b611c9990600561552a565b611ca3919061563c565b611cad91906151ff565b611cb7919061552a565b611cc1919061563c565b9750505b5050505050505b8083606001516001600160801b0316611ce591906151ff565b98975050505050505050565b600061088a338484612cf4565b6000808490506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d3f57600080fd5b505afa158015611d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d779190615119565b9050611d8484600a615650565b611d8e868361552a565b611d98919061563c565b9695505050505050565b60d88181548110611db257600080fd5b6000918252602090912001546001600160a01b0316905081565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190611dfb9060040161565c565b60206040518083038186803b158015611e1357600080fd5b505afa158015611e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4e91906151e2565b6002609f541415611e6e5760405162461bcd60e51b8152600401610bd1906152ad565b6002609f5560675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac190611ea1906004016152e4565b60206040518083038186803b158015611eb957600080fd5b505afa158015611ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef191906151e2565b60675460405163bf40fac160e01b81526001600160a01b039283169263f03b289092169063bf40fac190611f2790600401615684565b60206040518083038186803b158015611f3f57600080fd5b505afa158015611f53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7791906151e2565b336040518363ffffffff1660e01b8152600401611f959291906156a2565b600060405180830381600087803b158015611faf57600080fd5b505af1158015611fc3573d6000803e3d6000fd5b50505050611fcf611057565b6001609f55565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401611dfb565b600054610100900460ff168061203b575060005460ff16155b6120575760405162461bcd60e51b8152600401610bd1906156bc565b600054610100900460ff16158015612079576000805461ffff19166101011790555b61208285613f9c565b60d180546001600160a01b03808a166001600160a01b03199283161790925560d28054928916929091169190911790556120bc8484613fbf565b60d1546040805163313ce56760e01b815290516012926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561210157600080fd5b505afa158015612115573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121399190615143565b60ff1611156121755760405162461bcd60e51b8152602060048201526008602482015267646563696d616c7360c01b6044820152606401610bd1565b60d160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c357600080fd5b505afa1580156121d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121fb9190615143565b61220690601261570a565b609c8054600160801b600160c81b031916600160c01b60ff9390931692909202600160801b600160c01b03191691909117600160801b6001600160401b0385160217905560d2805462ffffff60a81b1916604b60aa1b1790558015612271576000805461ff00191690555b50505050505050565b60408051600180825281830190925260009182919060208083019080368337505060d25482519293506001600160a01b0316918391506000906122bf576122bf61515e565b6001600160a01b03928316602091820292909201015260d6546040516345accf9360e11b81526000929190911690638b599f2690612303908590309060040161572d565b60206040518083038186803b15801561231b57600080fd5b505afa15801561232f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123539190615119565b905080156123855760d75461237e9063ffffffff600160c01b8204811691600160a01b900416615757565b9250505090565b505060d754600160a01b900463ffffffff16919050565b6002609f5414156123bf5760405162461bcd60e51b8152600401610bd1906152ad565b6002609f55600081156124925760d25460405163a9059cbb60e01b815284916001600160a01b03169063a9059cbb906123fe90339085906004016151a1565b602060405180830381600087803b15801561241857600080fd5b505af115801561242c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061245091906151ba565b6124885760405162461bcd60e51b815260206004820152600960248201526869576974686472617760b81b6044820152606401610bd1565b92508290506125e7565b508161249d8161403f565b60d1546040516370a0823160e01b81526000916001600160a01b0316906370a08231906124ce903090600401614c0f565b60206040518083038186803b1580156124e657600080fd5b505afa1580156124fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061251e9190615119565b90508181101561252c578091505b60d1546001600160a01b031663a9059cbb33846040518363ffffffff1660e01b815260040161255c9291906151a1565b602060405180830381600087803b15801561257657600080fd5b505af115801561258a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ae91906151ba565b6125e55760405162461bcd60e51b8152602060048201526008602482015267776974686472617760c01b6044820152606401610bd1565b505b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190612616906004016152e4565b60206040518083038186803b15801561262e57600080fd5b505afa158015612642573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266691906151e2565b9050600061267660016000610894565b5093505050508060d38190555061268d3386614133565b6000806000846001600160a01b031663d0250144306040518263ffffffff1660e01b81526004016126be9190614c0f565b60806040518083038186803b1580156126d657600080fd5b505afa1580156126ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270e919061530a565b5092509250925061274061271f3390565b898563ffffffff16856001600160401b0316856001600160401b031661426f565b5060675460405163bf40fac160e01b81526001600160a01b038088169263f03b28909291169063bf40fac19061277890600401615684565b60206040518083038186803b15801561279057600080fd5b505afa1580156127a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c891906151e2565b336040518363ffffffff1660e01b81526004016127e69291906156a2565b600060405180830381600087803b15801561280057600080fd5b505af1158015612814573d6000803e3d6000fd5b505060675460405163bf40fac160e01b8152600093506001600160a01b03909116915063bf40fac19061284990600401615217565b60206040518083038186803b15801561286157600080fd5b505afa158015612875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289991906151e2565b90506001600160a01b03811615612913576001600160a01b038116633e458a8e336128c38c6135c7565b6040518363ffffffff1660e01b81526004016128e09291906151a1565b600060405180830381600087803b1580156128fa57600080fd5b505af115801561290e573d6000803e3d6000fd5b505050505b60d15460405133917f89b2bca2609b9ce42215fdd646f9162cdfb9c1620c93db1cc6302479489d3f3291612952916001600160a01b0316908b906151a1565b60405180910390a250506001609f5550505050505050565b60675460405163bf40fac160e01b815260009182918291829182916001600160a01b03169063bf40fac1906129a1906004016152e4565b60206040518083038186803b1580156129b957600080fd5b505afa1580156129cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f191906151e2565b6001600160a01b031663d0250144306040518263ffffffff1660e01b8152600401612a1c9190614c0f565b60806040518083038186803b158015612a3457600080fd5b505afa158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c919061530a565b509250925092506000612a99878563ffffffff16856001600160401b0316856001600160401b0316611a62565b6001600160a01b0388166000908152609e6020526040902060020154909150612ad390662386f26fc10000906001600160801b03166153aa565b612ae4662386f26fc100008361563c565b6001600160801b039091169890975095505050505050565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b158015612b4057600080fd5b505afa158015612b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b7891906151e2565b6001600160a01b031614612bce5760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610bd1565b565b6001600160a01b038316612c325760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bd1565b6001600160a01b038216612c935760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bd1565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b612cff8383836142fd565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190612d2e90600401615217565b60206040518083038186803b158015612d4657600080fd5b505afa158015612d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7e91906151e2565b60675460405163bf40fac160e01b8152919250600091829182916001600160a01b039091169063bf40fac190612db6906004016152e4565b60206040518083038186803b158015612dce57600080fd5b505afa158015612de2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0691906151e2565b6001600160a01b031663d0250144306040518263ffffffff1660e01b8152600401612e319190614c0f565b60806040518083038186803b158015612e4957600080fd5b505afa158015612e5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e81919061530a565b50925092509250612ead87868563ffffffff16856001600160401b0316856001600160401b031661426f565b50612ed586868563ffffffff16856001600160401b0316856001600160401b03166000613539565b506001600160a01b03841615612271576000612ef0866135c7565b604051631f22c54760e11b81529091506001600160a01b03861690633e458a8e90612f21908b9085906004016151a1565b600060405180830381600087803b158015612f3b57600080fd5b505af1158015612f4f573d6000803e3d6000fd5b505060405163a39b215360e01b81526001600160a01b038816925063a39b21539150612f81908a9085906004016151a1565b600060405180830381600087803b158015612f9b57600080fd5b505af1158015612faf573d6000803e3d6000fd5b505050505050505050505050565b60675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac190612feb906004016152e4565b60206040518083038186803b15801561300357600080fd5b505afa158015613017573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303b91906151e2565b6001600160a01b0316336001600160a01b031614612bce5760405162461bcd60e51b8152600401610bd190602080825260049082015263199d5b9960e21b604082015260600190565b6000806000306001600160a01b031673__$a7857c79f7039505337147dc025cce365e$__63f10a60ab909160d160009054906101000a90046001600160a01b031660d86001815481106130d9576130d961515e565b60009182526020909120015460d25460405160e086901b6001600160e01b03191681526001600160a01b03948516600482015292841660248401529216604482015260648101899052600160a81b90910462ffffff16608482015260a40160206040518083038186803b15801561314f57600080fd5b505af4158015613163573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131879190615119565b60d55460d154604051631a4ca37b60e21b81529295506001600160a01b03918216926369328dec926131c192169087903090600401615776565b602060405180830381600087803b1580156131db57600080fd5b505af11580156131ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132139190615119565b5060d1546040516370a0823160e01b81526001600160a01b03909116906370a0823190613244903090600401614c0f565b60206040518083038186803b15801561325c57600080fd5b505afa158015613270573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132949190615119565b6040805160018082528183019092529194506000919060208083019080368337505060d25482519293506001600160a01b0316918391506000906132da576132da61515e565b6001600160a01b03928316602091820292909201015260d654606654604051633111e7b360e01b815291831692633111e7b39261332292869260001992911690600401615799565b602060405180830381600087803b15801561333c57600080fd5b505af1158015613350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133749190615119565b925083156133ec576133e960d88054806020026020016040519081016040528092919081815260200182805480156133d557602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116133b7575b5030949350899250600091508a90506144ba565b91505b509250925092565b60d55460d15460405163e8eda9df60e01b81526001600160a01b039182166004820152602481018490523060448201526000606482015291169063e8eda9df90608401600060405180830381600087803b15801561345157600080fd5b505af1158015613465573d6000803e3d6000fd5b5050505050565b6001600160a01b0382166134c25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610bd1565b80603560008282546134d491906151ff565b90915550506001600160a01b038216600090815260336020526040812080548392906135019084906151ff565b90915550506040518181526001600160a01b038316906000906000805160206159168339815191529060200160405180910390a35050565b60006135468585856136fd565b6001600160a01b0387166000908152609e602052604090205461357f9088906135799089906001600160801b03166151ff565b8461387e565b609a5461359d908790600160801b90046001600160801b03166151ff565b609a80546001600160801b03928316600160801b0292169190911790555060019695505050505050565b60d1546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561360c57600080fd5b505afa158015613620573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136449190615143565b60ff166012146136f95760d160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561369c57600080fd5b505afa1580156136b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136d49190615143565b6136df90601261570a565b6136ea90600a61562d565b6136f4908361552a565b61088e565b5090565b609b546001600160801b031661372d575050609c80546001600160801b031916436001600160801b031617905550565b8143101580156137475750609c546001600160801b031682115b1561376857609c80546001600160801b0319166001600160801b0384161790555b609c546000906001600160801b0316831180156137855750824310155b61379a57609c546001600160801b031661379c565b825b905060008243116137ad57436137af565b825b9050838110806137bf5750828210155b156137cb575050505050565b60006137d7838361518a565b905060006137ec87662386f26fc1000061552a565b6137f6908361552a565b609c5490915061381190600160c01b900460ff16600a61562d565b609b5461382791906001600160801b031661552a565b61383c82676765c793fa10079d601b1b61552a565b613846919061563c565b609d5461385391906151ff565b609d555050609c80546001600160801b0319166001600160801b039290921691909117905550505050565b6001600160a01b0383166000908152609e6020526040902080546001600160801b0380821691600160801b9004168015613a90576040805160e08101825284546001600160801b038082168352600160801b91829004811660208401526001870154808216948401949094529281900483166060830152600286015492831660808301526001600160401b03908304811660a0830152600160c01b90920490911660c08201526000908190819061393490613ea6565b92509250925082600014613a88576001860154609d54609c546000926001600160801b031691676765c793fa10079d601b1b9161397c90600160c01b900460ff16600a61562d565b613986908961552a565b613990919061552a565b61399a919061563c565b6139a4919061518a565b90506000846139b783633b9aca0061552a565b6139c1919061563c565b905064174876e800816139d585606461552a565b600a6139e288606461552a565b6139ed90600561552a565b6139f7919061563c565b613a0191906151ff565b613a0b919061552a565b613a15919061563c565b6001890154909250613a38908390600160801b90046001600160801b03166151ff565b6001890180546001600160801b03908116600160801b938216840217909155609b54613a689285929104166151ff565b609b80546001600160801b03928316600160801b02921691909117905550505b505050613ab3565b6002830180546001600160c01b0316600160c01b436001600160401b0316021790555b818511613bb1576002830180546001600160c01b0316600160c01b436001600160401b0316021790558115613bac5782546000908390600160801b90046001600160801b0316613b03888361518a565b613b0d919061552a565b613b17919061563c565b845490915081908590601090613b3e908490600160801b90046001600160801b03166157cc565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080609b60008282829054906101000a90046001600160801b0316613b8691906157cc565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505b613c52565b83613c5257613bc0828661518a565b83548490601090613be2908490600160801b90046001600160801b0316615369565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508185613c12919061518a565b609b8054600090613c2d9084906001600160801b0316615369565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b600283018054600160801b600160c01b031916600160801b436001600160401b03160217905582546001600160801b0319166001600160801b038616178355609d54609c54676765c793fa10079d601b1b9190613cba90600160c01b900460ff16600a61562d565b8554613cd69190600160801b90046001600160801b031661552a565b613ce0919061552a565b613cea919061563c565b60019390930180546001600160801b0319166001600160801b03909416939093179092555050505050565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190613d449060040161565c565b60206040518083038186803b158015613d5c57600080fd5b505afa158015613d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d9491906151e2565b60d15460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b390613dc9908490600019906004016151a1565b602060405180830381600087803b158015613de357600080fd5b505af1158015613df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e1b91906151ba565b5060d15460d55460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392613e5492911690600019906004016151a1565b602060405180830381600087803b158015613e6e57600080fd5b505af1158015613e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9791906151ba565b6000806000808460c001518560a00151613ec091906157f4565b6001600160401b0316905060008560c001516001600160401b031643613ee6919061518a565b609c54600160801b90046001600160401b031610613f1b5760c0860151613f16906001600160401b03164361518a565b613f2f565b609c54600160801b90046001600160401b03165b905060008660a001516001600160401b031643613f4c919061518a565b609c54909150600090600160801b90046001600160401b0316841015613f7b57613f76848461518a565b613f7e565b60005b90506000613f8c828461518a565b9299919850919650945050505050565b606780546001600160a01b0319166001600160a01b03831617905561118e610c9b565b600054610100900460ff1680613fd8575060005460ff16155b613ff45760405162461bcd60e51b8152600401610bd1906156bc565b600054610100900460ff16158015614016576000805461ffff19166101011790555b61401e6148b6565b6140288383614921565b801561403a576000805461ff00191690555b505050565b60d55460d154604051631a4ca37b60e21b81526000926001600160a01b03908116926369328dec9261407b929091169086903090600401615776565b602060405180830381600087803b15801561409557600080fd5b505af11580156140a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140cd9190615119565b905060008111610c975760405162461bcd60e51b815260206004820152602b60248201527f57697468647261776e20616d6f756e742073686f756c6420626520626967676560448201526a72207468616e207a65726f60a81b6064820152608401610bd1565b6001600160a01b0382166141935760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610bd1565b6001600160a01b038216600090815260336020526040902054818110156142075760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610bd1565b6001600160a01b038316600090815260336020526040812083830390556035805484929061423690849061518a565b90915550506040518281526000906001600160a01b038516906000805160206159168339815191529060200160405180910390a3505050565b600061427c8484846136fd565b6001600160a01b0386166000908152609e60205260409020546142b69087906142af9088906001600160801b031661518a565b600161387e565b609a546142d4908690600160801b90046001600160801b031661518a565b609a80546001600160801b03928316600160801b02921691909117905550600195945050505050565b6001600160a01b0383166143615760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bd1565b6001600160a01b0382166143c35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bd1565b6001600160a01b0383166000908152603360205260409020548181101561443b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610bd1565b6001600160a01b038085166000908152603360205260408082208585039055918516815290812080548492906144729084906151ff565b92505081905550826001600160a01b0316846001600160a01b0316600080516020615916833981519152846040516144ac91815260200190565b60405180910390a350505050565b600080866001600160a01b031663b0f479a16040518163ffffffff1660e01b815260040160206040518083038186803b1580156144f657600080fd5b505afa15801561450a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061452e91906151e2565b9050606060006001600160a01b0316876000815181106145505761455061515e565b60200260200101516001600160a01b0316141561468b57816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156145a057600080fd5b505afa1580156145b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145d891906151e2565b876000815181106145eb576145eb61515e565b6001600160a01b039283166020918202929092010152604051637ff36ab560e01b815290831690637ff36ab590889061462e9089908c908a904290600401615814565b6000604051808303818588803b15801561464757600080fd5b505af115801561465b573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526146849190810190615849565b9050614882565b60006001600160a01b031687600189516146a5919061518a565b815181106146b5576146b561515e565b60200260200101516001600160a01b031614156147f557816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561470557600080fd5b505afa158015614719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061473d91906151e2565b876001895161474c919061518a565b8151811061475c5761475c61515e565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe59061479f90899089908c908a9042906004016158d9565b600060405180830381600087803b1580156147b957600080fd5b505af11580156147cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526146849190810190615849565b6040516338ed173960e01b81526001600160a01b038316906338ed17399061482990899089908c908a9042906004016158d9565b600060405180830381600087803b15801561484357600080fd5b505af1158015614857573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261487f9190810190615849565b90505b8060018251614891919061518a565b815181106148a1576148a161515e565b60200260200101519250505095945050505050565b600054610100900460ff16806148cf575060005460ff16155b6148eb5760405162461bcd60e51b8152600401610bd1906156bc565b600054610100900460ff1615801561490d576000805461ffff19166101011790555b801561118e576000805461ff001916905550565b600054610100900460ff168061493a575060005460ff16155b6149565760405162461bcd60e51b8152600401610bd1906156bc565b600054610100900460ff16158015614978576000805461ffff19166101011790555b825161498b906036906020860190614a17565b50815161499f906037906020850190614a17565b50801561403a576000805461ff0019169055505050565b828054828255906000526020600020908101928215614a0b579160200282015b82811115614a0b57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906149d6565b506136f9929150614a8b565b828054614a23906150de565b90600052602060002090601f016020900481019282614a455760008555614a0b565b82601f10614a5e57805160ff1916838001178555614a0b565b82800160010185558215614a0b579182015b82811115614a0b578251825591602001919060010190614a70565b5b808211156136f95760008155600101614a8c565b801515811461118e57600080fd5b600060208284031215614ac057600080fd5b8135614acb81614aa0565b9392505050565b600060208083528351808285015260005b81811015614aff57858101830151858201604001528201614ae3565b81811115614b11576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461118e57600080fd5b8035614b4781614b27565b919050565b60008060408385031215614b5f57600080fd5b8235614b6a81614b27565b946020939093013593505050565b60008060408385031215614b8b57600080fd5b8235614b9681614aa0565b91506020830135614ba681614aa0565b809150509250929050565b600060208284031215614bc357600080fd5b8135614acb81614b27565b600080600060608486031215614be357600080fd5b8335614bee81614b27565b92506020840135614bfe81614b27565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b63ffffffff8116811461118e57600080fd5b60008060408385031215614c4857600080fd5b8235614c5381614c23565b91506020830135614ba681614c23565b600060208284031215614c7557600080fd5b813562ffffff81168114614acb57600080fd5b600080600060608486031215614c9d57600080fd5b83359250602084013591506040840135614cb681614aa0565b809150509250925092565b60008060008060808587031215614cd757600080fd5b8435614ce281614b27565b966020860135965060408601359560600135945092505050565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715614d3557614d35614cfc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614d6357614d63614cfc565b604052919050565b600082601f830112614d7c57600080fd5b81356001600160401b03811115614d9557614d95614cfc565b614da8601f8201601f1916602001614d3b565b818152846020838601011115614dbd57600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160401b038116811461118e57600080fd5b8035614b4781614dda565b60006001600160401b03821115614e1357614e13614cfc565b5060051b60200190565b600082601f830112614e2e57600080fd5b81356020614e43614e3e83614dfa565b614d3b565b82815260059290921b84018101918181019086841115614e6257600080fd5b8286015b84811015614e86578035614e7981614b27565b8352918301918301614e66565b509695505050505050565b6000806000806000806000806000806101408b8d031215614eb157600080fd5b614eba8b614b3c565b9950614ec860208c01614b3c565b9850614ed660408c01614b3c565b975060608b01356001600160401b0380821115614ef257600080fd5b614efe8e838f01614d6b565b985060808d0135915080821115614f1457600080fd5b614f208e838f01614d6b565b9750614f2e60a08e01614def565b9650614f3c60c08e01614b3c565b9550614f4a60e08e01614b3c565b9450614f596101008e01614b3c565b93506101208d0135915080821115614f7057600080fd5b50614f7d8d828e01614e1d565b9150509295989b9194979a5092959850565b600080600060608486031215614fa457600080fd5b8335614faf81614b27565b95602085013595506040909401359392505050565b600060208284031215614fd657600080fd5b5035919050565b60008060408385031215614ff057600080fd5b8235614ffb81614b27565b91506020830135614ba681614b27565b60008060008060008060c0878903121561502457600080fd5b863561502f81614b27565b9550602087013561503f81614b27565b9450604087013561504f81614b27565b935060608701356001600160401b038082111561506b57600080fd5b6150778a838b01614d6b565b9450608089013591508082111561508d57600080fd5b5061509a89828a01614d6b565b92505060a08701356150ab81614dda565b809150509295509295509295565b600080604083850312156150cc57600080fd5b823591506020830135614ba681614aa0565b600181811c908216806150f257607f821691505b6020821081141561511357634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561512b57600080fd5b5051919050565b805160ff81168114614b4757600080fd5b60006020828403121561515557600080fd5b614acb82615132565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561519c5761519c615174565b500390565b6001600160a01b03929092168252602082015260400190565b6000602082840312156151cc57600080fd5b8151614acb81614aa0565b8051614b4781614b27565b6000602082840312156151f457600080fd5b8151614acb81614b27565b6000821982111561521257615212615174565b500190565b6020808252600c908201526b4744414f5f5354414b45525360a01b604082015260600190565b600081518084526020808501945080840160005b838110156152765781516001600160a01b031687529582019590820190600101615251565b509495945050505050565b6001600160a01b03831681526040602082018190526000906152a59083018461523d565b949350505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252600c908201526b232aa7222fa6a0a720a3a2a960a11b604082015260600190565b6000806000806080858703121561532057600080fd5b845161532b81614c23565b602086015190945061533c81614dda565b604086015190935061534d81614dda565b606086015190925061535e81614aa0565b939692955090935050565b60006001600160801b0382811684821680830382111561538b5761538b615174565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b03838116806153c4576153c4615394565b92169190910492915050565b6000602082840312156153e257600080fd5b604051602081016001600160401b038111828210171561540457615404614cfc565b6040529151825250919050565b80516001600160801b0381168114614b4757600080fd5b805164ffffffffff81168114614b4757600080fd5b6000610180828403121561545057600080fd5b615458614d12565b61546284846153d0565b815261547060208401615411565b602082015261548160408401615411565b604082015261549260608401615411565b60608201526154a360808401615411565b60808201526154b460a08401615411565b60a08201526154c560c08401615428565b60c08201526154d660e084016151d7565b60e08201526101006154e98185016151d7565b908201526101206154fb8482016151d7565b9082015261014061550d8482016151d7565b9082015261016061551f848201615132565b908201529392505050565b600081600019048311821515161561554457615544615174565b500290565b600181815b8085111561558457816000190482111561556a5761556a615174565b8085161561557757918102915b93841c939080029061554e565b509250929050565b60008261559b5750600161088e565b816155a85750600061088e565b81600181146155be57600281146155c8576155e4565b600191505061088e565b60ff8411156155d9576155d9615174565b50506001821b61088e565b5060208310610133831016604e8410600b8410161715615607575081810a61088e565b6156118383615549565b806000190482111561562557615625615174565b029392505050565b6000614acb60ff84168361558c565b60008261564b5761564b615394565b500490565b6000614acb838361558c565b6020808252600e908201526d2aa724a9aba0a82fa927aaaa22a960911b604082015260600190565b6020808252600490820152634344414960e01b604082015260600190565b6001600160a01b0392831681529116602082015260400190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600060ff821660ff84168082101561572457615724615174565b90039392505050565b604081526000615740604083018561523d565b905060018060a01b03831660208301529392505050565b600063ffffffff80831681851680830382111561538b5761538b615174565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6060815260006157ac606083018661523d565b6020830194909452506001600160a01b0391909116604090910152919050565b60006001600160801b03838116908316818110156157ec576157ec615174565b039392505050565b60006001600160401b03838116908316818110156157ec576157ec615174565b84815260806020820152600061582d608083018661523d565b6001600160a01b03949094166040830152506060015292915050565b6000602080838503121561585c57600080fd5b82516001600160401b0381111561587257600080fd5b8301601f8101851361588357600080fd5b8051615891614e3e82614dfa565b81815260059190911b820183019083810190878311156158b057600080fd5b928401925b828410156158ce578351825292840192908401906158b5565b979650505050505050565b85815284602082015260a0604082015260006158f860a083018661523d565b6001600160a01b039490941660608301525060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122093721b4060bc894389156ef1d9715c8bc148cf9835b93f5edb636f0fe71cb5fd64736f6c63430008080033";
|
|
1149
|
+
"0x608060405234801561001057600080fd5b5061596b80620000216000396000f3fe608060405234801561001057600080fd5b506004361061023b5760003560e01c806302329a291461024057806306fdde0314610255578063095ea7b31461027357806309b04fb4146102965780630cd865ec146102d157806318160ddd146102e45780631b3c90a8146102f657806323b872dd146102fe57806328e964e9146103115780632ba7cff9146103695780632bbbdc8914610389578063313ce5671461039c57806337455990146103b657806339509351146103e45780633e6326fc146103f7578063408cfe241461040a5780634162169f1461041d57806343d93ca01461043057806346b30ff514610443578063561b24631461044b578063574c5c931461045e5780635aef7de6146104715780635b9fe37f1461048457806370a08231146104975780638824d07d146104c057806389eb6426146104ec57806395d89b41146104ff578063995a122914610507578063a457c2d71461051a578063a59a99731461052d578063a82415ae14610540578063a87430ba14610553578063a9059cbb14610610578063ad1e5d7514610623578063b0ce7abb14610636578063b0f479a114610649578063b187bd2614610651578063b76e230e14610665578063c59d48471461067c578063c7b8981c146106f5578063dd62ed3e146106fd578063e1758bd814610736578063e32f17261461073e578063e660b53f14610751578063e99b5d3d14610759578063ead8dbd414610762578063edb5b86314610775578063f412a6af14610788578063fc0c546a146107b2575b600080fd5b61025361024e366004614aae565b6107c5565b005b61025d6107eb565b60405161026a9190614ad2565b60405180910390f35b610286610281366004614b4c565b61087d565b604051901515815260200161026a565b6102a96102a4366004614b78565b610894565b604080519586526020860194909452928401919091526060830152608082015260a00161026a565b6102536102df366004614bb1565b610ad6565b6035545b60405190815260200161026a565b610253610c9b565b61028661030c366004614bce565b610de0565b61035461031f366004614bb1565b6001600160a01b03166000908152609e6020526040902054609a546001600160801b0391821692600160801b90910490911690565b6040805192835260208301919091520161026a565b60d75461037c906001600160a01b031681565b60405161026a9190614c0f565b610253610397366004614c35565b610e8a565b6103a4610ed1565b60405160ff909116815260200161026a565b6103c96103c4366004614bb1565b610f53565b6040805193845260208401929092529082015260600161026a565b6102866103f2366004614b4c565b610fef565b60675461037c906001600160a01b031681565b60d25461037c906001600160a01b031681565b60655461037c906001600160a01b031681565b61025361043e366004614c63565b61102b565b610253611057565b610253610459366004614c88565b611191565b6102e861046c366004614cc1565b611637565b60665461037c906001600160a01b031681565b60d65461037c906001600160a01b031681565b6102e86104a5366004614bb1565b6001600160a01b031660009081526033602052604090205490565b60d7546104d790600160c01b900463ffffffff1681565b60405163ffffffff909116815260200161026a565b60d45461037c906001600160a01b031681565b61025d61173f565b610253610515366004614e91565b61174e565b610286610528366004614b4c565b6119c9565b60d55461037c906001600160a01b031681565b6102e861054e366004614cc1565b611a62565b6105bc610561366004614bb1565b609e602052600090815260409020805460018201546002909201546001600160801b0380831693600160801b9384900482169381831693918190048316928216916001600160401b03918104821691600160c01b9091041687565b604080516001600160801b039889168152968816602088015294871694860194909452918516606085015290931660808301526001600160401b0392831660a08301529190911660c082015260e00161026a565b61028661061e366004614b4c565b611cf1565b6102e8610631366004614f8f565b611cfe565b61037c610644366004614fc4565b611da2565b61037c611dcc565b60d25461028690600160a01b900460ff1681565b60d7546104d790600160a01b900463ffffffff1681565b609d54609a54609b54609c54604080519485526001600160801b038085166020870152600160801b948590048116918601919091528083166060860152918390048216608085015290811660a08401529081046001600160401b031660c0830152600160c01b900460ff1660e08201526101000161026a565b610253611e4b565b6102e861070b366004614fdd565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b61037c611fd6565b61025361074c36600461500b565b612022565b6104d761227a565b6102e860d35481565b6102536107703660046150b9565b61239c565b610354610783366004614bb1565b61296a565b60d25461079e90600160a81b900462ffffff1681565b60405162ffffff909116815260200161026a565b60d15461037c906001600160a01b031681565b6107cd612afc565b60d28054911515600160a01b0260ff60a01b19909216919091179055565b6060603680546107fa906150de565b80601f0160208091040260200160405190810160405280929190818152602001828054610826906150de565b80156108735780601f1061084857610100808354040283529160200191610873565b820191906000526020600020905b81548152906001019060200180831161085657829003601f168201915b5050505050905090565b600061088a338484612bd0565b5060015b92915050565b60d2546040516370a0823160e01b815260009182918291829182916001600160a01b03169081906370a08231906108cf903090600401614c0f565b60206040518083038186803b1580156108e757600080fd5b505afa1580156108fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091f9190615119565b93508761092d5760006109be565b60d45460d1546040805163313ce56760e01b815290516109be936001600160a01b0390811693899391169163313ce56791600480820192602092909190829003018186803b15801561097e57600080fd5b505afa158015610992573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b69190615143565b60ff16611cfe565b6040805160018082528183019092529194506000919060208083019080368337505060d15482519293506001600160a01b031691839150600090610a0457610a0461515e565b6001600160a01b0390921660209283029190910190910152609a546001600160801b03600160801b909104168511610a48575060009550859450849150610acc9050565b609a54610a6590600160801b90046001600160801b03168661518a565b955085965087610a76576000610ac7565b60d45460d1546040805163313ce56760e01b81529051610ac7936001600160a01b03908116938b9391169163313ce56791600480820192602092909190829003018186803b15801561097e57600080fd5b925050505b9295509295909350565b610ade612afc565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610b0d903090600401614c0f565b60206040518083038186803b158015610b2557600080fd5b505afa158015610b39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5d9190615119565b60d2549091506001600160a01b0383811691161415610bda57609a54600160801b90046001600160801b0316158015610b9f575060d254600160a01b900460ff165b610bda5760405162461bcd60e51b81526020600482015260076024820152663932b1b7bb32b960c91b60448201526064015b60405180910390fd5b60665460405163a9059cbb60e01b81526001600160a01b038481169263a9059cbb92610c0e929091169085906004016151a1565b602060405180830381600087803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6091906151ba565b610c975760405162461bcd60e51b81526020600482015260086024820152673a3930b739b332b960c11b6044820152606401610bd1565b5050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610cf957600080fd5b505afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3191906151e2565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b158015610d8657600080fd5b505afa158015610d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbe91906151e2565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ded848484612cf4565b6001600160a01b038416600090815260346020908152604080832033845290915290205482811015610e725760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610bd1565b610e7f8533858403612bd0565b506001949350505050565b610e92612afc565b60d78054600160a01b600160e01b031916600160a01b63ffffffff9485160263ffffffff60c01b191617600160c01b9290931691909102919091179055565b60d1546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b158015610f1657600080fd5b505afa158015610f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4e9190615143565b905090565b6000806000610f60612fbd565b600080610f6e600080610894565b50505091509150610f7f8287613084565b604080516001600160a01b038b16815260208101879052908101859052606081018490526080810183905260a0810182905292975090955093507f38c2c21f82a20481909d7aef48247b0743f69728fbb599c274039e2eecf8bb179060c00160405180910390a150509193909250565b3360008181526034602090815260408083206001600160a01b0387168452909152812054909161088a9185906110269086906151ff565b612bd0565b611033612afc565b60d2805462ffffff909216600160a81b0262ffffff60a81b19909216919091179055565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac19061108690600401615217565b60206040518083038186803b15801561109e57600080fd5b505afa1580156110b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d691906151e2565b90506001600160a01b0381161561118e5760408051600180825281830190925260009160208083019080368337019050509050308160008151811061111d5761111d61515e565b6001600160a01b03928316602091820292909201015260405163455518ef60e11b815290831690638aaa31de9061115a9033908590600401615281565b600060405180830381600087803b15801561117457600080fd5b505af1158015611188573d6000803e3d6000fd5b50505050505b50565b6002609f5414156111b45760405162461bcd60e51b8152600401610bd1906152ad565b6002609f5560d254600160a01b900460ff16156112075760405162461bcd60e51b815260206004820152601160248201527014dd185ada5b99c81a5cc81c185d5cd959607a1b6044820152606401610bd1565b8115806112145750816064145b61124e5760405162461bcd60e51b815260206004820152600b60248201526a3237b730ba34b7b72832b960a91b6044820152606401610bd1565b600083116112875760405162461bcd60e51b8152602060048201526006602482015265185b5bdd5b9d60d21b6044820152606401610bd1565b8061129d5760d1546001600160a01b03166112aa565b60d2546001600160a01b03165b6001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101869052606401602060405180830381600087803b15801561130757600080fd5b505af115801561131b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133f91906151ba565b6113755760405162461bcd60e51b8152602060048201526007602482015266617070726f766560c81b6044820152606401610bd1565b806113805782611382565b825b92508061139257611392836133f4565b61139c338461346c565b60675460405163bf40fac160e01b8152600091829182916001600160a01b03169063bf40fac1906113cf906004016152e4565b60206040518083038186803b1580156113e757600080fd5b505afa1580156113fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141f91906151e2565b6001600160a01b031663d0250144306040518263ffffffff1660e01b815260040161144a9190614c0f565b60806040518083038186803b15801561146257600080fd5b505afa158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a919061530a565b509250925092506114cd6114ab3390565b878563ffffffff16856001600160401b0316856001600160401b03168a613539565b5060006114dc60016000610894565b5060d381905560675460405163bf40fac160e01b8152919550600094506001600160a01b0316925063bf40fac1915061151790600401615217565b60206040518083038186803b15801561152f57600080fd5b505afa158015611543573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156791906151e2565b90506001600160a01b038116156115e1576001600160a01b03811663a39b2153336115918b6135c7565b6040518363ffffffff1660e01b81526004016115ae9291906151a1565b600060405180830381600087803b1580156115c857600080fd5b505af11580156115dc573d6000803e3d6000fd5b505050505b60d15460405133917f5dac0c1b1112564a045ba943c9d50270893e8e826c49be8e7073adc713ab7bd791611620916001600160a01b0316908c906151a1565b60405180910390a250506001609f55505050505050565b6000611641612fbd565b61164c8484846136fd565b6001600160a01b0385166000908152609e602052604090205461167b9086906001600160801b0316600161387e565b6001600160a01b0385166000908152609e602052604081206001810180546001600160801b0380821690925560029092018054600160801b9093048216938493919290916116cb91859116615369565b82546101009290920a6001600160801b03818102199093169183160217909155609a546116fb9250839116615369565b609a80546001600160801b0319166001600160801b039290921691909117905561172c662386f26fc10000826153aa565b6001600160801b03169695505050505050565b6060603780546107fa906150de565b60d580546001600160a01b0319166001600160a01b038b169081179091556040516335ea6a7560e01b8152600091906335ea6a7590611791908e90600401614c0f565b6101806040518083038186803b1580156117aa57600080fd5b505afa1580156117be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e2919061543d565b90506117f68b8260e001518b8b8b8b612022565b8a6001600160a01b0316826000815181106118135761181361515e565b60200260200101516001600160a01b03161480156118f6575060675460405163bf40fac160e01b815260206004820152600360248201526244414960e81b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561188357600080fd5b505afa158015611897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118bb91906151e2565b6001600160a01b031682600184516118d3919061518a565b815181106118e3576118e361515e565b60200260200101516001600160a01b0316145b6119405760405162461bcd60e51b815260206004820152601b60248201527a0d2dcecc2d8d2c840bee8ded6cadca8de88c2d2a6eec2e0a0c2e8d602b1b6044820152606401610bd1565b81516119539060d89060208501906149b6565b5060d480546001600160a01b03199081166001600160a01b038881169190911790925560d6805490911686831617905560d780549185166001600160c01b031990921691909117613d0960a41b1763ffffffff60c01b1916610c3560c41b1790556119bc613d15565b5050505050505050505050565b3360009081526034602090815260408083206001600160a01b038616845290915281205482811015611a4b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610bd1565b611a583385858403612bd0565b5060019392505050565b6001600160a01b0384166000908152609e60209081526040808320815160e08101835281546001600160801b038082168352600160801b91829004811695830195909552600183015480861694830194909452928390048416606082015260029091015480841660808301526001600160401b03928104831660a0830152600160c01b900490911660c0820152609d54609b549192909184911615801590611b0a5750854310155b8015611b165750438510155b15611ccc57609c54600090611b34906001600160801b03164361518a565b90506000611b4989662386f26fc1000061552a565b611b53908361552a565b90506000806000611b6388613ea6565b609c549295509093509150611b8390600160c01b900460ff16600a61562d565b609b54611b9991906001600160801b031661552a565b611bae85676765c793fa10079d601b1b61552a565b611bb8919061563c565b611bc290886151ff565b9650878315611cc55780604001516001600160801b0316676765c793fa10079d601b1b89609c60189054906101000a900460ff16600a611c02919061562d565b84602001516001600160801b0316611c1a919061552a565b611c24919061552a565b611c2e919061563c565b611c38919061518a565b96506000611c4e85670de0b6b3a764000061552a565b611c6389676765c793fa10079d601b1b61552a565b611c6d919061563c565b905064174876e80081611c8185606461552a565b600a611c8e88606461552a565b611c9990600561552a565b611ca3919061563c565b611cad91906151ff565b611cb7919061552a565b611cc1919061563c565b9750505b5050505050505b8083606001516001600160801b0316611ce591906151ff565b98975050505050505050565b600061088a338484612cf4565b6000808490506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d3f57600080fd5b505afa158015611d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d779190615119565b9050611d8484600a615650565b611d8e868361552a565b611d98919061563c565b9695505050505050565b60d88181548110611db257600080fd5b6000918252602090912001546001600160a01b0316905081565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190611dfb9060040161565c565b60206040518083038186803b158015611e1357600080fd5b505afa158015611e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4e91906151e2565b6002609f541415611e6e5760405162461bcd60e51b8152600401610bd1906152ad565b6002609f5560675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac190611ea1906004016152e4565b60206040518083038186803b158015611eb957600080fd5b505afa158015611ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef191906151e2565b60675460405163bf40fac160e01b81526001600160a01b039283169263f03b289092169063bf40fac190611f2790600401615684565b60206040518083038186803b158015611f3f57600080fd5b505afa158015611f53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7791906151e2565b336040518363ffffffff1660e01b8152600401611f959291906156a2565b600060405180830381600087803b158015611faf57600080fd5b505af1158015611fc3573d6000803e3d6000fd5b50505050611fcf611057565b6001609f55565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401611dfb565b600054610100900460ff168061203b575060005460ff16155b6120575760405162461bcd60e51b8152600401610bd1906156bc565b600054610100900460ff16158015612079576000805461ffff19166101011790555b61208285613f9c565b60d180546001600160a01b03808a166001600160a01b03199283161790925560d28054928916929091169190911790556120bc8484613fbf565b60d1546040805163313ce56760e01b815290516012926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561210157600080fd5b505afa158015612115573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121399190615143565b60ff1611156121755760405162461bcd60e51b8152602060048201526008602482015267646563696d616c7360c01b6044820152606401610bd1565b60d160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c357600080fd5b505afa1580156121d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121fb9190615143565b61220690601261570a565b609c8054600160801b600160c81b031916600160c01b60ff9390931692909202600160801b600160c01b03191691909117600160801b6001600160401b0385160217905560d2805462ffffff60a81b1916604b60aa1b1790558015612271576000805461ff00191690555b50505050505050565b60408051600180825281830190925260009182919060208083019080368337505060d25482519293506001600160a01b0316918391506000906122bf576122bf61515e565b6001600160a01b03928316602091820292909201015260d6546040516345accf9360e11b81526000929190911690638b599f2690612303908590309060040161572d565b60206040518083038186803b15801561231b57600080fd5b505afa15801561232f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123539190615119565b905080156123855760d75461237e9063ffffffff600160c01b8204811691600160a01b900416615757565b9250505090565b505060d754600160a01b900463ffffffff16919050565b6002609f5414156123bf5760405162461bcd60e51b8152600401610bd1906152ad565b6002609f55600081156124925760d25460405163a9059cbb60e01b815284916001600160a01b03169063a9059cbb906123fe90339085906004016151a1565b602060405180830381600087803b15801561241857600080fd5b505af115801561242c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061245091906151ba565b6124885760405162461bcd60e51b815260206004820152600960248201526869576974686472617760b81b6044820152606401610bd1565b92508290506125e7565b508161249d8161403f565b60d1546040516370a0823160e01b81526000916001600160a01b0316906370a08231906124ce903090600401614c0f565b60206040518083038186803b1580156124e657600080fd5b505afa1580156124fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061251e9190615119565b90508181101561252c578091505b60d1546001600160a01b031663a9059cbb33846040518363ffffffff1660e01b815260040161255c9291906151a1565b602060405180830381600087803b15801561257657600080fd5b505af115801561258a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ae91906151ba565b6125e55760405162461bcd60e51b8152602060048201526008602482015267776974686472617760c01b6044820152606401610bd1565b505b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190612616906004016152e4565b60206040518083038186803b15801561262e57600080fd5b505afa158015612642573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266691906151e2565b9050600061267660016000610894565b5093505050508060d38190555061268d3386614133565b6000806000846001600160a01b031663d0250144306040518263ffffffff1660e01b81526004016126be9190614c0f565b60806040518083038186803b1580156126d657600080fd5b505afa1580156126ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270e919061530a565b5092509250925061274061271f3390565b898563ffffffff16856001600160401b0316856001600160401b031661426f565b5060675460405163bf40fac160e01b81526001600160a01b038088169263f03b28909291169063bf40fac19061277890600401615684565b60206040518083038186803b15801561279057600080fd5b505afa1580156127a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c891906151e2565b336040518363ffffffff1660e01b81526004016127e69291906156a2565b600060405180830381600087803b15801561280057600080fd5b505af1158015612814573d6000803e3d6000fd5b505060675460405163bf40fac160e01b8152600093506001600160a01b03909116915063bf40fac19061284990600401615217565b60206040518083038186803b15801561286157600080fd5b505afa158015612875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289991906151e2565b90506001600160a01b03811615612913576001600160a01b038116633e458a8e336128c38c6135c7565b6040518363ffffffff1660e01b81526004016128e09291906151a1565b600060405180830381600087803b1580156128fa57600080fd5b505af115801561290e573d6000803e3d6000fd5b505050505b60d15460405133917f89b2bca2609b9ce42215fdd646f9162cdfb9c1620c93db1cc6302479489d3f3291612952916001600160a01b0316908b906151a1565b60405180910390a250506001609f5550505050505050565b60675460405163bf40fac160e01b815260009182918291829182916001600160a01b03169063bf40fac1906129a1906004016152e4565b60206040518083038186803b1580156129b957600080fd5b505afa1580156129cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f191906151e2565b6001600160a01b031663d0250144306040518263ffffffff1660e01b8152600401612a1c9190614c0f565b60806040518083038186803b158015612a3457600080fd5b505afa158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c919061530a565b509250925092506000612a99878563ffffffff16856001600160401b0316856001600160401b0316611a62565b6001600160a01b0388166000908152609e6020526040902060020154909150612ad390662386f26fc10000906001600160801b03166153aa565b612ae4662386f26fc100008361563c565b6001600160801b039091169890975095505050505050565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b158015612b4057600080fd5b505afa158015612b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b7891906151e2565b6001600160a01b031614612bce5760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610bd1565b565b6001600160a01b038316612c325760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bd1565b6001600160a01b038216612c935760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bd1565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b612cff8383836142fd565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190612d2e90600401615217565b60206040518083038186803b158015612d4657600080fd5b505afa158015612d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7e91906151e2565b60675460405163bf40fac160e01b8152919250600091829182916001600160a01b039091169063bf40fac190612db6906004016152e4565b60206040518083038186803b158015612dce57600080fd5b505afa158015612de2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0691906151e2565b6001600160a01b031663d0250144306040518263ffffffff1660e01b8152600401612e319190614c0f565b60806040518083038186803b158015612e4957600080fd5b505afa158015612e5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e81919061530a565b50925092509250612ead87868563ffffffff16856001600160401b0316856001600160401b031661426f565b50612ed586868563ffffffff16856001600160401b0316856001600160401b03166000613539565b506001600160a01b03841615612271576000612ef0866135c7565b604051631f22c54760e11b81529091506001600160a01b03861690633e458a8e90612f21908b9085906004016151a1565b600060405180830381600087803b158015612f3b57600080fd5b505af1158015612f4f573d6000803e3d6000fd5b505060405163a39b215360e01b81526001600160a01b038816925063a39b21539150612f81908a9085906004016151a1565b600060405180830381600087803b158015612f9b57600080fd5b505af1158015612faf573d6000803e3d6000fd5b505050505050505050505050565b60675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac190612feb906004016152e4565b60206040518083038186803b15801561300357600080fd5b505afa158015613017573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303b91906151e2565b6001600160a01b0316336001600160a01b031614612bce5760405162461bcd60e51b8152600401610bd190602080825260049082015263199d5b9960e21b604082015260600190565b6000806000306001600160a01b031673__$a7857c79f7039505337147dc025cce365e$__63f10a60ab909160d160009054906101000a90046001600160a01b031660d86001815481106130d9576130d961515e565b60009182526020909120015460d25460405160e086901b6001600160e01b03191681526001600160a01b03948516600482015292841660248401529216604482015260648101899052600160a81b90910462ffffff16608482015260a40160206040518083038186803b15801561314f57600080fd5b505af4158015613163573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131879190615119565b60d55460d154604051631a4ca37b60e21b81529295506001600160a01b03918216926369328dec926131c192169087903090600401615776565b602060405180830381600087803b1580156131db57600080fd5b505af11580156131ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132139190615119565b5060d1546040516370a0823160e01b81526001600160a01b03909116906370a0823190613244903090600401614c0f565b60206040518083038186803b15801561325c57600080fd5b505afa158015613270573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132949190615119565b6040805160018082528183019092529194506000919060208083019080368337505060d25482519293506001600160a01b0316918391506000906132da576132da61515e565b6001600160a01b03928316602091820292909201015260d654606654604051633111e7b360e01b815291831692633111e7b39261332292869260001992911690600401615799565b602060405180830381600087803b15801561333c57600080fd5b505af1158015613350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133749190615119565b925083156133ec576133e960d88054806020026020016040519081016040528092919081815260200182805480156133d557602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116133b7575b5030949350899250600091508a90506144ba565b91505b509250925092565b60d55460d15460405163e8eda9df60e01b81526001600160a01b039182166004820152602481018490523060448201526000606482015291169063e8eda9df90608401600060405180830381600087803b15801561345157600080fd5b505af1158015613465573d6000803e3d6000fd5b5050505050565b6001600160a01b0382166134c25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610bd1565b80603560008282546134d491906151ff565b90915550506001600160a01b038216600090815260336020526040812080548392906135019084906151ff565b90915550506040518181526001600160a01b038316906000906000805160206159168339815191529060200160405180910390a35050565b60006135468585856136fd565b6001600160a01b0387166000908152609e602052604090205461357f9088906135799089906001600160801b03166151ff565b8461387e565b609a5461359d908790600160801b90046001600160801b03166151ff565b609a80546001600160801b03928316600160801b0292169190911790555060019695505050505050565b60d1546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561360c57600080fd5b505afa158015613620573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136449190615143565b60ff166012146136f95760d160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561369c57600080fd5b505afa1580156136b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136d49190615143565b6136df90601261570a565b6136ea90600a61562d565b6136f4908361552a565b61088e565b5090565b609b546001600160801b031661372d575050609c80546001600160801b031916436001600160801b031617905550565b8143101580156137475750609c546001600160801b031682115b1561376857609c80546001600160801b0319166001600160801b0384161790555b609c546000906001600160801b0316831180156137855750824310155b61379a57609c546001600160801b031661379c565b825b905060008243116137ad57436137af565b825b9050838110806137bf5750828210155b156137cb575050505050565b60006137d7838361518a565b905060006137ec87662386f26fc1000061552a565b6137f6908361552a565b609c5490915061381190600160c01b900460ff16600a61562d565b609b5461382791906001600160801b031661552a565b61383c82676765c793fa10079d601b1b61552a565b613846919061563c565b609d5461385391906151ff565b609d555050609c80546001600160801b0319166001600160801b039290921691909117905550505050565b6001600160a01b0383166000908152609e6020526040902080546001600160801b0380821691600160801b9004168015613a90576040805160e08101825284546001600160801b038082168352600160801b91829004811660208401526001870154808216948401949094529281900483166060830152600286015492831660808301526001600160401b03908304811660a0830152600160c01b90920490911660c08201526000908190819061393490613ea6565b92509250925082600014613a88576001860154609d54609c546000926001600160801b031691676765c793fa10079d601b1b9161397c90600160c01b900460ff16600a61562d565b613986908961552a565b613990919061552a565b61399a919061563c565b6139a4919061518a565b90506000846139b783633b9aca0061552a565b6139c1919061563c565b905064174876e800816139d585606461552a565b600a6139e288606461552a565b6139ed90600561552a565b6139f7919061563c565b613a0191906151ff565b613a0b919061552a565b613a15919061563c565b6001890154909250613a38908390600160801b90046001600160801b03166151ff565b6001890180546001600160801b03908116600160801b938216840217909155609b54613a689285929104166151ff565b609b80546001600160801b03928316600160801b02921691909117905550505b505050613ab3565b6002830180546001600160c01b0316600160c01b436001600160401b0316021790555b818511613bb1576002830180546001600160c01b0316600160c01b436001600160401b0316021790558115613bac5782546000908390600160801b90046001600160801b0316613b03888361518a565b613b0d919061552a565b613b17919061563c565b845490915081908590601090613b3e908490600160801b90046001600160801b03166157cc565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080609b60008282829054906101000a90046001600160801b0316613b8691906157cc565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505b613c52565b83613c5257613bc0828661518a565b83548490601090613be2908490600160801b90046001600160801b0316615369565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508185613c12919061518a565b609b8054600090613c2d9084906001600160801b0316615369565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b600283018054600160801b600160c01b031916600160801b436001600160401b03160217905582546001600160801b0319166001600160801b038616178355609d54609c54676765c793fa10079d601b1b9190613cba90600160c01b900460ff16600a61562d565b8554613cd69190600160801b90046001600160801b031661552a565b613ce0919061552a565b613cea919061563c565b60019390930180546001600160801b0319166001600160801b03909416939093179092555050505050565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190613d449060040161565c565b60206040518083038186803b158015613d5c57600080fd5b505afa158015613d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d9491906151e2565b60d15460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b390613dc9908490600019906004016151a1565b602060405180830381600087803b158015613de357600080fd5b505af1158015613df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e1b91906151ba565b5060d15460d55460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392613e5492911690600019906004016151a1565b602060405180830381600087803b158015613e6e57600080fd5b505af1158015613e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9791906151ba565b6000806000808460c001518560a00151613ec091906157f4565b6001600160401b0316905060008560c001516001600160401b031643613ee6919061518a565b609c54600160801b90046001600160401b031610613f1b5760c0860151613f16906001600160401b03164361518a565b613f2f565b609c54600160801b90046001600160401b03165b905060008660a001516001600160401b031643613f4c919061518a565b609c54909150600090600160801b90046001600160401b0316841015613f7b57613f76848461518a565b613f7e565b60005b90506000613f8c828461518a565b9299919850919650945050505050565b606780546001600160a01b0319166001600160a01b03831617905561118e610c9b565b600054610100900460ff1680613fd8575060005460ff16155b613ff45760405162461bcd60e51b8152600401610bd1906156bc565b600054610100900460ff16158015614016576000805461ffff19166101011790555b61401e6148b6565b6140288383614921565b801561403a576000805461ff00191690555b505050565b60d55460d154604051631a4ca37b60e21b81526000926001600160a01b03908116926369328dec9261407b929091169086903090600401615776565b602060405180830381600087803b15801561409557600080fd5b505af11580156140a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140cd9190615119565b905060008111610c975760405162461bcd60e51b815260206004820152602b60248201527f57697468647261776e20616d6f756e742073686f756c6420626520626967676560448201526a72207468616e207a65726f60a81b6064820152608401610bd1565b6001600160a01b0382166141935760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610bd1565b6001600160a01b038216600090815260336020526040902054818110156142075760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610bd1565b6001600160a01b038316600090815260336020526040812083830390556035805484929061423690849061518a565b90915550506040518281526000906001600160a01b038516906000805160206159168339815191529060200160405180910390a3505050565b600061427c8484846136fd565b6001600160a01b0386166000908152609e60205260409020546142b69087906142af9088906001600160801b031661518a565b600161387e565b609a546142d4908690600160801b90046001600160801b031661518a565b609a80546001600160801b03928316600160801b02921691909117905550600195945050505050565b6001600160a01b0383166143615760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bd1565b6001600160a01b0382166143c35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bd1565b6001600160a01b0383166000908152603360205260409020548181101561443b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610bd1565b6001600160a01b038085166000908152603360205260408082208585039055918516815290812080548492906144729084906151ff565b92505081905550826001600160a01b0316846001600160a01b0316600080516020615916833981519152846040516144ac91815260200190565b60405180910390a350505050565b600080866001600160a01b031663b0f479a16040518163ffffffff1660e01b815260040160206040518083038186803b1580156144f657600080fd5b505afa15801561450a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061452e91906151e2565b9050606060006001600160a01b0316876000815181106145505761455061515e565b60200260200101516001600160a01b0316141561468b57816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156145a057600080fd5b505afa1580156145b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145d891906151e2565b876000815181106145eb576145eb61515e565b6001600160a01b039283166020918202929092010152604051637ff36ab560e01b815290831690637ff36ab590889061462e9089908c908a904290600401615814565b6000604051808303818588803b15801561464757600080fd5b505af115801561465b573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526146849190810190615849565b9050614882565b60006001600160a01b031687600189516146a5919061518a565b815181106146b5576146b561515e565b60200260200101516001600160a01b031614156147f557816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561470557600080fd5b505afa158015614719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061473d91906151e2565b876001895161474c919061518a565b8151811061475c5761475c61515e565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe59061479f90899089908c908a9042906004016158d9565b600060405180830381600087803b1580156147b957600080fd5b505af11580156147cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526146849190810190615849565b6040516338ed173960e01b81526001600160a01b038316906338ed17399061482990899089908c908a9042906004016158d9565b600060405180830381600087803b15801561484357600080fd5b505af1158015614857573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261487f9190810190615849565b90505b8060018251614891919061518a565b815181106148a1576148a161515e565b60200260200101519250505095945050505050565b600054610100900460ff16806148cf575060005460ff16155b6148eb5760405162461bcd60e51b8152600401610bd1906156bc565b600054610100900460ff1615801561490d576000805461ffff19166101011790555b801561118e576000805461ff001916905550565b600054610100900460ff168061493a575060005460ff16155b6149565760405162461bcd60e51b8152600401610bd1906156bc565b600054610100900460ff16158015614978576000805461ffff19166101011790555b825161498b906036906020860190614a17565b50815161499f906037906020850190614a17565b50801561403a576000805461ff0019169055505050565b828054828255906000526020600020908101928215614a0b579160200282015b82811115614a0b57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906149d6565b506136f9929150614a8b565b828054614a23906150de565b90600052602060002090601f016020900481019282614a455760008555614a0b565b82601f10614a5e57805160ff1916838001178555614a0b565b82800160010185558215614a0b579182015b82811115614a0b578251825591602001919060010190614a70565b5b808211156136f95760008155600101614a8c565b801515811461118e57600080fd5b600060208284031215614ac057600080fd5b8135614acb81614aa0565b9392505050565b600060208083528351808285015260005b81811015614aff57858101830151858201604001528201614ae3565b81811115614b11576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461118e57600080fd5b8035614b4781614b27565b919050565b60008060408385031215614b5f57600080fd5b8235614b6a81614b27565b946020939093013593505050565b60008060408385031215614b8b57600080fd5b8235614b9681614aa0565b91506020830135614ba681614aa0565b809150509250929050565b600060208284031215614bc357600080fd5b8135614acb81614b27565b600080600060608486031215614be357600080fd5b8335614bee81614b27565b92506020840135614bfe81614b27565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b63ffffffff8116811461118e57600080fd5b60008060408385031215614c4857600080fd5b8235614c5381614c23565b91506020830135614ba681614c23565b600060208284031215614c7557600080fd5b813562ffffff81168114614acb57600080fd5b600080600060608486031215614c9d57600080fd5b83359250602084013591506040840135614cb681614aa0565b809150509250925092565b60008060008060808587031215614cd757600080fd5b8435614ce281614b27565b966020860135965060408601359560600135945092505050565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715614d3557614d35614cfc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614d6357614d63614cfc565b604052919050565b600082601f830112614d7c57600080fd5b81356001600160401b03811115614d9557614d95614cfc565b614da8601f8201601f1916602001614d3b565b818152846020838601011115614dbd57600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160401b038116811461118e57600080fd5b8035614b4781614dda565b60006001600160401b03821115614e1357614e13614cfc565b5060051b60200190565b600082601f830112614e2e57600080fd5b81356020614e43614e3e83614dfa565b614d3b565b82815260059290921b84018101918181019086841115614e6257600080fd5b8286015b84811015614e86578035614e7981614b27565b8352918301918301614e66565b509695505050505050565b6000806000806000806000806000806101408b8d031215614eb157600080fd5b614eba8b614b3c565b9950614ec860208c01614b3c565b9850614ed660408c01614b3c565b975060608b01356001600160401b0380821115614ef257600080fd5b614efe8e838f01614d6b565b985060808d0135915080821115614f1457600080fd5b614f208e838f01614d6b565b9750614f2e60a08e01614def565b9650614f3c60c08e01614b3c565b9550614f4a60e08e01614b3c565b9450614f596101008e01614b3c565b93506101208d0135915080821115614f7057600080fd5b50614f7d8d828e01614e1d565b9150509295989b9194979a5092959850565b600080600060608486031215614fa457600080fd5b8335614faf81614b27565b95602085013595506040909401359392505050565b600060208284031215614fd657600080fd5b5035919050565b60008060408385031215614ff057600080fd5b8235614ffb81614b27565b91506020830135614ba681614b27565b60008060008060008060c0878903121561502457600080fd5b863561502f81614b27565b9550602087013561503f81614b27565b9450604087013561504f81614b27565b935060608701356001600160401b038082111561506b57600080fd5b6150778a838b01614d6b565b9450608089013591508082111561508d57600080fd5b5061509a89828a01614d6b565b92505060a08701356150ab81614dda565b809150509295509295509295565b600080604083850312156150cc57600080fd5b823591506020830135614ba681614aa0565b600181811c908216806150f257607f821691505b6020821081141561511357634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561512b57600080fd5b5051919050565b805160ff81168114614b4757600080fd5b60006020828403121561515557600080fd5b614acb82615132565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561519c5761519c615174565b500390565b6001600160a01b03929092168252602082015260400190565b6000602082840312156151cc57600080fd5b8151614acb81614aa0565b8051614b4781614b27565b6000602082840312156151f457600080fd5b8151614acb81614b27565b6000821982111561521257615212615174565b500190565b6020808252600c908201526b4744414f5f5354414b45525360a01b604082015260600190565b600081518084526020808501945080840160005b838110156152765781516001600160a01b031687529582019590820190600101615251565b509495945050505050565b6001600160a01b03831681526040602082018190526000906152a59083018461523d565b949350505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252600c908201526b232aa7222fa6a0a720a3a2a960a11b604082015260600190565b6000806000806080858703121561532057600080fd5b845161532b81614c23565b602086015190945061533c81614dda565b604086015190935061534d81614dda565b606086015190925061535e81614aa0565b939692955090935050565b60006001600160801b0382811684821680830382111561538b5761538b615174565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b03838116806153c4576153c4615394565b92169190910492915050565b6000602082840312156153e257600080fd5b604051602081016001600160401b038111828210171561540457615404614cfc565b6040529151825250919050565b80516001600160801b0381168114614b4757600080fd5b805164ffffffffff81168114614b4757600080fd5b6000610180828403121561545057600080fd5b615458614d12565b61546284846153d0565b815261547060208401615411565b602082015261548160408401615411565b604082015261549260608401615411565b60608201526154a360808401615411565b60808201526154b460a08401615411565b60a08201526154c560c08401615428565b60c08201526154d660e084016151d7565b60e08201526101006154e98185016151d7565b908201526101206154fb8482016151d7565b9082015261014061550d8482016151d7565b9082015261016061551f848201615132565b908201529392505050565b600081600019048311821515161561554457615544615174565b500290565b600181815b8085111561558457816000190482111561556a5761556a615174565b8085161561557757918102915b93841c939080029061554e565b509250929050565b60008261559b5750600161088e565b816155a85750600061088e565b81600181146155be57600281146155c8576155e4565b600191505061088e565b60ff8411156155d9576155d9615174565b50506001821b61088e565b5060208310610133831016604e8410600b8410161715615607575081810a61088e565b6156118383615549565b806000190482111561562557615625615174565b029392505050565b6000614acb60ff84168361558c565b60008261564b5761564b615394565b500490565b6000614acb838361558c565b6020808252600e908201526d2aa724a9aba0a82fa927aaaa22a960911b604082015260600190565b6020808252600490820152634344414960e01b604082015260600190565b6001600160a01b0392831681529116602082015260400190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600060ff821660ff84168082101561572457615724615174565b90039392505050565b604081526000615740604083018561523d565b905060018060a01b03831660208301529392505050565b600063ffffffff80831681851680830382111561538b5761538b615174565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6060815260006157ac606083018661523d565b6020830194909452506001600160a01b0391909116604090910152919050565b60006001600160801b03838116908316818110156157ec576157ec615174565b039392505050565b60006001600160401b03838116908316818110156157ec576157ec615174565b84815260806020820152600061582d608083018661523d565b6001600160a01b03949094166040830152506060015292915050565b6000602080838503121561585c57600080fd5b82516001600160401b0381111561587257600080fd5b8301601f8101851361588357600080fd5b8051615891614e3e82614dfa565b81815260059190911b820183019083810190878311156158b057600080fd5b928401925b828410156158ce578351825292840192908401906158b5565b979650505050505050565b85815284602082015260a0604082015260006158f860a083018661523d565b6001600160a01b039490941660608301525060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209be63b356151d0c88879ca5432ab2e7736e57aa3b5eb07eb8517597cf5816ba364736f6c63430008080033";
|
|
1150
1150
|
|
|
1151
1151
|
type GoodAaveStakingV2ConstructorParams =
|
|
1152
1152
|
| [linkLibraryAddresses: GoodAaveStakingV2LibraryAddresses, signer?: Signer]
|