@gooddollar/goodprotocol 1.0.27 → 1.0.28
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 -0
- package/artifacts/abis/FuseFaucet.min.json +1 -1
- package/artifacts/abis/IIdentity.min.json +1 -1
- package/artifacts/abis/ProxyAdmin.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/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/IFirstClaimPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
- 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 +45 -0
- package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
- 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/ProxyAdmin.json +23 -0
- 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/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +4 -4
- 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/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/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
- 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/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
- 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/OverMintTester.sol/OverMintTester.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
- 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/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/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 +2 -2
- 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/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +4 -0
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +732 -0
- 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 +2 -2
- 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/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/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
- package/contracts/Interfaces.sol +12 -0
- package/contracts/fuseFaucet/FuseFaucet.sol +19 -10
- package/contracts/utils/AdminWallet.sol +242 -0
- package/package.json +1 -1
- package/releases/deployment.json +9 -6
- package/scripts/deployFullDAO.ts +17 -9
- package/scripts/multichain-deploy/basicdao-deploy.ts +0 -10
- package/scripts/test/localOldDaoDeploy.ts +4 -10
- package/test/FuseFaucet.test.ts +8 -12
- package/test/utils/AdminWallet.test.ts +254 -0
- package/types/AdminWallet.ts +1136 -0
- package/types/FuseFaucet.ts +3 -3
- package/types/IIdentity.ts +87 -0
- package/types/ProxyAdmin.ts +44 -0
- package/types/factories/AaveStakingFactory__factory.ts +1 -1
- package/types/factories/AdminWallet__factory.ts +780 -0
- package/types/factories/BaseShareFieldV2__factory.ts +1 -1
- package/types/factories/BaseShareField__factory.ts +1 -1
- package/types/factories/BulkProof__factory.ts +1 -1
- 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/DonationsStaking__factory.ts +1 -1
- package/types/factories/ExchangeHelper__factory.ts +1 -1
- package/types/factories/FuseFaucet__factory.ts +3 -3
- 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/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 +1 -1
- package/types/factories/GovernanceStaking__factory.ts +1 -1
- package/types/factories/IIdentity__factory.ts +45 -0
- package/types/factories/InvitesV1__factory.ts +1 -1
- package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
- package/types/factories/OverMintTester__factory.ts +1 -1
- 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/ProxyAdmin__factory.ts +23 -0
- package/types/factories/ReputationTestHelper__factory.ts +1 -1
- package/types/factories/Reputation__factory.ts +1 -1
- package/types/factories/StakersDistribution__factory.ts +1 -1
- package/types/factories/SwapHelperTest__factory.ts +1 -1
- package/types/factories/UBIScheme__factory.ts +1 -1
- 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 +9 -0
- package/types/index.ts +2 -0
|
@@ -1222,7 +1222,7 @@ const _abi = [
|
|
|
1222
1222
|
];
|
|
1223
1223
|
|
|
1224
1224
|
const _bytecode =
|
|
1225
|
-
"0x608060405234801561001057600080fd5b50615e7780620000216000396000f3fe608060405234801561001057600080fd5b50600436106102935760003560e01c806302329a291461029857806306fdde03146102ad578063095ea7b3146102cb57806309b04fb4146102ee5780630cd865ec14610329578063109d0af81461033c57806316965b9a1461035c57806317a6a40c1461036f57806318160ddd146103905780631b3c90a8146103985780631ce720f3146103a057806323b872dd146103bf57806328e964e9146103d25780632bbbdc8914610414578063313ce56714610427578063374559901461042f578063395093511461045d5780633a608032146104705780633e6326fc14610479578063408cfe241461048c5780634162169f1461049f57806343d93ca0146104b257806346b30ff5146104c55780634a291b01146104cd578063561b2463146104d6578063574c5c93146104e95780635836af9b146104fc5780635a6d735c1461050f5780635abea7dc146105225780635aef7de61461053557806370a08231146105485780638955e46f14610571578063899e1b6c1461059d57806389eb6426146105c857806395d89b41146105db5780639c81ff6b146105e3578063a457c2d7146105ec578063a82415ae146105ff578063a87430ba14610612578063a9059cbb146106aa578063a9f8d181146106bd578063ad1e5d75146106c6578063b0ce7abb146106d9578063b0f479a1146106ec578063b187bd26146106f4578063b76e230e14610708578063bea281151461071f578063c7b8981c14610728578063dd62ed3e14610730578063e1758bd814610769578063e319828c14610771578063e32f17261461077a578063e660b53f1461078d578063ead8dbd414610795578063edb5b863146107a8578063f412a6af146107bb578063fc0c546a146107e5575b600080fd5b6102ab6102a63660046151ad565b6107f8565b005b6102b561081e565b6040516102c291906151ca565b60405180910390f35b6102de6102d9366004615244565b6108b0565b60405190151581526020016102c2565b6103016102fc366004615270565b6108c7565b604080519586526020860194909452928401919091526060830152608082015260a0016102c2565b6102ab6103373660046152a9565b610b40565b60da5461034f906001600160a01b031681565b6040516102c291906152c6565b6102ab61036a366004615446565b610d3a565b61038261037d366004615532565b61104f565b6040519081526020016102c2565b603554610382565b6102ab611195565b60a1546103ad9060ff1681565b60405160ff90911681526020016102c2565b6102de6103cd36600461554b565b6112da565b6103ff6103e03660046152a9565b6001600160a01b0316600090815260a26020526040902054609a549091565b604080519283526020830191909152016102c2565b6102ab61042236600461559e565b611384565b6103ad6113cb565b61044261043d3660046152a9565b61144d565b604080519384526020840192909252908201526060016102c2565b6102de61046b366004615244565b611553565b610382609c5481565b60675461034f906001600160a01b031681565b60d65461034f906001600160a01b031681565b60655461034f906001600160a01b031681565b6102ab6104c03660046155cc565b61158f565b6102ab6115bb565b610382609b5481565b6102ab6104e43660046155f1565b6116f5565b6103826104f736600461562a565b611d3a565b60d85461034f906001600160a01b031681565b61038261051d366004615532565b611dc8565b60db5461034f906001600160a01b031681565b60665461034f906001600160a01b031681565b6103826105563660046152a9565b6001600160a01b031660009081526033602052604090205490565b60d85461058890600160c01b900463ffffffff1681565b60405163ffffffff90911681526020016102c2565b609f546105b0906001600160401b031681565b6040516001600160401b0390911681526020016102c2565b60d75461034f906001600160a01b031681565b6102b5611f0a565b610382609e5481565b6102de6105fa366004615244565b611f19565b61038261060d36600461562a565b611fb2565b6106696106203660046152a9565b60a26020526000908152604090208054600182015460028301546003840154600485015460059095015493949293919290916001600160401b0380821691600160401b90041687565b60408051978852602088019690965294860193909352606085019190915260808401526001600160401b0390811660a08401521660c082015260e0016102c2565b6102de6106b8366004615244565b6121db565b61038260a05481565b6103826106d4366004615665565b6121e8565b61034f6106e7366004615532565b612278565b61034f6122a2565b60d6546102de90600160a01b900460ff1681565b60d85461058890600160a01b900463ffffffff1681565b610382609a5481565b6102ab612321565b61038261073e36600461569a565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b61034f6124ac565b610382609d5481565b6102ab6107883660046156c8565b6124f8565b610588612767565b6102ab6107a3366004615776565b61282c565b6103ff6107b63660046152a9565b612ee3565b60d6546107d190600160a81b900462ffffff1681565b60405162ffffff90911681526020016102c2565b60d55461034f906001600160a01b031681565b610800613061565b60d68054911515600160a01b0260ff60a01b19909216919091179055565b60606036805461082d9061579b565b80601f01602080910402602001604051908101604052809291908181526020018280546108599061579b565b80156108a65780601f1061087b576101008083540402835291602001916108a6565b820191906000526020600020905b81548152906001019060200180831161088957829003601f168201915b5050505050905090565b60006108bd338484613135565b5060015b92915050565b60d6546040516370a0823160e01b81526000918291829182918291610956916001600160a01b03909116906370a08231906109069030906004016152c6565b60206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d91906157d6565b9250866109645760006109f5565b60d75460d5546040805163313ce56760e01b815290516109f5936001600160a01b0390811693889391169163313ce56791600480820192602092909190829003018186803b1580156109b557600080fd5b505afa1580156109c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ed91906157ef565b60ff166121e8565b9150600086610a05576000610a95565b60d85460da546040516370a0823160e01b8152610a95926001600160a01b039081169216906370a0823190610a3e9030906004016152c6565b60206040518083038186803b158015610a5657600080fd5b505afa158015610a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8e91906157d6565b60126121e8565b9050609a548411610aae57600095508594509050610b36565b609a54610abb9085615828565b945086610ac9576000610b27565b60d75460d5546040805163313ce56760e01b815290518493610b1d936001600160a01b03918216938b93919092169163313ce567916004808301926020929190829003018186803b1580156109b557600080fd5b610b27919061583f565b9150610b328561104f565b9550505b9295509295909350565b610b48613061565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610b779030906004016152c6565b60206040518083038186803b158015610b8f57600080fd5b505afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906157d6565b60d6549091506001600160a01b0383811691161415610c6a57609a54158015610bf9575060d654600160a01b900460ff165b610c6a5760405162461bcd60e51b815260206004820152603760248201527f63616e207265636f7665722069546f6b656e206f6e6c79207768656e2073746160448201527635b2b9903430bb32903132b2b7103bb4ba34323930bbb760491b60648201526084015b60405180910390fd5b60665460405163a9059cbb60e01b81526001600160a01b038481169263a9059cbb92610c9e92909116908590600401615857565b602060405180830381600087803b158015610cb857600080fd5b505af1158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf09190615870565b610d365760405162461bcd60e51b81526020600482015260176024820152761c9958dbdd995c881d1c985b9cd9995c8819985a5b1959604a1b6044820152606401610c61565b5050565b610d488989898989896124f8565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190610d779060040161588d565b60206040518083038186803b158015610d8f57600080fd5b505afa158015610da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc791906158aa565b9050806001600160a01b03168a6001600160a01b03161480610e565750896001600160a01b031682600081518110610e0157610e016158c7565b60200260200101516001600160a01b0316148015610e565750806001600160a01b03168260018451610e339190615828565b81518110610e4357610e436158c7565b60200260200101516001600160a01b0316145b610e915760405162461bcd60e51b815260206004820152600c60248201526b0d2dcecc2d8d2c840e0c2e8d60a31b6044820152606401610c61565b60d880546001600160a01b038086166001600160a01b03199283161790925560d78054928716929091169190911790558151610ed49060d99060208501906150b1565b5060675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac190610f1c906004016020808252600490820152630434f4d560e41b604082015260600190565b60206040518083038186803b158015610f3457600080fd5b505afa158015610f48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6c91906158aa565b60da80546001600160a01b0319166001600160a01b0392831617905560675460405163bf40fac160e01b815291169063bf40fac190610fad906004016158dd565b60206040518083038186803b158015610fc557600080fd5b505afa158015610fd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffd91906158aa565b60db80546001600160a01b0319166001600160a01b039290921691909117905560d88054600160a01b600160e01b03191665249f00003d0960a41b179055611043613259565b50505050505050505050565b60008060d660009054906101000a90046001600160a01b03166001600160a01b031663182df0f56040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a057600080fd5b505afa1580156110b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d891906157d6565b90506000806110e56133f8565b9150915060006110f3613441565b6110fb6134ca565b61110690601261583f565b6111109190615828565b9050600182151514611156578361112882600a6159e9565b61113385600a6159e9565b61113d90896159f5565b61114791906159f5565b6111519190615a14565b61118b565b8361116282600a6159e9565b61116d85600a6159e9565b6111779089615a14565b61118191906159f5565b61118b9190615a14565b9695505050505050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156111f357600080fd5b505afa158015611207573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122b91906158aa565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561128057600080fd5b505afa158015611294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b891906158aa565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60006112e7848484613512565b6001600160a01b03841660009081526034602090815260408083203384529091529020548281101561136c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610c61565b6113798533858403613135565b506001949350505050565b61138c613061565b60d88054600160a01b600160e01b031916600160a01b63ffffffff9485160263ffffffff60c01b191617600160c01b9290931691909102919091179055565b60d5546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561141057600080fd5b505afa158015611424573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144891906157ef565b905090565b600080600061145a6137cc565b6001600160a01b0384163014156114c45760405162461bcd60e51b815260206004820152602860248201527f526563697069656e742063616e6e6f7420626520746865207374616b696e672060448201526718dbdb9d1c9858dd60c21b6064820152608401610c61565b6000806114d26000806108c7565b505050915091506114e382876138b8565b604080516001600160a01b038b16815260208101879052908101859052606081018490526080810183905260a0810182905292975090955093507f38c2c21f82a20481909d7aef48247b0743f69728fbb599c274039e2eecf8bb179060c00160405180910390a150509193909250565b3360008181526034602090815260408083206001600160a01b038716845290915281205490916108bd91859061158a90869061583f565b613135565b611597613061565b60d6805462ffffff909216600160a81b0262ffffff60a81b19909216919091179055565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac1906115ea90600401615a36565b60206040518083038186803b15801561160257600080fd5b505afa158015611616573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163a91906158aa565b90506001600160a01b038116156116f257604080516001808252818301909252600091602080830190803683370190505090503081600081518110611681576116816158c7565b6001600160a01b03928316602091820292909201015260405163455518ef60e11b815290831690638aaa31de906116be9033908590600401615aa0565b600060405180830381600087803b1580156116d857600080fd5b505af11580156116ec573d6000803e3d6000fd5b50505050505b50565b600260a35414156117185760405162461bcd60e51b8152600401610c6190615acc565b600260a35560d654600160a01b900460ff161561176b5760405162461bcd60e51b815260206004820152601160248201527014dd185ada5b99c81a5cc81c185d5cd959607a1b6044820152606401610c61565b8115806117785750816064145b6117d35760405162461bcd60e51b815260206004820152602660248201527f446f6e6174696f6e2070657263656e746167652073686f756c6420626520302060448201526506f72203130360d41b6064820152608401610c61565b600083116118355760405162461bcd60e51b815260206004820152602960248201527f596f75206e65656420746f207374616b65206120706f73697469766520746f6b604482015268195b88185b5bdd5b9d60ba1b6064820152608401610c61565b8061184b5760d5546001600160a01b0316611858565b60d6546001600160a01b03165b6001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101869052606401602060405180830381600087803b1580156118b557600080fd5b505af11580156118c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ed9190615870565b61195c5760405162461bcd60e51b815260206004820152603a60248201527f7472616e7366657246726f6d206661696c65642c206d616b652073757265207960448201527937ba9030b8383937bb32b2103a37b5b2b7103a3930b739b332b960311b6064820152608401610c61565b806119675782611970565b61197083611dc8565b9250806119805761198083614032565b61198a338461410b565b60675460405163bf40fac160e01b8152600091829182916001600160a01b03169063bf40fac1906119bd90600401615b03565b60206040518083038186803b1580156119d557600080fd5b505afa1580156119e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0d91906158aa565b6001600160a01b031663d0250144306040518263ffffffff1660e01b8152600401611a3891906152c6565b60806040518083038186803b158015611a5057600080fd5b505afa158015611a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a889190615b29565b50925092509250611abb611a993390565b878563ffffffff16856001600160401b0316856001600160401b03168a6141d8565b5060675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190611aeb90600401615a36565b60206040518083038186803b158015611b0357600080fd5b505afa158015611b17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3b91906158aa565b90506001600160a01b03811615611ce55760d5546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b158015611b9157600080fd5b505afa158015611ba5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc991906157ef565b60ff16601214611c7e5760d560009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611c2157600080fd5b505afa158015611c35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5991906157ef565b611c64906012615b88565b611c6f90600a615bab565b611c7990896159f5565b611c80565b875b60405163a39b215360e01b81529091506001600160a01b0383169063a39b215390611cb19033908590600401615857565b600060405180830381600087803b158015611ccb57600080fd5b505af1158015611cdf573d6000803e3d6000fd5b50505050505b60d55460405133917f5dac0c1b1112564a045ba943c9d50270893e8e826c49be8e7073adc713ab7bd791611d24916001600160a01b0316908b90615857565b60405180910390a25050600160a3555050505050565b6001600160a01b038416600090815260a260205260408120611d5a6137cc565b611d65858585614233565b611d758682600001546001614335565b60038101805460009182905560048301805491928392611d9690849061583f565b9091555050609d54611da990829061583f565b609d55611dbd662386f26fc1000082615a14565b979650505050505050565b60d6546040805163182df0f560e01b815290516000926001600160a01b0316918391839163182df0f5916004808301926020929190829003018186803b158015611e1157600080fd5b505afa158015611e25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4991906157d6565b9050600080611e566133f8565b915091506000611e64613441565b611e6c6134ca565b611e7790601261583f565b611e819190615828565b90506000600183151514611ec957611e9a82600a6159e9565b85611ea686600a6159e9565b611eb0908b615a14565b611eba91906159f5565b611ec49190615a14565b611efe565b611ed482600a6159e9565b85611ee086600a6159e9565b611eea908b6159f5565b611ef491906159f5565b611efe9190615a14565b98975050505050505050565b60606037805461082d9061579b565b3360009081526034602090815260408083206001600160a01b038616845290915281205482811015611f9b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610c61565b611fa83385858403613135565b5060019392505050565b6001600160a01b038416600090815260a260209081526040808320815160e081018352815481526001820154938101939093526002810154918301919091526003810154606083015260048101546080830152600501546001600160401b0380821660a0840152600160401b9091041660c0820152609c54609b5483901580159061203d5750854310155b80156120495750438510155b156121cb57600060a0544361205e9190615828565b9050600061207389662386f26fc100006159f5565b61207d90836159f5565b9050600080600061208d8861465c565b60a15492955090935091506120a69060ff16600a615bab565b609b546120b391906159f5565b6120c885676765c793fa10079d601b1b6159f5565b6120d29190615a14565b6120dc908861583f565b96508783156121c457604081015160a154676765c793fa10079d601b1b908a9061210a9060ff16600a615bab565b846020015161211991906159f5565b61212391906159f5565b61212d9190615a14565b6121379190615828565b9650600061214d85670de0b6b3a76400006159f5565b61216289676765c793fa10079d601b1b6159f5565b61216c9190615a14565b905064174876e800816121808560646159f5565b600a61218d8860646159f5565b6121989060056159f5565b6121a29190615a14565b6121ac919061583f565b6121b691906159f5565b6121c09190615a14565b9750505b5050505050505b808360600151611efe919061583f565b60006108bd338484613512565b6000808490506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561222957600080fd5b505afa15801561223d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226191906157d6565b905061226e84600a6159e9565b61118186836159f5565b60d9818154811061228857600080fd5b6000918252602090912001546001600160a01b0316905081565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac1906122d1906004016158dd565b60206040518083038186803b1580156122e957600080fd5b505afa1580156122fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144891906158aa565b600260a35414156123445760405162461bcd60e51b8152600401610c6190615acc565b600260a35560675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061237790600401615b03565b60206040518083038186803b15801561238f57600080fd5b505afa1580156123a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c791906158aa565b60675460405163bf40fac160e01b81526001600160a01b039283169263f03b289092169063bf40fac1906123fd90600401615bba565b60206040518083038186803b15801561241557600080fd5b505afa158015612429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244d91906158aa565b336040518363ffffffff1660e01b815260040161246b929190615bd8565b600060405180830381600087803b15801561248557600080fd5b505af1158015612499573d6000803e3d6000fd5b505050506124a56115bb565b600160a355565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac1906064016122d1565b600054610100900460ff1680612511575060005460ff16155b61252d5760405162461bcd60e51b8152600401610c6190615bf2565b600054610100900460ff1615801561254f576000805461ffff19166101011790555b6125588561470b565b60d580546001600160a01b03808a166001600160a01b03199283161790925560d6805492891692909116919091179055612592848461472e565b60d5546040805163313ce56760e01b815290516012926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156125d757600080fd5b505afa1580156125eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260f91906157ef565b60ff1611156126775760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e20646563696d616c732073686f756c64206265206c65737320746860448201526d616e20313820646563696d616c7360901b6064820152608401610c61565b60d560009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156126c557600080fd5b505afa1580156126d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126fd91906157ef565b612708906012615b88565b60a1805460ff191660ff92909216919091179055609f80546001600160401b0319166001600160401b03841617905560d6805462ffffff60a81b1916604b60aa1b179055801561275e576000805461ff00191690555b50505050505050565b60da546040516370a0823160e01b815260009182916001600160a01b03909116906370a082319061279c9030906004016152c6565b60206040518083038186803b1580156127b457600080fd5b505afa1580156127c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127ec91906157d6565b905080156128175760d85461281190600160a01b900463ffffffff1662030d40615c40565b91505090565b505060d854600160a01b900463ffffffff1690565b600260a354141561284f5760405162461bcd60e51b8152600401610c6190615acc565b600260a3556000811561291257600061286784611dc8565b60d65460405163a9059cbb60e01b81529192506001600160a01b03169063a9059cbb9061289a9033908890600401615857565b602060405180830381600087803b1580156128b457600080fd5b505af11580156128c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ec9190615870565b6129085760405162461bcd60e51b8152600401610c6190615c68565b9250829050612a4c565b508161291d816147ae565b60d5546040516370a0823160e01b81526000916001600160a01b0316906370a082319061294e9030906004016152c6565b60206040518083038186803b15801561296657600080fd5b505afa15801561297a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299e91906157d6565b9050818110156129ac578091505b60d5546001600160a01b031663a9059cbb33846040518363ffffffff1660e01b81526004016129dc929190615857565b602060405180830381600087803b1580156129f657600080fd5b505af1158015612a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2e9190615870565b612a4a5760405162461bcd60e51b8152600401610c6190615c68565b505b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190612a7b90600401615b03565b60206040518083038186803b158015612a9357600080fd5b505afa158015612aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612acb91906158aa565b9050612ad73385614849565b6000806000836001600160a01b031663d0250144306040518263ffffffff1660e01b8152600401612b0891906152c6565b60806040518083038186803b158015612b2057600080fd5b505afa158015612b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b589190615b29565b50925092509250612b8a612b693390565b888563ffffffff16856001600160401b0316856001600160401b0316614985565b5060675460405163bf40fac160e01b81526001600160a01b038087169263f03b28909291169063bf40fac190612bc290600401615bba565b60206040518083038186803b158015612bda57600080fd5b505afa158015612bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1291906158aa565b336040518363ffffffff1660e01b8152600401612c30929190615bd8565b600060405180830381600087803b158015612c4a57600080fd5b505af1158015612c5e573d6000803e3d6000fd5b505060675460405163bf40fac160e01b8152600093506001600160a01b03909116915063bf40fac190612c9390600401615a36565b60206040518083038186803b158015612cab57600080fd5b505afa158015612cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ce391906158aa565b90506001600160a01b03811615612e8d5760d5546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b158015612d3957600080fd5b505afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7191906157ef565b60ff16601214612e265760d560009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612dc957600080fd5b505afa158015612ddd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0191906157ef565b612e0c906012615b88565b612e1790600a615bab565b612e21908a6159f5565b612e28565b885b604051631f22c54760e11b81529091506001600160a01b03831690633e458a8e90612e599033908590600401615857565b600060405180830381600087803b158015612e7357600080fd5b505af1158015612e87573d6000803e3d6000fd5b50505050505b60d55460405133917f89b2bca2609b9ce42215fdd646f9162cdfb9c1620c93db1cc6302479489d3f3291612ecc916001600160a01b0316908a90615857565b60405180910390a25050600160a355505050505050565b60675460405163bf40fac160e01b815260009182918291829182916001600160a01b03169063bf40fac190612f1a90600401615b03565b60206040518083038186803b158015612f3257600080fd5b505afa158015612f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f6a91906158aa565b6001600160a01b031663d0250144306040518263ffffffff1660e01b8152600401612f9591906152c6565b60806040518083038186803b158015612fad57600080fd5b505afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615b29565b509250925092506000613012878563ffffffff16856001600160401b0316856001600160401b0316611fb2565b6001600160a01b038816600090815260a2602052604090206004015490915061304390662386f26fc1000090615a14565b613054662386f26fc1000083615a14565b9550955050505050915091565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b1580156130a557600080fd5b505afa1580156130b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130dd91906158aa565b6001600160a01b0316146131335760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610c61565b565b6001600160a01b0383166131975760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c61565b6001600160a01b0382166131f85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c61565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60db5460da5460405163095ea7b360e01b81526001600160a01b03928316929091169063095ea7b39061329490849060001990600401615857565b602060405180830381600087803b1580156132ae57600080fd5b505af11580156132c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132e69190615870565b5060d55460405163095ea7b360e01b81526001600160a01b039091169063095ea7b39061331b90849060001990600401615857565b602060405180830381600087803b15801561333557600080fd5b505af1158015613349573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336d9190615870565b5060d55460d65460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926133a69291169060001990600401615857565b602060405180830381600087803b1580156133c057600080fd5b505af11580156133d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d369190615870565b60008060006134056134ca565b90506000613411613441565b9050600081831161342b576134268383615828565b613435565b6134358284615828565b95919092119350915050565b60d6546040805163313ce56760e01b815290516000926001600160a01b031691829163313ce56791600480820192602092909190829003018186803b15801561348957600080fd5b505afa15801561349d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134c191906157ef565b60ff1691505090565b60d5546040805163313ce56760e01b815290516000926001600160a01b031691829163313ce56791600480820192602092909190829003018186803b15801561348957600080fd5b61351d8383836149e0565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac19061354c90600401615a36565b60206040518083038186803b15801561356457600080fd5b505afa158015613578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061359c91906158aa565b60675460405163bf40fac160e01b8152919250600091829182916001600160a01b039091169063bf40fac1906135d490600401615b03565b60206040518083038186803b1580156135ec57600080fd5b505afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362491906158aa565b6001600160a01b031663d0250144306040518263ffffffff1660e01b815260040161364f91906152c6565b60806040518083038186803b15801561366757600080fd5b505afa15801561367b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061369f9190615b29565b509250925092506136cb87868563ffffffff16856001600160401b0316856001600160401b0316614985565b506136f386868563ffffffff16856001600160401b0316856001600160401b031660006141d8565b506001600160a01b0384161561275e57604051631f22c54760e11b81526001600160a01b03851690633e458a8e90613731908a908990600401615857565b600060405180830381600087803b15801561374b57600080fd5b505af115801561375f573d6000803e3d6000fd5b505060405163a39b215360e01b81526001600160a01b038716925063a39b215391506137919089908990600401615857565b600060405180830381600087803b1580156137ab57600080fd5b505af11580156137bf573d6000803e3d6000fd5b5050505050505050505050565b60675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac1906137fa90600401615b03565b60206040518083038186803b15801561381257600080fd5b505afa158015613826573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061384a91906158aa565b6001600160a01b0316336001600160a01b0316146131335760405162461bcd60e51b815260206004820152602560248201527f4f6e6c792046756e644d616e616765722063616e2063616c6c2074686973206d604482015264195d1a1bd960da1b6064820152608401610c61565b60da546040516370a0823160e01b81526000918291829182916001600160a01b03909116906370a08231906138f19030906004016152c6565b60206040518083038186803b15801561390957600080fd5b505afa15801561391d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061394191906157d6565b905060008115613c10576040805160038082526080820190925260009160208201606080368337505060da5482519293506001600160a01b03169183915060009061398e5761398e6158c7565b6001600160a01b0392831660209182029290920181019190915260db54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156139e257600080fd5b505afa1580156139f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a1a91906158aa565b81600181518110613a2d57613a2d6158c7565b6001600160a01b03928316602091820292909201015260675460405163bf40fac160e01b815291169063bf40fac190613a689060040161588d565b60206040518083038186803b158015613a8057600080fd5b505afa158015613a94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ab891906158aa565b81600281518110613acb57613acb6158c7565b6001600160a01b0392831660209182029290920181019190915260da5460db54604080516315ab88c960e31b8152905173__$a7857c79f7039505337147dc025cce365e$__9563f10a60ab9530958216949091169263ad5c46489260048083019392829003018186803b158015613b4157600080fd5b505afa158015613b55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b7991906158aa565b8760d660159054906101000a900462ffffff166040518663ffffffff1660e01b8152600401613bac959493929190615c9a565b60206040518083038186803b158015613bc457600080fd5b505af4158015613bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bfc91906157d6565b9450613c0c30828760008b614b9d565b9150505b613c1987611dc8565b60675460405163bf40fac160e01b81529196506001600160a01b03169063bf40fac190613c4890600401615bba565b60206040518083038186803b158015613c6057600080fd5b505afa158015613c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c9891906158aa565b60d6546001600160a01b0390811691161415613d915760d65460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90613ce09089908b90600401615857565b602060405180830381600087803b158015613cfa57600080fd5b505af1158015613d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d329190615870565b613d785760405162461bcd60e51b815260206004820152601760248201527618dbdb1b1958dd081d1c985b9cd9995c8819985a5b1959604a1b6044820152606401610c61565b8484613d84838361583f565b945094509450505061402b565b60d55460d9805460009273__$a7857c79f7039505337147dc025cce365e$__9263f10a60ab9230926001600160a01b031691906001908110613dd557613dd56158c7565b60009182526020909120015460d65460405160e086901b6001600160e01b0319168152613e209493926001600160a01b0316918d91600160a81b90910462ffffff1690600401615c9a565b60206040518083038186803b158015613e3857600080fd5b505af4158015613e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e7091906157d6565b905080861115613e8957809550613e868661104f565b97505b60d65460405163db006a7560e01b8152600481018a90526001600160a01b039091169063db006a7590602401602060405180830381600087803b158015613ecf57600080fd5b505af1158015613ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f0791906157d6565b15613f245760405162461bcd60e51b8152600401610c6190615cd2565b60d5546040516370a0823160e01b81526001600160a01b03909116906370a0823190613f549030906004016152c6565b60206040518083038186803b158015613f6c57600080fd5b505afa158015613f80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fa491906157d6565b955085156140265761401960d980548060200260200160405190810160405280929190818152602001828054801561400557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613fe7575b50309493508b9250600091508c9050614b9d565b614023908361583f565b91505b509150505b9250925092565b60d65460405163140e25ad60e31b8152600481018390526001600160a01b039091169063a0712d6890602401602060405180830381600087803b15801561407857600080fd5b505af115801561408c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140b091906157d6565b156116f25760405162461bcd60e51b815260206004820152602560248201527f4d696e74696e672063546f6b656e206661696c65642c2066756e6473207265746044820152641d5c9b995960da1b6064820152608401610c61565b6001600160a01b0382166141615760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610c61565b8060356000828254614173919061583f565b90915550506001600160a01b038216600090815260336020526040812080548392906141a090849061583f565b90915550506040518181526001600160a01b03831690600090600080516020615e228339815191529060200160405180910390a35050565b60006141e5858585614233565b6001600160a01b038716600090815260a2602052604090205461421590889061420f90899061583f565b84614335565b85609a54614223919061583f565b609a555060019695505050505050565b609b546142435750504360a05550565b81431015801561425457508160a054105b1561425f5760a08290555b60008260a0541080156142725750824310155b61427e5760a054614280565b825b905060008243116142915743614293565b825b9050838110806142a35750828210155b156142af575050505050565b60006142bb8383615828565b905060006142d087662386f26fc100006159f5565b6142da90836159f5565b60a1549091506142ee9060ff16600a615bab565b609b546142fb91906159f5565b61431082676765c793fa10079d601b1b6159f5565b61431a9190615a14565b609c54614327919061583f565b609c55505060a05550505050565b6001600160a01b038316600090815260a2602052604090208054600182015480156144e1576040805160e0810182528454815260018501546020820152600285015491810191909152600384015460608201526004840154608082015260058401546001600160401b0380821660a0840152600160401b9091041660c0820152600090819081906143c59061465c565b925092509250826000146144d9576002860154609c5460a15460009291676765c793fa10079d601b1b916143fd9060ff16600a615bab565b61440790896159f5565b61441191906159f5565b61441b9190615a14565b6144259190615828565b9050600061443b85670de0b6b3a76400006159f5565b61445083676765c793fa10079d601b1b6159f5565b61445a9190615a14565b905064174876e8008161446e8560646159f5565b600a61447b8860646159f5565b6144869060056159f5565b6144909190615a14565b61449a919061583f565b6144a491906159f5565b6144ae9190615a14565b91508188600301546144c0919061583f565b6003890155609e546144d390839061583f565b609e5550505b505050614508565b600583018054600160401b600160801b031916600160401b436001600160401b0316021790555b81851161459e57600583018054600160401b600160801b031916600160401b436001600160401b0316021790558115614599576000828460010154878561454f9190615828565b61455991906159f5565b6145639190615a14565b9050808460010160008282546145799190615828565b9250508190555080609b60008282546145929190615828565b9091555050505b6145e7565b836145e7576145ad8286615828565b8360010160008282546145c0919061583f565b909155506145d090508286615828565b609b60008282546145e1919061583f565b90915550505b6005830180546001600160401b031916436001600160401b0316179055848355609c5460a154676765c793fa10079d601b1b91906146299060ff16600a615bab565b856001015461463891906159f5565b61464291906159f5565b61464c9190615a14565b8360020181905550505050505050565b6000806000808460c001518560a001516146769190615d03565b609f5460c08701516001600160401b0392831693506000926146a5928116916146a0911643615828565b614f99565b905060008660a001516001600160401b0316436146c29190615828565b609f549091506000906001600160401b03168410156146ea576146e58484615828565b6146ed565b60005b905060006146fb8284615828565b9299919850919650945050505050565b606780546001600160a01b0319166001600160a01b0383161790556116f2611195565b600054610100900460ff1680614747575060005460ff16155b6147635760405162461bcd60e51b8152600401610c6190615bf2565b600054610100900460ff16158015614785576000805461ffff19166101011790555b61478d614fb1565b614797838361501c565b80156147a9576000805461ff00191690555b505050565b60d65460405163852a12e360e01b8152600481018390526001600160a01b039091169063852a12e390602401602060405180830381600087803b1580156147f457600080fd5b505af1158015614808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061482c91906157d6565b156116f25760405162461bcd60e51b8152600401610c6190615cd2565b6001600160a01b0382166148a95760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610c61565b6001600160a01b0382166000908152603360205260409020548181101561491d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610c61565b6001600160a01b038316600090815260336020526040812083830390556035805484929061494c908490615828565b90915550506040518281526000906001600160a01b03851690600080516020615e228339815191529060200160405180910390a3505050565b6000614992848484614233565b6001600160a01b038616600090815260a260205260409020546149c39087906149bc908890615828565b6001614335565b84609a546149d19190615828565b609a5550600195945050505050565b6001600160a01b038316614a445760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c61565b6001600160a01b038216614aa65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c61565b6001600160a01b03831660009081526033602052604090205481811015614b1e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610c61565b6001600160a01b03808516600090815260336020526040808220858503905591851681529081208054849290614b5590849061583f565b92505081905550826001600160a01b0316846001600160a01b0316600080516020615e2283398151915284604051614b8f91815260200190565b60405180910390a350505050565b600080866001600160a01b031663b0f479a16040518163ffffffff1660e01b815260040160206040518083038186803b158015614bd957600080fd5b505afa158015614bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c1191906158aa565b9050606060006001600160a01b031687600081518110614c3357614c336158c7565b60200260200101516001600160a01b03161415614d6e57816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015614c8357600080fd5b505afa158015614c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cbb91906158aa565b87600081518110614cce57614cce6158c7565b6001600160a01b039283166020918202929092010152604051637ff36ab560e01b815290831690637ff36ab5908890614d119089908c908a904290600401615d2b565b6000604051808303818588803b158015614d2a57600080fd5b505af1158015614d3e573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052614d679190810190615d60565b9050614f65565b60006001600160a01b03168760018951614d889190615828565b81518110614d9857614d986158c7565b60200260200101516001600160a01b03161415614ed857816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015614de857600080fd5b505afa158015614dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e2091906158aa565b8760018951614e2f9190615828565b81518110614e3f57614e3f6158c7565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe590614e8290899089908c908a904290600401615de5565b600060405180830381600087803b158015614e9c57600080fd5b505af1158015614eb0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614d679190810190615d60565b6040516338ed173960e01b81526001600160a01b038316906338ed173990614f0c90899089908c908a904290600401615de5565b600060405180830381600087803b158015614f2657600080fd5b505af1158015614f3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614f629190810190615d60565b90505b8060018251614f749190615828565b81518110614f8457614f846158c7565b60200260200101519250505095945050505050565b6000818310614fa85781614faa565b825b9392505050565b600054610100900460ff1680614fca575060005460ff16155b614fe65760405162461bcd60e51b8152600401610c6190615bf2565b600054610100900460ff16158015615008576000805461ffff19166101011790555b80156116f2576000805461ff001916905550565b600054610100900460ff1680615035575060005460ff16155b6150515760405162461bcd60e51b8152600401610c6190615bf2565b600054610100900460ff16158015615073576000805461ffff19166101011790555b8251615086906036906020860190615116565b50815161509a906037906020850190615116565b5080156147a9576000805461ff0019169055505050565b828054828255906000526020600020908101928215615106579160200282015b8281111561510657825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906150d1565b5061511292915061518a565b5090565b8280546151229061579b565b90600052602060002090601f0160209004810192826151445760008555615106565b82601f1061515d57805160ff1916838001178555615106565b82800160010185558215615106579182015b8281111561510657825182559160200191906001019061516f565b5b80821115615112576000815560010161518b565b80151581146116f257600080fd5b6000602082840312156151bf57600080fd5b8135614faa8161519f565b600060208083528351808285015260005b818110156151f7578581018301518582016040015282016151db565b81811115615209576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146116f257600080fd5b803561523f8161521f565b919050565b6000806040838503121561525757600080fd5b82356152628161521f565b946020939093013593505050565b6000806040838503121561528357600080fd5b823561528e8161519f565b9150602083013561529e8161519f565b809150509250929050565b6000602082840312156152bb57600080fd5b8135614faa8161521f565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715615318576153186152da565b604052919050565b600082601f83011261533157600080fd5b81356001600160401b0381111561534a5761534a6152da565b61535d601f8201601f19166020016152f0565b81815284602083860101111561537257600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160401b03811681146116f257600080fd5b803561523f8161538f565b60006001600160401b038211156153c8576153c86152da565b5060051b60200190565b600082601f8301126153e357600080fd5b813560206153f86153f3836153af565b6152f0565b82815260059290921b8401810191818101908684111561541757600080fd5b8286015b8481101561543b57803561542e8161521f565b835291830191830161541b565b509695505050505050565b60008060008060008060008060006101208a8c03121561546557600080fd5b61546e8a615234565b985061547c60208b01615234565b975061548a60408b01615234565b965060608a01356001600160401b03808211156154a657600080fd5b6154b28d838e01615320565b975060808c01359150808211156154c857600080fd5b6154d48d838e01615320565b96506154e260a08d016153a4565b95506154f060c08d01615234565b94506154fe60e08d01615234565b93506101008c013591508082111561551557600080fd5b506155228c828d016153d2565b9150509295985092959850929598565b60006020828403121561554457600080fd5b5035919050565b60008060006060848603121561556057600080fd5b833561556b8161521f565b9250602084013561557b8161521f565b929592945050506040919091013590565b63ffffffff811681146116f257600080fd5b600080604083850312156155b157600080fd5b82356155bc8161558c565b9150602083013561529e8161558c565b6000602082840312156155de57600080fd5b813562ffffff81168114614faa57600080fd5b60008060006060848603121561560657600080fd5b8335925060208401359150604084013561561f8161519f565b809150509250925092565b6000806000806080858703121561564057600080fd5b843561564b8161521f565b966020860135965060408601359560600135945092505050565b60008060006060848603121561567a57600080fd5b83356156858161521f565b95602085013595506040909401359392505050565b600080604083850312156156ad57600080fd5b82356156b88161521f565b9150602083013561529e8161521f565b60008060008060008060c087890312156156e157600080fd5b86356156ec8161521f565b955060208701356156fc8161521f565b9450604087013561570c8161521f565b935060608701356001600160401b038082111561572857600080fd5b6157348a838b01615320565b9450608089013591508082111561574a57600080fd5b5061575789828a01615320565b92505060a08701356157688161538f565b809150509295509295509295565b6000806040838503121561578957600080fd5b82359150602083013561529e8161519f565b600181811c908216806157af57607f821691505b602082108114156157d057634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156157e857600080fd5b5051919050565b60006020828403121561580157600080fd5b815160ff81168114614faa57600080fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561583a5761583a615812565b500390565b6000821982111561585257615852615812565b500190565b6001600160a01b03929092168252602082015260400190565b60006020828403121561588257600080fd5b8151614faa8161519f565b60208082526003908201526244414960e81b604082015260600190565b6000602082840312156158bc57600080fd5b8151614faa8161521f565b634e487b7160e01b600052603260045260246000fd5b6020808252600e908201526d2aa724a9aba0a82fa927aaaa22a960911b604082015260600190565b600181815b8085111561594057816000190482111561592657615926615812565b8085161561593357918102915b93841c939080029061590a565b509250929050565b600082615957575060016108c1565b81615964575060006108c1565b816001811461597a5760028114615984576159a0565b60019150506108c1565b60ff84111561599557615995615812565b50506001821b6108c1565b5060208310610133831016604e8410600b84101617156159c3575081810a6108c1565b6159cd8383615905565b80600019048211156159e1576159e1615812565b029392505050565b6000614faa8383615948565b6000816000190483118215151615615a0f57615a0f615812565b500290565b600082615a3157634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600c908201526b4744414f5f5354414b45525360a01b604082015260600190565b600081518084526020808501945080840160005b83811015615a955781516001600160a01b031687529582019590820190600101615a70565b509495945050505050565b6001600160a01b0383168152604060208201819052600090615ac490830184615a5c565b949350505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252600c908201526b232aa7222fa6a0a720a3a2a960a11b604082015260600190565b60008060008060808587031215615b3f57600080fd5b8451615b4a8161558c565b6020860151909450615b5b8161538f565b6040860151909350615b6c8161538f565b6060860151909250615b7d8161519f565b939692955090935050565b600060ff821660ff841680821015615ba257615ba2615812565b90039392505050565b6000614faa60ff841683615948565b6020808252600490820152634344414960e01b604082015260600190565b6001600160a01b0392831681529116602082015260400190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600063ffffffff808316818516808303821115615c5f57615c5f615812565b01949350505050565b6020808252601890820152771dda5d1a191c985dc81d1c985b9cd9995c8819985a5b195960421b604082015260600190565b6001600160a01b0395861681529385166020850152919093166040830152606082019290925262ffffff909116608082015260a00190565b6020808252601790820152762330b4b632b2103a37903932b232b2b69031aa37b5b2b760491b604082015260600190565b60006001600160401b0383811690831681811015615d2357615d23615812565b039392505050565b848152608060208201526000615d446080830186615a5c565b6001600160a01b03949094166040830152506060015292915050565b60006020808385031215615d7357600080fd5b82516001600160401b03811115615d8957600080fd5b8301601f81018513615d9a57600080fd5b8051615da86153f3826153af565b81815260059190911b82018301908381019087831115615dc757600080fd5b928401925b82841015611dbd57835182529284019290840190615dcc565b85815284602082015260a060408201526000615e0460a0830186615a5c565b6001600160a01b039490941660608301525060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205e2822c1ad429c70ea94b958c911bcd9ed6984f1dda03ab34b985e6c48d9eacd64736f6c63430008080033";
|
|
1225
|
+
"0x608060405234801561001057600080fd5b50615e7780620000216000396000f3fe608060405234801561001057600080fd5b50600436106102935760003560e01c806302329a291461029857806306fdde03146102ad578063095ea7b3146102cb57806309b04fb4146102ee5780630cd865ec14610329578063109d0af81461033c57806316965b9a1461035c57806317a6a40c1461036f57806318160ddd146103905780631b3c90a8146103985780631ce720f3146103a057806323b872dd146103bf57806328e964e9146103d25780632bbbdc8914610414578063313ce56714610427578063374559901461042f578063395093511461045d5780633a608032146104705780633e6326fc14610479578063408cfe241461048c5780634162169f1461049f57806343d93ca0146104b257806346b30ff5146104c55780634a291b01146104cd578063561b2463146104d6578063574c5c93146104e95780635836af9b146104fc5780635a6d735c1461050f5780635abea7dc146105225780635aef7de61461053557806370a08231146105485780638955e46f14610571578063899e1b6c1461059d57806389eb6426146105c857806395d89b41146105db5780639c81ff6b146105e3578063a457c2d7146105ec578063a82415ae146105ff578063a87430ba14610612578063a9059cbb146106aa578063a9f8d181146106bd578063ad1e5d75146106c6578063b0ce7abb146106d9578063b0f479a1146106ec578063b187bd26146106f4578063b76e230e14610708578063bea281151461071f578063c7b8981c14610728578063dd62ed3e14610730578063e1758bd814610769578063e319828c14610771578063e32f17261461077a578063e660b53f1461078d578063ead8dbd414610795578063edb5b863146107a8578063f412a6af146107bb578063fc0c546a146107e5575b600080fd5b6102ab6102a63660046151ad565b6107f8565b005b6102b561081e565b6040516102c291906151ca565b60405180910390f35b6102de6102d9366004615244565b6108b0565b60405190151581526020016102c2565b6103016102fc366004615270565b6108c7565b604080519586526020860194909452928401919091526060830152608082015260a0016102c2565b6102ab6103373660046152a9565b610b40565b60da5461034f906001600160a01b031681565b6040516102c291906152c6565b6102ab61036a366004615446565b610d3a565b61038261037d366004615532565b61104f565b6040519081526020016102c2565b603554610382565b6102ab611195565b60a1546103ad9060ff1681565b60405160ff90911681526020016102c2565b6102de6103cd36600461554b565b6112da565b6103ff6103e03660046152a9565b6001600160a01b0316600090815260a26020526040902054609a549091565b604080519283526020830191909152016102c2565b6102ab61042236600461559e565b611384565b6103ad6113cb565b61044261043d3660046152a9565b61144d565b604080519384526020840192909252908201526060016102c2565b6102de61046b366004615244565b611553565b610382609c5481565b60675461034f906001600160a01b031681565b60d65461034f906001600160a01b031681565b60655461034f906001600160a01b031681565b6102ab6104c03660046155cc565b61158f565b6102ab6115bb565b610382609b5481565b6102ab6104e43660046155f1565b6116f5565b6103826104f736600461562a565b611d3a565b60d85461034f906001600160a01b031681565b61038261051d366004615532565b611dc8565b60db5461034f906001600160a01b031681565b60665461034f906001600160a01b031681565b6103826105563660046152a9565b6001600160a01b031660009081526033602052604090205490565b60d85461058890600160c01b900463ffffffff1681565b60405163ffffffff90911681526020016102c2565b609f546105b0906001600160401b031681565b6040516001600160401b0390911681526020016102c2565b60d75461034f906001600160a01b031681565b6102b5611f0a565b610382609e5481565b6102de6105fa366004615244565b611f19565b61038261060d36600461562a565b611fb2565b6106696106203660046152a9565b60a26020526000908152604090208054600182015460028301546003840154600485015460059095015493949293919290916001600160401b0380821691600160401b90041687565b60408051978852602088019690965294860193909352606085019190915260808401526001600160401b0390811660a08401521660c082015260e0016102c2565b6102de6106b8366004615244565b6121db565b61038260a05481565b6103826106d4366004615665565b6121e8565b61034f6106e7366004615532565b612278565b61034f6122a2565b60d6546102de90600160a01b900460ff1681565b60d85461058890600160a01b900463ffffffff1681565b610382609a5481565b6102ab612321565b61038261073e36600461569a565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b61034f6124ac565b610382609d5481565b6102ab6107883660046156c8565b6124f8565b610588612767565b6102ab6107a3366004615776565b61282c565b6103ff6107b63660046152a9565b612ee3565b60d6546107d190600160a81b900462ffffff1681565b60405162ffffff90911681526020016102c2565b60d55461034f906001600160a01b031681565b610800613061565b60d68054911515600160a01b0260ff60a01b19909216919091179055565b60606036805461082d9061579b565b80601f01602080910402602001604051908101604052809291908181526020018280546108599061579b565b80156108a65780601f1061087b576101008083540402835291602001916108a6565b820191906000526020600020905b81548152906001019060200180831161088957829003601f168201915b5050505050905090565b60006108bd338484613135565b5060015b92915050565b60d6546040516370a0823160e01b81526000918291829182918291610956916001600160a01b03909116906370a08231906109069030906004016152c6565b60206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d91906157d6565b9250866109645760006109f5565b60d75460d5546040805163313ce56760e01b815290516109f5936001600160a01b0390811693889391169163313ce56791600480820192602092909190829003018186803b1580156109b557600080fd5b505afa1580156109c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ed91906157ef565b60ff166121e8565b9150600086610a05576000610a95565b60d85460da546040516370a0823160e01b8152610a95926001600160a01b039081169216906370a0823190610a3e9030906004016152c6565b60206040518083038186803b158015610a5657600080fd5b505afa158015610a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8e91906157d6565b60126121e8565b9050609a548411610aae57600095508594509050610b36565b609a54610abb9085615828565b945086610ac9576000610b27565b60d75460d5546040805163313ce56760e01b815290518493610b1d936001600160a01b03918216938b93919092169163313ce567916004808301926020929190829003018186803b1580156109b557600080fd5b610b27919061583f565b9150610b328561104f565b9550505b9295509295909350565b610b48613061565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610b779030906004016152c6565b60206040518083038186803b158015610b8f57600080fd5b505afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906157d6565b60d6549091506001600160a01b0383811691161415610c6a57609a54158015610bf9575060d654600160a01b900460ff165b610c6a5760405162461bcd60e51b815260206004820152603760248201527f63616e207265636f7665722069546f6b656e206f6e6c79207768656e2073746160448201527635b2b9903430bb32903132b2b7103bb4ba34323930bbb760491b60648201526084015b60405180910390fd5b60665460405163a9059cbb60e01b81526001600160a01b038481169263a9059cbb92610c9e92909116908590600401615857565b602060405180830381600087803b158015610cb857600080fd5b505af1158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf09190615870565b610d365760405162461bcd60e51b81526020600482015260176024820152761c9958dbdd995c881d1c985b9cd9995c8819985a5b1959604a1b6044820152606401610c61565b5050565b610d488989898989896124f8565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190610d779060040161588d565b60206040518083038186803b158015610d8f57600080fd5b505afa158015610da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc791906158aa565b9050806001600160a01b03168a6001600160a01b03161480610e565750896001600160a01b031682600081518110610e0157610e016158c7565b60200260200101516001600160a01b0316148015610e565750806001600160a01b03168260018451610e339190615828565b81518110610e4357610e436158c7565b60200260200101516001600160a01b0316145b610e915760405162461bcd60e51b815260206004820152600c60248201526b0d2dcecc2d8d2c840e0c2e8d60a31b6044820152606401610c61565b60d880546001600160a01b038086166001600160a01b03199283161790925560d78054928716929091169190911790558151610ed49060d99060208501906150b1565b5060675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac190610f1c906004016020808252600490820152630434f4d560e41b604082015260600190565b60206040518083038186803b158015610f3457600080fd5b505afa158015610f48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6c91906158aa565b60da80546001600160a01b0319166001600160a01b0392831617905560675460405163bf40fac160e01b815291169063bf40fac190610fad906004016158dd565b60206040518083038186803b158015610fc557600080fd5b505afa158015610fd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffd91906158aa565b60db80546001600160a01b0319166001600160a01b039290921691909117905560d88054600160a01b600160e01b03191665249f00003d0960a41b179055611043613259565b50505050505050505050565b60008060d660009054906101000a90046001600160a01b03166001600160a01b031663182df0f56040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a057600080fd5b505afa1580156110b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d891906157d6565b90506000806110e56133f8565b9150915060006110f3613441565b6110fb6134ca565b61110690601261583f565b6111109190615828565b9050600182151514611156578361112882600a6159e9565b61113385600a6159e9565b61113d90896159f5565b61114791906159f5565b6111519190615a14565b61118b565b8361116282600a6159e9565b61116d85600a6159e9565b6111779089615a14565b61118191906159f5565b61118b9190615a14565b9695505050505050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156111f357600080fd5b505afa158015611207573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122b91906158aa565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561128057600080fd5b505afa158015611294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b891906158aa565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60006112e7848484613512565b6001600160a01b03841660009081526034602090815260408083203384529091529020548281101561136c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610c61565b6113798533858403613135565b506001949350505050565b61138c613061565b60d88054600160a01b600160e01b031916600160a01b63ffffffff9485160263ffffffff60c01b191617600160c01b9290931691909102919091179055565b60d5546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561141057600080fd5b505afa158015611424573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144891906157ef565b905090565b600080600061145a6137cc565b6001600160a01b0384163014156114c45760405162461bcd60e51b815260206004820152602860248201527f526563697069656e742063616e6e6f7420626520746865207374616b696e672060448201526718dbdb9d1c9858dd60c21b6064820152608401610c61565b6000806114d26000806108c7565b505050915091506114e382876138b8565b604080516001600160a01b038b16815260208101879052908101859052606081018490526080810183905260a0810182905292975090955093507f38c2c21f82a20481909d7aef48247b0743f69728fbb599c274039e2eecf8bb179060c00160405180910390a150509193909250565b3360008181526034602090815260408083206001600160a01b038716845290915281205490916108bd91859061158a90869061583f565b613135565b611597613061565b60d6805462ffffff909216600160a81b0262ffffff60a81b19909216919091179055565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac1906115ea90600401615a36565b60206040518083038186803b15801561160257600080fd5b505afa158015611616573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163a91906158aa565b90506001600160a01b038116156116f257604080516001808252818301909252600091602080830190803683370190505090503081600081518110611681576116816158c7565b6001600160a01b03928316602091820292909201015260405163455518ef60e11b815290831690638aaa31de906116be9033908590600401615aa0565b600060405180830381600087803b1580156116d857600080fd5b505af11580156116ec573d6000803e3d6000fd5b50505050505b50565b600260a35414156117185760405162461bcd60e51b8152600401610c6190615acc565b600260a35560d654600160a01b900460ff161561176b5760405162461bcd60e51b815260206004820152601160248201527014dd185ada5b99c81a5cc81c185d5cd959607a1b6044820152606401610c61565b8115806117785750816064145b6117d35760405162461bcd60e51b815260206004820152602660248201527f446f6e6174696f6e2070657263656e746167652073686f756c6420626520302060448201526506f72203130360d41b6064820152608401610c61565b600083116118355760405162461bcd60e51b815260206004820152602960248201527f596f75206e65656420746f207374616b65206120706f73697469766520746f6b604482015268195b88185b5bdd5b9d60ba1b6064820152608401610c61565b8061184b5760d5546001600160a01b0316611858565b60d6546001600160a01b03165b6001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101869052606401602060405180830381600087803b1580156118b557600080fd5b505af11580156118c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ed9190615870565b61195c5760405162461bcd60e51b815260206004820152603a60248201527f7472616e7366657246726f6d206661696c65642c206d616b652073757265207960448201527937ba9030b8383937bb32b2103a37b5b2b7103a3930b739b332b960311b6064820152608401610c61565b806119675782611970565b61197083611dc8565b9250806119805761198083614032565b61198a338461410b565b60675460405163bf40fac160e01b8152600091829182916001600160a01b03169063bf40fac1906119bd90600401615b03565b60206040518083038186803b1580156119d557600080fd5b505afa1580156119e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0d91906158aa565b6001600160a01b031663d0250144306040518263ffffffff1660e01b8152600401611a3891906152c6565b60806040518083038186803b158015611a5057600080fd5b505afa158015611a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a889190615b29565b50925092509250611abb611a993390565b878563ffffffff16856001600160401b0316856001600160401b03168a6141d8565b5060675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190611aeb90600401615a36565b60206040518083038186803b158015611b0357600080fd5b505afa158015611b17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3b91906158aa565b90506001600160a01b03811615611ce55760d5546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b158015611b9157600080fd5b505afa158015611ba5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc991906157ef565b60ff16601214611c7e5760d560009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611c2157600080fd5b505afa158015611c35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5991906157ef565b611c64906012615b88565b611c6f90600a615bab565b611c7990896159f5565b611c80565b875b60405163a39b215360e01b81529091506001600160a01b0383169063a39b215390611cb19033908590600401615857565b600060405180830381600087803b158015611ccb57600080fd5b505af1158015611cdf573d6000803e3d6000fd5b50505050505b60d55460405133917f5dac0c1b1112564a045ba943c9d50270893e8e826c49be8e7073adc713ab7bd791611d24916001600160a01b0316908b90615857565b60405180910390a25050600160a3555050505050565b6001600160a01b038416600090815260a260205260408120611d5a6137cc565b611d65858585614233565b611d758682600001546001614335565b60038101805460009182905560048301805491928392611d9690849061583f565b9091555050609d54611da990829061583f565b609d55611dbd662386f26fc1000082615a14565b979650505050505050565b60d6546040805163182df0f560e01b815290516000926001600160a01b0316918391839163182df0f5916004808301926020929190829003018186803b158015611e1157600080fd5b505afa158015611e25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4991906157d6565b9050600080611e566133f8565b915091506000611e64613441565b611e6c6134ca565b611e7790601261583f565b611e819190615828565b90506000600183151514611ec957611e9a82600a6159e9565b85611ea686600a6159e9565b611eb0908b615a14565b611eba91906159f5565b611ec49190615a14565b611efe565b611ed482600a6159e9565b85611ee086600a6159e9565b611eea908b6159f5565b611ef491906159f5565b611efe9190615a14565b98975050505050505050565b60606037805461082d9061579b565b3360009081526034602090815260408083206001600160a01b038616845290915281205482811015611f9b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610c61565b611fa83385858403613135565b5060019392505050565b6001600160a01b038416600090815260a260209081526040808320815160e081018352815481526001820154938101939093526002810154918301919091526003810154606083015260048101546080830152600501546001600160401b0380821660a0840152600160401b9091041660c0820152609c54609b5483901580159061203d5750854310155b80156120495750438510155b156121cb57600060a0544361205e9190615828565b9050600061207389662386f26fc100006159f5565b61207d90836159f5565b9050600080600061208d8861465c565b60a15492955090935091506120a69060ff16600a615bab565b609b546120b391906159f5565b6120c885676765c793fa10079d601b1b6159f5565b6120d29190615a14565b6120dc908861583f565b96508783156121c457604081015160a154676765c793fa10079d601b1b908a9061210a9060ff16600a615bab565b846020015161211991906159f5565b61212391906159f5565b61212d9190615a14565b6121379190615828565b9650600061214d85670de0b6b3a76400006159f5565b61216289676765c793fa10079d601b1b6159f5565b61216c9190615a14565b905064174876e800816121808560646159f5565b600a61218d8860646159f5565b6121989060056159f5565b6121a29190615a14565b6121ac919061583f565b6121b691906159f5565b6121c09190615a14565b9750505b5050505050505b808360600151611efe919061583f565b60006108bd338484613512565b6000808490506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561222957600080fd5b505afa15801561223d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226191906157d6565b905061226e84600a6159e9565b61118186836159f5565b60d9818154811061228857600080fd5b6000918252602090912001546001600160a01b0316905081565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac1906122d1906004016158dd565b60206040518083038186803b1580156122e957600080fd5b505afa1580156122fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144891906158aa565b600260a35414156123445760405162461bcd60e51b8152600401610c6190615acc565b600260a35560675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061237790600401615b03565b60206040518083038186803b15801561238f57600080fd5b505afa1580156123a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c791906158aa565b60675460405163bf40fac160e01b81526001600160a01b039283169263f03b289092169063bf40fac1906123fd90600401615bba565b60206040518083038186803b15801561241557600080fd5b505afa158015612429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244d91906158aa565b336040518363ffffffff1660e01b815260040161246b929190615bd8565b600060405180830381600087803b15801561248557600080fd5b505af1158015612499573d6000803e3d6000fd5b505050506124a56115bb565b600160a355565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac1906064016122d1565b600054610100900460ff1680612511575060005460ff16155b61252d5760405162461bcd60e51b8152600401610c6190615bf2565b600054610100900460ff1615801561254f576000805461ffff19166101011790555b6125588561470b565b60d580546001600160a01b03808a166001600160a01b03199283161790925560d6805492891692909116919091179055612592848461472e565b60d5546040805163313ce56760e01b815290516012926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156125d757600080fd5b505afa1580156125eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260f91906157ef565b60ff1611156126775760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e20646563696d616c732073686f756c64206265206c65737320746860448201526d616e20313820646563696d616c7360901b6064820152608401610c61565b60d560009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156126c557600080fd5b505afa1580156126d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126fd91906157ef565b612708906012615b88565b60a1805460ff191660ff92909216919091179055609f80546001600160401b0319166001600160401b03841617905560d6805462ffffff60a81b1916604b60aa1b179055801561275e576000805461ff00191690555b50505050505050565b60da546040516370a0823160e01b815260009182916001600160a01b03909116906370a082319061279c9030906004016152c6565b60206040518083038186803b1580156127b457600080fd5b505afa1580156127c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127ec91906157d6565b905080156128175760d85461281190600160a01b900463ffffffff1662030d40615c40565b91505090565b505060d854600160a01b900463ffffffff1690565b600260a354141561284f5760405162461bcd60e51b8152600401610c6190615acc565b600260a3556000811561291257600061286784611dc8565b60d65460405163a9059cbb60e01b81529192506001600160a01b03169063a9059cbb9061289a9033908890600401615857565b602060405180830381600087803b1580156128b457600080fd5b505af11580156128c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ec9190615870565b6129085760405162461bcd60e51b8152600401610c6190615c68565b9250829050612a4c565b508161291d816147ae565b60d5546040516370a0823160e01b81526000916001600160a01b0316906370a082319061294e9030906004016152c6565b60206040518083038186803b15801561296657600080fd5b505afa15801561297a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299e91906157d6565b9050818110156129ac578091505b60d5546001600160a01b031663a9059cbb33846040518363ffffffff1660e01b81526004016129dc929190615857565b602060405180830381600087803b1580156129f657600080fd5b505af1158015612a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2e9190615870565b612a4a5760405162461bcd60e51b8152600401610c6190615c68565b505b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190612a7b90600401615b03565b60206040518083038186803b158015612a9357600080fd5b505afa158015612aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612acb91906158aa565b9050612ad73385614849565b6000806000836001600160a01b031663d0250144306040518263ffffffff1660e01b8152600401612b0891906152c6565b60806040518083038186803b158015612b2057600080fd5b505afa158015612b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b589190615b29565b50925092509250612b8a612b693390565b888563ffffffff16856001600160401b0316856001600160401b0316614985565b5060675460405163bf40fac160e01b81526001600160a01b038087169263f03b28909291169063bf40fac190612bc290600401615bba565b60206040518083038186803b158015612bda57600080fd5b505afa158015612bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1291906158aa565b336040518363ffffffff1660e01b8152600401612c30929190615bd8565b600060405180830381600087803b158015612c4a57600080fd5b505af1158015612c5e573d6000803e3d6000fd5b505060675460405163bf40fac160e01b8152600093506001600160a01b03909116915063bf40fac190612c9390600401615a36565b60206040518083038186803b158015612cab57600080fd5b505afa158015612cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ce391906158aa565b90506001600160a01b03811615612e8d5760d5546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b158015612d3957600080fd5b505afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7191906157ef565b60ff16601214612e265760d560009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612dc957600080fd5b505afa158015612ddd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0191906157ef565b612e0c906012615b88565b612e1790600a615bab565b612e21908a6159f5565b612e28565b885b604051631f22c54760e11b81529091506001600160a01b03831690633e458a8e90612e599033908590600401615857565b600060405180830381600087803b158015612e7357600080fd5b505af1158015612e87573d6000803e3d6000fd5b50505050505b60d55460405133917f89b2bca2609b9ce42215fdd646f9162cdfb9c1620c93db1cc6302479489d3f3291612ecc916001600160a01b0316908a90615857565b60405180910390a25050600160a355505050505050565b60675460405163bf40fac160e01b815260009182918291829182916001600160a01b03169063bf40fac190612f1a90600401615b03565b60206040518083038186803b158015612f3257600080fd5b505afa158015612f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f6a91906158aa565b6001600160a01b031663d0250144306040518263ffffffff1660e01b8152600401612f9591906152c6565b60806040518083038186803b158015612fad57600080fd5b505afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615b29565b509250925092506000613012878563ffffffff16856001600160401b0316856001600160401b0316611fb2565b6001600160a01b038816600090815260a2602052604090206004015490915061304390662386f26fc1000090615a14565b613054662386f26fc1000083615a14565b9550955050505050915091565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b1580156130a557600080fd5b505afa1580156130b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130dd91906158aa565b6001600160a01b0316146131335760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610c61565b565b6001600160a01b0383166131975760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c61565b6001600160a01b0382166131f85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c61565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60db5460da5460405163095ea7b360e01b81526001600160a01b03928316929091169063095ea7b39061329490849060001990600401615857565b602060405180830381600087803b1580156132ae57600080fd5b505af11580156132c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132e69190615870565b5060d55460405163095ea7b360e01b81526001600160a01b039091169063095ea7b39061331b90849060001990600401615857565b602060405180830381600087803b15801561333557600080fd5b505af1158015613349573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336d9190615870565b5060d55460d65460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926133a69291169060001990600401615857565b602060405180830381600087803b1580156133c057600080fd5b505af11580156133d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d369190615870565b60008060006134056134ca565b90506000613411613441565b9050600081831161342b576134268383615828565b613435565b6134358284615828565b95919092119350915050565b60d6546040805163313ce56760e01b815290516000926001600160a01b031691829163313ce56791600480820192602092909190829003018186803b15801561348957600080fd5b505afa15801561349d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134c191906157ef565b60ff1691505090565b60d5546040805163313ce56760e01b815290516000926001600160a01b031691829163313ce56791600480820192602092909190829003018186803b15801561348957600080fd5b61351d8383836149e0565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac19061354c90600401615a36565b60206040518083038186803b15801561356457600080fd5b505afa158015613578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061359c91906158aa565b60675460405163bf40fac160e01b8152919250600091829182916001600160a01b039091169063bf40fac1906135d490600401615b03565b60206040518083038186803b1580156135ec57600080fd5b505afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362491906158aa565b6001600160a01b031663d0250144306040518263ffffffff1660e01b815260040161364f91906152c6565b60806040518083038186803b15801561366757600080fd5b505afa15801561367b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061369f9190615b29565b509250925092506136cb87868563ffffffff16856001600160401b0316856001600160401b0316614985565b506136f386868563ffffffff16856001600160401b0316856001600160401b031660006141d8565b506001600160a01b0384161561275e57604051631f22c54760e11b81526001600160a01b03851690633e458a8e90613731908a908990600401615857565b600060405180830381600087803b15801561374b57600080fd5b505af115801561375f573d6000803e3d6000fd5b505060405163a39b215360e01b81526001600160a01b038716925063a39b215391506137919089908990600401615857565b600060405180830381600087803b1580156137ab57600080fd5b505af11580156137bf573d6000803e3d6000fd5b5050505050505050505050565b60675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac1906137fa90600401615b03565b60206040518083038186803b15801561381257600080fd5b505afa158015613826573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061384a91906158aa565b6001600160a01b0316336001600160a01b0316146131335760405162461bcd60e51b815260206004820152602560248201527f4f6e6c792046756e644d616e616765722063616e2063616c6c2074686973206d604482015264195d1a1bd960da1b6064820152608401610c61565b60da546040516370a0823160e01b81526000918291829182916001600160a01b03909116906370a08231906138f19030906004016152c6565b60206040518083038186803b15801561390957600080fd5b505afa15801561391d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061394191906157d6565b905060008115613c10576040805160038082526080820190925260009160208201606080368337505060da5482519293506001600160a01b03169183915060009061398e5761398e6158c7565b6001600160a01b0392831660209182029290920181019190915260db54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156139e257600080fd5b505afa1580156139f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a1a91906158aa565b81600181518110613a2d57613a2d6158c7565b6001600160a01b03928316602091820292909201015260675460405163bf40fac160e01b815291169063bf40fac190613a689060040161588d565b60206040518083038186803b158015613a8057600080fd5b505afa158015613a94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ab891906158aa565b81600281518110613acb57613acb6158c7565b6001600160a01b0392831660209182029290920181019190915260da5460db54604080516315ab88c960e31b8152905173__$a7857c79f7039505337147dc025cce365e$__9563f10a60ab9530958216949091169263ad5c46489260048083019392829003018186803b158015613b4157600080fd5b505afa158015613b55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b7991906158aa565b8760d660159054906101000a900462ffffff166040518663ffffffff1660e01b8152600401613bac959493929190615c9a565b60206040518083038186803b158015613bc457600080fd5b505af4158015613bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bfc91906157d6565b9450613c0c30828760008b614b9d565b9150505b613c1987611dc8565b60675460405163bf40fac160e01b81529196506001600160a01b03169063bf40fac190613c4890600401615bba565b60206040518083038186803b158015613c6057600080fd5b505afa158015613c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c9891906158aa565b60d6546001600160a01b0390811691161415613d915760d65460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90613ce09089908b90600401615857565b602060405180830381600087803b158015613cfa57600080fd5b505af1158015613d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d329190615870565b613d785760405162461bcd60e51b815260206004820152601760248201527618dbdb1b1958dd081d1c985b9cd9995c8819985a5b1959604a1b6044820152606401610c61565b8484613d84838361583f565b945094509450505061402b565b60d55460d9805460009273__$a7857c79f7039505337147dc025cce365e$__9263f10a60ab9230926001600160a01b031691906001908110613dd557613dd56158c7565b60009182526020909120015460d65460405160e086901b6001600160e01b0319168152613e209493926001600160a01b0316918d91600160a81b90910462ffffff1690600401615c9a565b60206040518083038186803b158015613e3857600080fd5b505af4158015613e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e7091906157d6565b905080861115613e8957809550613e868661104f565b97505b60d65460405163db006a7560e01b8152600481018a90526001600160a01b039091169063db006a7590602401602060405180830381600087803b158015613ecf57600080fd5b505af1158015613ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f0791906157d6565b15613f245760405162461bcd60e51b8152600401610c6190615cd2565b60d5546040516370a0823160e01b81526001600160a01b03909116906370a0823190613f549030906004016152c6565b60206040518083038186803b158015613f6c57600080fd5b505afa158015613f80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fa491906157d6565b955085156140265761401960d980548060200260200160405190810160405280929190818152602001828054801561400557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613fe7575b50309493508b9250600091508c9050614b9d565b614023908361583f565b91505b509150505b9250925092565b60d65460405163140e25ad60e31b8152600481018390526001600160a01b039091169063a0712d6890602401602060405180830381600087803b15801561407857600080fd5b505af115801561408c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140b091906157d6565b156116f25760405162461bcd60e51b815260206004820152602560248201527f4d696e74696e672063546f6b656e206661696c65642c2066756e6473207265746044820152641d5c9b995960da1b6064820152608401610c61565b6001600160a01b0382166141615760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610c61565b8060356000828254614173919061583f565b90915550506001600160a01b038216600090815260336020526040812080548392906141a090849061583f565b90915550506040518181526001600160a01b03831690600090600080516020615e228339815191529060200160405180910390a35050565b60006141e5858585614233565b6001600160a01b038716600090815260a2602052604090205461421590889061420f90899061583f565b84614335565b85609a54614223919061583f565b609a555060019695505050505050565b609b546142435750504360a05550565b81431015801561425457508160a054105b1561425f5760a08290555b60008260a0541080156142725750824310155b61427e5760a054614280565b825b905060008243116142915743614293565b825b9050838110806142a35750828210155b156142af575050505050565b60006142bb8383615828565b905060006142d087662386f26fc100006159f5565b6142da90836159f5565b60a1549091506142ee9060ff16600a615bab565b609b546142fb91906159f5565b61431082676765c793fa10079d601b1b6159f5565b61431a9190615a14565b609c54614327919061583f565b609c55505060a05550505050565b6001600160a01b038316600090815260a2602052604090208054600182015480156144e1576040805160e0810182528454815260018501546020820152600285015491810191909152600384015460608201526004840154608082015260058401546001600160401b0380821660a0840152600160401b9091041660c0820152600090819081906143c59061465c565b925092509250826000146144d9576002860154609c5460a15460009291676765c793fa10079d601b1b916143fd9060ff16600a615bab565b61440790896159f5565b61441191906159f5565b61441b9190615a14565b6144259190615828565b9050600061443b85670de0b6b3a76400006159f5565b61445083676765c793fa10079d601b1b6159f5565b61445a9190615a14565b905064174876e8008161446e8560646159f5565b600a61447b8860646159f5565b6144869060056159f5565b6144909190615a14565b61449a919061583f565b6144a491906159f5565b6144ae9190615a14565b91508188600301546144c0919061583f565b6003890155609e546144d390839061583f565b609e5550505b505050614508565b600583018054600160401b600160801b031916600160401b436001600160401b0316021790555b81851161459e57600583018054600160401b600160801b031916600160401b436001600160401b0316021790558115614599576000828460010154878561454f9190615828565b61455991906159f5565b6145639190615a14565b9050808460010160008282546145799190615828565b9250508190555080609b60008282546145929190615828565b9091555050505b6145e7565b836145e7576145ad8286615828565b8360010160008282546145c0919061583f565b909155506145d090508286615828565b609b60008282546145e1919061583f565b90915550505b6005830180546001600160401b031916436001600160401b0316179055848355609c5460a154676765c793fa10079d601b1b91906146299060ff16600a615bab565b856001015461463891906159f5565b61464291906159f5565b61464c9190615a14565b8360020181905550505050505050565b6000806000808460c001518560a001516146769190615d03565b609f5460c08701516001600160401b0392831693506000926146a5928116916146a0911643615828565b614f99565b905060008660a001516001600160401b0316436146c29190615828565b609f549091506000906001600160401b03168410156146ea576146e58484615828565b6146ed565b60005b905060006146fb8284615828565b9299919850919650945050505050565b606780546001600160a01b0319166001600160a01b0383161790556116f2611195565b600054610100900460ff1680614747575060005460ff16155b6147635760405162461bcd60e51b8152600401610c6190615bf2565b600054610100900460ff16158015614785576000805461ffff19166101011790555b61478d614fb1565b614797838361501c565b80156147a9576000805461ff00191690555b505050565b60d65460405163852a12e360e01b8152600481018390526001600160a01b039091169063852a12e390602401602060405180830381600087803b1580156147f457600080fd5b505af1158015614808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061482c91906157d6565b156116f25760405162461bcd60e51b8152600401610c6190615cd2565b6001600160a01b0382166148a95760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610c61565b6001600160a01b0382166000908152603360205260409020548181101561491d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610c61565b6001600160a01b038316600090815260336020526040812083830390556035805484929061494c908490615828565b90915550506040518281526000906001600160a01b03851690600080516020615e228339815191529060200160405180910390a3505050565b6000614992848484614233565b6001600160a01b038616600090815260a260205260409020546149c39087906149bc908890615828565b6001614335565b84609a546149d19190615828565b609a5550600195945050505050565b6001600160a01b038316614a445760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c61565b6001600160a01b038216614aa65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c61565b6001600160a01b03831660009081526033602052604090205481811015614b1e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610c61565b6001600160a01b03808516600090815260336020526040808220858503905591851681529081208054849290614b5590849061583f565b92505081905550826001600160a01b0316846001600160a01b0316600080516020615e2283398151915284604051614b8f91815260200190565b60405180910390a350505050565b600080866001600160a01b031663b0f479a16040518163ffffffff1660e01b815260040160206040518083038186803b158015614bd957600080fd5b505afa158015614bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c1191906158aa565b9050606060006001600160a01b031687600081518110614c3357614c336158c7565b60200260200101516001600160a01b03161415614d6e57816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015614c8357600080fd5b505afa158015614c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cbb91906158aa565b87600081518110614cce57614cce6158c7565b6001600160a01b039283166020918202929092010152604051637ff36ab560e01b815290831690637ff36ab5908890614d119089908c908a904290600401615d2b565b6000604051808303818588803b158015614d2a57600080fd5b505af1158015614d3e573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052614d679190810190615d60565b9050614f65565b60006001600160a01b03168760018951614d889190615828565b81518110614d9857614d986158c7565b60200260200101516001600160a01b03161415614ed857816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015614de857600080fd5b505afa158015614dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e2091906158aa565b8760018951614e2f9190615828565b81518110614e3f57614e3f6158c7565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe590614e8290899089908c908a904290600401615de5565b600060405180830381600087803b158015614e9c57600080fd5b505af1158015614eb0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614d679190810190615d60565b6040516338ed173960e01b81526001600160a01b038316906338ed173990614f0c90899089908c908a904290600401615de5565b600060405180830381600087803b158015614f2657600080fd5b505af1158015614f3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614f629190810190615d60565b90505b8060018251614f749190615828565b81518110614f8457614f846158c7565b60200260200101519250505095945050505050565b6000818310614fa85781614faa565b825b9392505050565b600054610100900460ff1680614fca575060005460ff16155b614fe65760405162461bcd60e51b8152600401610c6190615bf2565b600054610100900460ff16158015615008576000805461ffff19166101011790555b80156116f2576000805461ff001916905550565b600054610100900460ff1680615035575060005460ff16155b6150515760405162461bcd60e51b8152600401610c6190615bf2565b600054610100900460ff16158015615073576000805461ffff19166101011790555b8251615086906036906020860190615116565b50815161509a906037906020850190615116565b5080156147a9576000805461ff0019169055505050565b828054828255906000526020600020908101928215615106579160200282015b8281111561510657825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906150d1565b5061511292915061518a565b5090565b8280546151229061579b565b90600052602060002090601f0160209004810192826151445760008555615106565b82601f1061515d57805160ff1916838001178555615106565b82800160010185558215615106579182015b8281111561510657825182559160200191906001019061516f565b5b80821115615112576000815560010161518b565b80151581146116f257600080fd5b6000602082840312156151bf57600080fd5b8135614faa8161519f565b600060208083528351808285015260005b818110156151f7578581018301518582016040015282016151db565b81811115615209576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146116f257600080fd5b803561523f8161521f565b919050565b6000806040838503121561525757600080fd5b82356152628161521f565b946020939093013593505050565b6000806040838503121561528357600080fd5b823561528e8161519f565b9150602083013561529e8161519f565b809150509250929050565b6000602082840312156152bb57600080fd5b8135614faa8161521f565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715615318576153186152da565b604052919050565b600082601f83011261533157600080fd5b81356001600160401b0381111561534a5761534a6152da565b61535d601f8201601f19166020016152f0565b81815284602083860101111561537257600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160401b03811681146116f257600080fd5b803561523f8161538f565b60006001600160401b038211156153c8576153c86152da565b5060051b60200190565b600082601f8301126153e357600080fd5b813560206153f86153f3836153af565b6152f0565b82815260059290921b8401810191818101908684111561541757600080fd5b8286015b8481101561543b57803561542e8161521f565b835291830191830161541b565b509695505050505050565b60008060008060008060008060006101208a8c03121561546557600080fd5b61546e8a615234565b985061547c60208b01615234565b975061548a60408b01615234565b965060608a01356001600160401b03808211156154a657600080fd5b6154b28d838e01615320565b975060808c01359150808211156154c857600080fd5b6154d48d838e01615320565b96506154e260a08d016153a4565b95506154f060c08d01615234565b94506154fe60e08d01615234565b93506101008c013591508082111561551557600080fd5b506155228c828d016153d2565b9150509295985092959850929598565b60006020828403121561554457600080fd5b5035919050565b60008060006060848603121561556057600080fd5b833561556b8161521f565b9250602084013561557b8161521f565b929592945050506040919091013590565b63ffffffff811681146116f257600080fd5b600080604083850312156155b157600080fd5b82356155bc8161558c565b9150602083013561529e8161558c565b6000602082840312156155de57600080fd5b813562ffffff81168114614faa57600080fd5b60008060006060848603121561560657600080fd5b8335925060208401359150604084013561561f8161519f565b809150509250925092565b6000806000806080858703121561564057600080fd5b843561564b8161521f565b966020860135965060408601359560600135945092505050565b60008060006060848603121561567a57600080fd5b83356156858161521f565b95602085013595506040909401359392505050565b600080604083850312156156ad57600080fd5b82356156b88161521f565b9150602083013561529e8161521f565b60008060008060008060c087890312156156e157600080fd5b86356156ec8161521f565b955060208701356156fc8161521f565b9450604087013561570c8161521f565b935060608701356001600160401b038082111561572857600080fd5b6157348a838b01615320565b9450608089013591508082111561574a57600080fd5b5061575789828a01615320565b92505060a08701356157688161538f565b809150509295509295509295565b6000806040838503121561578957600080fd5b82359150602083013561529e8161519f565b600181811c908216806157af57607f821691505b602082108114156157d057634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156157e857600080fd5b5051919050565b60006020828403121561580157600080fd5b815160ff81168114614faa57600080fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561583a5761583a615812565b500390565b6000821982111561585257615852615812565b500190565b6001600160a01b03929092168252602082015260400190565b60006020828403121561588257600080fd5b8151614faa8161519f565b60208082526003908201526244414960e81b604082015260600190565b6000602082840312156158bc57600080fd5b8151614faa8161521f565b634e487b7160e01b600052603260045260246000fd5b6020808252600e908201526d2aa724a9aba0a82fa927aaaa22a960911b604082015260600190565b600181815b8085111561594057816000190482111561592657615926615812565b8085161561593357918102915b93841c939080029061590a565b509250929050565b600082615957575060016108c1565b81615964575060006108c1565b816001811461597a5760028114615984576159a0565b60019150506108c1565b60ff84111561599557615995615812565b50506001821b6108c1565b5060208310610133831016604e8410600b84101617156159c3575081810a6108c1565b6159cd8383615905565b80600019048211156159e1576159e1615812565b029392505050565b6000614faa8383615948565b6000816000190483118215151615615a0f57615a0f615812565b500290565b600082615a3157634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600c908201526b4744414f5f5354414b45525360a01b604082015260600190565b600081518084526020808501945080840160005b83811015615a955781516001600160a01b031687529582019590820190600101615a70565b509495945050505050565b6001600160a01b0383168152604060208201819052600090615ac490830184615a5c565b949350505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252600c908201526b232aa7222fa6a0a720a3a2a960a11b604082015260600190565b60008060008060808587031215615b3f57600080fd5b8451615b4a8161558c565b6020860151909450615b5b8161538f565b6040860151909350615b6c8161538f565b6060860151909250615b7d8161519f565b939692955090935050565b600060ff821660ff841680821015615ba257615ba2615812565b90039392505050565b6000614faa60ff841683615948565b6020808252600490820152634344414960e01b604082015260600190565b6001600160a01b0392831681529116602082015260400190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600063ffffffff808316818516808303821115615c5f57615c5f615812565b01949350505050565b6020808252601890820152771dda5d1a191c985dc81d1c985b9cd9995c8819985a5b195960421b604082015260600190565b6001600160a01b0395861681529385166020850152919093166040830152606082019290925262ffffff909116608082015260a00190565b6020808252601790820152762330b4b632b2103a37903932b232b2b69031aa37b5b2b760491b604082015260600190565b60006001600160401b0383811690831681811015615d2357615d23615812565b039392505050565b848152608060208201526000615d446080830186615a5c565b6001600160a01b03949094166040830152506060015292915050565b60006020808385031215615d7357600080fd5b82516001600160401b03811115615d8957600080fd5b8301601f81018513615d9a57600080fd5b8051615da86153f3826153af565b81815260059190911b82018301908381019087831115615dc757600080fd5b928401925b82841015611dbd57835182529284019290840190615dcc565b85815284602082015260a060408201526000615e0460a0830186615a5c565b6001600160a01b039490941660608301525060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122050edd9e364805fd632f2dd010f80be85a0321a6ae5efe24241517127090e7c3364736f6c63430008080033";
|
|
1226
1226
|
|
|
1227
1227
|
type GoodCompoundStakingConstructorParams =
|
|
1228
1228
|
| [linkLibraryAddresses: GoodCompoundStakingLibraryAddresses, signer?: Signer]
|
|
@@ -724,7 +724,7 @@ const _abi = [
|
|
|
724
724
|
];
|
|
725
725
|
|
|
726
726
|
const _bytecode =
|
|
727
|
-
"0x60a06040523060601b6080523480156200001857600080fd5b5060405162003892380380620038928339810160408190526200003b91620002c3565b62000046816200004d565b50620002ea565b600054610100900460ff168062000067575060005460ff16155b620000cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff16158015620000f2576000805461ffff19166101011790555b620000fd8262000138565b6203d090609d55624f1a00609e55609f8054620cf850609c5561ffff1916610704179055801562000134576000805461ff00191690555b5050565b606780546001600160a01b0319166001600160a01b0383161790556200015d62000160565b50565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015620001bf57600080fd5b505afa158015620001d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fa9190620002c3565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b1580156200025057600080fd5b505afa15801562000265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028b9190620002c3565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811681146200015d57600080fd5b600060208284031215620002d657600080fd5b8151620002e381620002ad565b9392505050565b60805160601c6135746200031e60003960008181610ba901528181610bf20152818161102f015261106f01526135746000f3fe6080604052600436106101525760003560e01c806308944514146101575780630e47dbd91461017957806312ce63d91461019d578063195dc7cc146101b35780631b3c90a8146101df57806324ccc1e7146101f45780633659cfe6146102165780633e6326fc146102365780634162169f1461026357806344fa76221461028357806346382a6a146102a35780634f1ef286146102d15780635aef7de6146102e457806372d00e9f14610304578063791b6bc3146103245780637c6b63b4146103445780638aba4659146103645780639d89e9a414610384578063a25dc5f4146103a3578063aac7efb4146103b9578063b6eee2c9146103d9578063b7714ae2146103f9578063c4d66de814610419578063c81a2b5d14610439578063d02501441461044f578063e1758bd8146104e2578063e31bf132146104f7578063f03b28901461050d578063f4a7a3951461052d575b600080fd5b34801561016357600080fd5b50610177610172366004612b0c565b610543565b005b34801561018557600080fd5b5060a0545b6040519081526020015b60405180910390f35b3480156101a957600080fd5b5061018a609a5481565b3480156101bf57600080fd5b50609f546101cd9060ff1681565b60405160ff9091168152602001610194565b3480156101eb57600080fd5b50610177610594565b34801561020057600080fd5b506102096106d9565b6040516101949190612b2f565b34801561022257600080fd5b50610177610231366004612bc7565b610b9e565b34801561024257600080fd5b50606754610256906001600160a01b031681565b6040516101949190612be4565b34801561026f57600080fd5b50606554610256906001600160a01b031681565b34801561028f57600080fd5b5061018a61029e366004612c06565b610c70565b3480156102af57600080fd5b506102c36102be366004612d13565b61100f565b604051610194929190612dcb565b6101776102df366004612e4f565b611024565b3480156102f057600080fd5b50606654610256906001600160a01b031681565b34801561031057600080fd5b5061025661031f366004612ef6565b6110de565b34801561033057600080fd5b5061017761033f366004612ef6565b611108565b34801561035057600080fd5b5061017761035f366004612f28565b611145565b34801561037057600080fd5b5061017761037f366004612ef6565b6114c4565b34801561039057600080fd5b50609f546101cd90610100900460ff1681565b3480156103af57600080fd5b5061018a609d5481565b3480156103c557600080fd5b5061018a6103d4366004612ef6565b611501565b3480156103e557600080fd5b506101776103f4366004612f93565b611643565b34801561040557600080fd5b50610177610414366004612ef6565b61205d565b34801561042557600080fd5b50610177610434366004612bc7565b61209a565b34801561044557600080fd5b5061018a609c5481565b34801561045b57600080fd5b506104ac61046a366004612bc7565b60a16020526000908152604090205463ffffffff8116906001600160401b03600160201b8204811691600160601b81049091169060ff600160a01b9091041684565b6040805163ffffffff9590951685526001600160401b039384166020860152919092169083015215156060820152608001610194565b3480156104ee57600080fd5b5061025661217a565b34801561050357600080fd5b5061018a609b5481565b34801561051957600080fd5b50610177610528366004613018565b6121fe565b34801561053957600080fd5b5061018a609e5481565b61054b61248e565b609f805460ff191660ff83169081179091556040519081527fceef3bba37867319344ac9cc91b1d2318daa822bae8d15118d84aedc1fbba330906020015b60405180910390a150565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156105f257600080fd5b505afa158015610606573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062a9190613046565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561067f57600080fd5b505afa158015610693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b79190613046565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60a0546060906000906001600160401b038111156106f9576106f9612c36565b604051908082528060200260200182016040528015610722578160200160208202803683370190505b5060a0549091506000906001600160401b0381111561074357610743612c36565b60405190808252806020026020018201604052801561076c578160200160208202803683370190505b5060a0549091506000906001600160401b0381111561078d5761078d612c36565b60405190808252806020026020018201604052801561080257816020015b6107ef6040518060c0016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8152602001906001900390816107ab5790505b5090506000805b60a0548112156109535760a0818154811061082657610826613063565b600091825260208220015460405163026c13ed60e21b81526004810192909252600160248301526001600160a01b0316906309b04fb49060440160a06040518083038186803b15801561087857600080fd5b505afa15801561088c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b09190613079565b955050841592506109419150505760a081815481106108d1576108d1613063565b9060005260206000200160009054906101000a90046001600160a01b031685828151811061090157610901613063565b60200260200101906001600160a01b031690816001600160a01b0316815250508184828151811061093457610934613063565b6020026020010181815250505b8061094b816130cf565b915050610809565b609c546109608587612562565b6000806000600160a08054905061097791906130ef565b94505b60008512610b905760006001600160a01b031689868151811061099f5761099f613063565b60200260200101516001600160a01b031614610b79578885815181106109c7576109c7613063565b60200260200101516001600160a01b031663e660b53f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0757600080fd5b505afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061312e565b9250878581518110610a5357610a53613063565b602002602001015182610a669190613147565b9150610a728385613147565b9350609e54609a54610a849190613147565b421015610ac457610a96600180610c70565b609f54610aa6919060ff1661315f565b610ab5836402540be40061315f565b610abf919061317e565b610ae8565b610acf600180610c70565b610ade836402540be40061315f565b610ae8919061317e565b90506040518060c001604052808a8781518110610b0757610b07613063565b60200260200101516001600160a01b03168152602001898781518110610b2f57610b2f613063565b60200260200101518152602001838152602001858152602001828152602001858310151515815250878681518110610b6957610b69613063565b6020026020010181905250610b7e565b610b90565b84610b88816131a0565b95505061097a565b509498975050505050505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610bf05760405162461bcd60e51b8152600401610be7906131be565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c22612586565b6001600160a01b031614610c485760405162461bcd60e51b8152600401610be7906131f8565b610c51816125a2565b60408051600080825260208201909252610c6d918391906125aa565b50565b60675460405163bf40fac160e01b815260206004820152601060248201526f4741535f50524943455f4f5241434c4560801b604482015260009182916001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610cd957600080fd5b505afa158015610ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d119190613046565b90506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d4e57600080fd5b505afa158015610d62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d86919061312e565b60675460405163bf40fac160e01b815260206004820152600e60248201526d4441495f4554485f4f5241434c4560901b60448201529192506000916001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610dee57600080fd5b505afa158015610e02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e269190613046565b90506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6357600080fd5b505afa158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9b919061312e565b9050600081610eb285670de0b6b3a764000061315f565b610ebc919061317e565b90508615610eda57610ece888261315f565b95505050505050611009565b60675460405163bf40fac160e01b815289916001600160a01b03169063bf40fac190610f0890600401613232565b60206040518083038186803b158015610f2057600080fd5b505afa158015610f34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f589190613046565b6001600160a01b031663182df0f56040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9057600080fd5b505afa158015610fa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc8919061312e565b610fd76402540be4008461317e565b610fed906b204fce5e3e2502611000000061315f565b610ff7919061317e565b611001919061315f565b955050505050505b92915050565b60608061101c8484612562565b509192909150565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561106d5760405162461bcd60e51b8152600401610be7906131be565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661109f612586565b6001600160a01b0316146110c55760405162461bcd60e51b8152600401610be7906131f8565b6110ce826125a2565b6110da828260016125aa565b5050565b60a081815481106110ee57600080fd5b6000918252602090912001546001600160a01b0316905081565b61111061248e565b609c8190556040518181527fcc09a90bef37a706a00b53dd3f515f9326b029e41271b4bb87777773962cbc6090602001610589565b61114d61248e565b808061117957506001600160a01b038416600090815260a16020526040902054600160a01b900460ff16155b6111bf5760405162461bcd60e51b815260206004820152601760248201527663616e277420756e646f20626c61636b6c697374696e6760481b6044820152606401610be7565b600060405180608001604052808763ffffffff16815260200160008663ffffffff16116111ec57436111ee565b855b63ffffffff166001600160401b0316815260200160008563ffffffff161161121a5763ffffffff61121c565b845b63ffffffff90811682528415156020928301526001600160a01b038816600090815260a18352604080822085518154958701519287015160608801511515600160a01b0260ff60a01b196001600160401b03928316600160601b0216600160601b600160a81b031995909216600160201b026001600160601b0319909816929096169190911795909517919091169390931791909117909155909150805b60a05460ff8216101561131d57866001600160a01b031660a08260ff16815481106112e7576112e7613063565b6000918252602090912001546001600160a01b0316141561130b576001915061131d565b8061131581613250565b9150506112ba565b81801561133557508380611335575063ffffffff8816155b156113ef5760a0805461134a90600190613270565b8154811061135a5761135a613063565b60009182526020909120015460a080546001600160a01b039092169160ff841690811061138957611389613063565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a08054806113c8576113c8613287565b600082815260209020810160001990810180546001600160a01b031916905501905561145b565b8115801561140a57508380611408575063ffffffff8816155b155b1561145b5760a080546001810182556000919091527f78fdc8d422c49ced035a9edf18d00d3c6a8d81df210f3e5e448e045e77b41e880180546001600160a01b0319166001600160a01b0389161790555b6040805163ffffffff8a811682526001600160a01b038a1660208301528881168284015287166060820152851515608082015290517fcfeece178cde5fc0c509d31ec15ec2d996342bec5d9820be8aabbda11a21205b9181900360a00190a15050505050505050565b6114cc61248e565b609d8190556040518181527f08deabc2cb3286b159d9350bf977350e1f31e39ae44075269082a800e9ee59de90602001610589565b60008061150f836000610c70565b60675460405163bf40fac160e01b81529192506000916001600160a01b039091169063bf40fac1906115439060040161329d565b60206040518083038186803b15801561155b57600080fd5b505afa15801561156f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115939190613046565b6001600160a01b0316639d1b464a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611603919061312e565b90506a084595161401484a0000008161162784676765c793fa10079d601b1b61315f565b611631919061317e565b61163b919061317e565b949350505050565b60005a60675460405163bf40fac160e01b81529192506000918291829182916001600160a01b03169063bf40fac19061167e90600401613232565b60206040518083038186803b15801561169657600080fd5b505afa1580156116aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ce9190613046565b60675460405163bf40fac160e01b815260206004820152600360248201526244414960e81b60448201529192506000916001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561172b57600080fd5b505afa15801561173f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117639190613046565b60675460405163bf40fac160e01b81529192506001600160a01b03169063bf40fac1906117929060040161329d565b60206040518083038186803b1580156117aa57600080fd5b505afa1580156117be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e29190613046565b92506000816001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016118129190612be4565b60206040518083038186803b15801561182a57600080fd5b505afa15801561183e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611862919061312e565b90506000836001600160a01b03166370a08231866040518263ffffffff1660e01b81526004016118929190612be4565b60206040518083038186803b1580156118aa57600080fd5b505afa1580156118be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e2919061312e565b905060006118f160018c613270565b90505b60008c8c8381811061190857611908613063565b905060200201602081019061191d9190612bc7565b6001600160a01b0316146119d3578b8b8281811061193d5761193d613063565b90506020020160208101906119529190612bc7565b6001600160a01b03166337455990876040518263ffffffff1660e01b815260040161197d9190612be4565b606060405180830381600087803b15801561199757600080fd5b505af11580156119ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cf91906132be565b5050505b806119dd576119ef565b806119e7816132ec565b9150506118f4565b50600082846001600160a01b03166370a08231886040518263ffffffff1660e01b8152600401611a1f9190612be4565b60206040518083038186803b158015611a3757600080fd5b505afa158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f919061312e565b611a799190613270565b604051631de778a560e01b815260048101829052602481018490526001600160a01b03878116604483015291925090871690631de778a5906064016040805180830381600087803b158015611acd57600080fd5b505af1158015611ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0591906132fb565b60675460405163bf40fac160e01b8152929a509098506000916001600160a01b039091169063bf40fac190611b3c9060040161331f565b60206040518083038186803b158015611b5457600080fd5b505afa158015611b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8c9190613046565b90508815611dbc5760675460405163bf40fac160e01b815260206004820152600f60248201526e1094925111d157d0d3d395149050d5608a1b60448201526001600160a01b0383811692634000aea09291169063bf40fac19060640160206040518083038186803b158015611c0057600080fd5b505afa158015611c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c389190613046565b60675460405163bf40fac160e01b815260206004820152600d60248201526c15509257d49150d25412515395609a1b60448201528d916001600160a01b03169063bf40fac19060640160206040518083038186803b158015611c9957600080fd5b505afa158015611cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd19190613046565b604051602001611cf4919060609190911b6001600160601b031916815260140190565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401611d219392919061339b565b602060405180830381600087803b158015611d3b57600080fd5b505af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7391906133c2565b611dbc5760405162461bcd60e51b815260206004820152601a6024820152791d589a48189c9a5919d9481d1c985b9cd9995c8819985a5b195960321b6044820152606401610be7565b50600094505050871515915061200090505760006064609d545a611de09089613270565b611dea9190613147565b611df590606e61315f565b611dff919061317e565b9050611e0a81611501565b60675460405163bf40fac160e01b81529193506001600160a01b038086169263f8a9978f929091169063bf40fac190611e4590600401613232565b60206040518083038186803b158015611e5d57600080fd5b505afa158015611e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e959190613046565b33856040518463ffffffff1660e01b8152600401611eb5939291906133df565b600060405180830381600087803b158015611ecf57600080fd5b505af1158015611ee3573d6000803e3d6000fd5b505050506000611efe5a611ef79089613270565b6000610c70565b9050609e54609a54611f109190613147565b4210611f7f5780851015611f7a5760405162461bcd60e51b815260206004820152603e602482015260008051602061351f83398151915260448201527f6265206c6172676572207468616e207370656e742067617320636f73747300006064820152608401610be7565b611ffd565b609f54611f9090829060ff1661315f565b851015611ffd5760405162461bcd60e51b8152602060048201526041602482015260008051602061351f83398151915260448201527f626520696e7465726573744d756c7469706c69657220782067617320636f73746064820152607360f81b608482015260a401610be7565b50505b336001600160a01b03167fa152fd34a7e4c4c82eb0c0b0319d3913dc9189d62ae2fe75aef590f0e391a928838a8a87898760405161204396959493929190613403565b60405180910390a2505042609a55505043609b5550505050565b61206561248e565b609e8190556040518181527f28b3b60d9fa0f6edab793c2422ff4784f9381ff9d2062481d1254f732452bfbf90602001610589565b600054610100900460ff16806120b3575060005460ff16155b6121165760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610be7565b600054610100900460ff16158015612138576000805461ffff19166101011790555b612141826126f1565b6203d090609d55624f1a00609e55609f8054620cf850609c5561ffff191661070417905580156110da576000805461ff00191690555050565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac1906121a99060040161331f565b60206040518083038186803b1580156121c157600080fd5b505afa1580156121d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f99190613046565b905090565b33600090815260a160209081526040918290208251608081018452905463ffffffff81168252600160201b81046001600160401b03908116938301849052600160601b82041693820193909352600160a01b90920460ff16151560608301526122a95760405162461bcd60e51b815260206004820152601f60248201527f5374616b696e6720636f6e7472616374206e6f742072656769737465726564006044820152606401610be7565b80516020820151604080840151905163574c5c9360e01b81526001600160a01b038616600482015263ffffffff90931660248401526001600160401b039182166044840152166064820152600090339063574c5c9390608401602060405180830381600087803b15801561231c57600080fd5b505af1158015612330573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612354919061312e565b905060008111801561236857506060820151155b156124885760675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061239b9060040161329d565b60206040518083038186803b1580156123b357600080fd5b505afa1580156123c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123eb9190613046565b6001600160a01b031663f8a9978f8585846040518463ffffffff1660e01b815260040161241a939291906133df565b600060405180830381600087803b15801561243457600080fd5b505af1158015612448573d6000803e3d6000fd5b505050507f5c4a97f844ad1dc8cad420327f32da9b4bd075bab26efa2ae5bd66f84d1fce0733848360405161247f939291906133df565b60405180910390a15b50505050565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b1580156124d257600080fd5b505afa1580156124e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250a9190613046565b6001600160a01b0316146125605760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610be7565b565b6001825111156110da576110da82826000600186516125819190613270565b612714565b6000805160206134d8833981519152546001600160a01b031690565b610c6d61248e565b60006125b4612586565b90506125bf8461290e565b6000835111806125cc5750815b156125dd576125db84846129a1565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff166126ea57805460ff19166001178155604051612658908690612629908590602401612be4565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526129a1565b50805460ff19168155612669612586565b6001600160a01b0316826001600160a01b0316146126e15760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610be7565b6126ea85612a8c565b5050505050565b606780546001600160a01b0319166001600160a01b038316179055610c6d610594565b8082101561248857600084600261272b8486613147565b612735919061317e565b8151811061274557612745613063565b6020908102919091010151905082825b8287838151811061276857612768613063565b60200260200101511015612788578161278081613474565b925050612755565b8287828151811061279b5761279b613063565b602002602001015111156127bb57806127b3816132ec565b915050612788565b8082106127c7576128d0565b8681815181106127d9576127d9613063565b60200260200101518783815181106127f3576127f3613063565b602002602001015188848151811061280d5761280d613063565b6020026020010189848151811061282657612826613063565b602002602001018281525082815250505085818151811061284957612849613063565b602002602001015186838151811061286357612863613063565b602002602001015187848151811061287d5761287d613063565b6020026020010188848151811061289657612896613063565b6001600160a01b03938416602091820292909201015291169052816128ba81613474565b92505080806128c8906132ec565b915050612755565b808510156128e4576128e487878784612714565b806128ee81613474565b915050838110156129055761290587878387612714565b50505050505050565b803b6129725760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610be7565b6000805160206134d883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b612a005760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610be7565b600080846001600160a01b031684604051612a1b9190613488565b600060405180830381855af49150503d8060008114612a56576040519150601f19603f3d011682016040523d82523d6000602084013e612a5b565b606091505b5091509150612a8382826040518060600160405280602781526020016134f860279139612acc565b95945050505050565b612a958161290e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60608315612adb575081612b05565b825115612aeb5782518084602001fd5b8160405162461bcd60e51b8152600401610be791906134a4565b9392505050565b600060208284031215612b1e57600080fd5b813560ff81168114612b0557600080fd5b602080825282518282018190526000919060409081850190868401855b82811015612ba557815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080808201519086015260a09081015115159085015260c09093019290850190600101612b4c565b5091979650505050505050565b6001600160a01b0381168114610c6d57600080fd5b600060208284031215612bd957600080fd5b8135612b0581612bb2565b6001600160a01b0391909116815260200190565b8015158114610c6d57600080fd5b60008060408385031215612c1957600080fd5b823591506020830135612c2b81612bf8565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612c7457612c74612c36565b604052919050565b60006001600160401b03821115612c9557612c95612c36565b5060051b60200190565b600082601f830112612cb057600080fd5b81356020612cc5612cc083612c7c565b612c4c565b82815260059290921b84018101918181019086841115612ce457600080fd5b8286015b84811015612d08578035612cfb81612bb2565b8352918301918301612ce8565b509695505050505050565b60008060408385031215612d2657600080fd5b82356001600160401b0380821115612d3d57600080fd5b818501915085601f830112612d5157600080fd5b81356020612d61612cc083612c7c565b82815260059290921b84018101918181019089841115612d8057600080fd5b948201945b83861015612d9e57853582529482019490820190612d85565b96505086013592505080821115612db457600080fd5b50612dc185828601612c9f565b9150509250929050565b604080825283519082018190526000906020906060840190828701845b82811015612e0457815184529284019290840190600101612de8565b5050508381038285015284518082528583019183019060005b81811015612e425783516001600160a01b031683529284019291840191600101612e1d565b5090979650505050505050565b60008060408385031215612e6257600080fd5b8235612e6d81612bb2565b91506020838101356001600160401b0380821115612e8a57600080fd5b818601915086601f830112612e9e57600080fd5b813581811115612eb057612eb0612c36565b612ec2601f8201601f19168501612c4c565b91508082528784828501011115612ed857600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215612f0857600080fd5b5035919050565b803563ffffffff81168114612f2357600080fd5b919050565b600080600080600060a08688031215612f4057600080fd5b612f4986612f0f565b94506020860135612f5981612bb2565b9350612f6760408701612f0f565b9250612f7560608701612f0f565b91506080860135612f8581612bf8565b809150509295509295909350565b600080600060408486031215612fa857600080fd5b83356001600160401b0380821115612fbf57600080fd5b818601915086601f830112612fd357600080fd5b813581811115612fe257600080fd5b8760208260051b8501011115612ff757600080fd5b6020928301955093505084013561300d81612bf8565b809150509250925092565b6000806040838503121561302b57600080fd5b823561303681612bb2565b91506020830135612c2b81612bb2565b60006020828403121561305857600080fd5b8151612b0581612bb2565b634e487b7160e01b600052603260045260246000fd5b600080600080600060a0868803121561309157600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b634e487b7160e01b600052601160045260246000fd5b60006001600160ff1b038214156130e8576130e86130b9565b5060010190565b60008083128015600160ff1b85018412161561310d5761310d6130b9565b6001600160ff1b0384018313811615613128576131286130b9565b50500390565b60006020828403121561314057600080fd5b5051919050565b6000821982111561315a5761315a6130b9565b500190565b6000816000190483118215151615613179576131796130b9565b500290565b60008261319b57634e487b7160e01b600052601260045260246000fd5b500490565b6000600160ff1b8214156131b6576131b66130b9565b506000190190565b6020808252602c908201526000805160206134b883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206134b883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252600490820152634344414960e01b604082015260600190565b600060ff821660ff811415613267576132676130b9565b60010192915050565b600082821015613282576132826130b9565b500390565b634e487b7160e01b600052603160045260246000fd5b6020808252600790820152665245534552564560c81b604082015260600190565b6000806000606084860312156132d357600080fd5b8351925060208401519150604084015190509250925092565b6000816131b6576131b66130b9565b6000806040838503121561330e57600080fd5b505080516020909101519092909150565b6020808252600a908201526923a7a7a22227a62620a960b11b604082015260600190565b60005b8381101561335e578181015183820152602001613346565b838111156124885750506000910152565b60008151808452613387816020860160208601613343565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000612a83606083018461336f565b6000602082840312156133d457600080fd5b8151612b0581612bf8565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03878116825260a06020808401829052908301879052600091889160c08501845b8a81101561345257843561343e81612bb2565b84168252938201939082019060010161342b565b5060408601989098525050505060608101929092526080909101529392505050565b60006000198214156130e8576130e86130b9565b6000825161349a818460208701613343565b9190910192915050565b602081526000612b05602083018461336f56fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564436f6c6c656374656420696e7465726573742076616c75652073686f756c6420a26469706673582212200920a5c5f0c11e108a32c2c9821475311fa73da9db8236bb4d44ecfecce6f92264736f6c63430008080033";
|
|
727
|
+
"0x60a06040523060601b6080523480156200001857600080fd5b5060405162003892380380620038928339810160408190526200003b91620002c3565b62000046816200004d565b50620002ea565b600054610100900460ff168062000067575060005460ff16155b620000cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff16158015620000f2576000805461ffff19166101011790555b620000fd8262000138565b6203d090609d55624f1a00609e55609f8054620cf850609c5561ffff1916610704179055801562000134576000805461ff00191690555b5050565b606780546001600160a01b0319166001600160a01b0383161790556200015d62000160565b50565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015620001bf57600080fd5b505afa158015620001d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fa9190620002c3565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b1580156200025057600080fd5b505afa15801562000265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028b9190620002c3565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811681146200015d57600080fd5b600060208284031215620002d657600080fd5b8151620002e381620002ad565b9392505050565b60805160601c6135746200031e60003960008181610ba901528181610bf20152818161102f015261106f01526135746000f3fe6080604052600436106101525760003560e01c806308944514146101575780630e47dbd91461017957806312ce63d91461019d578063195dc7cc146101b35780631b3c90a8146101df57806324ccc1e7146101f45780633659cfe6146102165780633e6326fc146102365780634162169f1461026357806344fa76221461028357806346382a6a146102a35780634f1ef286146102d15780635aef7de6146102e457806372d00e9f14610304578063791b6bc3146103245780637c6b63b4146103445780638aba4659146103645780639d89e9a414610384578063a25dc5f4146103a3578063aac7efb4146103b9578063b6eee2c9146103d9578063b7714ae2146103f9578063c4d66de814610419578063c81a2b5d14610439578063d02501441461044f578063e1758bd8146104e2578063e31bf132146104f7578063f03b28901461050d578063f4a7a3951461052d575b600080fd5b34801561016357600080fd5b50610177610172366004612b0c565b610543565b005b34801561018557600080fd5b5060a0545b6040519081526020015b60405180910390f35b3480156101a957600080fd5b5061018a609a5481565b3480156101bf57600080fd5b50609f546101cd9060ff1681565b60405160ff9091168152602001610194565b3480156101eb57600080fd5b50610177610594565b34801561020057600080fd5b506102096106d9565b6040516101949190612b2f565b34801561022257600080fd5b50610177610231366004612bc7565b610b9e565b34801561024257600080fd5b50606754610256906001600160a01b031681565b6040516101949190612be4565b34801561026f57600080fd5b50606554610256906001600160a01b031681565b34801561028f57600080fd5b5061018a61029e366004612c06565b610c70565b3480156102af57600080fd5b506102c36102be366004612d13565b61100f565b604051610194929190612dcb565b6101776102df366004612e4f565b611024565b3480156102f057600080fd5b50606654610256906001600160a01b031681565b34801561031057600080fd5b5061025661031f366004612ef6565b6110de565b34801561033057600080fd5b5061017761033f366004612ef6565b611108565b34801561035057600080fd5b5061017761035f366004612f28565b611145565b34801561037057600080fd5b5061017761037f366004612ef6565b6114c4565b34801561039057600080fd5b50609f546101cd90610100900460ff1681565b3480156103af57600080fd5b5061018a609d5481565b3480156103c557600080fd5b5061018a6103d4366004612ef6565b611501565b3480156103e557600080fd5b506101776103f4366004612f93565b611643565b34801561040557600080fd5b50610177610414366004612ef6565b61205d565b34801561042557600080fd5b50610177610434366004612bc7565b61209a565b34801561044557600080fd5b5061018a609c5481565b34801561045b57600080fd5b506104ac61046a366004612bc7565b60a16020526000908152604090205463ffffffff8116906001600160401b03600160201b8204811691600160601b81049091169060ff600160a01b9091041684565b6040805163ffffffff9590951685526001600160401b039384166020860152919092169083015215156060820152608001610194565b3480156104ee57600080fd5b5061025661217a565b34801561050357600080fd5b5061018a609b5481565b34801561051957600080fd5b50610177610528366004613018565b6121fe565b34801561053957600080fd5b5061018a609e5481565b61054b61248e565b609f805460ff191660ff83169081179091556040519081527fceef3bba37867319344ac9cc91b1d2318daa822bae8d15118d84aedc1fbba330906020015b60405180910390a150565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156105f257600080fd5b505afa158015610606573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062a9190613046565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561067f57600080fd5b505afa158015610693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b79190613046565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60a0546060906000906001600160401b038111156106f9576106f9612c36565b604051908082528060200260200182016040528015610722578160200160208202803683370190505b5060a0549091506000906001600160401b0381111561074357610743612c36565b60405190808252806020026020018201604052801561076c578160200160208202803683370190505b5060a0549091506000906001600160401b0381111561078d5761078d612c36565b60405190808252806020026020018201604052801561080257816020015b6107ef6040518060c0016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8152602001906001900390816107ab5790505b5090506000805b60a0548112156109535760a0818154811061082657610826613063565b600091825260208220015460405163026c13ed60e21b81526004810192909252600160248301526001600160a01b0316906309b04fb49060440160a06040518083038186803b15801561087857600080fd5b505afa15801561088c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b09190613079565b955050841592506109419150505760a081815481106108d1576108d1613063565b9060005260206000200160009054906101000a90046001600160a01b031685828151811061090157610901613063565b60200260200101906001600160a01b031690816001600160a01b0316815250508184828151811061093457610934613063565b6020026020010181815250505b8061094b816130cf565b915050610809565b609c546109608587612562565b6000806000600160a08054905061097791906130ef565b94505b60008512610b905760006001600160a01b031689868151811061099f5761099f613063565b60200260200101516001600160a01b031614610b79578885815181106109c7576109c7613063565b60200260200101516001600160a01b031663e660b53f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0757600080fd5b505afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061312e565b9250878581518110610a5357610a53613063565b602002602001015182610a669190613147565b9150610a728385613147565b9350609e54609a54610a849190613147565b421015610ac457610a96600180610c70565b609f54610aa6919060ff1661315f565b610ab5836402540be40061315f565b610abf919061317e565b610ae8565b610acf600180610c70565b610ade836402540be40061315f565b610ae8919061317e565b90506040518060c001604052808a8781518110610b0757610b07613063565b60200260200101516001600160a01b03168152602001898781518110610b2f57610b2f613063565b60200260200101518152602001838152602001858152602001828152602001858310151515815250878681518110610b6957610b69613063565b6020026020010181905250610b7e565b610b90565b84610b88816131a0565b95505061097a565b509498975050505050505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610bf05760405162461bcd60e51b8152600401610be7906131be565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c22612586565b6001600160a01b031614610c485760405162461bcd60e51b8152600401610be7906131f8565b610c51816125a2565b60408051600080825260208201909252610c6d918391906125aa565b50565b60675460405163bf40fac160e01b815260206004820152601060248201526f4741535f50524943455f4f5241434c4560801b604482015260009182916001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610cd957600080fd5b505afa158015610ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d119190613046565b90506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d4e57600080fd5b505afa158015610d62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d86919061312e565b60675460405163bf40fac160e01b815260206004820152600e60248201526d4441495f4554485f4f5241434c4560901b60448201529192506000916001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610dee57600080fd5b505afa158015610e02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e269190613046565b90506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6357600080fd5b505afa158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9b919061312e565b9050600081610eb285670de0b6b3a764000061315f565b610ebc919061317e565b90508615610eda57610ece888261315f565b95505050505050611009565b60675460405163bf40fac160e01b815289916001600160a01b03169063bf40fac190610f0890600401613232565b60206040518083038186803b158015610f2057600080fd5b505afa158015610f34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f589190613046565b6001600160a01b031663182df0f56040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9057600080fd5b505afa158015610fa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc8919061312e565b610fd76402540be4008461317e565b610fed906b204fce5e3e2502611000000061315f565b610ff7919061317e565b611001919061315f565b955050505050505b92915050565b60608061101c8484612562565b509192909150565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561106d5760405162461bcd60e51b8152600401610be7906131be565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661109f612586565b6001600160a01b0316146110c55760405162461bcd60e51b8152600401610be7906131f8565b6110ce826125a2565b6110da828260016125aa565b5050565b60a081815481106110ee57600080fd5b6000918252602090912001546001600160a01b0316905081565b61111061248e565b609c8190556040518181527fcc09a90bef37a706a00b53dd3f515f9326b029e41271b4bb87777773962cbc6090602001610589565b61114d61248e565b808061117957506001600160a01b038416600090815260a16020526040902054600160a01b900460ff16155b6111bf5760405162461bcd60e51b815260206004820152601760248201527663616e277420756e646f20626c61636b6c697374696e6760481b6044820152606401610be7565b600060405180608001604052808763ffffffff16815260200160008663ffffffff16116111ec57436111ee565b855b63ffffffff166001600160401b0316815260200160008563ffffffff161161121a5763ffffffff61121c565b845b63ffffffff90811682528415156020928301526001600160a01b038816600090815260a18352604080822085518154958701519287015160608801511515600160a01b0260ff60a01b196001600160401b03928316600160601b0216600160601b600160a81b031995909216600160201b026001600160601b0319909816929096169190911795909517919091169390931791909117909155909150805b60a05460ff8216101561131d57866001600160a01b031660a08260ff16815481106112e7576112e7613063565b6000918252602090912001546001600160a01b0316141561130b576001915061131d565b8061131581613250565b9150506112ba565b81801561133557508380611335575063ffffffff8816155b156113ef5760a0805461134a90600190613270565b8154811061135a5761135a613063565b60009182526020909120015460a080546001600160a01b039092169160ff841690811061138957611389613063565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a08054806113c8576113c8613287565b600082815260209020810160001990810180546001600160a01b031916905501905561145b565b8115801561140a57508380611408575063ffffffff8816155b155b1561145b5760a080546001810182556000919091527f78fdc8d422c49ced035a9edf18d00d3c6a8d81df210f3e5e448e045e77b41e880180546001600160a01b0319166001600160a01b0389161790555b6040805163ffffffff8a811682526001600160a01b038a1660208301528881168284015287166060820152851515608082015290517fcfeece178cde5fc0c509d31ec15ec2d996342bec5d9820be8aabbda11a21205b9181900360a00190a15050505050505050565b6114cc61248e565b609d8190556040518181527f08deabc2cb3286b159d9350bf977350e1f31e39ae44075269082a800e9ee59de90602001610589565b60008061150f836000610c70565b60675460405163bf40fac160e01b81529192506000916001600160a01b039091169063bf40fac1906115439060040161329d565b60206040518083038186803b15801561155b57600080fd5b505afa15801561156f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115939190613046565b6001600160a01b0316639d1b464a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611603919061312e565b90506a084595161401484a0000008161162784676765c793fa10079d601b1b61315f565b611631919061317e565b61163b919061317e565b949350505050565b60005a60675460405163bf40fac160e01b81529192506000918291829182916001600160a01b03169063bf40fac19061167e90600401613232565b60206040518083038186803b15801561169657600080fd5b505afa1580156116aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ce9190613046565b60675460405163bf40fac160e01b815260206004820152600360248201526244414960e81b60448201529192506000916001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561172b57600080fd5b505afa15801561173f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117639190613046565b60675460405163bf40fac160e01b81529192506001600160a01b03169063bf40fac1906117929060040161329d565b60206040518083038186803b1580156117aa57600080fd5b505afa1580156117be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e29190613046565b92506000816001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016118129190612be4565b60206040518083038186803b15801561182a57600080fd5b505afa15801561183e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611862919061312e565b90506000836001600160a01b03166370a08231866040518263ffffffff1660e01b81526004016118929190612be4565b60206040518083038186803b1580156118aa57600080fd5b505afa1580156118be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e2919061312e565b905060006118f160018c613270565b90505b60008c8c8381811061190857611908613063565b905060200201602081019061191d9190612bc7565b6001600160a01b0316146119d3578b8b8281811061193d5761193d613063565b90506020020160208101906119529190612bc7565b6001600160a01b03166337455990876040518263ffffffff1660e01b815260040161197d9190612be4565b606060405180830381600087803b15801561199757600080fd5b505af11580156119ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cf91906132be565b5050505b806119dd576119ef565b806119e7816132ec565b9150506118f4565b50600082846001600160a01b03166370a08231886040518263ffffffff1660e01b8152600401611a1f9190612be4565b60206040518083038186803b158015611a3757600080fd5b505afa158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f919061312e565b611a799190613270565b604051631de778a560e01b815260048101829052602481018490526001600160a01b03878116604483015291925090871690631de778a5906064016040805180830381600087803b158015611acd57600080fd5b505af1158015611ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0591906132fb565b60675460405163bf40fac160e01b8152929a509098506000916001600160a01b039091169063bf40fac190611b3c9060040161331f565b60206040518083038186803b158015611b5457600080fd5b505afa158015611b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8c9190613046565b90508815611dbc5760675460405163bf40fac160e01b815260206004820152600f60248201526e1094925111d157d0d3d395149050d5608a1b60448201526001600160a01b0383811692634000aea09291169063bf40fac19060640160206040518083038186803b158015611c0057600080fd5b505afa158015611c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c389190613046565b60675460405163bf40fac160e01b815260206004820152600d60248201526c15509257d49150d25412515395609a1b60448201528d916001600160a01b03169063bf40fac19060640160206040518083038186803b158015611c9957600080fd5b505afa158015611cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd19190613046565b604051602001611cf4919060609190911b6001600160601b031916815260140190565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401611d219392919061339b565b602060405180830381600087803b158015611d3b57600080fd5b505af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7391906133c2565b611dbc5760405162461bcd60e51b815260206004820152601a6024820152791d589a48189c9a5919d9481d1c985b9cd9995c8819985a5b195960321b6044820152606401610be7565b50600094505050871515915061200090505760006064609d545a611de09089613270565b611dea9190613147565b611df590606e61315f565b611dff919061317e565b9050611e0a81611501565b60675460405163bf40fac160e01b81529193506001600160a01b038086169263f8a9978f929091169063bf40fac190611e4590600401613232565b60206040518083038186803b158015611e5d57600080fd5b505afa158015611e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e959190613046565b33856040518463ffffffff1660e01b8152600401611eb5939291906133df565b600060405180830381600087803b158015611ecf57600080fd5b505af1158015611ee3573d6000803e3d6000fd5b505050506000611efe5a611ef79089613270565b6000610c70565b9050609e54609a54611f109190613147565b4210611f7f5780851015611f7a5760405162461bcd60e51b815260206004820152603e602482015260008051602061351f83398151915260448201527f6265206c6172676572207468616e207370656e742067617320636f73747300006064820152608401610be7565b611ffd565b609f54611f9090829060ff1661315f565b851015611ffd5760405162461bcd60e51b8152602060048201526041602482015260008051602061351f83398151915260448201527f626520696e7465726573744d756c7469706c69657220782067617320636f73746064820152607360f81b608482015260a401610be7565b50505b336001600160a01b03167fa152fd34a7e4c4c82eb0c0b0319d3913dc9189d62ae2fe75aef590f0e391a928838a8a87898760405161204396959493929190613403565b60405180910390a2505042609a55505043609b5550505050565b61206561248e565b609e8190556040518181527f28b3b60d9fa0f6edab793c2422ff4784f9381ff9d2062481d1254f732452bfbf90602001610589565b600054610100900460ff16806120b3575060005460ff16155b6121165760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610be7565b600054610100900460ff16158015612138576000805461ffff19166101011790555b612141826126f1565b6203d090609d55624f1a00609e55609f8054620cf850609c5561ffff191661070417905580156110da576000805461ff00191690555050565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac1906121a99060040161331f565b60206040518083038186803b1580156121c157600080fd5b505afa1580156121d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f99190613046565b905090565b33600090815260a160209081526040918290208251608081018452905463ffffffff81168252600160201b81046001600160401b03908116938301849052600160601b82041693820193909352600160a01b90920460ff16151560608301526122a95760405162461bcd60e51b815260206004820152601f60248201527f5374616b696e6720636f6e7472616374206e6f742072656769737465726564006044820152606401610be7565b80516020820151604080840151905163574c5c9360e01b81526001600160a01b038616600482015263ffffffff90931660248401526001600160401b039182166044840152166064820152600090339063574c5c9390608401602060405180830381600087803b15801561231c57600080fd5b505af1158015612330573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612354919061312e565b905060008111801561236857506060820151155b156124885760675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061239b9060040161329d565b60206040518083038186803b1580156123b357600080fd5b505afa1580156123c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123eb9190613046565b6001600160a01b031663f8a9978f8585846040518463ffffffff1660e01b815260040161241a939291906133df565b600060405180830381600087803b15801561243457600080fd5b505af1158015612448573d6000803e3d6000fd5b505050507f5c4a97f844ad1dc8cad420327f32da9b4bd075bab26efa2ae5bd66f84d1fce0733848360405161247f939291906133df565b60405180910390a15b50505050565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b1580156124d257600080fd5b505afa1580156124e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250a9190613046565b6001600160a01b0316146125605760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610be7565b565b6001825111156110da576110da82826000600186516125819190613270565b612714565b6000805160206134d8833981519152546001600160a01b031690565b610c6d61248e565b60006125b4612586565b90506125bf8461290e565b6000835111806125cc5750815b156125dd576125db84846129a1565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff166126ea57805460ff19166001178155604051612658908690612629908590602401612be4565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526129a1565b50805460ff19168155612669612586565b6001600160a01b0316826001600160a01b0316146126e15760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610be7565b6126ea85612a8c565b5050505050565b606780546001600160a01b0319166001600160a01b038316179055610c6d610594565b8082101561248857600084600261272b8486613147565b612735919061317e565b8151811061274557612745613063565b6020908102919091010151905082825b8287838151811061276857612768613063565b60200260200101511015612788578161278081613474565b925050612755565b8287828151811061279b5761279b613063565b602002602001015111156127bb57806127b3816132ec565b915050612788565b8082106127c7576128d0565b8681815181106127d9576127d9613063565b60200260200101518783815181106127f3576127f3613063565b602002602001015188848151811061280d5761280d613063565b6020026020010189848151811061282657612826613063565b602002602001018281525082815250505085818151811061284957612849613063565b602002602001015186838151811061286357612863613063565b602002602001015187848151811061287d5761287d613063565b6020026020010188848151811061289657612896613063565b6001600160a01b03938416602091820292909201015291169052816128ba81613474565b92505080806128c8906132ec565b915050612755565b808510156128e4576128e487878784612714565b806128ee81613474565b915050838110156129055761290587878387612714565b50505050505050565b803b6129725760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610be7565b6000805160206134d883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b612a005760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610be7565b600080846001600160a01b031684604051612a1b9190613488565b600060405180830381855af49150503d8060008114612a56576040519150601f19603f3d011682016040523d82523d6000602084013e612a5b565b606091505b5091509150612a8382826040518060600160405280602781526020016134f860279139612acc565b95945050505050565b612a958161290e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60608315612adb575081612b05565b825115612aeb5782518084602001fd5b8160405162461bcd60e51b8152600401610be791906134a4565b9392505050565b600060208284031215612b1e57600080fd5b813560ff81168114612b0557600080fd5b602080825282518282018190526000919060409081850190868401855b82811015612ba557815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080808201519086015260a09081015115159085015260c09093019290850190600101612b4c565b5091979650505050505050565b6001600160a01b0381168114610c6d57600080fd5b600060208284031215612bd957600080fd5b8135612b0581612bb2565b6001600160a01b0391909116815260200190565b8015158114610c6d57600080fd5b60008060408385031215612c1957600080fd5b823591506020830135612c2b81612bf8565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612c7457612c74612c36565b604052919050565b60006001600160401b03821115612c9557612c95612c36565b5060051b60200190565b600082601f830112612cb057600080fd5b81356020612cc5612cc083612c7c565b612c4c565b82815260059290921b84018101918181019086841115612ce457600080fd5b8286015b84811015612d08578035612cfb81612bb2565b8352918301918301612ce8565b509695505050505050565b60008060408385031215612d2657600080fd5b82356001600160401b0380821115612d3d57600080fd5b818501915085601f830112612d5157600080fd5b81356020612d61612cc083612c7c565b82815260059290921b84018101918181019089841115612d8057600080fd5b948201945b83861015612d9e57853582529482019490820190612d85565b96505086013592505080821115612db457600080fd5b50612dc185828601612c9f565b9150509250929050565b604080825283519082018190526000906020906060840190828701845b82811015612e0457815184529284019290840190600101612de8565b5050508381038285015284518082528583019183019060005b81811015612e425783516001600160a01b031683529284019291840191600101612e1d565b5090979650505050505050565b60008060408385031215612e6257600080fd5b8235612e6d81612bb2565b91506020838101356001600160401b0380821115612e8a57600080fd5b818601915086601f830112612e9e57600080fd5b813581811115612eb057612eb0612c36565b612ec2601f8201601f19168501612c4c565b91508082528784828501011115612ed857600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215612f0857600080fd5b5035919050565b803563ffffffff81168114612f2357600080fd5b919050565b600080600080600060a08688031215612f4057600080fd5b612f4986612f0f565b94506020860135612f5981612bb2565b9350612f6760408701612f0f565b9250612f7560608701612f0f565b91506080860135612f8581612bf8565b809150509295509295909350565b600080600060408486031215612fa857600080fd5b83356001600160401b0380821115612fbf57600080fd5b818601915086601f830112612fd357600080fd5b813581811115612fe257600080fd5b8760208260051b8501011115612ff757600080fd5b6020928301955093505084013561300d81612bf8565b809150509250925092565b6000806040838503121561302b57600080fd5b823561303681612bb2565b91506020830135612c2b81612bb2565b60006020828403121561305857600080fd5b8151612b0581612bb2565b634e487b7160e01b600052603260045260246000fd5b600080600080600060a0868803121561309157600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b634e487b7160e01b600052601160045260246000fd5b60006001600160ff1b038214156130e8576130e86130b9565b5060010190565b60008083128015600160ff1b85018412161561310d5761310d6130b9565b6001600160ff1b0384018313811615613128576131286130b9565b50500390565b60006020828403121561314057600080fd5b5051919050565b6000821982111561315a5761315a6130b9565b500190565b6000816000190483118215151615613179576131796130b9565b500290565b60008261319b57634e487b7160e01b600052601260045260246000fd5b500490565b6000600160ff1b8214156131b6576131b66130b9565b506000190190565b6020808252602c908201526000805160206134b883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206134b883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252600490820152634344414960e01b604082015260600190565b600060ff821660ff811415613267576132676130b9565b60010192915050565b600082821015613282576132826130b9565b500390565b634e487b7160e01b600052603160045260246000fd5b6020808252600790820152665245534552564560c81b604082015260600190565b6000806000606084860312156132d357600080fd5b8351925060208401519150604084015190509250925092565b6000816131b6576131b66130b9565b6000806040838503121561330e57600080fd5b505080516020909101519092909150565b6020808252600a908201526923a7a7a22227a62620a960b11b604082015260600190565b60005b8381101561335e578181015183820152602001613346565b838111156124885750506000910152565b60008151808452613387816020860160208601613343565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000612a83606083018461336f565b6000602082840312156133d457600080fd5b8151612b0581612bf8565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03878116825260a06020808401829052908301879052600091889160c08501845b8a81101561345257843561343e81612bb2565b84168252938201939082019060010161342b565b5060408601989098525050505060608101929092526080909101529392505050565b60006000198214156130e8576130e86130b9565b6000825161349a818460208701613343565b9190910192915050565b602081526000612b05602083018461336f56fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564436f6c6c656374656420696e7465726573742076616c75652073686f756c6420a264697066735822122097c460154669ecb696242c5e4949564dd4d1de32e790bc07c1145b7ef4937c8d64736f6c63430008080033";
|
|
728
728
|
|
|
729
729
|
type GoodFundManagerTestConstructorParams =
|
|
730
730
|
| [signer?: Signer]
|
|
@@ -684,7 +684,7 @@ const _abi = [
|
|
|
684
684
|
];
|
|
685
685
|
|
|
686
686
|
const _bytecode =
|
|
687
|
-
"0x60a06040523060601b60805234801561001757600080fd5b5060805160601c61333f61004b60003960008181610b7001528181610bb901528181610fe10152611021015261333f6000f3fe6080604052600436106101475760003560e01c8063089445141461014c5780630e47dbd91461016e57806312ce63d914610192578063195dc7cc146101a85780631b3c90a8146101d457806324ccc1e7146101e95780633659cfe61461020b5780633e6326fc1461022b5780634162169f1461025857806344fa7622146102785780634f1ef286146102985780635aef7de6146102ab57806372d00e9f146102cb578063791b6bc3146102eb5780637c6b63b41461030b5780638aba46591461032b5780639d89e9a41461034b578063a25dc5f41461036a578063aac7efb414610380578063b6eee2c9146103a0578063b7714ae2146103c0578063c4d66de8146103e0578063c81a2b5d14610400578063d025014414610416578063e1758bd8146104a9578063e31bf132146104be578063f03b2890146104d4578063f4a7a395146104f4575b600080fd5b34801561015857600080fd5b5061016c610167366004612abe565b61050a565b005b34801561017a57600080fd5b5060a0545b6040519081526020015b60405180910390f35b34801561019e57600080fd5b5061017f609a5481565b3480156101b457600080fd5b50609f546101c29060ff1681565b60405160ff9091168152602001610189565b3480156101e057600080fd5b5061016c61055b565b3480156101f557600080fd5b506101fe6106a0565b6040516101899190612ae1565b34801561021757600080fd5b5061016c610226366004612b79565b610b65565b34801561023757600080fd5b5060675461024b906001600160a01b031681565b6040516101899190612b96565b34801561026457600080fd5b5060655461024b906001600160a01b031681565b34801561028457600080fd5b5061017f610293366004612bb8565b610c37565b61016c6102a6366004612bfe565b610fd6565b3480156102b757600080fd5b5060665461024b906001600160a01b031681565b3480156102d757600080fd5b5061024b6102e6366004612cc1565b611090565b3480156102f757600080fd5b5061016c610306366004612cc1565b6110ba565b34801561031757600080fd5b5061016c610326366004612cf3565b6110f7565b34801561033757600080fd5b5061016c610346366004612cc1565b611476565b34801561035757600080fd5b50609f546101c290610100900460ff1681565b34801561037657600080fd5b5061017f609d5481565b34801561038c57600080fd5b5061017f61039b366004612cc1565b6114b3565b3480156103ac57600080fd5b5061016c6103bb366004612d5e565b6115f5565b3480156103cc57600080fd5b5061016c6103db366004612cc1565b61200f565b3480156103ec57600080fd5b5061016c6103fb366004612b79565b61204c565b34801561040c57600080fd5b5061017f609c5481565b34801561042257600080fd5b50610473610431366004612b79565b60a16020526000908152604090205463ffffffff8116906001600160401b03600160201b8204811691600160601b81049091169060ff600160a01b9091041684565b6040805163ffffffff9590951685526001600160401b039384166020860152919092169083015215156060820152608001610189565b3480156104b557600080fd5b5061024b61212c565b3480156104ca57600080fd5b5061017f609b5481565b3480156104e057600080fd5b5061016c6104ef366004612de3565b6121b0565b34801561050057600080fd5b5061017f609e5481565b610512612440565b609f805460ff191660ff83169081179091556040519081527fceef3bba37867319344ac9cc91b1d2318daa822bae8d15118d84aedc1fbba330906020015b60405180910390a150565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156105b957600080fd5b505afa1580156105cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f19190612e11565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561064657600080fd5b505afa15801561065a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067e9190612e11565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60a0546060906000906001600160401b038111156106c0576106c0612be8565b6040519080825280602002602001820160405280156106e9578160200160208202803683370190505b5060a0549091506000906001600160401b0381111561070a5761070a612be8565b604051908082528060200260200182016040528015610733578160200160208202803683370190505b5060a0549091506000906001600160401b0381111561075457610754612be8565b6040519080825280602002602001820160405280156107c957816020015b6107b66040518060c0016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8152602001906001900390816107725790505b5090506000805b60a05481121561091a5760a081815481106107ed576107ed612e2e565b600091825260208220015460405163026c13ed60e21b81526004810192909252600160248301526001600160a01b0316906309b04fb49060440160a06040518083038186803b15801561083f57600080fd5b505afa158015610853573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108779190612e44565b955050841592506109089150505760a0818154811061089857610898612e2e565b9060005260206000200160009054906101000a90046001600160a01b03168582815181106108c8576108c8612e2e565b60200260200101906001600160a01b031690816001600160a01b031681525050818482815181106108fb576108fb612e2e565b6020026020010181815250505b8061091281612e9a565b9150506107d0565b609c546109278587612514565b6000806000600160a08054905061093e9190612eba565b94505b60008512610b575760006001600160a01b031689868151811061096657610966612e2e565b60200260200101516001600160a01b031614610b405788858151811061098e5761098e612e2e565b60200260200101516001600160a01b031663e660b53f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a069190612ef9565b9250878581518110610a1a57610a1a612e2e565b602002602001015182610a2d9190612f12565b9150610a398385612f12565b9350609e54609a54610a4b9190612f12565b421015610a8b57610a5d600180610c37565b609f54610a6d919060ff16612f2a565b610a7c836402540be400612f2a565b610a869190612f49565b610aaf565b610a96600180610c37565b610aa5836402540be400612f2a565b610aaf9190612f49565b90506040518060c001604052808a8781518110610ace57610ace612e2e565b60200260200101516001600160a01b03168152602001898781518110610af657610af6612e2e565b60200260200101518152602001838152602001858152602001828152602001858310151515815250878681518110610b3057610b30612e2e565b6020026020010181905250610b45565b610b57565b84610b4f81612f6b565b955050610941565b509498975050505050505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610bb75760405162461bcd60e51b8152600401610bae90612f89565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610be9612538565b6001600160a01b031614610c0f5760405162461bcd60e51b8152600401610bae90612fc3565b610c1881612554565b60408051600080825260208201909252610c349183919061255c565b50565b60675460405163bf40fac160e01b815260206004820152601060248201526f4741535f50524943455f4f5241434c4560801b604482015260009182916001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610ca057600080fd5b505afa158015610cb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd89190612e11565b90506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1557600080fd5b505afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d9190612ef9565b60675460405163bf40fac160e01b815260206004820152600e60248201526d4441495f4554485f4f5241434c4560901b60448201529192506000916001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610db557600080fd5b505afa158015610dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ded9190612e11565b90506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2a57600080fd5b505afa158015610e3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e629190612ef9565b9050600081610e7985670de0b6b3a7640000612f2a565b610e839190612f49565b90508615610ea157610e958882612f2a565b95505050505050610fd0565b60675460405163bf40fac160e01b815289916001600160a01b03169063bf40fac190610ecf90600401612ffd565b60206040518083038186803b158015610ee757600080fd5b505afa158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1f9190612e11565b6001600160a01b031663182df0f56040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5757600080fd5b505afa158015610f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8f9190612ef9565b610f9e6402540be40084612f49565b610fb4906b204fce5e3e25026110000000612f2a565b610fbe9190612f49565b610fc89190612f2a565b955050505050505b92915050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561101f5760405162461bcd60e51b8152600401610bae90612f89565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611051612538565b6001600160a01b0316146110775760405162461bcd60e51b8152600401610bae90612fc3565b61108082612554565b61108c8282600161255c565b5050565b60a081815481106110a057600080fd5b6000918252602090912001546001600160a01b0316905081565b6110c2612440565b609c8190556040518181527fcc09a90bef37a706a00b53dd3f515f9326b029e41271b4bb87777773962cbc6090602001610550565b6110ff612440565b808061112b57506001600160a01b038416600090815260a16020526040902054600160a01b900460ff16155b6111715760405162461bcd60e51b815260206004820152601760248201527663616e277420756e646f20626c61636b6c697374696e6760481b6044820152606401610bae565b600060405180608001604052808763ffffffff16815260200160008663ffffffff161161119e57436111a0565b855b63ffffffff166001600160401b0316815260200160008563ffffffff16116111cc5763ffffffff6111ce565b845b63ffffffff90811682528415156020928301526001600160a01b038816600090815260a18352604080822085518154958701519287015160608801511515600160a01b0260ff60a01b196001600160401b03928316600160601b0216600160601b600160a81b031995909216600160201b026001600160601b0319909816929096169190911795909517919091169390931791909117909155909150805b60a05460ff821610156112cf57866001600160a01b031660a08260ff168154811061129957611299612e2e565b6000918252602090912001546001600160a01b031614156112bd57600191506112cf565b806112c78161301b565b91505061126c565b8180156112e7575083806112e7575063ffffffff8816155b156113a15760a080546112fc9060019061303b565b8154811061130c5761130c612e2e565b60009182526020909120015460a080546001600160a01b039092169160ff841690811061133b5761133b612e2e565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a080548061137a5761137a613052565b600082815260209020810160001990810180546001600160a01b031916905501905561140d565b811580156113bc575083806113ba575063ffffffff8816155b155b1561140d5760a080546001810182556000919091527f78fdc8d422c49ced035a9edf18d00d3c6a8d81df210f3e5e448e045e77b41e880180546001600160a01b0319166001600160a01b0389161790555b6040805163ffffffff8a811682526001600160a01b038a1660208301528881168284015287166060820152851515608082015290517fcfeece178cde5fc0c509d31ec15ec2d996342bec5d9820be8aabbda11a21205b9181900360a00190a15050505050505050565b61147e612440565b609d8190556040518181527f08deabc2cb3286b159d9350bf977350e1f31e39ae44075269082a800e9ee59de90602001610550565b6000806114c1836000610c37565b60675460405163bf40fac160e01b81529192506000916001600160a01b039091169063bf40fac1906114f590600401613068565b60206040518083038186803b15801561150d57600080fd5b505afa158015611521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115459190612e11565b6001600160a01b0316639d1b464a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157d57600080fd5b505afa158015611591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b59190612ef9565b90506a084595161401484a000000816115d984676765c793fa10079d601b1b612f2a565b6115e39190612f49565b6115ed9190612f49565b949350505050565b60005a60675460405163bf40fac160e01b81529192506000918291829182916001600160a01b03169063bf40fac19061163090600401612ffd565b60206040518083038186803b15801561164857600080fd5b505afa15801561165c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116809190612e11565b60675460405163bf40fac160e01b815260206004820152600360248201526244414960e81b60448201529192506000916001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156116dd57600080fd5b505afa1580156116f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117159190612e11565b60675460405163bf40fac160e01b81529192506001600160a01b03169063bf40fac19061174490600401613068565b60206040518083038186803b15801561175c57600080fd5b505afa158015611770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117949190612e11565b92506000816001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016117c49190612b96565b60206040518083038186803b1580156117dc57600080fd5b505afa1580156117f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118149190612ef9565b90506000836001600160a01b03166370a08231866040518263ffffffff1660e01b81526004016118449190612b96565b60206040518083038186803b15801561185c57600080fd5b505afa158015611870573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118949190612ef9565b905060006118a360018c61303b565b90505b60008c8c838181106118ba576118ba612e2e565b90506020020160208101906118cf9190612b79565b6001600160a01b031614611985578b8b828181106118ef576118ef612e2e565b90506020020160208101906119049190612b79565b6001600160a01b03166337455990876040518263ffffffff1660e01b815260040161192f9190612b96565b606060405180830381600087803b15801561194957600080fd5b505af115801561195d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119819190613089565b5050505b8061198f576119a1565b80611999816130b7565b9150506118a6565b50600082846001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016119d19190612b96565b60206040518083038186803b1580156119e957600080fd5b505afa1580156119fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a219190612ef9565b611a2b919061303b565b604051631de778a560e01b815260048101829052602481018490526001600160a01b03878116604483015291925090871690631de778a5906064016040805180830381600087803b158015611a7f57600080fd5b505af1158015611a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab791906130c6565b60675460405163bf40fac160e01b8152929a509098506000916001600160a01b039091169063bf40fac190611aee906004016130ea565b60206040518083038186803b158015611b0657600080fd5b505afa158015611b1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3e9190612e11565b90508815611d6e5760675460405163bf40fac160e01b815260206004820152600f60248201526e1094925111d157d0d3d395149050d5608a1b60448201526001600160a01b0383811692634000aea09291169063bf40fac19060640160206040518083038186803b158015611bb257600080fd5b505afa158015611bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bea9190612e11565b60675460405163bf40fac160e01b815260206004820152600d60248201526c15509257d49150d25412515395609a1b60448201528d916001600160a01b03169063bf40fac19060640160206040518083038186803b158015611c4b57600080fd5b505afa158015611c5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c839190612e11565b604051602001611ca6919060609190911b6001600160601b031916815260140190565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401611cd393929190613166565b602060405180830381600087803b158015611ced57600080fd5b505af1158015611d01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d25919061318d565b611d6e5760405162461bcd60e51b815260206004820152601a6024820152791d589a48189c9a5919d9481d1c985b9cd9995c8819985a5b195960321b6044820152606401610bae565b506000945050508715159150611fb290505760006064609d545a611d92908961303b565b611d9c9190612f12565b611da790606e612f2a565b611db19190612f49565b9050611dbc816114b3565b60675460405163bf40fac160e01b81529193506001600160a01b038086169263f8a9978f929091169063bf40fac190611df790600401612ffd565b60206040518083038186803b158015611e0f57600080fd5b505afa158015611e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e479190612e11565b33856040518463ffffffff1660e01b8152600401611e67939291906131aa565b600060405180830381600087803b158015611e8157600080fd5b505af1158015611e95573d6000803e3d6000fd5b505050506000611eb05a611ea9908961303b565b6000610c37565b9050609e54609a54611ec29190612f12565b4210611f315780851015611f2c5760405162461bcd60e51b815260206004820152603e60248201526000805160206132ea83398151915260448201527f6265206c6172676572207468616e207370656e742067617320636f73747300006064820152608401610bae565b611faf565b609f54611f4290829060ff16612f2a565b851015611faf5760405162461bcd60e51b815260206004820152604160248201526000805160206132ea83398151915260448201527f626520696e7465726573744d756c7469706c69657220782067617320636f73746064820152607360f81b608482015260a401610bae565b50505b336001600160a01b03167fa152fd34a7e4c4c82eb0c0b0319d3913dc9189d62ae2fe75aef590f0e391a928838a8a878987604051611ff5969594939291906131ce565b60405180910390a2505042609a55505043609b5550505050565b612017612440565b609e8190556040518181527f28b3b60d9fa0f6edab793c2422ff4784f9381ff9d2062481d1254f732452bfbf90602001610550565b600054610100900460ff1680612065575060005460ff16155b6120c85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610bae565b600054610100900460ff161580156120ea576000805461ffff19166101011790555b6120f3826126a3565b6203d090609d55624f1a00609e55609f8054620cf850609c5561ffff1916610704179055801561108c576000805461ff00191690555050565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac19061215b906004016130ea565b60206040518083038186803b15801561217357600080fd5b505afa158015612187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ab9190612e11565b905090565b33600090815260a160209081526040918290208251608081018452905463ffffffff81168252600160201b81046001600160401b03908116938301849052600160601b82041693820193909352600160a01b90920460ff161515606083015261225b5760405162461bcd60e51b815260206004820152601f60248201527f5374616b696e6720636f6e7472616374206e6f742072656769737465726564006044820152606401610bae565b80516020820151604080840151905163574c5c9360e01b81526001600160a01b038616600482015263ffffffff90931660248401526001600160401b039182166044840152166064820152600090339063574c5c9390608401602060405180830381600087803b1580156122ce57600080fd5b505af11580156122e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123069190612ef9565b905060008111801561231a57506060820151155b1561243a5760675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061234d90600401613068565b60206040518083038186803b15801561236557600080fd5b505afa158015612379573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239d9190612e11565b6001600160a01b031663f8a9978f8585846040518463ffffffff1660e01b81526004016123cc939291906131aa565b600060405180830381600087803b1580156123e657600080fd5b505af11580156123fa573d6000803e3d6000fd5b505050507f5c4a97f844ad1dc8cad420327f32da9b4bd075bab26efa2ae5bd66f84d1fce07338483604051612431939291906131aa565b60405180910390a15b50505050565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561248457600080fd5b505afa158015612498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124bc9190612e11565b6001600160a01b0316146125125760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610bae565b565b60018251111561108c5761108c8282600060018651612533919061303b565b6126c6565b6000805160206132a3833981519152546001600160a01b031690565b610c34612440565b6000612566612538565b9050612571846128c0565b60008351118061257e5750815b1561258f5761258d8484612953565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661269c57805460ff1916600117815560405161260a9086906125db908590602401612b96565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052612953565b50805460ff1916815561261b612538565b6001600160a01b0316826001600160a01b0316146126935760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610bae565b61269c85612a3e565b5050505050565b606780546001600160a01b0319166001600160a01b038316179055610c3461055b565b8082101561243a5760008460026126dd8486612f12565b6126e79190612f49565b815181106126f7576126f7612e2e565b6020908102919091010151905082825b8287838151811061271a5761271a612e2e565b6020026020010151101561273a57816127328161323f565b925050612707565b8287828151811061274d5761274d612e2e565b6020026020010151111561276d5780612765816130b7565b91505061273a565b80821061277957612882565b86818151811061278b5761278b612e2e565b60200260200101518783815181106127a5576127a5612e2e565b60200260200101518884815181106127bf576127bf612e2e565b602002602001018984815181106127d8576127d8612e2e565b60200260200101828152508281525050508581815181106127fb576127fb612e2e565b602002602001015186838151811061281557612815612e2e565b602002602001015187848151811061282f5761282f612e2e565b6020026020010188848151811061284857612848612e2e565b6001600160a01b039384166020918202929092010152911690528161286c8161323f565b925050808061287a906130b7565b915050612707565b8085101561289657612896878787846126c6565b806128a08161323f565b915050838110156128b7576128b7878783876126c6565b50505050505050565b803b6129245760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610bae565b6000805160206132a383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6129b25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610bae565b600080846001600160a01b0316846040516129cd9190613253565b600060405180830381855af49150503d8060008114612a08576040519150601f19603f3d011682016040523d82523d6000602084013e612a0d565b606091505b5091509150612a3582826040518060600160405280602781526020016132c360279139612a7e565b95945050505050565b612a47816128c0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60608315612a8d575081612ab7565b825115612a9d5782518084602001fd5b8160405162461bcd60e51b8152600401610bae919061326f565b9392505050565b600060208284031215612ad057600080fd5b813560ff81168114612ab757600080fd5b602080825282518282018190526000919060409081850190868401855b82811015612b5757815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080808201519086015260a09081015115159085015260c09093019290850190600101612afe565b5091979650505050505050565b6001600160a01b0381168114610c3457600080fd5b600060208284031215612b8b57600080fd5b8135612ab781612b64565b6001600160a01b0391909116815260200190565b8015158114610c3457600080fd5b60008060408385031215612bcb57600080fd5b823591506020830135612bdd81612baa565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612c1157600080fd5b8235612c1c81612b64565b915060208301356001600160401b0380821115612c3857600080fd5b818501915085601f830112612c4c57600080fd5b813581811115612c5e57612c5e612be8565b604051601f8201601f19908116603f01168101908382118183101715612c8657612c86612be8565b81604052828152886020848701011115612c9f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215612cd357600080fd5b5035919050565b803563ffffffff81168114612cee57600080fd5b919050565b600080600080600060a08688031215612d0b57600080fd5b612d1486612cda565b94506020860135612d2481612b64565b9350612d3260408701612cda565b9250612d4060608701612cda565b91506080860135612d5081612baa565b809150509295509295909350565b600080600060408486031215612d7357600080fd5b83356001600160401b0380821115612d8a57600080fd5b818601915086601f830112612d9e57600080fd5b813581811115612dad57600080fd5b8760208260051b8501011115612dc257600080fd5b60209283019550935050840135612dd881612baa565b809150509250925092565b60008060408385031215612df657600080fd5b8235612e0181612b64565b91506020830135612bdd81612b64565b600060208284031215612e2357600080fd5b8151612ab781612b64565b634e487b7160e01b600052603260045260246000fd5b600080600080600060a08688031215612e5c57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b634e487b7160e01b600052601160045260246000fd5b60006001600160ff1b03821415612eb357612eb3612e84565b5060010190565b60008083128015600160ff1b850184121615612ed857612ed8612e84565b6001600160ff1b0384018313811615612ef357612ef3612e84565b50500390565b600060208284031215612f0b57600080fd5b5051919050565b60008219821115612f2557612f25612e84565b500190565b6000816000190483118215151615612f4457612f44612e84565b500290565b600082612f6657634e487b7160e01b600052601260045260246000fd5b500490565b6000600160ff1b821415612f8157612f81612e84565b506000190190565b6020808252602c9082015260008051602061328383398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061328383398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252600490820152634344414960e01b604082015260600190565b600060ff821660ff81141561303257613032612e84565b60010192915050565b60008282101561304d5761304d612e84565b500390565b634e487b7160e01b600052603160045260246000fd5b6020808252600790820152665245534552564560c81b604082015260600190565b60008060006060848603121561309e57600080fd5b8351925060208401519150604084015190509250925092565b600081612f8157612f81612e84565b600080604083850312156130d957600080fd5b505080516020909101519092909150565b6020808252600a908201526923a7a7a22227a62620a960b11b604082015260600190565b60005b83811015613129578181015183820152602001613111565b8381111561243a5750506000910152565b6000815180845261315281602086016020860161310e565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000612a35606083018461313a565b60006020828403121561319f57600080fd5b8151612ab781612baa565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03878116825260a06020808401829052908301879052600091889160c08501845b8a81101561321d57843561320981612b64565b8416825293820193908201906001016131f6565b5060408601989098525050505060608101929092526080909101529392505050565b6000600019821415612eb357612eb3612e84565b6000825161326581846020870161310e565b9190910192915050565b602081526000612ab7602083018461313a56fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564436f6c6c656374656420696e7465726573742076616c75652073686f756c6420a26469706673582212200a8ce0851e48f33684f37482b9c3b9a87e50be0376bf993c0aa49529f7c4e56e64736f6c63430008080033";
|
|
687
|
+
"0x60a06040523060601b60805234801561001757600080fd5b5060805160601c61333f61004b60003960008181610b7001528181610bb901528181610fe10152611021015261333f6000f3fe6080604052600436106101475760003560e01c8063089445141461014c5780630e47dbd91461016e57806312ce63d914610192578063195dc7cc146101a85780631b3c90a8146101d457806324ccc1e7146101e95780633659cfe61461020b5780633e6326fc1461022b5780634162169f1461025857806344fa7622146102785780634f1ef286146102985780635aef7de6146102ab57806372d00e9f146102cb578063791b6bc3146102eb5780637c6b63b41461030b5780638aba46591461032b5780639d89e9a41461034b578063a25dc5f41461036a578063aac7efb414610380578063b6eee2c9146103a0578063b7714ae2146103c0578063c4d66de8146103e0578063c81a2b5d14610400578063d025014414610416578063e1758bd8146104a9578063e31bf132146104be578063f03b2890146104d4578063f4a7a395146104f4575b600080fd5b34801561015857600080fd5b5061016c610167366004612abe565b61050a565b005b34801561017a57600080fd5b5060a0545b6040519081526020015b60405180910390f35b34801561019e57600080fd5b5061017f609a5481565b3480156101b457600080fd5b50609f546101c29060ff1681565b60405160ff9091168152602001610189565b3480156101e057600080fd5b5061016c61055b565b3480156101f557600080fd5b506101fe6106a0565b6040516101899190612ae1565b34801561021757600080fd5b5061016c610226366004612b79565b610b65565b34801561023757600080fd5b5060675461024b906001600160a01b031681565b6040516101899190612b96565b34801561026457600080fd5b5060655461024b906001600160a01b031681565b34801561028457600080fd5b5061017f610293366004612bb8565b610c37565b61016c6102a6366004612bfe565b610fd6565b3480156102b757600080fd5b5060665461024b906001600160a01b031681565b3480156102d757600080fd5b5061024b6102e6366004612cc1565b611090565b3480156102f757600080fd5b5061016c610306366004612cc1565b6110ba565b34801561031757600080fd5b5061016c610326366004612cf3565b6110f7565b34801561033757600080fd5b5061016c610346366004612cc1565b611476565b34801561035757600080fd5b50609f546101c290610100900460ff1681565b34801561037657600080fd5b5061017f609d5481565b34801561038c57600080fd5b5061017f61039b366004612cc1565b6114b3565b3480156103ac57600080fd5b5061016c6103bb366004612d5e565b6115f5565b3480156103cc57600080fd5b5061016c6103db366004612cc1565b61200f565b3480156103ec57600080fd5b5061016c6103fb366004612b79565b61204c565b34801561040c57600080fd5b5061017f609c5481565b34801561042257600080fd5b50610473610431366004612b79565b60a16020526000908152604090205463ffffffff8116906001600160401b03600160201b8204811691600160601b81049091169060ff600160a01b9091041684565b6040805163ffffffff9590951685526001600160401b039384166020860152919092169083015215156060820152608001610189565b3480156104b557600080fd5b5061024b61212c565b3480156104ca57600080fd5b5061017f609b5481565b3480156104e057600080fd5b5061016c6104ef366004612de3565b6121b0565b34801561050057600080fd5b5061017f609e5481565b610512612440565b609f805460ff191660ff83169081179091556040519081527fceef3bba37867319344ac9cc91b1d2318daa822bae8d15118d84aedc1fbba330906020015b60405180910390a150565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156105b957600080fd5b505afa1580156105cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f19190612e11565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561064657600080fd5b505afa15801561065a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067e9190612e11565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60a0546060906000906001600160401b038111156106c0576106c0612be8565b6040519080825280602002602001820160405280156106e9578160200160208202803683370190505b5060a0549091506000906001600160401b0381111561070a5761070a612be8565b604051908082528060200260200182016040528015610733578160200160208202803683370190505b5060a0549091506000906001600160401b0381111561075457610754612be8565b6040519080825280602002602001820160405280156107c957816020015b6107b66040518060c0016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8152602001906001900390816107725790505b5090506000805b60a05481121561091a5760a081815481106107ed576107ed612e2e565b600091825260208220015460405163026c13ed60e21b81526004810192909252600160248301526001600160a01b0316906309b04fb49060440160a06040518083038186803b15801561083f57600080fd5b505afa158015610853573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108779190612e44565b955050841592506109089150505760a0818154811061089857610898612e2e565b9060005260206000200160009054906101000a90046001600160a01b03168582815181106108c8576108c8612e2e565b60200260200101906001600160a01b031690816001600160a01b031681525050818482815181106108fb576108fb612e2e565b6020026020010181815250505b8061091281612e9a565b9150506107d0565b609c546109278587612514565b6000806000600160a08054905061093e9190612eba565b94505b60008512610b575760006001600160a01b031689868151811061096657610966612e2e565b60200260200101516001600160a01b031614610b405788858151811061098e5761098e612e2e565b60200260200101516001600160a01b031663e660b53f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a069190612ef9565b9250878581518110610a1a57610a1a612e2e565b602002602001015182610a2d9190612f12565b9150610a398385612f12565b9350609e54609a54610a4b9190612f12565b421015610a8b57610a5d600180610c37565b609f54610a6d919060ff16612f2a565b610a7c836402540be400612f2a565b610a869190612f49565b610aaf565b610a96600180610c37565b610aa5836402540be400612f2a565b610aaf9190612f49565b90506040518060c001604052808a8781518110610ace57610ace612e2e565b60200260200101516001600160a01b03168152602001898781518110610af657610af6612e2e565b60200260200101518152602001838152602001858152602001828152602001858310151515815250878681518110610b3057610b30612e2e565b6020026020010181905250610b45565b610b57565b84610b4f81612f6b565b955050610941565b509498975050505050505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610bb75760405162461bcd60e51b8152600401610bae90612f89565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610be9612538565b6001600160a01b031614610c0f5760405162461bcd60e51b8152600401610bae90612fc3565b610c1881612554565b60408051600080825260208201909252610c349183919061255c565b50565b60675460405163bf40fac160e01b815260206004820152601060248201526f4741535f50524943455f4f5241434c4560801b604482015260009182916001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610ca057600080fd5b505afa158015610cb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd89190612e11565b90506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1557600080fd5b505afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d9190612ef9565b60675460405163bf40fac160e01b815260206004820152600e60248201526d4441495f4554485f4f5241434c4560901b60448201529192506000916001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610db557600080fd5b505afa158015610dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ded9190612e11565b90506000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2a57600080fd5b505afa158015610e3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e629190612ef9565b9050600081610e7985670de0b6b3a7640000612f2a565b610e839190612f49565b90508615610ea157610e958882612f2a565b95505050505050610fd0565b60675460405163bf40fac160e01b815289916001600160a01b03169063bf40fac190610ecf90600401612ffd565b60206040518083038186803b158015610ee757600080fd5b505afa158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1f9190612e11565b6001600160a01b031663182df0f56040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5757600080fd5b505afa158015610f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8f9190612ef9565b610f9e6402540be40084612f49565b610fb4906b204fce5e3e25026110000000612f2a565b610fbe9190612f49565b610fc89190612f2a565b955050505050505b92915050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561101f5760405162461bcd60e51b8152600401610bae90612f89565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611051612538565b6001600160a01b0316146110775760405162461bcd60e51b8152600401610bae90612fc3565b61108082612554565b61108c8282600161255c565b5050565b60a081815481106110a057600080fd5b6000918252602090912001546001600160a01b0316905081565b6110c2612440565b609c8190556040518181527fcc09a90bef37a706a00b53dd3f515f9326b029e41271b4bb87777773962cbc6090602001610550565b6110ff612440565b808061112b57506001600160a01b038416600090815260a16020526040902054600160a01b900460ff16155b6111715760405162461bcd60e51b815260206004820152601760248201527663616e277420756e646f20626c61636b6c697374696e6760481b6044820152606401610bae565b600060405180608001604052808763ffffffff16815260200160008663ffffffff161161119e57436111a0565b855b63ffffffff166001600160401b0316815260200160008563ffffffff16116111cc5763ffffffff6111ce565b845b63ffffffff90811682528415156020928301526001600160a01b038816600090815260a18352604080822085518154958701519287015160608801511515600160a01b0260ff60a01b196001600160401b03928316600160601b0216600160601b600160a81b031995909216600160201b026001600160601b0319909816929096169190911795909517919091169390931791909117909155909150805b60a05460ff821610156112cf57866001600160a01b031660a08260ff168154811061129957611299612e2e565b6000918252602090912001546001600160a01b031614156112bd57600191506112cf565b806112c78161301b565b91505061126c565b8180156112e7575083806112e7575063ffffffff8816155b156113a15760a080546112fc9060019061303b565b8154811061130c5761130c612e2e565b60009182526020909120015460a080546001600160a01b039092169160ff841690811061133b5761133b612e2e565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a080548061137a5761137a613052565b600082815260209020810160001990810180546001600160a01b031916905501905561140d565b811580156113bc575083806113ba575063ffffffff8816155b155b1561140d5760a080546001810182556000919091527f78fdc8d422c49ced035a9edf18d00d3c6a8d81df210f3e5e448e045e77b41e880180546001600160a01b0319166001600160a01b0389161790555b6040805163ffffffff8a811682526001600160a01b038a1660208301528881168284015287166060820152851515608082015290517fcfeece178cde5fc0c509d31ec15ec2d996342bec5d9820be8aabbda11a21205b9181900360a00190a15050505050505050565b61147e612440565b609d8190556040518181527f08deabc2cb3286b159d9350bf977350e1f31e39ae44075269082a800e9ee59de90602001610550565b6000806114c1836000610c37565b60675460405163bf40fac160e01b81529192506000916001600160a01b039091169063bf40fac1906114f590600401613068565b60206040518083038186803b15801561150d57600080fd5b505afa158015611521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115459190612e11565b6001600160a01b0316639d1b464a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157d57600080fd5b505afa158015611591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b59190612ef9565b90506a084595161401484a000000816115d984676765c793fa10079d601b1b612f2a565b6115e39190612f49565b6115ed9190612f49565b949350505050565b60005a60675460405163bf40fac160e01b81529192506000918291829182916001600160a01b03169063bf40fac19061163090600401612ffd565b60206040518083038186803b15801561164857600080fd5b505afa15801561165c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116809190612e11565b60675460405163bf40fac160e01b815260206004820152600360248201526244414960e81b60448201529192506000916001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156116dd57600080fd5b505afa1580156116f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117159190612e11565b60675460405163bf40fac160e01b81529192506001600160a01b03169063bf40fac19061174490600401613068565b60206040518083038186803b15801561175c57600080fd5b505afa158015611770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117949190612e11565b92506000816001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016117c49190612b96565b60206040518083038186803b1580156117dc57600080fd5b505afa1580156117f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118149190612ef9565b90506000836001600160a01b03166370a08231866040518263ffffffff1660e01b81526004016118449190612b96565b60206040518083038186803b15801561185c57600080fd5b505afa158015611870573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118949190612ef9565b905060006118a360018c61303b565b90505b60008c8c838181106118ba576118ba612e2e565b90506020020160208101906118cf9190612b79565b6001600160a01b031614611985578b8b828181106118ef576118ef612e2e565b90506020020160208101906119049190612b79565b6001600160a01b03166337455990876040518263ffffffff1660e01b815260040161192f9190612b96565b606060405180830381600087803b15801561194957600080fd5b505af115801561195d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119819190613089565b5050505b8061198f576119a1565b80611999816130b7565b9150506118a6565b50600082846001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016119d19190612b96565b60206040518083038186803b1580156119e957600080fd5b505afa1580156119fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a219190612ef9565b611a2b919061303b565b604051631de778a560e01b815260048101829052602481018490526001600160a01b03878116604483015291925090871690631de778a5906064016040805180830381600087803b158015611a7f57600080fd5b505af1158015611a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab791906130c6565b60675460405163bf40fac160e01b8152929a509098506000916001600160a01b039091169063bf40fac190611aee906004016130ea565b60206040518083038186803b158015611b0657600080fd5b505afa158015611b1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3e9190612e11565b90508815611d6e5760675460405163bf40fac160e01b815260206004820152600f60248201526e1094925111d157d0d3d395149050d5608a1b60448201526001600160a01b0383811692634000aea09291169063bf40fac19060640160206040518083038186803b158015611bb257600080fd5b505afa158015611bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bea9190612e11565b60675460405163bf40fac160e01b815260206004820152600d60248201526c15509257d49150d25412515395609a1b60448201528d916001600160a01b03169063bf40fac19060640160206040518083038186803b158015611c4b57600080fd5b505afa158015611c5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c839190612e11565b604051602001611ca6919060609190911b6001600160601b031916815260140190565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401611cd393929190613166565b602060405180830381600087803b158015611ced57600080fd5b505af1158015611d01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d25919061318d565b611d6e5760405162461bcd60e51b815260206004820152601a6024820152791d589a48189c9a5919d9481d1c985b9cd9995c8819985a5b195960321b6044820152606401610bae565b506000945050508715159150611fb290505760006064609d545a611d92908961303b565b611d9c9190612f12565b611da790606e612f2a565b611db19190612f49565b9050611dbc816114b3565b60675460405163bf40fac160e01b81529193506001600160a01b038086169263f8a9978f929091169063bf40fac190611df790600401612ffd565b60206040518083038186803b158015611e0f57600080fd5b505afa158015611e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e479190612e11565b33856040518463ffffffff1660e01b8152600401611e67939291906131aa565b600060405180830381600087803b158015611e8157600080fd5b505af1158015611e95573d6000803e3d6000fd5b505050506000611eb05a611ea9908961303b565b6000610c37565b9050609e54609a54611ec29190612f12565b4210611f315780851015611f2c5760405162461bcd60e51b815260206004820152603e60248201526000805160206132ea83398151915260448201527f6265206c6172676572207468616e207370656e742067617320636f73747300006064820152608401610bae565b611faf565b609f54611f4290829060ff16612f2a565b851015611faf5760405162461bcd60e51b815260206004820152604160248201526000805160206132ea83398151915260448201527f626520696e7465726573744d756c7469706c69657220782067617320636f73746064820152607360f81b608482015260a401610bae565b50505b336001600160a01b03167fa152fd34a7e4c4c82eb0c0b0319d3913dc9189d62ae2fe75aef590f0e391a928838a8a878987604051611ff5969594939291906131ce565b60405180910390a2505042609a55505043609b5550505050565b612017612440565b609e8190556040518181527f28b3b60d9fa0f6edab793c2422ff4784f9381ff9d2062481d1254f732452bfbf90602001610550565b600054610100900460ff1680612065575060005460ff16155b6120c85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610bae565b600054610100900460ff161580156120ea576000805461ffff19166101011790555b6120f3826126a3565b6203d090609d55624f1a00609e55609f8054620cf850609c5561ffff1916610704179055801561108c576000805461ff00191690555050565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac19061215b906004016130ea565b60206040518083038186803b15801561217357600080fd5b505afa158015612187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ab9190612e11565b905090565b33600090815260a160209081526040918290208251608081018452905463ffffffff81168252600160201b81046001600160401b03908116938301849052600160601b82041693820193909352600160a01b90920460ff161515606083015261225b5760405162461bcd60e51b815260206004820152601f60248201527f5374616b696e6720636f6e7472616374206e6f742072656769737465726564006044820152606401610bae565b80516020820151604080840151905163574c5c9360e01b81526001600160a01b038616600482015263ffffffff90931660248401526001600160401b039182166044840152166064820152600090339063574c5c9390608401602060405180830381600087803b1580156122ce57600080fd5b505af11580156122e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123069190612ef9565b905060008111801561231a57506060820151155b1561243a5760675460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061234d90600401613068565b60206040518083038186803b15801561236557600080fd5b505afa158015612379573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239d9190612e11565b6001600160a01b031663f8a9978f8585846040518463ffffffff1660e01b81526004016123cc939291906131aa565b600060405180830381600087803b1580156123e657600080fd5b505af11580156123fa573d6000803e3d6000fd5b505050507f5c4a97f844ad1dc8cad420327f32da9b4bd075bab26efa2ae5bd66f84d1fce07338483604051612431939291906131aa565b60405180910390a15b50505050565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561248457600080fd5b505afa158015612498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124bc9190612e11565b6001600160a01b0316146125125760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610bae565b565b60018251111561108c5761108c8282600060018651612533919061303b565b6126c6565b6000805160206132a3833981519152546001600160a01b031690565b610c34612440565b6000612566612538565b9050612571846128c0565b60008351118061257e5750815b1561258f5761258d8484612953565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661269c57805460ff1916600117815560405161260a9086906125db908590602401612b96565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052612953565b50805460ff1916815561261b612538565b6001600160a01b0316826001600160a01b0316146126935760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610bae565b61269c85612a3e565b5050505050565b606780546001600160a01b0319166001600160a01b038316179055610c3461055b565b8082101561243a5760008460026126dd8486612f12565b6126e79190612f49565b815181106126f7576126f7612e2e565b6020908102919091010151905082825b8287838151811061271a5761271a612e2e565b6020026020010151101561273a57816127328161323f565b925050612707565b8287828151811061274d5761274d612e2e565b6020026020010151111561276d5780612765816130b7565b91505061273a565b80821061277957612882565b86818151811061278b5761278b612e2e565b60200260200101518783815181106127a5576127a5612e2e565b60200260200101518884815181106127bf576127bf612e2e565b602002602001018984815181106127d8576127d8612e2e565b60200260200101828152508281525050508581815181106127fb576127fb612e2e565b602002602001015186838151811061281557612815612e2e565b602002602001015187848151811061282f5761282f612e2e565b6020026020010188848151811061284857612848612e2e565b6001600160a01b039384166020918202929092010152911690528161286c8161323f565b925050808061287a906130b7565b915050612707565b8085101561289657612896878787846126c6565b806128a08161323f565b915050838110156128b7576128b7878783876126c6565b50505050505050565b803b6129245760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610bae565b6000805160206132a383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6129b25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610bae565b600080846001600160a01b0316846040516129cd9190613253565b600060405180830381855af49150503d8060008114612a08576040519150601f19603f3d011682016040523d82523d6000602084013e612a0d565b606091505b5091509150612a3582826040518060600160405280602781526020016132c360279139612a7e565b95945050505050565b612a47816128c0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60608315612a8d575081612ab7565b825115612a9d5782518084602001fd5b8160405162461bcd60e51b8152600401610bae919061326f565b9392505050565b600060208284031215612ad057600080fd5b813560ff81168114612ab757600080fd5b602080825282518282018190526000919060409081850190868401855b82811015612b5757815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080808201519086015260a09081015115159085015260c09093019290850190600101612afe565b5091979650505050505050565b6001600160a01b0381168114610c3457600080fd5b600060208284031215612b8b57600080fd5b8135612ab781612b64565b6001600160a01b0391909116815260200190565b8015158114610c3457600080fd5b60008060408385031215612bcb57600080fd5b823591506020830135612bdd81612baa565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612c1157600080fd5b8235612c1c81612b64565b915060208301356001600160401b0380821115612c3857600080fd5b818501915085601f830112612c4c57600080fd5b813581811115612c5e57612c5e612be8565b604051601f8201601f19908116603f01168101908382118183101715612c8657612c86612be8565b81604052828152886020848701011115612c9f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215612cd357600080fd5b5035919050565b803563ffffffff81168114612cee57600080fd5b919050565b600080600080600060a08688031215612d0b57600080fd5b612d1486612cda565b94506020860135612d2481612b64565b9350612d3260408701612cda565b9250612d4060608701612cda565b91506080860135612d5081612baa565b809150509295509295909350565b600080600060408486031215612d7357600080fd5b83356001600160401b0380821115612d8a57600080fd5b818601915086601f830112612d9e57600080fd5b813581811115612dad57600080fd5b8760208260051b8501011115612dc257600080fd5b60209283019550935050840135612dd881612baa565b809150509250925092565b60008060408385031215612df657600080fd5b8235612e0181612b64565b91506020830135612bdd81612b64565b600060208284031215612e2357600080fd5b8151612ab781612b64565b634e487b7160e01b600052603260045260246000fd5b600080600080600060a08688031215612e5c57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b634e487b7160e01b600052601160045260246000fd5b60006001600160ff1b03821415612eb357612eb3612e84565b5060010190565b60008083128015600160ff1b850184121615612ed857612ed8612e84565b6001600160ff1b0384018313811615612ef357612ef3612e84565b50500390565b600060208284031215612f0b57600080fd5b5051919050565b60008219821115612f2557612f25612e84565b500190565b6000816000190483118215151615612f4457612f44612e84565b500290565b600082612f6657634e487b7160e01b600052601260045260246000fd5b500490565b6000600160ff1b821415612f8157612f81612e84565b506000190190565b6020808252602c9082015260008051602061328383398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061328383398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252600490820152634344414960e01b604082015260600190565b600060ff821660ff81141561303257613032612e84565b60010192915050565b60008282101561304d5761304d612e84565b500390565b634e487b7160e01b600052603160045260246000fd5b6020808252600790820152665245534552564560c81b604082015260600190565b60008060006060848603121561309e57600080fd5b8351925060208401519150604084015190509250925092565b600081612f8157612f81612e84565b600080604083850312156130d957600080fd5b505080516020909101519092909150565b6020808252600a908201526923a7a7a22227a62620a960b11b604082015260600190565b60005b83811015613129578181015183820152602001613111565b8381111561243a5750506000910152565b6000815180845261315281602086016020860161310e565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000612a35606083018461313a565b60006020828403121561319f57600080fd5b8151612ab781612baa565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03878116825260a06020808401829052908301879052600091889160c08501845b8a81101561321d57843561320981612b64565b8416825293820193908201906001016131f6565b5060408601989098525050505060608101929092526080909101529392505050565b6000600019821415612eb357612eb3612e84565b6000825161326581846020870161310e565b9190910192915050565b602081526000612ab7602083018461313a56fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564436f6c6c656374656420696e7465726573742076616c75652073686f756c6420a26469706673582212208f4338c82d6683d8f43bf2ccbe149634c60e1d25793dec2d4ed481d7c8162fda64736f6c63430008080033";
|
|
688
688
|
|
|
689
689
|
type GoodFundManagerConstructorParams =
|
|
690
690
|
| [signer?: Signer]
|
|
@@ -612,7 +612,7 @@ const _abi = [
|
|
|
612
612
|
];
|
|
613
613
|
|
|
614
614
|
const _bytecode =
|
|
615
|
-
"0x60a06040523060601b60805234801561001757600080fd5b5060805160601c61219461004b6000396000818161077c015281816107bc01528181610b900152610bd001526121946000f3fe6080604052600436106101265760003560e01c80630b1848661461012b5780631b3c90a81461015e5780633659cfe614610175578063371d52dc146101955780633e21374e146101ca5780633e6326fc146101ea5780634162169f1461021757806346f7cb23146102375780634f1ef286146102575780635aef7de61461026a5780635cf3a7a91461028a5780636a989e6e146102aa5780636cb4b4c1146102ca57806374920d30146102e05780637a1ac61e14610300578063835bbd55146103205780638c4959621461038e5780638ee090fb146103a35780639f2d0d07146103c3578063bc179d45146103e3578063cce7ec1314610403578063d5dc7eda14610423578063e1758bd814610443578063e72a083314610458578063e9833c2f14610478575b600080fd5b34801561013757600080fd5b5061014b610146366004611bbe565b610498565b6040519081526020015b60405180910390f35b34801561016a57600080fd5b5061017361062c565b005b34801561018157600080fd5b50610173610190366004611bf3565b610771565b3480156101a157600080fd5b506101b56101b0366004611bf3565b61083a565b60405163ffffffff9091168152602001610155565b3480156101d657600080fd5b5061014b6101e5366004611bf3565b61092a565b3480156101f657600080fd5b5060675461020a906001600160a01b031681565b6040516101559190611c10565b34801561022357600080fd5b5060655461020a906001600160a01b031681565b34801561024357600080fd5b506101b5610252366004611bf3565b610ae1565b610173610265366004611c3a565b610b85565b34801561027657600080fd5b5060665461020a906001600160a01b031681565b34801561029657600080fd5b5061014b6102a5366004611cfd565b610c3f565b3480156102b657600080fd5b5061014b6102c5366004611cfd565b610d2b565b3480156102d657600080fd5b5061014b609b5481565b3480156102ec57600080fd5b5061014b6102fb366004611cfd565b610dbd565b34801561030c57600080fd5b5061017361031b366004611bbe565b610e41565b34801561032c57600080fd5b5061036961033b366004611bf3565b609a602052600090815260409020805460018201546002830154600390930154919263ffffffff9091169184565b6040805194855263ffffffff9093166020850152918301526060820152608001610155565b34801561039a57600080fd5b5061020a610f28565b3480156103af57600080fd5b506101736103be366004611d29565b610fc9565b3480156103cf57600080fd5b506101736103de366004611d84565b611065565b3480156103ef57600080fd5b5061014b6103fe366004611cfd565b611175565b34801561040f57600080fd5b5061014b61041e366004611cfd565b6111c6565b34801561042f57600080fd5b5061017361043e366004611cfd565b611278565b34801561044f57600080fd5b5061020a6113b4565b34801561046457600080fd5b5061014b610473366004611bf3565b611400565b34801561048457600080fd5b5061014b610493366004611bf3565b611464565b60006104a2611555565b6104ab846116f2565b818310156105185760405162461bcd60e51b815260206004820152602f60248201527f474420616d6f756e74206973206c6f776572207468616e2074686520636f6e7460448201526e1c9a589d5d1a5bdb88185b5bdd5b9d608a1b60648201526084015b60405180910390fd5b6001600160a01b0384166000908152609a6020526040902060028101548411156105965760405162461bcd60e51b815260206004820152602960248201527f474420616d6f756e7420697320686967686572207468616e2074686520746f74604482015268616c20737570706c7960b81b606482015260840161050f565b60006105a28486611dbc565b905060006105b08783610d2b565b9050858360020160008282546105c69190611dbc565b90915550508254819084906000906105df908490611dbc565b9091555050600283015483546040516001600160a01b038a1692339260008051602061213f83398151915292610618928b928892611dd3565b60405180910390a3925050505b9392505050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561068a57600080fd5b505afa15801561069e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c29190611dee565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561071757600080fd5b505afa15801561072b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074f9190611dee565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107ba5760405162461bcd60e51b815260040161050f90611e0b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107ec61175b565b6001600160a01b0316146108125760405162461bcd60e51b815260040161050f90611e45565b61081b81611777565b604080516000808252602082019092526108379183919061177f565b50565b6001600160a01b0381166000908152609a60209081526040808320815160808101835281548152600182015463ffffffff1693810184905260028201549281019290925260030154606082015290806108935750620f42405b6108a6683635c9adc5dea0000082611e7f565b90506000620151808360600151426108be9190611dbc565b6108c89190611eb4565b905060005b8181101561090d57676765c793fa10079d601b1b609b54846108ef9190611e7f565b6108f99190611eb4565b92508061090581611ec8565b9150506108cd565b50610921683635c9adc5dea0000083611eb4565b95945050505050565b6001600160a01b0381166000908152609a60209081526040808320815160808101835281548152600182015463ffffffff1693810193909352600281015491830191909152600301546060820152816109828461083a565b90506000846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156109bf57600080fd5b505afa1580156109d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f79190611ee3565b610a059060ff16601b611dbc565b90506000676765c793fa10079d601b1b610a2083600a611fea565b610a2988611464565b610a4263ffffffff8716683635c9adc5dea00000611e7f565b610a4c9190611e7f565b610a569190611e7f565b610a609190611eb4565b90506000609c54601b610a739190611dbc565b90506000610a8282600a611fea565b83610a8e86600a611fea565b8851610a9a9190611e7f565b610aaf90676765c793fa10079d601b1b611e7f565b610ab99190611eb4565b610ac39190611eb4565b9050856040015181610ad59190611dbc565b98975050505050505050565b6000610aeb611555565b610af4826116f2565b6001600160a01b0382166000908152609a60205260409020600181015463ffffffff1680610b225750620f42405b610b2b8461083a565b60018301805463ffffffff191663ffffffff9290921691909117905560038201546201518090610b5b9042611dbc565b610b659190611ff6565b610b6f9042611dbc565b6003830155506001015463ffffffff1692915050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610bce5760405162461bcd60e51b815260040161050f90611e0b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c0061175b565b6001600160a01b031614610c265760405162461bcd60e51b815260040161050f90611e45565b610c2f82611777565b610c3b8282600161177f565b5050565b6001600160a01b0382166000908152609a60209081526040808320815160808101835281548152600182015463ffffffff1693810193909352600281015491830191909152600301546060820152610c95610f28565b604080830151835160208501519251630a68039f60e21b81526001600160a01b0394909416936329a00e7c93610cd1939291899060040161200a565b60206040518083038186803b158015610ce957600080fd5b505afa158015610cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d21919061202b565b9150505b92915050565b6001600160a01b0382166000908152609a60209081526040808320815160808101835281548152600182015463ffffffff1693810193909352600281015491830191909152600301546060820152610d81610f28565b6040808301518351602085015192516349f9b0f760e01b81526001600160a01b0394909416936349f9b0f793610cd1939291899060040161200a565b6000610dc7611555565b610dd0836116f2565b81610ddd57506000610d25565b6000610de98484611175565b6001600160a01b0385166000908152609a602052604081206002810180549394509092849290610e1a908490612044565b9091555050805484908290600090610e33908490612044565b909155509195945050505050565b600054610100900460ff1680610e5a575060005460ff16155b610ebd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161050f565b600054610100900460ff16158015610edf576000805461ffff19166101011790555b81610ef584676765c793fa10079d601b1b611e7f565b610eff9190611eb4565b609b556002609c55610f10846118c6565b8015610f22576000805461ff00191690555b50505050565b60675460405163bf40fac160e01b815260206004820152600e60248201526d42414e434f525f464f524d554c4160901b60448201526000916001600160a01b03169063bf40fac1906064015b60206040518083038186803b158015610f8c57600080fd5b505afa158015610fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc49190611dee565b905090565b610fd1611555565b60405180608001604052808481526020018363ffffffff168152602001858152602001826000146110025782611004565b425b90526001600160a01b03959095166000908152609a6020908152604091829020875181559087015160018201805463ffffffff191663ffffffff90921691909117905590860151600282015560609095015160039095019490945550505050565b61106d611555565b600081116110bb5760405162461bcd60e51b815260206004820152601b60248201527a064656e6f6d696e61746f72206d7573742062652061626f7665203602c1b604482015260640161050f565b806110d183676765c793fa10079d601b1b611e7f565b6110db9190611eb4565b609b819055676765c793fa10079d601b1b116111365760405162461bcd60e51b815260206004820152601a602482015279496e76616c6964206e6f6d206f722064656e6f6d2076616c756560301b604482015260640161050f565b604080518381526020810183905233917fcd3db955892df8543ef392cb55c3f36e13ad4c38e151c8315101b3006ef105df910160405180910390a25050565b600080609c54601b6111879190611dbc565b905061119481600a611fea565b61119d85611464565b6111b285676765c793fa10079d601b1b611e7f565b6111bc9190611eb4565b610d219190611eb4565b60006111d0611555565b6111d9836116f2565b60006111e58484610c3f565b6001600160a01b0385166000908152609a602052604081206002810180549394509092849290611216908490612044565b909155505080548490829060009061122f908490612044565b9091555050600281015481546040516001600160a01b03881692339260008051602061213f83398151915292611268928a928992611dd3565b60405180910390a3509392505050565b611280611555565b611289826116f2565b6000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156112c457600080fd5b505afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190611ee3565b61130a9060ff16601b611dbc565b6001600160a01b0384166000908152609a6020526040812091925061132e85611464565b9050838260020160008282546113449190612044565b90915550611355905083600a611fea565b8183600201546113659190611e7f565b835461137c90676765c793fa10079d601b1b611e7f565b6113869190611eb4565b6113909190611eb4565b600192909201805463ffffffff191663ffffffff9093169290921790915550505050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401610f74565b600061140a611555565b611413826116f2565b600061141e8361092a565b6001600160a01b0384166000908152609a602052604081206002018054929350839290919061144e908490612044565b9091555061145d905083610ae1565b5092915050565b6001600160a01b0381166000908152609a60209081526040808320815160808101835281548152600182015463ffffffff16938101939093526002810154918301919091526003015460608201526114ba610f28565b6001600160a01b03166349f9b0f7826040015183600001518460200151609c54600a6114e69190611fea565b6040518563ffffffff1660e01b8152600401611505949392919061200a565b60206040518083038186803b15801561151d57600080fd5b505afa158015611531573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610625919061202b565b60675460405163bf40fac160e01b81526020600482015260076024820152665245534552564560c81b604482015233916001600160a01b03169063bf40fac19060640160206040518083038186803b1580156115b057600080fd5b505afa1580156115c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e89190611dee565b6001600160a01b03161480611695575060675460405163bf40fac160e01b815260206004820152600660248201526520ab20aa20a960d11b604482015233916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561165257600080fd5b505afa158015611666573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168a9190611dee565b6001600160a01b0316145b6116f05760405162461bcd60e51b815260206004820152602660248201527f476f6f644d61726b65744d616b65723a206e6f742052657365727665206f722060448201526520bb30ba30b960d11b606482015260840161050f565b565b6001600160a01b0381166000908152609a602052604090206002810154610c3b5760405162461bcd60e51b815260206004820152601d60248201527f5265736572766520746f6b656e206e6f7420696e697469616c697a6564000000604482015260640161050f565b6000805160206120f8833981519152546001600160a01b031690565b6108376118e9565b600061178961175b565b9050611794846119bb565b6000835111806117a15750815b156117b2576117b08484611a4e565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff166118bf57805460ff1916600117815560405161182d9086906117fe908590602401611c10565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052611a4e565b50805460ff1916815561183e61175b565b6001600160a01b0316826001600160a01b0316146118b65760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b606482015260840161050f565b6118bf85611b30565b5050505050565b606780546001600160a01b0319166001600160a01b03831617905561083761062c565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561192d57600080fd5b505afa158015611941573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119659190611dee565b6001600160a01b0316146116f05760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f64604482015260640161050f565b803b611a1f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161050f565b6000805160206120f883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b611aad5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161050f565b600080846001600160a01b031684604051611ac89190612088565b600060405180830381855af49150503d8060008114611b03576040519150601f19603f3d011682016040523d82523d6000602084013e611b08565b606091505b5091509150610921828260405180606001604052806027815260200161211860279139611b70565b611b39816119bb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60608315611b7f575081610625565b825115611b8f5782518084602001fd5b8160405162461bcd60e51b815260040161050f91906120a4565b6001600160a01b038116811461083757600080fd5b600080600060608486031215611bd357600080fd5b8335611bde81611ba9565b95602085013595506040909401359392505050565b600060208284031215611c0557600080fd5b813561062581611ba9565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215611c4d57600080fd5b8235611c5881611ba9565b915060208301356001600160401b0380821115611c7457600080fd5b818501915085601f830112611c8857600080fd5b813581811115611c9a57611c9a611c24565b604051601f8201601f19908116603f01168101908382118183101715611cc257611cc2611c24565b81604052828152886020848701011115611cdb57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215611d1057600080fd5b8235611d1b81611ba9565b946020939093013593505050565b600080600080600060a08688031215611d4157600080fd5b8535611d4c81611ba9565b94506020860135935060408601359250606086013563ffffffff81168114611d7357600080fd5b949793965091946080013592915050565b60008060408385031215611d9757600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b600082821015611dce57611dce611da6565b500390565b93845260208401929092526040830152606082015260800190565b600060208284031215611e0057600080fd5b815161062581611ba9565b6020808252602c908201526000805160206120d883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206120d883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000816000190483118215151615611e9957611e99611da6565b500290565b634e487b7160e01b600052601260045260246000fd5b600082611ec357611ec3611e9e565b500490565b6000600019821415611edc57611edc611da6565b5060010190565b600060208284031215611ef557600080fd5b815160ff8116811461062557600080fd5b600181815b80851115611f41578160001904821115611f2757611f27611da6565b80851615611f3457918102915b93841c9390800290611f0b565b509250929050565b600082611f5857506001610d25565b81611f6557506000610d25565b8160018114611f7b5760028114611f8557611fa1565b6001915050610d25565b60ff841115611f9657611f96611da6565b50506001821b610d25565b5060208310610133831016604e8410600b8410161715611fc4575081810a610d25565b611fce8383611f06565b8060001904821115611fe257611fe2611da6565b029392505050565b60006106258383611f49565b60008261200557612005611e9e565b500690565b938452602084019290925263ffffffff166040830152606082015260800190565b60006020828403121561203d57600080fd5b5051919050565b6000821982111561205757612057611da6565b500190565b60005b8381101561207757818101518382015260200161205f565b83811115610f225750506000910152565b6000825161209a81846020870161205c565b9190910192915050565b60208152600082518060208401526120c381604085016020870161205c565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564ed639966d5b0a89f5ac16d6359c7707785de6e51a00f07dd3197e5fbf0a30374a2646970667358221220f684e94cb7bc5b87fd29740e2af313c795a7d904bc6b17f621828d088a3e552364736f6c63430008080033";
|
|
615
|
+
"0x60a06040523060601b60805234801561001757600080fd5b5060805160601c61219461004b6000396000818161077c015281816107bc01528181610b900152610bd001526121946000f3fe6080604052600436106101265760003560e01c80630b1848661461012b5780631b3c90a81461015e5780633659cfe614610175578063371d52dc146101955780633e21374e146101ca5780633e6326fc146101ea5780634162169f1461021757806346f7cb23146102375780634f1ef286146102575780635aef7de61461026a5780635cf3a7a91461028a5780636a989e6e146102aa5780636cb4b4c1146102ca57806374920d30146102e05780637a1ac61e14610300578063835bbd55146103205780638c4959621461038e5780638ee090fb146103a35780639f2d0d07146103c3578063bc179d45146103e3578063cce7ec1314610403578063d5dc7eda14610423578063e1758bd814610443578063e72a083314610458578063e9833c2f14610478575b600080fd5b34801561013757600080fd5b5061014b610146366004611bbe565b610498565b6040519081526020015b60405180910390f35b34801561016a57600080fd5b5061017361062c565b005b34801561018157600080fd5b50610173610190366004611bf3565b610771565b3480156101a157600080fd5b506101b56101b0366004611bf3565b61083a565b60405163ffffffff9091168152602001610155565b3480156101d657600080fd5b5061014b6101e5366004611bf3565b61092a565b3480156101f657600080fd5b5060675461020a906001600160a01b031681565b6040516101559190611c10565b34801561022357600080fd5b5060655461020a906001600160a01b031681565b34801561024357600080fd5b506101b5610252366004611bf3565b610ae1565b610173610265366004611c3a565b610b85565b34801561027657600080fd5b5060665461020a906001600160a01b031681565b34801561029657600080fd5b5061014b6102a5366004611cfd565b610c3f565b3480156102b657600080fd5b5061014b6102c5366004611cfd565b610d2b565b3480156102d657600080fd5b5061014b609b5481565b3480156102ec57600080fd5b5061014b6102fb366004611cfd565b610dbd565b34801561030c57600080fd5b5061017361031b366004611bbe565b610e41565b34801561032c57600080fd5b5061036961033b366004611bf3565b609a602052600090815260409020805460018201546002830154600390930154919263ffffffff9091169184565b6040805194855263ffffffff9093166020850152918301526060820152608001610155565b34801561039a57600080fd5b5061020a610f28565b3480156103af57600080fd5b506101736103be366004611d29565b610fc9565b3480156103cf57600080fd5b506101736103de366004611d84565b611065565b3480156103ef57600080fd5b5061014b6103fe366004611cfd565b611175565b34801561040f57600080fd5b5061014b61041e366004611cfd565b6111c6565b34801561042f57600080fd5b5061017361043e366004611cfd565b611278565b34801561044f57600080fd5b5061020a6113b4565b34801561046457600080fd5b5061014b610473366004611bf3565b611400565b34801561048457600080fd5b5061014b610493366004611bf3565b611464565b60006104a2611555565b6104ab846116f2565b818310156105185760405162461bcd60e51b815260206004820152602f60248201527f474420616d6f756e74206973206c6f776572207468616e2074686520636f6e7460448201526e1c9a589d5d1a5bdb88185b5bdd5b9d608a1b60648201526084015b60405180910390fd5b6001600160a01b0384166000908152609a6020526040902060028101548411156105965760405162461bcd60e51b815260206004820152602960248201527f474420616d6f756e7420697320686967686572207468616e2074686520746f74604482015268616c20737570706c7960b81b606482015260840161050f565b60006105a28486611dbc565b905060006105b08783610d2b565b9050858360020160008282546105c69190611dbc565b90915550508254819084906000906105df908490611dbc565b9091555050600283015483546040516001600160a01b038a1692339260008051602061213f83398151915292610618928b928892611dd3565b60405180910390a3925050505b9392505050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561068a57600080fd5b505afa15801561069e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c29190611dee565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561071757600080fd5b505afa15801561072b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074f9190611dee565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107ba5760405162461bcd60e51b815260040161050f90611e0b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107ec61175b565b6001600160a01b0316146108125760405162461bcd60e51b815260040161050f90611e45565b61081b81611777565b604080516000808252602082019092526108379183919061177f565b50565b6001600160a01b0381166000908152609a60209081526040808320815160808101835281548152600182015463ffffffff1693810184905260028201549281019290925260030154606082015290806108935750620f42405b6108a6683635c9adc5dea0000082611e7f565b90506000620151808360600151426108be9190611dbc565b6108c89190611eb4565b905060005b8181101561090d57676765c793fa10079d601b1b609b54846108ef9190611e7f565b6108f99190611eb4565b92508061090581611ec8565b9150506108cd565b50610921683635c9adc5dea0000083611eb4565b95945050505050565b6001600160a01b0381166000908152609a60209081526040808320815160808101835281548152600182015463ffffffff1693810193909352600281015491830191909152600301546060820152816109828461083a565b90506000846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156109bf57600080fd5b505afa1580156109d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f79190611ee3565b610a059060ff16601b611dbc565b90506000676765c793fa10079d601b1b610a2083600a611fea565b610a2988611464565b610a4263ffffffff8716683635c9adc5dea00000611e7f565b610a4c9190611e7f565b610a569190611e7f565b610a609190611eb4565b90506000609c54601b610a739190611dbc565b90506000610a8282600a611fea565b83610a8e86600a611fea565b8851610a9a9190611e7f565b610aaf90676765c793fa10079d601b1b611e7f565b610ab99190611eb4565b610ac39190611eb4565b9050856040015181610ad59190611dbc565b98975050505050505050565b6000610aeb611555565b610af4826116f2565b6001600160a01b0382166000908152609a60205260409020600181015463ffffffff1680610b225750620f42405b610b2b8461083a565b60018301805463ffffffff191663ffffffff9290921691909117905560038201546201518090610b5b9042611dbc565b610b659190611ff6565b610b6f9042611dbc565b6003830155506001015463ffffffff1692915050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610bce5760405162461bcd60e51b815260040161050f90611e0b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c0061175b565b6001600160a01b031614610c265760405162461bcd60e51b815260040161050f90611e45565b610c2f82611777565b610c3b8282600161177f565b5050565b6001600160a01b0382166000908152609a60209081526040808320815160808101835281548152600182015463ffffffff1693810193909352600281015491830191909152600301546060820152610c95610f28565b604080830151835160208501519251630a68039f60e21b81526001600160a01b0394909416936329a00e7c93610cd1939291899060040161200a565b60206040518083038186803b158015610ce957600080fd5b505afa158015610cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d21919061202b565b9150505b92915050565b6001600160a01b0382166000908152609a60209081526040808320815160808101835281548152600182015463ffffffff1693810193909352600281015491830191909152600301546060820152610d81610f28565b6040808301518351602085015192516349f9b0f760e01b81526001600160a01b0394909416936349f9b0f793610cd1939291899060040161200a565b6000610dc7611555565b610dd0836116f2565b81610ddd57506000610d25565b6000610de98484611175565b6001600160a01b0385166000908152609a602052604081206002810180549394509092849290610e1a908490612044565b9091555050805484908290600090610e33908490612044565b909155509195945050505050565b600054610100900460ff1680610e5a575060005460ff16155b610ebd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161050f565b600054610100900460ff16158015610edf576000805461ffff19166101011790555b81610ef584676765c793fa10079d601b1b611e7f565b610eff9190611eb4565b609b556002609c55610f10846118c6565b8015610f22576000805461ff00191690555b50505050565b60675460405163bf40fac160e01b815260206004820152600e60248201526d42414e434f525f464f524d554c4160901b60448201526000916001600160a01b03169063bf40fac1906064015b60206040518083038186803b158015610f8c57600080fd5b505afa158015610fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc49190611dee565b905090565b610fd1611555565b60405180608001604052808481526020018363ffffffff168152602001858152602001826000146110025782611004565b425b90526001600160a01b03959095166000908152609a6020908152604091829020875181559087015160018201805463ffffffff191663ffffffff90921691909117905590860151600282015560609095015160039095019490945550505050565b61106d611555565b600081116110bb5760405162461bcd60e51b815260206004820152601b60248201527a064656e6f6d696e61746f72206d7573742062652061626f7665203602c1b604482015260640161050f565b806110d183676765c793fa10079d601b1b611e7f565b6110db9190611eb4565b609b819055676765c793fa10079d601b1b116111365760405162461bcd60e51b815260206004820152601a602482015279496e76616c6964206e6f6d206f722064656e6f6d2076616c756560301b604482015260640161050f565b604080518381526020810183905233917fcd3db955892df8543ef392cb55c3f36e13ad4c38e151c8315101b3006ef105df910160405180910390a25050565b600080609c54601b6111879190611dbc565b905061119481600a611fea565b61119d85611464565b6111b285676765c793fa10079d601b1b611e7f565b6111bc9190611eb4565b610d219190611eb4565b60006111d0611555565b6111d9836116f2565b60006111e58484610c3f565b6001600160a01b0385166000908152609a602052604081206002810180549394509092849290611216908490612044565b909155505080548490829060009061122f908490612044565b9091555050600281015481546040516001600160a01b03881692339260008051602061213f83398151915292611268928a928992611dd3565b60405180910390a3509392505050565b611280611555565b611289826116f2565b6000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156112c457600080fd5b505afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190611ee3565b61130a9060ff16601b611dbc565b6001600160a01b0384166000908152609a6020526040812091925061132e85611464565b9050838260020160008282546113449190612044565b90915550611355905083600a611fea565b8183600201546113659190611e7f565b835461137c90676765c793fa10079d601b1b611e7f565b6113869190611eb4565b6113909190611eb4565b600192909201805463ffffffff191663ffffffff9093169290921790915550505050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401610f74565b600061140a611555565b611413826116f2565b600061141e8361092a565b6001600160a01b0384166000908152609a602052604081206002018054929350839290919061144e908490612044565b9091555061145d905083610ae1565b5092915050565b6001600160a01b0381166000908152609a60209081526040808320815160808101835281548152600182015463ffffffff16938101939093526002810154918301919091526003015460608201526114ba610f28565b6001600160a01b03166349f9b0f7826040015183600001518460200151609c54600a6114e69190611fea565b6040518563ffffffff1660e01b8152600401611505949392919061200a565b60206040518083038186803b15801561151d57600080fd5b505afa158015611531573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610625919061202b565b60675460405163bf40fac160e01b81526020600482015260076024820152665245534552564560c81b604482015233916001600160a01b03169063bf40fac19060640160206040518083038186803b1580156115b057600080fd5b505afa1580156115c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e89190611dee565b6001600160a01b03161480611695575060675460405163bf40fac160e01b815260206004820152600660248201526520ab20aa20a960d11b604482015233916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561165257600080fd5b505afa158015611666573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168a9190611dee565b6001600160a01b0316145b6116f05760405162461bcd60e51b815260206004820152602660248201527f476f6f644d61726b65744d616b65723a206e6f742052657365727665206f722060448201526520bb30ba30b960d11b606482015260840161050f565b565b6001600160a01b0381166000908152609a602052604090206002810154610c3b5760405162461bcd60e51b815260206004820152601d60248201527f5265736572766520746f6b656e206e6f7420696e697469616c697a6564000000604482015260640161050f565b6000805160206120f8833981519152546001600160a01b031690565b6108376118e9565b600061178961175b565b9050611794846119bb565b6000835111806117a15750815b156117b2576117b08484611a4e565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff166118bf57805460ff1916600117815560405161182d9086906117fe908590602401611c10565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052611a4e565b50805460ff1916815561183e61175b565b6001600160a01b0316826001600160a01b0316146118b65760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b606482015260840161050f565b6118bf85611b30565b5050505050565b606780546001600160a01b0319166001600160a01b03831617905561083761062c565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561192d57600080fd5b505afa158015611941573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119659190611dee565b6001600160a01b0316146116f05760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f64604482015260640161050f565b803b611a1f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161050f565b6000805160206120f883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b611aad5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161050f565b600080846001600160a01b031684604051611ac89190612088565b600060405180830381855af49150503d8060008114611b03576040519150601f19603f3d011682016040523d82523d6000602084013e611b08565b606091505b5091509150610921828260405180606001604052806027815260200161211860279139611b70565b611b39816119bb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60608315611b7f575081610625565b825115611b8f5782518084602001fd5b8160405162461bcd60e51b815260040161050f91906120a4565b6001600160a01b038116811461083757600080fd5b600080600060608486031215611bd357600080fd5b8335611bde81611ba9565b95602085013595506040909401359392505050565b600060208284031215611c0557600080fd5b813561062581611ba9565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215611c4d57600080fd5b8235611c5881611ba9565b915060208301356001600160401b0380821115611c7457600080fd5b818501915085601f830112611c8857600080fd5b813581811115611c9a57611c9a611c24565b604051601f8201601f19908116603f01168101908382118183101715611cc257611cc2611c24565b81604052828152886020848701011115611cdb57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215611d1057600080fd5b8235611d1b81611ba9565b946020939093013593505050565b600080600080600060a08688031215611d4157600080fd5b8535611d4c81611ba9565b94506020860135935060408601359250606086013563ffffffff81168114611d7357600080fd5b949793965091946080013592915050565b60008060408385031215611d9757600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b600082821015611dce57611dce611da6565b500390565b93845260208401929092526040830152606082015260800190565b600060208284031215611e0057600080fd5b815161062581611ba9565b6020808252602c908201526000805160206120d883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206120d883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000816000190483118215151615611e9957611e99611da6565b500290565b634e487b7160e01b600052601260045260246000fd5b600082611ec357611ec3611e9e565b500490565b6000600019821415611edc57611edc611da6565b5060010190565b600060208284031215611ef557600080fd5b815160ff8116811461062557600080fd5b600181815b80851115611f41578160001904821115611f2757611f27611da6565b80851615611f3457918102915b93841c9390800290611f0b565b509250929050565b600082611f5857506001610d25565b81611f6557506000610d25565b8160018114611f7b5760028114611f8557611fa1565b6001915050610d25565b60ff841115611f9657611f96611da6565b50506001821b610d25565b5060208310610133831016604e8410600b8410161715611fc4575081810a610d25565b611fce8383611f06565b8060001904821115611fe257611fe2611da6565b029392505050565b60006106258383611f49565b60008261200557612005611e9e565b500690565b938452602084019290925263ffffffff166040830152606082015260800190565b60006020828403121561203d57600080fd5b5051919050565b6000821982111561205757612057611da6565b500190565b60005b8381101561207757818101518382015260200161205f565b83811115610f225750506000910152565b6000825161209a81846020870161205c565b9190910192915050565b60208152600082518060208401526120c381604085016020870161205c565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564ed639966d5b0a89f5ac16d6359c7707785de6e51a00f07dd3197e5fbf0a30374a26469706673582212200c34cd2a16864b66d8277b78775d525cfc9cba29ed9dc1e5cf57b3c801dbc2db64736f6c63430008080033";
|
|
616
616
|
|
|
617
617
|
type GoodMarketMakerConstructorParams =
|
|
618
618
|
| [signer?: Signer]
|