@gooddollar/goodprotocol 1.0.0-beta.48 → 1.0.0-beta.51
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/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/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/IIdentity.dbg.json +1 -1
- 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/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/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -41
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -41
- package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
- package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -54
- package/artifacts/contracts/governance/GovarnanceStaking.sol/GovernanceStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/GovarnanceStaking.sol/GovernanceStaking.json +2 -54
- package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
- package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.json +0 -13
- package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -41
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -54
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.json +2 -15
- package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.json +2 -2
- package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.json +2 -2
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.json +2 -15
- package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.json +2 -2
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +6 -58
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -41
- package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.json +2 -15
- package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.json +2 -15
- 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/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.json +2 -2
- 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/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -41
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -41
- package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.json +2 -2
- package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.json +2 -2
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.json +2 -2
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.json +2 -2
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.json +2 -2
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.json +2 -15
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.json +2 -2
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.json +2 -2
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -41
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -41
- 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 -41
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -15
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -41
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -41
- package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.json +0 -39
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -15
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +3 -16
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +4 -56
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +4 -17
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +6 -58
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -41
- package/artifacts/contracts/unaudited-foundation/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
- package/artifacts/contracts/unaudited-foundation/FuseFaucet.sol/FuseFaucet.json +2 -15
- package/artifacts/contracts/unaudited-foundation/InvitesV1.sol/InvitesV1.dbg.json +1 -1
- package/artifacts/contracts/unaudited-foundation/InvitesV1.sol/InvitesV1.json +2 -15
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.json +2 -2
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -15
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -28
- package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
- package/artifacts/contracts/utils/DSMath.sol/DSMath.json +2 -2
- package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
- package/artifacts/contracts/utils/DataTypes.sol/DataTypes.json +3 -17
- package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
- package/artifacts/contracts/utils/MultiCall.sol/Multicall.json +2 -15
- package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
- package/artifacts/contracts/utils/NameService.sol/NameService.json +2 -15
- 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 -15
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -15
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -15
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.json +2 -15
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
- package/package.json +3 -1
- package/releases/olddao.json +1 -1
- package/yarn.lock +177 -17
|
@@ -105,45 +105,6 @@
|
|
|
105
105
|
"stateMutability": "view",
|
|
106
106
|
"type": "function"
|
|
107
107
|
},
|
|
108
|
-
{
|
|
109
|
-
"inputs": [
|
|
110
|
-
{
|
|
111
|
-
"internalType": "bytes32",
|
|
112
|
-
"name": "c__0x23e6de5f",
|
|
113
|
-
"type": "bytes32"
|
|
114
|
-
}
|
|
115
|
-
],
|
|
116
|
-
"name": "c_0x23e6de5f",
|
|
117
|
-
"outputs": [],
|
|
118
|
-
"stateMutability": "pure",
|
|
119
|
-
"type": "function"
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
"inputs": [
|
|
123
|
-
{
|
|
124
|
-
"internalType": "bytes32",
|
|
125
|
-
"name": "c__0x85dbc79e",
|
|
126
|
-
"type": "bytes32"
|
|
127
|
-
}
|
|
128
|
-
],
|
|
129
|
-
"name": "c_0x85dbc79e",
|
|
130
|
-
"outputs": [],
|
|
131
|
-
"stateMutability": "pure",
|
|
132
|
-
"type": "function"
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
"inputs": [
|
|
136
|
-
{
|
|
137
|
-
"internalType": "bytes32",
|
|
138
|
-
"name": "c__0xbd9eff7e",
|
|
139
|
-
"type": "bytes32"
|
|
140
|
-
}
|
|
141
|
-
],
|
|
142
|
-
"name": "c_0xbd9eff7e",
|
|
143
|
-
"outputs": [],
|
|
144
|
-
"stateMutability": "pure",
|
|
145
|
-
"type": "function"
|
|
146
|
-
},
|
|
147
108
|
{
|
|
148
109
|
"inputs": [
|
|
149
110
|
{
|
|
@@ -381,8 +342,8 @@
|
|
|
381
342
|
"type": "function"
|
|
382
343
|
}
|
|
383
344
|
],
|
|
384
|
-
"bytecode": "0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525034801561004657600080fd5b5060805160601c613b0e61007a600039600081816108c80152818161095701528181610aa60152610b350152613b0e6000f3fe6080604052600436106100ef5760003560e01c806305a6aafa146100f45780630a6f93e61461011d5780631b3c90a81461015a5780631d0205b8146101715780633659cfe6146101af578063394254e3146101d85780633c8c043a146102015780633e6326fc1461022c5780634162169f146102575780634f1ef286146102825780635aef7de61461029e578063862a4d47146102c95780638ccb267c146102f4578063b5f3067f1461031d578063c047f1c31461035a578063c382c47514610397578063c4d66de8146103c0578063ce9a156f146103e9578063e1758bd814610412578063e9157dd21461043d575b600080fd5b34801561010057600080fd5b5061011b60048036038101906101169190612b9c565b610466565b005b34801561012957600080fd5b50610144600480360381019061013f9190612c27565b6105e3565b6040516101519190612c63565b60405180910390f35b34801561016657600080fd5b5061016f6105fb565b005b34801561017d57600080fd5b5061019860048036038101906101939190612b9c565b6108a2565b6040516101a6929190612c7e565b60405180910390f35b3480156101bb57600080fd5b506101d660048036038101906101d19190612c27565b6108c6565b005b3480156101e457600080fd5b506101ff60048036038101906101fa9190612cdd565b610a4f565b005b34801561020d57600080fd5b50610216610a52565b6040516102239190612c63565b60405180910390f35b34801561023857600080fd5b50610241610a58565b60405161024e9190612d69565b60405180910390f35b34801561026357600080fd5b5061026c610a7e565b6040516102799190612da5565b60405180910390f35b61029c60048036038101906102979190612f06565b610aa4565b005b3480156102aa57600080fd5b506102b3610be1565b6040516102c09190612f71565b60405180910390f35b3480156102d557600080fd5b506102de610c07565b6040516102eb9190612c63565b60405180910390f35b34801561030057600080fd5b5061031b60048036038101906103169190612cdd565b610c0d565b005b34801561032957600080fd5b50610344600480360381019061033f9190612c27565b610c10565b6040516103519190612c63565b60405180910390f35b34801561036657600080fd5b50610381600480360381019061037c9190612c27565b610c28565b60405161038e9190612c63565b60405180910390f35b3480156103a357600080fd5b506103be60048036038101906103b99190612c27565b610d0b565b005b3480156103cc57600080fd5b506103e760048036038101906103e29190612fca565b611446565b005b3480156103f557600080fd5b50610410600480360381019061040b9190612cdd565b611677565b005b34801561041e57600080fd5b5061042761167a565b6040516104349190613018565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f9190612c27565b6117ae565b005b6104927f6cfc4777201ee7ce4fbb8baaf2a59f518cf6095df04d88ca71f6009af2a6eaeb60001b611677565b6104be7f80d477cfba8fc20199350e28d20bc90d92015f68ffadf05b6d866a201af27e6d60001b611677565b6104ea7ffd9417ed1de35ee94ddf374b510f599d466a5406e4a18eada16e3dacb3a8e4e460001b611677565b6104f26120df565b61051e7f655c05a7f6b331a91fbdd3090a1b6f5b15f01aa78b9853befb0d5e2f04e7f1c460001b611677565b61054a7f90f354a5e3d4b82f97a0294a9ebd8c3d901c23b5bafae4e4e2ef6a180e69baa760001b611677565b80609a8190555061057d7ff9c3b74524bd695ae8989de86edff546459389c79977e3183e3bb161e6760ef260001b611677565b6105a97f54dea6556d00916c201a37887b517279a1d4967ffc8291d0c981985972a90a9160001b611677565b7f237ab53d478ae984b5181944dc85b134c034a24236aac1632aa10236cedd8a99816040516105d89190612c63565b60405180910390a150565b609e6020528060005260406000206000915090505481565b6106277f9c5717a5273d3fab05262c796e5246ceb867d3d45a0ff49f1411f2278662373060001b610c0d565b6106537f56e6c995e22874d64a6b2efd83710b4bae6637dabd3a55f25af73f3fce74d8be60001b610c0d565b61067f7fedb0d005658a245effc5e3cd550a9ce28f7d371ddbdf4ce88a00e1bd466bb72960001b610c0d565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b81526004016106d890613090565b60206040518083038186803b1580156106f057600080fd5b505afa158015610704573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072891906130c5565b606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107947ff98b8297ddf2f8b42fe826b560ddc5a49772c62ceb432e79c9f31ce8c2f103df60001b610c0d565b6107c07f0572be5a4991edb4899d66523520ae1c3626176f9afec3621cc85b6f53abeac060001b610c0d565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635aef7de66040518163ffffffff1660e01b815260040160206040518083038186803b15801561082857600080fd5b505afa15801561083c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086091906130c5565b606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b609c6020528060005260406000206000915090508060010154908060020154905082565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094c90613164565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109946122ca565b73ffffffffffffffffffffffffffffffffffffffff16146109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e1906131f6565b60405180910390fd5b6109f381612321565b610a4c81600067ffffffffffffffff811115610a1257610a11612ddb565b5b6040519080825280601f01601f191660200182016040528015610a445781602001600182028036833780820191505090505b5060006123b0565b50565b50565b609a5481565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2a90613164565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610b726122ca565b73ffffffffffffffffffffffffffffffffffffffff1614610bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbf906131f6565b60405180910390fd5b610bd182612321565b610bdd828260016123b0565b5050565b606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b609b5481565b50565b609d6020528060005260406000206000915090505481565b6000610c567f9ee50927c7152514b24f1e30135f17ecb1294cc383c3f82176bcac2eb5af0a6060001b611677565b610c827f5d5885f1e5e4a9407b712027c18ae44f0199c4f16a284c47ae36c85cea9e066e60001b611677565b610cae7fa94ba55c0b23c58e3b9effc4c3d0119643661e5c8ea7ee0987a7d8e68358d14d60001b611677565b609c6000609b54815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d377f3db783b97667f5b50056b2218a283d012192b29deb5e7c54cbee5a28bbc3906160001b611677565b610d637f4921c7e25492686d55ef0456b680f45f7e7fd64862b1fcbdfc90c1282b1419de60001b611677565b610d8f7fc6ba3fa42c9f3a9265516fe708b2352bd5caa9c4b7bbd6baf7d399bea9e13ff860001b611677565b60006001609b54610da09190613245565b9050610dce7f35ac6b2f75498d208faa23a8fc06ad18126c22f7a42e2818cf5d20b0b535114c60001b611677565b610dfa7f8b5693fccd9844666973397465d9df3e7a2f91c5804ef5a26489b14bd7b3896b60001b611677565b6000609c6000838152602001908152602001600020600201549050610e417f21d89c51f3b08f1c9f6a5353ad2c7c236c7d42c0c7b9c76a13a1b58f3810b85160001b611677565b610e6d7f272ba182c2474abcc3660bc72d54f00fee2cedee708005420e101ca2665fe4f860001b611677565b6000609c600084815260200190815260200160002060000160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610ef17f941db0fc14ebf5971375258aeaf28e614354562161fa2d228eb4a017a83ed12760001b611677565b610f1d7fe43ef681b4468eb2b1a3a5dfb773d6d5e8e170d5b5757043eae7a0560580159560001b611677565b82609d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054108015610f6b5750600081115b8015610f775750600082115b1561141357610fa87f5b931f0cb750ee3315217837a597e12ab0c779606d7ab433e90c7ff027300bde60001b611677565b610fd47fdc0ff7d1db143e1758f53e64720f7c06d69d7c59a6ba80dff36aacb1b166ff6d60001b611677565b6110007fdceb03e3271e0bcd7f5328e32bae90c2e5bf101f399c144243adf610ee66c6b360001b611677565b82609d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110707f9fcc7e23674a0e9be42c287a0ba8df0f0ab42dd8a705f5542d867b9b1d24294360001b611677565b61109c7f51f93023fee1d80b707d95fdf40694174d12888d79c388368520ec162ba5f2bc60001b611677565b6000609c60008581526020019081526020016000206001015482846110c19190613279565b6110cb9190613302565b90506110f97f9368d654cbef96440ca3b2ac02b2a89a55ad5b98d6bee25db35e490d9e51ece860001b611677565b6111257f7ae107912acf82ce4effc0a9c3bb4ff3cecb37ebd4c74c743255a431a4b8dcb760001b611677565b60008111156113e05761115a7fb9220283bf58e8e80d259a2751267c6ad31a98f54ce6db303eb710ae4e4b1d2c60001b611677565b6111867fd56afada117f1d88d48ca3f4057210db199c0a299dd054a821b67118b876f89160001b611677565b6111b27fbf6c64959bfd82f53371641951831a010dff90ca1380c50a4f4b881cd32e33cd60001b611677565b6000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b815260040161120d9061337f565b60206040518083038186803b15801561122557600080fd5b505afa158015611239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125d91906130c5565b905061128b7f7180c24662c198a4ac80b8739b5e0aa11151555f85132a26630003ccd7be268460001b611677565b6112b77f2b4ee3f8af1c7f6f6484d67c5d6cd362a55298be44d385192767b171975a6aea60001b611677565b8073ffffffffffffffffffffffffffffffffffffffff166340c10f1987846040518363ffffffff1660e01b81526004016112f292919061339f565b602060405180830381600087803b15801561130c57600080fd5b505af1158015611320573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113449190613400565b506113717f8d1bb3effcb1e1e895199f73af76b0877c3abe37fdeaa8ebd3d364d5e45a44f660001b611677565b61139d7f27fd980325e073d5cfac3b9b7fa08db75f931ab4374ae3c5425ec7b127a1cb8d60001b611677565b7f6d539aca58a0ce9de5ef660cea9845c2b109a1665b74200cceda7e8f097d0ace868685856040516113d2949392919061342d565b60405180910390a15061140d565b61140c7fcf48635b6efeeafc581948012361161dac904b4acf9d789d7db965bcf4971d9260001b611677565b5b50611440565b61143f7fbe3d1cbfeb8e7831e5c23b89cce474dd7b57e5a25fba30389bc13287d5b6139c60001b611677565b5b50505050565b600060019054906101000a900460ff168061146c575060008054906101000a900460ff16155b6114ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a2906134e4565b60405180910390fd5b60008060019054906101000a900460ff1615905080156114fb576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6115277fed09287bc2ce54c24a933d43258cbbb4e50dc9661983d4a806802fc46c8f442b60001b611677565b6115537f9baefa04cba9eb1060de699c1391c10582b094a6a957f2c3c76efd9bf462444360001b611677565b61157f7f219400e8edfa722a971138d7a079e826f95d427b518bdd1524369df3e2afc77f60001b611677565b6a034f086f3b33b684000000609a819055506115bd7f263cedde9badcfea983c53263a549bdad2665ce66915d44da965d7bd2086dc6860001b611677565b6115e97f449969efe5097492d7d2b74c5cde0239dde5df50cf2a09f7d8298c889c4d7b1660001b611677565b6115f1612581565b61161d7f7f31bc8aeaa178c8c6226bc1237faf267649fcb7dfd13d397d8925e8cf57c70160001b611677565b6116497fbafc51e882b1cc2302aa0f11e20f72b46d5e069192429f051abda62eb4dc39d260001b611677565b611652826127b0565b80156116735760008060016101000a81548160ff0219169083151502179055505b5050565b50565b60006116a87f9d95d87e00b37f2eb6f66a7e17e532b4f207f6b3448a78aa92aab16488eab41260001b610c0d565b6116d47f75b8d3f13c1eeb3d5f856fc45ceb7e297b12b082861eed77647c0e0deacef4a860001b610c0d565b6117007fc0fcafbbf9640a5c842b2c11f21afc2be448cfe7fa85f5077d625b9c855cd7d660001b610c0d565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b815260040161175990613550565b60206040518083038186803b15801561177157600080fd5b505afa158015611785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a991906130c5565b905090565b6117da7f043393a0bc0f43a60e501c6ca243590875bf496c08965819c3b0ece2cee3bc4460001b611677565b6118067f8761b32b29bc630a5d308bc060352bc4506b05dcd097f87a58bbe3a5e9aa6aaa60001b611677565b6118327f91f5a742d0ddb1e589a289f44ff089502a7d84c45ae234fcfcf58b765ad75eca60001b611677565b6000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b815260040161188d906135bc565b60206040518083038186803b1580156118a557600080fd5b505afa1580156118b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118dd91906130c5565b905061190b7fbb26f671d88989a332bf54109d5609efebde3286b1e1c5c1a4ab82814b4ecdcd60001b611677565b6119377f554808ebf119d88e1331df5e2913c14c66048d23b52f6bff6a7624398f3b7a8160001b611677565b6119637fb184faa0b9d9d04e65b1e1db813843d252da1264d56686dc92542f5005800cd660001b611677565b8073ffffffffffffffffffffffffffffffffffffffff166373b2e80e836040518263ffffffff1660e01b815260040161199c9190612f71565b60206040518083038186803b1580156119b457600080fd5b505afa1580156119c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ec9190613400565b611a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a229061364e565b60405180910390fd5b611a577f60799c390a3b6f9a908bf0110e964aef3eef3e90cc04bfc19aa8ca8ec6fc34fb60001b611677565b611a837f9fb349167b7da88dee783eee6569c4988976a46f738562a0081271bc66cc735d60001b611677565b611aaf7f4ad1f43f30d7f056e77fc790e84a8bad5361e9bfe41bb56bce935aa2aa0c3e8560001b611677565b611adb7f7fd239b1726d3584b221ad0ef786362541e5e0c2ce640c61f1743be87b4236e560001b611677565b609e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548173ffffffffffffffffffffffffffffffffffffffff1663eda4e6d66040518163ffffffff1660e01b815260040160206040518083038186803b158015611b6157600080fd5b505afa158015611b75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b999190613683565b620151808373ffffffffffffffffffffffffffffffffffffffff16635c9302c96040518163ffffffff1660e01b815260040160206040518083038186803b158015611be357600080fd5b505afa158015611bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1b9190613683565b611c259190613279565b611c2f91906136b0565b11611c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6690613778565b60405180910390fd5b611c9b7f2267748dcbe959692b9498550487daa252e6abe274e32d10c90ab41a1597ba7f60001b611677565b611cc77f8c13146d206d6a87e11d9f2112a619ad1e0b4ebd433cbe418e2d3420fe4b5c0b60001b611677565b611cf37f8315e6fd99a5bd570e0d889efc8cd8080dc4997a294b0e67d012869ea1e9924a60001b611677565b611cfb612581565b611d277fc707e2c377ff13e729802b0cb1317508155d06c89e5db9da87c9632397f8920a60001b611677565b611d537f1e8911b88bea9ad460866a9d97a277ae45adb23339da0b3b30c4a6ad4b84631960001b611677565b42609e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc37fbca9e55c1e3f0beb3d60e0a050b766ddd427a1b720e3020bfcbacde4994c3c3160001b611677565b611def7f53ca0f35f698dd7dd814c410e2e3892f05faca4e2d0b7c7943d43e6b5a44b4ee60001b611677565b6001609c6000609b54815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e5591906136b0565b92505081905550611e887f0ee53675cb507cef3856a9ef2d3778256159f35ada4226a73c6ce5f20a9faa2e60001b611677565b611eb47f09d4af7fad7f8b5a480faeb63c2b6ba402fbfa079a313f9ac1e936475849363d60001b611677565b6001609c6000609b5481526020019081526020016000206001016000828254611edd91906136b0565b92505081905550611f107f16396e73d2d77c1ab8e0dcf8792252bb5a95a8477ad57b1b49398a96a3b1aa2360001b611677565b611f3c7f9bf61df37887eead3eee47ced01254d4c3e48d357845f6f23e96d266caeaafb460001b611677565b60006001609b54611f4d9190613245565b9050611f7b7f33df3f1005bf28931fc3f6197ecc235ae8f0fa0bc11a20eb1cd53b3a8b745e3860001b611677565b611fa77f13992466c943660bbb6aefcd9641a0eb2513f1e21c095643bbe5bf66527b199f60001b611677565b80609d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061204c576120197f103922f4a0efe637de04163041ea3a6e6d1076a480ea6ab4d99f95db0ce3e46d60001b611677565b6120457f99247942dd660b59c3842eac3042ff42530d69cc50c0aaddb6f40ef34b7c5b3460001b611677565b50506120dc565b6120787f026bd2caa50eca5bd0100b449c41b8bbcf5c8ee9bfcdc4ae29331ca196dd30a360001b611677565b6120a47fcad311015b5cb0dc5504dddbc1c9c3620b0c7aea8fc4048d181c2550f9278cd860001b611677565b6120d07f983cc045ea411ae65da2103cafc8162901d099a02f8da98761c82dd9caedb6ce60001b611677565b6120d983610d0b565b50505b50565b61210b7f9f02bfa7c22ce5050d0014dcb9065a1a5f85e836cd4fb4132f7506949377e6c660001b610c0d565b6121377ff015fccd34023af9029a61c3aff7897ea89f9523c30842911809a90b5b22b49d60001b610c0d565b6121637f2a907a701794cdfc827e2b3a6ed1076d8cff0866f7814f8fcd7d9a7a04827b5c60001b610c0d565b61218f7f6b80a95ff435661019124dc6cebcfe9b169da9e7644f8990d55be90bba690cfb60001b610c0d565b3373ffffffffffffffffffffffffffffffffffffffff16606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635aef7de66040518163ffffffff1660e01b815260040160206040518083038186803b15801561220e57600080fd5b505afa158015612222573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224691906130c5565b73ffffffffffffffffffffffffffffffffffffffff161461229c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612293906137e4565b60405180910390fd5b6122c87f49fe7b16686bd91cbba626adf6895dac5bf6146b8bd097c3ac48d0c2e1b821e360001b610c0d565b565b60006122f87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6128d8565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61234d7f610c71056e8204d89947799db8555f6e16e7370970f1304b559630e75f5f72a560001b610a4f565b6123797f776758cfe048d2780c7d5a1404ef8f7a743517d42abea794d1fba1872388621960001b610a4f565b6123a57fe25880f62ee3402fe33f8546c03d72acdc250b3ca81d6c122883ad6afd95c88d60001b610a4f565b6123ad6120df565b50565b60006123ba6122ca565b90506123c5846128e2565b6000835111806123d25750815b156123e3576123e1848461299b565b505b60006124117f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b612a7f565b90508060000160009054906101000a900460ff1661257a5760018160000160006101000a81548160ff0219169083151502179055506124dd858360405160240161245b9190612f71565b6040516020818303038152906040527f3659cfe6000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061299b565b5060008160000160006101000a81548160ff0219169083151502179055506125036122ca565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256790613876565b60405180910390fd5b61257985612a89565b5b5050505050565b6125ad7fde8c556451f59257fc572ce2371280d87b86339aae66803a9dcdf5fd4790ea4d60001b611677565b6125d97f1065adf6f50b6513b9467f4ac0c0cd1f13ef128ad692076b9df527b89ad0922860001b611677565b6126057fc2038abd071cac47c0a6c939baadf9b4d94667c0e97507c1f8920761b55038dd60001b611677565b600062278d00426126169190613302565b90506126447fc96acc1e4da604ed3aa321f9f26f2d0846c1834c98545cec157abaa7df5b18a760001b611677565b6126707f9bee0cbb57af484e7b07ec39b89b4c5a0a4f58659e36308514cfc34d9ab9af5b60001b611677565b609b548114612780576126a57fd94d0dfd275b701bdf8bf743a97e2a145c5e31ea76ba2c6fd6c49e9cab7d725a60001b611677565b6126d17fa0684cb13bcf7bf3fcb3556ef820154a943a767a7538e57d590ab2376a47335c60001b611677565b6126fd7f458dd7cccde54175ec08cfb39f7308668ac28a7dc1275773c67c16a6e0af8b8b60001b611677565b80609b819055506127307f979460448a559f75f1df4ed82be2db489a21856b64936d1eeaea17fdbd41402060001b611677565b61275c7f723559d906b2a64ac252b4ae8fa7e3287089a35f182cbfa135090bbc18365a9b60001b611677565b609a54609c6000609b548152602001908152602001600020600201819055506127ad565b6127ac7fe3d03b1c58038a395ab187c019f8036ec929afa4aef015814ea7303d238fdfb260001b611677565b5b50565b6127dc7ff15f24dfc74f64126371a3288523fbddf886dd048380c8b1950230158adddf2060001b610c0d565b6128087f64ad21c3e28e22ea9c18eec68e98eb9ba817bb55b19b1715f49de3ced9cc321960001b610c0d565b6128347f13de6a3bdaa67db41210490c741cbf20a513720be6ffe835e6941158e463075d60001b610c0d565b80606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506128a17f2bb6f094869741011cb91013e20489fe92a168ecbfba99feeccf0d512641fe6760001b610c0d565b6128cd7f0c50e89e6810a8cc40226de94a82e524005d1d94a93ecf86ca6ef3adad99f83960001b610c0d565b6128d56105fb565b50565b6000819050919050565b6128eb81612ad8565b61292a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292190613908565b60405180910390fd5b806129577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6128d8565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606129a683612ad8565b6129e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129dc9061399a565b60405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612a0d9190613a34565b600060405180830381855af49150503d8060008114612a48576040519150601f19603f3d011682016040523d82523d6000602084013e612a4d565b606091505b5091509150612a758282604051806060016040528060278152602001613ab260279139612aeb565b9250505092915050565b6000819050919050565b612a92816128e2565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b600080823b905060008111915050919050565b60608315612afb57829050612b4b565b600083511115612b0e5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b429190613a8f565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b612b7981612b66565b8114612b8457600080fd5b50565b600081359050612b9681612b70565b92915050565b600060208284031215612bb257612bb1612b5c565b5b6000612bc084828501612b87565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612bf482612bc9565b9050919050565b612c0481612be9565b8114612c0f57600080fd5b50565b600081359050612c2181612bfb565b92915050565b600060208284031215612c3d57612c3c612b5c565b5b6000612c4b84828501612c12565b91505092915050565b612c5d81612b66565b82525050565b6000602082019050612c786000830184612c54565b92915050565b6000604082019050612c936000830185612c54565b612ca06020830184612c54565b9392505050565b6000819050919050565b612cba81612ca7565b8114612cc557600080fd5b50565b600081359050612cd781612cb1565b92915050565b600060208284031215612cf357612cf2612b5c565b5b6000612d0184828501612cc8565b91505092915050565b6000819050919050565b6000612d2f612d2a612d2584612bc9565b612d0a565b612bc9565b9050919050565b6000612d4182612d14565b9050919050565b6000612d5382612d36565b9050919050565b612d6381612d48565b82525050565b6000602082019050612d7e6000830184612d5a565b92915050565b6000612d8f82612d36565b9050919050565b612d9f81612d84565b82525050565b6000602082019050612dba6000830184612d96565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612e1382612dca565b810181811067ffffffffffffffff82111715612e3257612e31612ddb565b5b80604052505050565b6000612e45612b52565b9050612e518282612e0a565b919050565b600067ffffffffffffffff821115612e7157612e70612ddb565b5b612e7a82612dca565b9050602081019050919050565b82818337600083830152505050565b6000612ea9612ea484612e56565b612e3b565b905082815260208101848484011115612ec557612ec4612dc5565b5b612ed0848285612e87565b509392505050565b600082601f830112612eed57612eec612dc0565b5b8135612efd848260208601612e96565b91505092915050565b60008060408385031215612f1d57612f1c612b5c565b5b6000612f2b85828601612c12565b925050602083013567ffffffffffffffff811115612f4c57612f4b612b61565b5b612f5885828601612ed8565b9150509250929050565b612f6b81612be9565b82525050565b6000602082019050612f866000830184612f62565b92915050565b6000612f9782612be9565b9050919050565b612fa781612f8c565b8114612fb257600080fd5b50565b600081359050612fc481612f9e565b92915050565b600060208284031215612fe057612fdf612b5c565b5b6000612fee84828501612fb5565b91505092915050565b600061300282612d36565b9050919050565b61301281612ff7565b82525050565b600060208201905061302d6000830184613009565b92915050565b600082825260208201905092915050565b7f434f4e54524f4c4c455200000000000000000000000000000000000000000000600082015250565b600061307a600a83613033565b915061308582613044565b602082019050919050565b600060208201905081810360008301526130a98161306d565b9050919050565b6000815190506130bf81612bfb565b92915050565b6000602082840312156130db576130da612b5c565b5b60006130e9848285016130b0565b91505092915050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b600061314e602c83613033565b9150613159826130f2565b604082019050919050565b6000602082019050818103600083015261317d81613141565b9050919050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b60006131e0602c83613033565b91506131eb82613184565b604082019050919050565b6000602082019050818103600083015261320f816131d3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061325082612b66565b915061325b83612b66565b92508282101561326e5761326d613216565b5b828203905092915050565b600061328482612b66565b915061328f83612b66565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132c8576132c7613216565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061330d82612b66565b915061331883612b66565b925082613328576133276132d3565b5b828204905092915050565b7f52455055544154494f4e00000000000000000000000000000000000000000000600082015250565b6000613369600a83613033565b915061337482613333565b602082019050919050565b600060208201905081810360008301526133988161335c565b9050919050565b60006040820190506133b46000830185612f62565b6133c16020830184612c54565b9392505050565b60008115159050919050565b6133dd816133c8565b81146133e857600080fd5b50565b6000815190506133fa816133d4565b92915050565b60006020828403121561341657613415612b5c565b5b6000613424848285016133eb565b91505092915050565b60006080820190506134426000830187612f62565b61344f6020830186612c54565b61345c6040830185612c54565b6134696060830184612c54565b95945050505050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006134ce602e83613033565b91506134d982613472565b604082019050919050565b600060208201905081810360008301526134fd816134c1565b9050919050565b7f474f4f44444f4c4c415200000000000000000000000000000000000000000000600082015250565b600061353a600a83613033565b915061354582613504565b602082019050919050565b600060208201905081810360008301526135698161352d565b9050919050565b7f554249534348454d450000000000000000000000000000000000000000000000600082015250565b60006135a6600983613033565b91506135b182613570565b602082019050919050565b600060208201905081810360008301526135d581613599565b9050919050565b7f436c61696d657273446973747269627574696f6e3a206469646e277420636c6160008201527f696d20746f646179000000000000000000000000000000000000000000000000602082015250565b6000613638602883613033565b9150613643826135dc565b604082019050919050565b600060208201905081810360008301526136678161362b565b9050919050565b60008151905061367d81612b70565b92915050565b60006020828403121561369957613698612b5c565b5b60006136a78482850161366e565b91505092915050565b60006136bb82612b66565b91506136c683612b66565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156136fb576136fa613216565b5b828201905092915050565b7f436c61696d657273446973747269627574696f6e3a20616c726561647920757060008201527f6461746564000000000000000000000000000000000000000000000000000000602082015250565b6000613762602583613033565b915061376d82613706565b604082019050919050565b6000602082019050818103600083015261379181613755565b9050919050565b7f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f64600082015250565b60006137ce602083613033565b91506137d982613798565b602082019050919050565b600060208201905081810360008301526137fd816137c1565b9050919050565b7f45524331393637557067726164653a207570677261646520627265616b73206660008201527f7572746865722075706772616465730000000000000000000000000000000000602082015250565b6000613860602f83613033565b915061386b82613804565b604082019050919050565b6000602082019050818103600083015261388f81613853565b9050919050565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b60006138f2602d83613033565b91506138fd82613896565b604082019050919050565b60006020820190508181036000830152613921816138e5565b9050919050565b7f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60008201527f6e74726163740000000000000000000000000000000000000000000000000000602082015250565b6000613984602683613033565b915061398f82613928565b604082019050919050565b600060208201905081810360008301526139b381613977565b9050919050565b600081519050919050565b600081905092915050565b60005b838110156139ee5780820151818401526020810190506139d3565b838111156139fd576000848401525b50505050565b6000613a0e826139ba565b613a1881856139c5565b9350613a288185602086016139d0565b80840191505092915050565b6000613a408284613a03565b915081905092915050565b600081519050919050565b6000613a6182613a4b565b613a6b8185613033565b9350613a7b8185602086016139d0565b613a8481612dca565b840191505092915050565b60006020820190508181036000830152613aa98184613a56565b90509291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220fa1f5774317bc36d49760085c6b1601cd16ab0961f54a1d5b5479c920c949eb264736f6c63430008080033",
|
|
385
|
-
"deployedBytecode": "0x6080604052600436106100ef5760003560e01c806305a6aafa146100f45780630a6f93e61461011d5780631b3c90a81461015a5780631d0205b8146101715780633659cfe6146101af578063394254e3146101d85780633c8c043a146102015780633e6326fc1461022c5780634162169f146102575780634f1ef286146102825780635aef7de61461029e578063862a4d47146102c95780638ccb267c146102f4578063b5f3067f1461031d578063c047f1c31461035a578063c382c47514610397578063c4d66de8146103c0578063ce9a156f146103e9578063e1758bd814610412578063e9157dd21461043d575b600080fd5b34801561010057600080fd5b5061011b60048036038101906101169190612b9c565b610466565b005b34801561012957600080fd5b50610144600480360381019061013f9190612c27565b6105e3565b6040516101519190612c63565b60405180910390f35b34801561016657600080fd5b5061016f6105fb565b005b34801561017d57600080fd5b5061019860048036038101906101939190612b9c565b6108a2565b6040516101a6929190612c7e565b60405180910390f35b3480156101bb57600080fd5b506101d660048036038101906101d19190612c27565b6108c6565b005b3480156101e457600080fd5b506101ff60048036038101906101fa9190612cdd565b610a4f565b005b34801561020d57600080fd5b50610216610a52565b6040516102239190612c63565b60405180910390f35b34801561023857600080fd5b50610241610a58565b60405161024e9190612d69565b60405180910390f35b34801561026357600080fd5b5061026c610a7e565b6040516102799190612da5565b60405180910390f35b61029c60048036038101906102979190612f06565b610aa4565b005b3480156102aa57600080fd5b506102b3610be1565b6040516102c09190612f71565b60405180910390f35b3480156102d557600080fd5b506102de610c07565b6040516102eb9190612c63565b60405180910390f35b34801561030057600080fd5b5061031b60048036038101906103169190612cdd565b610c0d565b005b34801561032957600080fd5b50610344600480360381019061033f9190612c27565b610c10565b6040516103519190612c63565b60405180910390f35b34801561036657600080fd5b50610381600480360381019061037c9190612c27565b610c28565b60405161038e9190612c63565b60405180910390f35b3480156103a357600080fd5b506103be60048036038101906103b99190612c27565b610d0b565b005b3480156103cc57600080fd5b506103e760048036038101906103e29190612fca565b611446565b005b3480156103f557600080fd5b50610410600480360381019061040b9190612cdd565b611677565b005b34801561041e57600080fd5b5061042761167a565b6040516104349190613018565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f9190612c27565b6117ae565b005b6104927f6cfc4777201ee7ce4fbb8baaf2a59f518cf6095df04d88ca71f6009af2a6eaeb60001b611677565b6104be7f80d477cfba8fc20199350e28d20bc90d92015f68ffadf05b6d866a201af27e6d60001b611677565b6104ea7ffd9417ed1de35ee94ddf374b510f599d466a5406e4a18eada16e3dacb3a8e4e460001b611677565b6104f26120df565b61051e7f655c05a7f6b331a91fbdd3090a1b6f5b15f01aa78b9853befb0d5e2f04e7f1c460001b611677565b61054a7f90f354a5e3d4b82f97a0294a9ebd8c3d901c23b5bafae4e4e2ef6a180e69baa760001b611677565b80609a8190555061057d7ff9c3b74524bd695ae8989de86edff546459389c79977e3183e3bb161e6760ef260001b611677565b6105a97f54dea6556d00916c201a37887b517279a1d4967ffc8291d0c981985972a90a9160001b611677565b7f237ab53d478ae984b5181944dc85b134c034a24236aac1632aa10236cedd8a99816040516105d89190612c63565b60405180910390a150565b609e6020528060005260406000206000915090505481565b6106277f9c5717a5273d3fab05262c796e5246ceb867d3d45a0ff49f1411f2278662373060001b610c0d565b6106537f56e6c995e22874d64a6b2efd83710b4bae6637dabd3a55f25af73f3fce74d8be60001b610c0d565b61067f7fedb0d005658a245effc5e3cd550a9ce28f7d371ddbdf4ce88a00e1bd466bb72960001b610c0d565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b81526004016106d890613090565b60206040518083038186803b1580156106f057600080fd5b505afa158015610704573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072891906130c5565b606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107947ff98b8297ddf2f8b42fe826b560ddc5a49772c62ceb432e79c9f31ce8c2f103df60001b610c0d565b6107c07f0572be5a4991edb4899d66523520ae1c3626176f9afec3621cc85b6f53abeac060001b610c0d565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635aef7de66040518163ffffffff1660e01b815260040160206040518083038186803b15801561082857600080fd5b505afa15801561083c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086091906130c5565b606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b609c6020528060005260406000206000915090508060010154908060020154905082565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094c90613164565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109946122ca565b73ffffffffffffffffffffffffffffffffffffffff16146109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e1906131f6565b60405180910390fd5b6109f381612321565b610a4c81600067ffffffffffffffff811115610a1257610a11612ddb565b5b6040519080825280601f01601f191660200182016040528015610a445781602001600182028036833780820191505090505b5060006123b0565b50565b50565b609a5481565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2a90613164565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610b726122ca565b73ffffffffffffffffffffffffffffffffffffffff1614610bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbf906131f6565b60405180910390fd5b610bd182612321565b610bdd828260016123b0565b5050565b606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b609b5481565b50565b609d6020528060005260406000206000915090505481565b6000610c567f9ee50927c7152514b24f1e30135f17ecb1294cc383c3f82176bcac2eb5af0a6060001b611677565b610c827f5d5885f1e5e4a9407b712027c18ae44f0199c4f16a284c47ae36c85cea9e066e60001b611677565b610cae7fa94ba55c0b23c58e3b9effc4c3d0119643661e5c8ea7ee0987a7d8e68358d14d60001b611677565b609c6000609b54815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d377f3db783b97667f5b50056b2218a283d012192b29deb5e7c54cbee5a28bbc3906160001b611677565b610d637f4921c7e25492686d55ef0456b680f45f7e7fd64862b1fcbdfc90c1282b1419de60001b611677565b610d8f7fc6ba3fa42c9f3a9265516fe708b2352bd5caa9c4b7bbd6baf7d399bea9e13ff860001b611677565b60006001609b54610da09190613245565b9050610dce7f35ac6b2f75498d208faa23a8fc06ad18126c22f7a42e2818cf5d20b0b535114c60001b611677565b610dfa7f8b5693fccd9844666973397465d9df3e7a2f91c5804ef5a26489b14bd7b3896b60001b611677565b6000609c6000838152602001908152602001600020600201549050610e417f21d89c51f3b08f1c9f6a5353ad2c7c236c7d42c0c7b9c76a13a1b58f3810b85160001b611677565b610e6d7f272ba182c2474abcc3660bc72d54f00fee2cedee708005420e101ca2665fe4f860001b611677565b6000609c600084815260200190815260200160002060000160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610ef17f941db0fc14ebf5971375258aeaf28e614354562161fa2d228eb4a017a83ed12760001b611677565b610f1d7fe43ef681b4468eb2b1a3a5dfb773d6d5e8e170d5b5757043eae7a0560580159560001b611677565b82609d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054108015610f6b5750600081115b8015610f775750600082115b1561141357610fa87f5b931f0cb750ee3315217837a597e12ab0c779606d7ab433e90c7ff027300bde60001b611677565b610fd47fdc0ff7d1db143e1758f53e64720f7c06d69d7c59a6ba80dff36aacb1b166ff6d60001b611677565b6110007fdceb03e3271e0bcd7f5328e32bae90c2e5bf101f399c144243adf610ee66c6b360001b611677565b82609d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110707f9fcc7e23674a0e9be42c287a0ba8df0f0ab42dd8a705f5542d867b9b1d24294360001b611677565b61109c7f51f93023fee1d80b707d95fdf40694174d12888d79c388368520ec162ba5f2bc60001b611677565b6000609c60008581526020019081526020016000206001015482846110c19190613279565b6110cb9190613302565b90506110f97f9368d654cbef96440ca3b2ac02b2a89a55ad5b98d6bee25db35e490d9e51ece860001b611677565b6111257f7ae107912acf82ce4effc0a9c3bb4ff3cecb37ebd4c74c743255a431a4b8dcb760001b611677565b60008111156113e05761115a7fb9220283bf58e8e80d259a2751267c6ad31a98f54ce6db303eb710ae4e4b1d2c60001b611677565b6111867fd56afada117f1d88d48ca3f4057210db199c0a299dd054a821b67118b876f89160001b611677565b6111b27fbf6c64959bfd82f53371641951831a010dff90ca1380c50a4f4b881cd32e33cd60001b611677565b6000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b815260040161120d9061337f565b60206040518083038186803b15801561122557600080fd5b505afa158015611239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125d91906130c5565b905061128b7f7180c24662c198a4ac80b8739b5e0aa11151555f85132a26630003ccd7be268460001b611677565b6112b77f2b4ee3f8af1c7f6f6484d67c5d6cd362a55298be44d385192767b171975a6aea60001b611677565b8073ffffffffffffffffffffffffffffffffffffffff166340c10f1987846040518363ffffffff1660e01b81526004016112f292919061339f565b602060405180830381600087803b15801561130c57600080fd5b505af1158015611320573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113449190613400565b506113717f8d1bb3effcb1e1e895199f73af76b0877c3abe37fdeaa8ebd3d364d5e45a44f660001b611677565b61139d7f27fd980325e073d5cfac3b9b7fa08db75f931ab4374ae3c5425ec7b127a1cb8d60001b611677565b7f6d539aca58a0ce9de5ef660cea9845c2b109a1665b74200cceda7e8f097d0ace868685856040516113d2949392919061342d565b60405180910390a15061140d565b61140c7fcf48635b6efeeafc581948012361161dac904b4acf9d789d7db965bcf4971d9260001b611677565b5b50611440565b61143f7fbe3d1cbfeb8e7831e5c23b89cce474dd7b57e5a25fba30389bc13287d5b6139c60001b611677565b5b50505050565b600060019054906101000a900460ff168061146c575060008054906101000a900460ff16155b6114ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a2906134e4565b60405180910390fd5b60008060019054906101000a900460ff1615905080156114fb576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6115277fed09287bc2ce54c24a933d43258cbbb4e50dc9661983d4a806802fc46c8f442b60001b611677565b6115537f9baefa04cba9eb1060de699c1391c10582b094a6a957f2c3c76efd9bf462444360001b611677565b61157f7f219400e8edfa722a971138d7a079e826f95d427b518bdd1524369df3e2afc77f60001b611677565b6a034f086f3b33b684000000609a819055506115bd7f263cedde9badcfea983c53263a549bdad2665ce66915d44da965d7bd2086dc6860001b611677565b6115e97f449969efe5097492d7d2b74c5cde0239dde5df50cf2a09f7d8298c889c4d7b1660001b611677565b6115f1612581565b61161d7f7f31bc8aeaa178c8c6226bc1237faf267649fcb7dfd13d397d8925e8cf57c70160001b611677565b6116497fbafc51e882b1cc2302aa0f11e20f72b46d5e069192429f051abda62eb4dc39d260001b611677565b611652826127b0565b80156116735760008060016101000a81548160ff0219169083151502179055505b5050565b50565b60006116a87f9d95d87e00b37f2eb6f66a7e17e532b4f207f6b3448a78aa92aab16488eab41260001b610c0d565b6116d47f75b8d3f13c1eeb3d5f856fc45ceb7e297b12b082861eed77647c0e0deacef4a860001b610c0d565b6117007fc0fcafbbf9640a5c842b2c11f21afc2be448cfe7fa85f5077d625b9c855cd7d660001b610c0d565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b815260040161175990613550565b60206040518083038186803b15801561177157600080fd5b505afa158015611785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a991906130c5565b905090565b6117da7f043393a0bc0f43a60e501c6ca243590875bf496c08965819c3b0ece2cee3bc4460001b611677565b6118067f8761b32b29bc630a5d308bc060352bc4506b05dcd097f87a58bbe3a5e9aa6aaa60001b611677565b6118327f91f5a742d0ddb1e589a289f44ff089502a7d84c45ae234fcfcf58b765ad75eca60001b611677565b6000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b815260040161188d906135bc565b60206040518083038186803b1580156118a557600080fd5b505afa1580156118b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118dd91906130c5565b905061190b7fbb26f671d88989a332bf54109d5609efebde3286b1e1c5c1a4ab82814b4ecdcd60001b611677565b6119377f554808ebf119d88e1331df5e2913c14c66048d23b52f6bff6a7624398f3b7a8160001b611677565b6119637fb184faa0b9d9d04e65b1e1db813843d252da1264d56686dc92542f5005800cd660001b611677565b8073ffffffffffffffffffffffffffffffffffffffff166373b2e80e836040518263ffffffff1660e01b815260040161199c9190612f71565b60206040518083038186803b1580156119b457600080fd5b505afa1580156119c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ec9190613400565b611a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a229061364e565b60405180910390fd5b611a577f60799c390a3b6f9a908bf0110e964aef3eef3e90cc04bfc19aa8ca8ec6fc34fb60001b611677565b611a837f9fb349167b7da88dee783eee6569c4988976a46f738562a0081271bc66cc735d60001b611677565b611aaf7f4ad1f43f30d7f056e77fc790e84a8bad5361e9bfe41bb56bce935aa2aa0c3e8560001b611677565b611adb7f7fd239b1726d3584b221ad0ef786362541e5e0c2ce640c61f1743be87b4236e560001b611677565b609e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548173ffffffffffffffffffffffffffffffffffffffff1663eda4e6d66040518163ffffffff1660e01b815260040160206040518083038186803b158015611b6157600080fd5b505afa158015611b75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b999190613683565b620151808373ffffffffffffffffffffffffffffffffffffffff16635c9302c96040518163ffffffff1660e01b815260040160206040518083038186803b158015611be357600080fd5b505afa158015611bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1b9190613683565b611c259190613279565b611c2f91906136b0565b11611c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6690613778565b60405180910390fd5b611c9b7f2267748dcbe959692b9498550487daa252e6abe274e32d10c90ab41a1597ba7f60001b611677565b611cc77f8c13146d206d6a87e11d9f2112a619ad1e0b4ebd433cbe418e2d3420fe4b5c0b60001b611677565b611cf37f8315e6fd99a5bd570e0d889efc8cd8080dc4997a294b0e67d012869ea1e9924a60001b611677565b611cfb612581565b611d277fc707e2c377ff13e729802b0cb1317508155d06c89e5db9da87c9632397f8920a60001b611677565b611d537f1e8911b88bea9ad460866a9d97a277ae45adb23339da0b3b30c4a6ad4b84631960001b611677565b42609e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc37fbca9e55c1e3f0beb3d60e0a050b766ddd427a1b720e3020bfcbacde4994c3c3160001b611677565b611def7f53ca0f35f698dd7dd814c410e2e3892f05faca4e2d0b7c7943d43e6b5a44b4ee60001b611677565b6001609c6000609b54815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e5591906136b0565b92505081905550611e887f0ee53675cb507cef3856a9ef2d3778256159f35ada4226a73c6ce5f20a9faa2e60001b611677565b611eb47f09d4af7fad7f8b5a480faeb63c2b6ba402fbfa079a313f9ac1e936475849363d60001b611677565b6001609c6000609b5481526020019081526020016000206001016000828254611edd91906136b0565b92505081905550611f107f16396e73d2d77c1ab8e0dcf8792252bb5a95a8477ad57b1b49398a96a3b1aa2360001b611677565b611f3c7f9bf61df37887eead3eee47ced01254d4c3e48d357845f6f23e96d266caeaafb460001b611677565b60006001609b54611f4d9190613245565b9050611f7b7f33df3f1005bf28931fc3f6197ecc235ae8f0fa0bc11a20eb1cd53b3a8b745e3860001b611677565b611fa77f13992466c943660bbb6aefcd9641a0eb2513f1e21c095643bbe5bf66527b199f60001b611677565b80609d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061204c576120197f103922f4a0efe637de04163041ea3a6e6d1076a480ea6ab4d99f95db0ce3e46d60001b611677565b6120457f99247942dd660b59c3842eac3042ff42530d69cc50c0aaddb6f40ef34b7c5b3460001b611677565b50506120dc565b6120787f026bd2caa50eca5bd0100b449c41b8bbcf5c8ee9bfcdc4ae29331ca196dd30a360001b611677565b6120a47fcad311015b5cb0dc5504dddbc1c9c3620b0c7aea8fc4048d181c2550f9278cd860001b611677565b6120d07f983cc045ea411ae65da2103cafc8162901d099a02f8da98761c82dd9caedb6ce60001b611677565b6120d983610d0b565b50505b50565b61210b7f9f02bfa7c22ce5050d0014dcb9065a1a5f85e836cd4fb4132f7506949377e6c660001b610c0d565b6121377ff015fccd34023af9029a61c3aff7897ea89f9523c30842911809a90b5b22b49d60001b610c0d565b6121637f2a907a701794cdfc827e2b3a6ed1076d8cff0866f7814f8fcd7d9a7a04827b5c60001b610c0d565b61218f7f6b80a95ff435661019124dc6cebcfe9b169da9e7644f8990d55be90bba690cfb60001b610c0d565b3373ffffffffffffffffffffffffffffffffffffffff16606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635aef7de66040518163ffffffff1660e01b815260040160206040518083038186803b15801561220e57600080fd5b505afa158015612222573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224691906130c5565b73ffffffffffffffffffffffffffffffffffffffff161461229c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612293906137e4565b60405180910390fd5b6122c87f49fe7b16686bd91cbba626adf6895dac5bf6146b8bd097c3ac48d0c2e1b821e360001b610c0d565b565b60006122f87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6128d8565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61234d7f610c71056e8204d89947799db8555f6e16e7370970f1304b559630e75f5f72a560001b610a4f565b6123797f776758cfe048d2780c7d5a1404ef8f7a743517d42abea794d1fba1872388621960001b610a4f565b6123a57fe25880f62ee3402fe33f8546c03d72acdc250b3ca81d6c122883ad6afd95c88d60001b610a4f565b6123ad6120df565b50565b60006123ba6122ca565b90506123c5846128e2565b6000835111806123d25750815b156123e3576123e1848461299b565b505b60006124117f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b612a7f565b90508060000160009054906101000a900460ff1661257a5760018160000160006101000a81548160ff0219169083151502179055506124dd858360405160240161245b9190612f71565b6040516020818303038152906040527f3659cfe6000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061299b565b5060008160000160006101000a81548160ff0219169083151502179055506125036122ca565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256790613876565b60405180910390fd5b61257985612a89565b5b5050505050565b6125ad7fde8c556451f59257fc572ce2371280d87b86339aae66803a9dcdf5fd4790ea4d60001b611677565b6125d97f1065adf6f50b6513b9467f4ac0c0cd1f13ef128ad692076b9df527b89ad0922860001b611677565b6126057fc2038abd071cac47c0a6c939baadf9b4d94667c0e97507c1f8920761b55038dd60001b611677565b600062278d00426126169190613302565b90506126447fc96acc1e4da604ed3aa321f9f26f2d0846c1834c98545cec157abaa7df5b18a760001b611677565b6126707f9bee0cbb57af484e7b07ec39b89b4c5a0a4f58659e36308514cfc34d9ab9af5b60001b611677565b609b548114612780576126a57fd94d0dfd275b701bdf8bf743a97e2a145c5e31ea76ba2c6fd6c49e9cab7d725a60001b611677565b6126d17fa0684cb13bcf7bf3fcb3556ef820154a943a767a7538e57d590ab2376a47335c60001b611677565b6126fd7f458dd7cccde54175ec08cfb39f7308668ac28a7dc1275773c67c16a6e0af8b8b60001b611677565b80609b819055506127307f979460448a559f75f1df4ed82be2db489a21856b64936d1eeaea17fdbd41402060001b611677565b61275c7f723559d906b2a64ac252b4ae8fa7e3287089a35f182cbfa135090bbc18365a9b60001b611677565b609a54609c6000609b548152602001908152602001600020600201819055506127ad565b6127ac7fe3d03b1c58038a395ab187c019f8036ec929afa4aef015814ea7303d238fdfb260001b611677565b5b50565b6127dc7ff15f24dfc74f64126371a3288523fbddf886dd048380c8b1950230158adddf2060001b610c0d565b6128087f64ad21c3e28e22ea9c18eec68e98eb9ba817bb55b19b1715f49de3ced9cc321960001b610c0d565b6128347f13de6a3bdaa67db41210490c741cbf20a513720be6ffe835e6941158e463075d60001b610c0d565b80606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506128a17f2bb6f094869741011cb91013e20489fe92a168ecbfba99feeccf0d512641fe6760001b610c0d565b6128cd7f0c50e89e6810a8cc40226de94a82e524005d1d94a93ecf86ca6ef3adad99f83960001b610c0d565b6128d56105fb565b50565b6000819050919050565b6128eb81612ad8565b61292a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292190613908565b60405180910390fd5b806129577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6128d8565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606129a683612ad8565b6129e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129dc9061399a565b60405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612a0d9190613a34565b600060405180830381855af49150503d8060008114612a48576040519150601f19603f3d011682016040523d82523d6000602084013e612a4d565b606091505b5091509150612a758282604051806060016040528060278152602001613ab260279139612aeb565b9250505092915050565b6000819050919050565b612a92816128e2565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b600080823b905060008111915050919050565b60608315612afb57829050612b4b565b600083511115612b0e5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b429190613a8f565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b612b7981612b66565b8114612b8457600080fd5b50565b600081359050612b9681612b70565b92915050565b600060208284031215612bb257612bb1612b5c565b5b6000612bc084828501612b87565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612bf482612bc9565b9050919050565b612c0481612be9565b8114612c0f57600080fd5b50565b600081359050612c2181612bfb565b92915050565b600060208284031215612c3d57612c3c612b5c565b5b6000612c4b84828501612c12565b91505092915050565b612c5d81612b66565b82525050565b6000602082019050612c786000830184612c54565b92915050565b6000604082019050612c936000830185612c54565b612ca06020830184612c54565b9392505050565b6000819050919050565b612cba81612ca7565b8114612cc557600080fd5b50565b600081359050612cd781612cb1565b92915050565b600060208284031215612cf357612cf2612b5c565b5b6000612d0184828501612cc8565b91505092915050565b6000819050919050565b6000612d2f612d2a612d2584612bc9565b612d0a565b612bc9565b9050919050565b6000612d4182612d14565b9050919050565b6000612d5382612d36565b9050919050565b612d6381612d48565b82525050565b6000602082019050612d7e6000830184612d5a565b92915050565b6000612d8f82612d36565b9050919050565b612d9f81612d84565b82525050565b6000602082019050612dba6000830184612d96565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612e1382612dca565b810181811067ffffffffffffffff82111715612e3257612e31612ddb565b5b80604052505050565b6000612e45612b52565b9050612e518282612e0a565b919050565b600067ffffffffffffffff821115612e7157612e70612ddb565b5b612e7a82612dca565b9050602081019050919050565b82818337600083830152505050565b6000612ea9612ea484612e56565b612e3b565b905082815260208101848484011115612ec557612ec4612dc5565b5b612ed0848285612e87565b509392505050565b600082601f830112612eed57612eec612dc0565b5b8135612efd848260208601612e96565b91505092915050565b60008060408385031215612f1d57612f1c612b5c565b5b6000612f2b85828601612c12565b925050602083013567ffffffffffffffff811115612f4c57612f4b612b61565b5b612f5885828601612ed8565b9150509250929050565b612f6b81612be9565b82525050565b6000602082019050612f866000830184612f62565b92915050565b6000612f9782612be9565b9050919050565b612fa781612f8c565b8114612fb257600080fd5b50565b600081359050612fc481612f9e565b92915050565b600060208284031215612fe057612fdf612b5c565b5b6000612fee84828501612fb5565b91505092915050565b600061300282612d36565b9050919050565b61301281612ff7565b82525050565b600060208201905061302d6000830184613009565b92915050565b600082825260208201905092915050565b7f434f4e54524f4c4c455200000000000000000000000000000000000000000000600082015250565b600061307a600a83613033565b915061308582613044565b602082019050919050565b600060208201905081810360008301526130a98161306d565b9050919050565b6000815190506130bf81612bfb565b92915050565b6000602082840312156130db576130da612b5c565b5b60006130e9848285016130b0565b91505092915050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b600061314e602c83613033565b9150613159826130f2565b604082019050919050565b6000602082019050818103600083015261317d81613141565b9050919050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b60006131e0602c83613033565b91506131eb82613184565b604082019050919050565b6000602082019050818103600083015261320f816131d3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061325082612b66565b915061325b83612b66565b92508282101561326e5761326d613216565b5b828203905092915050565b600061328482612b66565b915061328f83612b66565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132c8576132c7613216565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061330d82612b66565b915061331883612b66565b925082613328576133276132d3565b5b828204905092915050565b7f52455055544154494f4e00000000000000000000000000000000000000000000600082015250565b6000613369600a83613033565b915061337482613333565b602082019050919050565b600060208201905081810360008301526133988161335c565b9050919050565b60006040820190506133b46000830185612f62565b6133c16020830184612c54565b9392505050565b60008115159050919050565b6133dd816133c8565b81146133e857600080fd5b50565b6000815190506133fa816133d4565b92915050565b60006020828403121561341657613415612b5c565b5b6000613424848285016133eb565b91505092915050565b60006080820190506134426000830187612f62565b61344f6020830186612c54565b61345c6040830185612c54565b6134696060830184612c54565b95945050505050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006134ce602e83613033565b91506134d982613472565b604082019050919050565b600060208201905081810360008301526134fd816134c1565b9050919050565b7f474f4f44444f4c4c415200000000000000000000000000000000000000000000600082015250565b600061353a600a83613033565b915061354582613504565b602082019050919050565b600060208201905081810360008301526135698161352d565b9050919050565b7f554249534348454d450000000000000000000000000000000000000000000000600082015250565b60006135a6600983613033565b91506135b182613570565b602082019050919050565b600060208201905081810360008301526135d581613599565b9050919050565b7f436c61696d657273446973747269627574696f6e3a206469646e277420636c6160008201527f696d20746f646179000000000000000000000000000000000000000000000000602082015250565b6000613638602883613033565b9150613643826135dc565b604082019050919050565b600060208201905081810360008301526136678161362b565b9050919050565b60008151905061367d81612b70565b92915050565b60006020828403121561369957613698612b5c565b5b60006136a78482850161366e565b91505092915050565b60006136bb82612b66565b91506136c683612b66565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156136fb576136fa613216565b5b828201905092915050565b7f436c61696d657273446973747269627574696f6e3a20616c726561647920757060008201527f6461746564000000000000000000000000000000000000000000000000000000602082015250565b6000613762602583613033565b915061376d82613706565b604082019050919050565b6000602082019050818103600083015261379181613755565b9050919050565b7f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f64600082015250565b60006137ce602083613033565b91506137d982613798565b602082019050919050565b600060208201905081810360008301526137fd816137c1565b9050919050565b7f45524331393637557067726164653a207570677261646520627265616b73206660008201527f7572746865722075706772616465730000000000000000000000000000000000602082015250565b6000613860602f83613033565b915061386b82613804565b604082019050919050565b6000602082019050818103600083015261388f81613853565b9050919050565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b60006138f2602d83613033565b91506138fd82613896565b604082019050919050565b60006020820190508181036000830152613921816138e5565b9050919050565b7f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60008201527f6e74726163740000000000000000000000000000000000000000000000000000602082015250565b6000613984602683613033565b915061398f82613928565b604082019050919050565b600060208201905081810360008301526139b381613977565b9050919050565b600081519050919050565b600081905092915050565b60005b838110156139ee5780820151818401526020810190506139d3565b838111156139fd576000848401525b50505050565b6000613a0e826139ba565b613a1881856139c5565b9350613a288185602086016139d0565b80840191505092915050565b6000613a408284613a03565b915081905092915050565b600081519050919050565b6000613a6182613a4b565b613a6b8185613033565b9350613a7b8185602086016139d0565b613a8481612dca565b840191505092915050565b60006020820190508181036000830152613aa98184613a56565b90509291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220fa1f5774317bc36d49760085c6b1601cd16ab0961f54a1d5b5479c920c949eb264736f6c63430008080033",
|
|
345
|
+
"bytecode": "0x60a06040523060601b60805234801561001757600080fd5b5060805160601c6115d361004b600039600081816104db01528181610524015281816105ad01526105ed01526115d36000f3fe6080604052600436106100ce5760003560e01c806305a6aafa146100d35780630a6f93e6146100f55780631b3c90a8146101355780631d0205b81461014a5780633659cfe6146101965780633c8c043a146101b65780633e6326fc146101cc5780634162169f146101f95780634f1ef286146102195780635aef7de61461022c578063862a4d471461024c578063b5f3067f14610262578063c047f1c31461028f578063c382c475146102d3578063c4d66de8146102f3578063e1758bd814610313578063e9157dd214610328575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611231565b610348565b005b34801561010157600080fd5b5061012261011036600461125f565b609e6020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561014157600080fd5b506100f361038b565b34801561015657600080fd5b50610181610165366004611231565b609c602052600090815260409020600181015460029091015482565b6040805192835260208301919091520161012c565b3480156101a257600080fd5b506100f36101b136600461125f565b6104d0565b3480156101c257600080fd5b50610122609a5481565b3480156101d857600080fd5b506067546101ec906001600160a01b031681565b60405161012c919061127c565b34801561020557600080fd5b506065546101ec906001600160a01b031681565b6100f36102273660046112a6565b6105a2565b34801561023857600080fd5b506066546101ec906001600160a01b031681565b34801561025857600080fd5b50610122609b5481565b34801561026e57600080fd5b5061012261027d36600461125f565b609d6020526000908152604090205481565b34801561029b57600080fd5b506101226102aa36600461125f565b609b546000908152609c602090815260408083206001600160a01b039094168352929052205490565b3480156102df57600080fd5b506100f36102ee36600461125f565b61065c565b3480156102ff57600080fd5b506100f361030e36600461125f565b610883565b34801561031f57600080fd5b506101ec610955565b34801561033457600080fd5b506100f361034336600461125f565b6109f1565b610350610da1565b609a8190556040518181527f237ab53d478ae984b5181944dc85b134c034a24236aac1632aa10236cedd8a999060200160405180910390a150565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156103e957600080fd5b505afa1580156103fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104219190611369565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561047657600080fd5b505afa15801561048a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ae9190611369565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105225760405162461bcd60e51b815260040161051990611386565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610554610e75565b6001600160a01b03161461057a5760405162461bcd60e51b8152600401610519906113c0565b61058381610e91565b6040805160008082526020820190925261059f91839190610e99565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105eb5760405162461bcd60e51b815260040161051990611386565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661061d610e75565b6001600160a01b0316146106435760405162461bcd60e51b8152600401610519906113c0565b61064c82610e91565b61065882826001610e99565b5050565b60006001609b5461066d9190611410565b6000818152609c6020908152604080832060028101546001600160a01b038816855290835281842054609d9093529220549293509091831180156106b15750600081115b80156106bd5750600082115b1561087d576001600160a01b0384166000908152609d60209081526040808320869055858352609c9091528120600101546106f88385611427565b6107029190611446565b9050801561087b5760675460405163bf40fac160e01b815260206004820152600a6024820152692922a82aaa20aa24a7a760b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561076957600080fd5b505afa15801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a19190611369565b6040516340c10f1960e01b81526001600160a01b03888116600483015260248201859052919250908216906340c10f1990604401602060405180830381600087803b1580156107ef57600080fd5b505af1158015610803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190611468565b50604080516001600160a01b038816815260208101879052908101849052606081018390527f6d539aca58a0ce9de5ef660cea9845c2b109a1665b74200cceda7e8f097d0ace9060800160405180910390a1505b505b50505050565b600054610100900460ff168061089c575060005460ff16155b6108ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610519565b600054610100900460ff16158015610921576000805461ffff19166101011790555b66d3c21bcecceda1601a1b609a55610937610fd9565b61094082611010565b8015610658576000805461ff00191690555050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b1580156109b457600080fd5b505afa1580156109c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ec9190611369565b905090565b60675460405163bf40fac160e01b8152602060048201526009602482015268554249534348454d4560b81b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b158015610a4f57600080fd5b505afa158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a879190611369565b6040516339d9740760e11b81529091506001600160a01b038216906373b2e80e90610ab690859060040161127c565b60206040518083038186803b158015610ace57600080fd5b505afa158015610ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b069190611468565b610b635760405162461bcd60e51b815260206004820152602860248201527f436c61696d657273446973747269627574696f6e3a206469646e277420636c61604482015267696d20746f64617960c01b6064820152608401610519565b609e6000836001600160a01b03166001600160a01b0316815260200190815260200160002054816001600160a01b031663eda4e6d66040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc257600080fd5b505afa158015610bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfa919061148a565b826001600160a01b0316635c9302c96040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3357600080fd5b505afa158015610c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6b919061148a565b610c789062015180611427565b610c8291906114a3565b11610cdd5760405162461bcd60e51b815260206004820152602560248201527f436c61696d657273446973747269627574696f6e3a20616c726561647920757060448201526419185d195960da1b6064820152608401610519565b610ce5610fd9565b6001600160a01b0382166000818152609e60209081526040808320429055609b548352609c8252808320938352929052908120805460019290610d299084906114a3565b9091555050609b546000908152609c602052604081206001908101805491929091610d559084906114a3565b9091555050609b54600090610d6c90600190611410565b6001600160a01b0384166000908152609d60205260409020549091508111610d9357505050565b610d9c8361065c565b505050565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b158015610de557600080fd5b505afa158015610df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1d9190611369565b6001600160a01b031614610e735760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610519565b565b600080516020611557833981519152546001600160a01b031690565b61059f610da1565b6000610ea3610e75565b9050610eae84611033565b600083511180610ebb5750815b15610ecc57610eca84846110c6565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661087b57805460ff19166001178155604051610f47908690610f1890859060240161127c565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526110c6565b50805460ff19168155610f58610e75565b6001600160a01b0316826001600160a01b031614610fd05760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610519565b61087b856111b1565b6000610fe862278d0042611446565b9050609b54811461059f57609b819055609a546000828152609c602052604090206002015550565b606780546001600160a01b0319166001600160a01b03831617905561059f61038b565b803b6110975760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610519565b60008051602061155783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6111255760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610519565b600080846001600160a01b03168460405161114091906114e7565b600060405180830381855af49150503d806000811461117b576040519150601f19603f3d011682016040523d82523d6000602084013e611180565b606091505b50915091506111a88282604051806060016040528060278152602001611577602791396111f1565b95945050505050565b6111ba81611033565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561120057508161122a565b8251156112105782518084602001fd5b8160405162461bcd60e51b81526004016105199190611503565b9392505050565b60006020828403121561124357600080fd5b5035919050565b6001600160a01b038116811461059f57600080fd5b60006020828403121561127157600080fd5b813561122a8161124a565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156112b957600080fd5b82356112c48161124a565b915060208301356001600160401b03808211156112e057600080fd5b818501915085601f8301126112f457600080fd5b81358181111561130657611306611290565b604051601f8201601f19908116603f0116810190838211818310171561132e5761132e611290565b8160405282815288602084870101111561134757600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561137b57600080fd5b815161122a8161124a565b6020808252602c9082015260008051602061153783398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061153783398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600082821015611422576114226113fa565b500390565b6000816000190483118215151615611441576114416113fa565b500290565b60008261146357634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561147a57600080fd5b8151801515811461122a57600080fd5b60006020828403121561149c57600080fd5b5051919050565b600082198211156114b6576114b66113fa565b500190565b60005b838110156114d65781810151838201526020016114be565b8381111561087d5750506000910152565b600082516114f98184602087016114bb565b9190910192915050565b60208152600082518060208401526115228160408501602087016114bb565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206e07ba7068280e4aceea141b031de56e36e25f6ef0840a49f3be9443f20fbcb264736f6c63430008080033",
|
|
346
|
+
"deployedBytecode": "0x6080604052600436106100ce5760003560e01c806305a6aafa146100d35780630a6f93e6146100f55780631b3c90a8146101355780631d0205b81461014a5780633659cfe6146101965780633c8c043a146101b65780633e6326fc146101cc5780634162169f146101f95780634f1ef286146102195780635aef7de61461022c578063862a4d471461024c578063b5f3067f14610262578063c047f1c31461028f578063c382c475146102d3578063c4d66de8146102f3578063e1758bd814610313578063e9157dd214610328575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611231565b610348565b005b34801561010157600080fd5b5061012261011036600461125f565b609e6020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561014157600080fd5b506100f361038b565b34801561015657600080fd5b50610181610165366004611231565b609c602052600090815260409020600181015460029091015482565b6040805192835260208301919091520161012c565b3480156101a257600080fd5b506100f36101b136600461125f565b6104d0565b3480156101c257600080fd5b50610122609a5481565b3480156101d857600080fd5b506067546101ec906001600160a01b031681565b60405161012c919061127c565b34801561020557600080fd5b506065546101ec906001600160a01b031681565b6100f36102273660046112a6565b6105a2565b34801561023857600080fd5b506066546101ec906001600160a01b031681565b34801561025857600080fd5b50610122609b5481565b34801561026e57600080fd5b5061012261027d36600461125f565b609d6020526000908152604090205481565b34801561029b57600080fd5b506101226102aa36600461125f565b609b546000908152609c602090815260408083206001600160a01b039094168352929052205490565b3480156102df57600080fd5b506100f36102ee36600461125f565b61065c565b3480156102ff57600080fd5b506100f361030e36600461125f565b610883565b34801561031f57600080fd5b506101ec610955565b34801561033457600080fd5b506100f361034336600461125f565b6109f1565b610350610da1565b609a8190556040518181527f237ab53d478ae984b5181944dc85b134c034a24236aac1632aa10236cedd8a999060200160405180910390a150565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156103e957600080fd5b505afa1580156103fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104219190611369565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561047657600080fd5b505afa15801561048a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ae9190611369565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105225760405162461bcd60e51b815260040161051990611386565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610554610e75565b6001600160a01b03161461057a5760405162461bcd60e51b8152600401610519906113c0565b61058381610e91565b6040805160008082526020820190925261059f91839190610e99565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105eb5760405162461bcd60e51b815260040161051990611386565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661061d610e75565b6001600160a01b0316146106435760405162461bcd60e51b8152600401610519906113c0565b61064c82610e91565b61065882826001610e99565b5050565b60006001609b5461066d9190611410565b6000818152609c6020908152604080832060028101546001600160a01b038816855290835281842054609d9093529220549293509091831180156106b15750600081115b80156106bd5750600082115b1561087d576001600160a01b0384166000908152609d60209081526040808320869055858352609c9091528120600101546106f88385611427565b6107029190611446565b9050801561087b5760675460405163bf40fac160e01b815260206004820152600a6024820152692922a82aaa20aa24a7a760b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561076957600080fd5b505afa15801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a19190611369565b6040516340c10f1960e01b81526001600160a01b03888116600483015260248201859052919250908216906340c10f1990604401602060405180830381600087803b1580156107ef57600080fd5b505af1158015610803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190611468565b50604080516001600160a01b038816815260208101879052908101849052606081018390527f6d539aca58a0ce9de5ef660cea9845c2b109a1665b74200cceda7e8f097d0ace9060800160405180910390a1505b505b50505050565b600054610100900460ff168061089c575060005460ff16155b6108ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610519565b600054610100900460ff16158015610921576000805461ffff19166101011790555b66d3c21bcecceda1601a1b609a55610937610fd9565b61094082611010565b8015610658576000805461ff00191690555050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b1580156109b457600080fd5b505afa1580156109c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ec9190611369565b905090565b60675460405163bf40fac160e01b8152602060048201526009602482015268554249534348454d4560b81b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b158015610a4f57600080fd5b505afa158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a879190611369565b6040516339d9740760e11b81529091506001600160a01b038216906373b2e80e90610ab690859060040161127c565b60206040518083038186803b158015610ace57600080fd5b505afa158015610ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b069190611468565b610b635760405162461bcd60e51b815260206004820152602860248201527f436c61696d657273446973747269627574696f6e3a206469646e277420636c61604482015267696d20746f64617960c01b6064820152608401610519565b609e6000836001600160a01b03166001600160a01b0316815260200190815260200160002054816001600160a01b031663eda4e6d66040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc257600080fd5b505afa158015610bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfa919061148a565b826001600160a01b0316635c9302c96040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3357600080fd5b505afa158015610c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6b919061148a565b610c789062015180611427565b610c8291906114a3565b11610cdd5760405162461bcd60e51b815260206004820152602560248201527f436c61696d657273446973747269627574696f6e3a20616c726561647920757060448201526419185d195960da1b6064820152608401610519565b610ce5610fd9565b6001600160a01b0382166000818152609e60209081526040808320429055609b548352609c8252808320938352929052908120805460019290610d299084906114a3565b9091555050609b546000908152609c602052604081206001908101805491929091610d559084906114a3565b9091555050609b54600090610d6c90600190611410565b6001600160a01b0384166000908152609d60205260409020549091508111610d9357505050565b610d9c8361065c565b505050565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b158015610de557600080fd5b505afa158015610df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1d9190611369565b6001600160a01b031614610e735760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610519565b565b600080516020611557833981519152546001600160a01b031690565b61059f610da1565b6000610ea3610e75565b9050610eae84611033565b600083511180610ebb5750815b15610ecc57610eca84846110c6565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661087b57805460ff19166001178155604051610f47908690610f1890859060240161127c565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526110c6565b50805460ff19168155610f58610e75565b6001600160a01b0316826001600160a01b031614610fd05760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610519565b61087b856111b1565b6000610fe862278d0042611446565b9050609b54811461059f57609b819055609a546000828152609c602052604090206002015550565b606780546001600160a01b0319166001600160a01b03831617905561059f61038b565b803b6110975760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610519565b60008051602061155783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6111255760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610519565b600080846001600160a01b03168460405161114091906114e7565b600060405180830381855af49150503d806000811461117b576040519150601f19603f3d011682016040523d82523d6000602084013e611180565b606091505b50915091506111a88282604051806060016040528060278152602001611577602791396111f1565b95945050505050565b6111ba81611033565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561120057508161122a565b8251156112105782518084602001fd5b8160405162461bcd60e51b81526004016105199190611503565b9392505050565b60006020828403121561124357600080fd5b5035919050565b6001600160a01b038116811461059f57600080fd5b60006020828403121561127157600080fd5b813561122a8161124a565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156112b957600080fd5b82356112c48161124a565b915060208301356001600160401b03808211156112e057600080fd5b818501915085601f8301126112f457600080fd5b81358181111561130657611306611290565b604051601f8201601f19908116603f0116810190838211818310171561132e5761132e611290565b8160405282815288602084870101111561134757600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561137b57600080fd5b815161122a8161124a565b6020808252602c9082015260008051602061153783398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061153783398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600082821015611422576114226113fa565b500390565b6000816000190483118215151615611441576114416113fa565b500290565b60008261146357634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561147a57600080fd5b8151801515811461122a57600080fd5b60006020828403121561149c57600080fd5b5051919050565b600082198211156114b6576114b66113fa565b500190565b60005b838110156114d65781810151838201526020016114be565b8381111561087d5750506000910152565b600082516114f98184602087016114bb565b9190910192915050565b60208152600082518060208401526115228160408501602087016114bb565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206e07ba7068280e4aceea141b031de56e36e25f6ef0840a49f3be9443f20fbcb264736f6c63430008080033",
|
|
386
347
|
"linkReferences": {},
|
|
387
348
|
"deployedLinkReferences": {}
|
|
388
349
|
}
|