@gooddollar/goodprotocol 1.0.0-beta.32 → 1.0.0-beta.42

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.
Files changed (167) hide show
  1. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  2. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  3. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  4. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  5. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  6. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  7. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  8. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  9. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  10. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  11. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  26. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  27. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  28. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  29. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +60 -21
  30. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  31. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
  32. package/artifacts/contracts/governance/GovarnanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  33. package/artifacts/contracts/governance/GovarnanceStaking.sol/GovernanceStaking.json +2 -2
  34. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  35. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  36. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  37. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  38. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  39. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  40. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.json +2 -2
  41. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  42. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.json +2 -2
  43. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  44. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.json +2 -2
  45. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  46. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.json +2 -2
  47. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  48. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.json +2 -2
  49. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  50. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.json +2 -2
  51. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  52. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.json +2 -2
  53. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  54. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.json +2 -2
  55. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  56. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.json +2 -2
  57. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  58. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +6 -6
  59. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  60. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  61. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  62. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.json +2 -2
  63. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  64. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.json +2 -2
  65. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
  67. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  68. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  69. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.json +2 -2
  71. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  73. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.json +2 -2
  75. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +4 -0
  76. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +224 -0
  77. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +4 -0
  78. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +198 -0
  79. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.json +2 -2
  81. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.json +2 -2
  83. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.json +2 -2
  85. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.json +2 -2
  87. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.json +2 -2
  89. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.json +2 -2
  91. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.json +2 -2
  93. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.json +2 -2
  95. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  96. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  97. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  98. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  99. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  100. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  101. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +2 -2
  102. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  103. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  104. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  105. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  106. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  107. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  108. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  109. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  110. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  111. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  112. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +3 -3
  113. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  114. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +4 -4
  115. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  116. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +4 -4
  117. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  118. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +6 -6
  119. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  120. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
  121. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  122. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.json +2 -2
  123. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  124. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  125. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  126. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
  127. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  128. package/artifacts/contracts/utils/DSMath.sol/DSMath.json +2 -2
  129. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  130. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.json +2 -2
  131. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  132. package/artifacts/contracts/utils/NameService.sol/NameService.json +2 -2
  133. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  134. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  135. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +7 -2
  136. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  137. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +7 -2
  138. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +4 -0
  139. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +95 -0
  140. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +4 -0
  141. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.json +185 -0
  142. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  143. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  144. package/contracts/governance/CompoundVotingMachine.sol +99 -83
  145. package/contracts/governance/GovarnanceStaking.sol +3 -5
  146. package/contracts/mocks/UpgradableMocks.sol +31 -0
  147. package/contracts/utils/DAOUpgradeableContract.sol +1 -1
  148. package/contracts/utils/ProtocolUpgrade.sol +7 -14
  149. package/contracts/utils/ProtocolUpgradeFuse.sol +2 -2
  150. package/contracts/utils/ProxyFactory1967.sol +153 -0
  151. package/hardhat.config.ts +1 -1
  152. package/package.json +8 -8
  153. package/releases/deploy-settings.json +3 -3
  154. package/releases/deployment.json +1 -1
  155. package/releases/olddao.json +1 -1
  156. package/scripts/gdx/gdxAirdropCalculation.ts +11 -10
  157. package/scripts/governance/airdropCalculation.ts +235 -65
  158. package/scripts/releaser.js +11 -5
  159. package/scripts/upgradeToV2/upgradeToV2.ts +353 -228
  160. package/test/governance/CompoundVotingMachine.daoscheme.ts +124 -10
  161. package/test/governance/CompoundVotingMachine.guardian.test.ts +38 -7
  162. package/test/localOldDaoDeploy.ts +24 -24
  163. package/test/staking/DonationsStaking.test.ts +13 -12
  164. package/test/utils/ProxyFactory.test.ts +102 -0
  165. package/tsconfig.json +1 -1
  166. package/yarn.lock +253 -32
  167. package/test/simulateInterest.ts +0 -85
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/3209e5b39cdfe6834e6f6442881fa1e6.json"
3
+ "buildInfo": "../../../build-info/c95fb6bb6c0347b906a7ac81aab25093.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/3209e5b39cdfe6834e6f6442881fa1e6.json"
3
+ "buildInfo": "../../../build-info/c95fb6bb6c0347b906a7ac81aab25093.json"
4
4
  }
@@ -70,8 +70,8 @@
70
70
  "type": "function"
71
71
  }
72
72
  ],
73
- "bytecode": "0x6110a8610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80631728980614610050578063804b80ae1461006c578063cd8cea691461009c575b600080fd5b61006a60048036038101906100659190610bbd565b6100cc565b005b61008660048036038101906100819190610c38565b6100cf565b6040516100939190610dc7565b60405180910390f35b6100b660048036038101906100b19190610c0f565b610946565b6040516100c39190610d8c565b60405180910390f35b50565b60006100fd7f37b29b85b63063469a75a63ee7abefa42ea7cf9b46c81f509e667b058629e5c360001b6100cc565b6101297fde3592c87fdbbae9d8efbeff6c062200ce385f3958e1b56de880aa57a32584a260001b6100cc565b6101557f520b279d79da24e4cce51403c2de01a9c9796795771c6d7f523dc054fb3fe5a360001b6100cc565b600061016086610946565b905061018e7f86c4cd191db5cb29eb55e8aeccc1b7f4cfc73665df97cb396b0fc064bc9300d560001b6100cc565b6101ba7fc71b5339cd808c43e122b5e62bb3f670e56268b3963557c02704f76ed02896be60001b6100cc565b60008173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a9190610b94565b90506102687fe355f3473ecada9e4921a2991471e24ad8f2e3d2b34a6d9d0c03f0a4e700ec8560001b6100cc565b6102947f6865f0dfb399b6f6b1e6b8408cf4666f638d5301c223a7e42a023a32a9255c4f60001b6100cc565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146102ce57856102d0565b805b95506102fe7f4eb9953a38604b84e089af7d36f4eefca756ed75f37e6f68f5922f547462ab8f60001b6100cc565b61032a7f90ddacbb22946fd46339d347b2928c6ecb1d02ec3157e70309ae01988aa5c58960001b6100cc565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146103645784610366565b805b94506103947f4bc5a7f1b5f381d08feadbe5fa20f252b84aedf96f2c95311b6fe2d22d85fe1660001b6100cc565b6103c07f7b4545c58f166f9b1dd328a4500d9ecf338f14383c51cfda3662eaf356ee9ff960001b6100cc565b60008273ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561040857600080fd5b505afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190610b94565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390588886040518363ffffffff1660e01b815260040161047a929190610d63565b60206040518083038186803b15801561049257600080fd5b505afa1580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190610b94565b90506104f87f2dcab457f1a97cc71b24d07ffee12bfc67d684f3f860d9fea60268ccfed4af2a60001b6100cc565b6105247fc60928e54125cddb195ef47a3ccdab8488ed22654fd77fb6864f347abde34ef860001b6100cc565b6000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561056d57600080fd5b505afa158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190610c9b565b50915091506105d67f912c2c4b493c7f650c91878d88949186d8b31f5254364a18e3ba2d1f909bc22360001b6100cc565b6106027fb97ada6e9ad44439c21aa08b8c878faa72615520df5ecfa35204bfa459c3efda60001b6100cc565b60008290506106337f7a929c5797374e8aadd0261c6ead28a98ef36efc811994113e8159c19ae0321660001b6100cc565b61065f7f52ff2279ed91f6c42c4a2569185ee7aa34ecc5595d6298ccfc7a2ad340fd32b260001b6100cc565b8373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156106a557600080fd5b505afa1580156106b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd9190610b94565b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141561079c5761073c7f312724aabb9b9afa9f8593916110e4c286a462a6d0da4d15dce34d7a354808bc60001b6100cc565b6107687f8225f0112aaa5d2854ff29fde861ad974353052a6e0ad59347d4b6ceed2720a460001b6100cc565b6107947f4cc7ff21eeecc6a4fc2ed146a07964a405e81e845e89d4b1f51d0b14626535a860001b6100cc565b8190506107c9565b6107c87f8167a37b132abea6d510833f045e1670d1f3912798ff93a77f5e428359999b4c60001b6100cc565b5b6107f57f964c529c16a87bc13760ed2ecec1b5481a96b1b3a8ca66ffa041ea3cfc5fc67260001b6100cc565b6108217f6c4dfc98ccedc3e0b5b105c545fafd85c900e135a42bee35bbcc4c63a8f2eb3560001b6100cc565b620186a08b73ffffffffffffffffffffffffffffffffffffffff1663f412a6af6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190610cea565b62ffffff16826108b39190610e24565b6108bd9190610df3565b6dffffffffffffffffffffffffffff1696506108fb7feb6222a5a6a6c4049d49fa1aff8865f2ef7993f694b95c965a7bdfea7e32488060001b6100cc565b6109277f1f8c4575a49c73cb4513b0a2931dc51ed1a82b3993cf839fe9812df9ef02f56660001b6100cc565b8787106109345787610936565b865b9650505050505050949350505050565b60006109747ff322a4da9b19a5a519c70851eb7067f734bbe2c8f93a28b540e5781c5587bc5860001b6100cc565b6109a07f57fd02c31d182c007df8006986e1414b3492bb416a0fc53c1cd65db25389d11b60001b6100cc565b6109cc7fc6a29cb16b18a5652832e8ced3974e3e144a3ed9e44656b19bd49045494d8f6360001b6100cc565b8173ffffffffffffffffffffffffffffffffffffffff16633e6326fc6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190610be6565b73ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b8152600401610a8090610da7565b60206040518083038186803b158015610a9857600080fd5b505afa158015610aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad09190610b94565b9050919050565b600081359050610ae681610fba565b92915050565b600081519050610afb81610fba565b92915050565b600081359050610b1081610fd1565b92915050565b600081519050610b2581610fe8565b92915050565b600081359050610b3a81610fff565b92915050565b600081519050610b4f81611016565b92915050565b600081519050610b648161102d565b92915050565b600081359050610b7981611044565b92915050565b600081519050610b8e8161105b565b92915050565b600060208284031215610ba657600080fd5b6000610bb484828501610aec565b91505092915050565b600060208284031215610bcf57600080fd5b6000610bdd84828501610b01565b91505092915050565b600060208284031215610bf857600080fd5b6000610c0684828501610b16565b91505092915050565b600060208284031215610c2157600080fd5b6000610c2f84828501610b2b565b91505092915050565b60008060008060808587031215610c4e57600080fd5b6000610c5c87828801610b2b565b9450506020610c6d87828801610ad7565b9350506040610c7e87828801610ad7565b9250506060610c8f87828801610b6a565b91505092959194509250565b600080600060608486031215610cb057600080fd5b6000610cbe86828701610b40565b9350506020610ccf86828701610b40565b9250506040610ce086828701610b7f565b9150509250925092565b600060208284031215610cfc57600080fd5b6000610d0a84828501610b55565b91505092915050565b610d1c81610e6c565b82525050565b610d2b81610f0f565b82525050565b6000610d3e600e83610de2565b9150610d4982610f91565b602082019050919050565b610d5d81610ef5565b82525050565b6000604082019050610d786000830185610d13565b610d856020830184610d13565b9392505050565b6000602082019050610da16000830184610d22565b92915050565b60006020820190508181036000830152610dc081610d31565b9050919050565b6000602082019050610ddc6000830184610d54565b92915050565b600082825260208201905092915050565b6000610dfe82610eac565b9150610e0983610eac565b925082610e1957610e18610f62565b5b828204905092915050565b6000610e2f82610eac565b9150610e3a83610eac565b9250816dffffffffffffffffffffffffffff0483118215151615610e6157610e60610f33565b5b828202905092915050565b6000610e7782610ec6565b9050919050565b6000819050919050565b6000610e9382610e6c565b9050919050565b6000610ea582610e6c565b9050919050565b60006dffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062ffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b6000610f1a82610f21565b9050919050565b6000610f2c82610ec6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f554e49535741505f524f55544552000000000000000000000000000000000000600082015250565b610fc381610e6c565b8114610fce57600080fd5b50565b610fda81610e7e565b8114610fe557600080fd5b50565b610ff181610e88565b8114610ffc57600080fd5b50565b61100881610e9a565b811461101357600080fd5b50565b61101f81610eac565b811461102a57600080fd5b50565b61103681610ee6565b811461104157600080fd5b50565b61104d81610ef5565b811461105857600080fd5b50565b61106481610eff565b811461106f57600080fd5b5056fea2646970667358221220ee80afc6bd6d70c1cc01e80673f71f8cb2d45420f5dcb23e48104918752bea4864736f6c63430008030033",
74
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80631728980614610050578063804b80ae1461006c578063cd8cea691461009c575b600080fd5b61006a60048036038101906100659190610bbd565b6100cc565b005b61008660048036038101906100819190610c38565b6100cf565b6040516100939190610dc7565b60405180910390f35b6100b660048036038101906100b19190610c0f565b610946565b6040516100c39190610d8c565b60405180910390f35b50565b60006100fd7f37b29b85b63063469a75a63ee7abefa42ea7cf9b46c81f509e667b058629e5c360001b6100cc565b6101297fde3592c87fdbbae9d8efbeff6c062200ce385f3958e1b56de880aa57a32584a260001b6100cc565b6101557f520b279d79da24e4cce51403c2de01a9c9796795771c6d7f523dc054fb3fe5a360001b6100cc565b600061016086610946565b905061018e7f86c4cd191db5cb29eb55e8aeccc1b7f4cfc73665df97cb396b0fc064bc9300d560001b6100cc565b6101ba7fc71b5339cd808c43e122b5e62bb3f670e56268b3963557c02704f76ed02896be60001b6100cc565b60008173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a9190610b94565b90506102687fe355f3473ecada9e4921a2991471e24ad8f2e3d2b34a6d9d0c03f0a4e700ec8560001b6100cc565b6102947f6865f0dfb399b6f6b1e6b8408cf4666f638d5301c223a7e42a023a32a9255c4f60001b6100cc565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146102ce57856102d0565b805b95506102fe7f4eb9953a38604b84e089af7d36f4eefca756ed75f37e6f68f5922f547462ab8f60001b6100cc565b61032a7f90ddacbb22946fd46339d347b2928c6ecb1d02ec3157e70309ae01988aa5c58960001b6100cc565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146103645784610366565b805b94506103947f4bc5a7f1b5f381d08feadbe5fa20f252b84aedf96f2c95311b6fe2d22d85fe1660001b6100cc565b6103c07f7b4545c58f166f9b1dd328a4500d9ecf338f14383c51cfda3662eaf356ee9ff960001b6100cc565b60008273ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561040857600080fd5b505afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190610b94565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390588886040518363ffffffff1660e01b815260040161047a929190610d63565b60206040518083038186803b15801561049257600080fd5b505afa1580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190610b94565b90506104f87f2dcab457f1a97cc71b24d07ffee12bfc67d684f3f860d9fea60268ccfed4af2a60001b6100cc565b6105247fc60928e54125cddb195ef47a3ccdab8488ed22654fd77fb6864f347abde34ef860001b6100cc565b6000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561056d57600080fd5b505afa158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190610c9b565b50915091506105d67f912c2c4b493c7f650c91878d88949186d8b31f5254364a18e3ba2d1f909bc22360001b6100cc565b6106027fb97ada6e9ad44439c21aa08b8c878faa72615520df5ecfa35204bfa459c3efda60001b6100cc565b60008290506106337f7a929c5797374e8aadd0261c6ead28a98ef36efc811994113e8159c19ae0321660001b6100cc565b61065f7f52ff2279ed91f6c42c4a2569185ee7aa34ecc5595d6298ccfc7a2ad340fd32b260001b6100cc565b8373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156106a557600080fd5b505afa1580156106b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd9190610b94565b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141561079c5761073c7f312724aabb9b9afa9f8593916110e4c286a462a6d0da4d15dce34d7a354808bc60001b6100cc565b6107687f8225f0112aaa5d2854ff29fde861ad974353052a6e0ad59347d4b6ceed2720a460001b6100cc565b6107947f4cc7ff21eeecc6a4fc2ed146a07964a405e81e845e89d4b1f51d0b14626535a860001b6100cc565b8190506107c9565b6107c87f8167a37b132abea6d510833f045e1670d1f3912798ff93a77f5e428359999b4c60001b6100cc565b5b6107f57f964c529c16a87bc13760ed2ecec1b5481a96b1b3a8ca66ffa041ea3cfc5fc67260001b6100cc565b6108217f6c4dfc98ccedc3e0b5b105c545fafd85c900e135a42bee35bbcc4c63a8f2eb3560001b6100cc565b620186a08b73ffffffffffffffffffffffffffffffffffffffff1663f412a6af6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190610cea565b62ffffff16826108b39190610e24565b6108bd9190610df3565b6dffffffffffffffffffffffffffff1696506108fb7feb6222a5a6a6c4049d49fa1aff8865f2ef7993f694b95c965a7bdfea7e32488060001b6100cc565b6109277f1f8c4575a49c73cb4513b0a2931dc51ed1a82b3993cf839fe9812df9ef02f56660001b6100cc565b8787106109345787610936565b865b9650505050505050949350505050565b60006109747ff322a4da9b19a5a519c70851eb7067f734bbe2c8f93a28b540e5781c5587bc5860001b6100cc565b6109a07f57fd02c31d182c007df8006986e1414b3492bb416a0fc53c1cd65db25389d11b60001b6100cc565b6109cc7fc6a29cb16b18a5652832e8ced3974e3e144a3ed9e44656b19bd49045494d8f6360001b6100cc565b8173ffffffffffffffffffffffffffffffffffffffff16633e6326fc6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190610be6565b73ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b8152600401610a8090610da7565b60206040518083038186803b158015610a9857600080fd5b505afa158015610aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad09190610b94565b9050919050565b600081359050610ae681610fba565b92915050565b600081519050610afb81610fba565b92915050565b600081359050610b1081610fd1565b92915050565b600081519050610b2581610fe8565b92915050565b600081359050610b3a81610fff565b92915050565b600081519050610b4f81611016565b92915050565b600081519050610b648161102d565b92915050565b600081359050610b7981611044565b92915050565b600081519050610b8e8161105b565b92915050565b600060208284031215610ba657600080fd5b6000610bb484828501610aec565b91505092915050565b600060208284031215610bcf57600080fd5b6000610bdd84828501610b01565b91505092915050565b600060208284031215610bf857600080fd5b6000610c0684828501610b16565b91505092915050565b600060208284031215610c2157600080fd5b6000610c2f84828501610b2b565b91505092915050565b60008060008060808587031215610c4e57600080fd5b6000610c5c87828801610b2b565b9450506020610c6d87828801610ad7565b9350506040610c7e87828801610ad7565b9250506060610c8f87828801610b6a565b91505092959194509250565b600080600060608486031215610cb057600080fd5b6000610cbe86828701610b40565b9350506020610ccf86828701610b40565b9250506040610ce086828701610b7f565b9150509250925092565b600060208284031215610cfc57600080fd5b6000610d0a84828501610b55565b91505092915050565b610d1c81610e6c565b82525050565b610d2b81610f0f565b82525050565b6000610d3e600e83610de2565b9150610d4982610f91565b602082019050919050565b610d5d81610ef5565b82525050565b6000604082019050610d786000830185610d13565b610d856020830184610d13565b9392505050565b6000602082019050610da16000830184610d22565b92915050565b60006020820190508181036000830152610dc081610d31565b9050919050565b6000602082019050610ddc6000830184610d54565b92915050565b600082825260208201905092915050565b6000610dfe82610eac565b9150610e0983610eac565b925082610e1957610e18610f62565b5b828204905092915050565b6000610e2f82610eac565b9150610e3a83610eac565b9250816dffffffffffffffffffffffffffff0483118215151615610e6157610e60610f33565b5b828202905092915050565b6000610e7782610ec6565b9050919050565b6000819050919050565b6000610e9382610e6c565b9050919050565b6000610ea582610e6c565b9050919050565b60006dffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062ffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b6000610f1a82610f21565b9050919050565b6000610f2c82610ec6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f554e49535741505f524f55544552000000000000000000000000000000000000600082015250565b610fc381610e6c565b8114610fce57600080fd5b50565b610fda81610e7e565b8114610fe557600080fd5b50565b610ff181610e88565b8114610ffc57600080fd5b50565b61100881610e9a565b811461101357600080fd5b50565b61101f81610eac565b811461102a57600080fd5b50565b61103681610ee6565b811461104157600080fd5b50565b61104d81610ef5565b811461105857600080fd5b50565b61106481610eff565b811461106f57600080fd5b5056fea2646970667358221220ee80afc6bd6d70c1cc01e80673f71f8cb2d45420f5dcb23e48104918752bea4864736f6c63430008030033",
73
+ "bytecode": "0x6110f5610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80631728980614610050578063804b80ae1461006c578063cd8cea691461009c575b600080fd5b61006a60048036038101906100659190610b12565b6100cc565b005b61008660048036038101906100819190610c11565b6100cf565b6040516100939190610c87565b60405180910390f35b6100b660048036038101906100b19190610ca2565b610946565b6040516100c39190610d2e565b60405180910390f35b50565b60006100fd7f4a0d5575807ae6b868b363a7cb21d7447e7a194325fffc8daca36686dcb821bf60001b6100cc565b6101297f5e79bbab5af7e5b24b1d4d26ac77bd543a2461b6a9a170fbf3ae4a341c43256760001b6100cc565b6101557f72e05a7e6e37786aeb6d921498ad681ba5d2ac757c8b945d482c7408dd1bb42060001b6100cc565b600061016086610946565b905061018e7fe824d7054c7d20a0c6f0faec508498aaf337a9c2f44e7172baeab411012974bd60001b6100cc565b6101ba7f15932ce90dec33c67e7c14310af7002ba7b00cb4fd8625401a67ee841e6a5a8360001b6100cc565b60008173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a9190610d5e565b90506102687fda527c644e7daf0e4ed252a0e29b6595f3e52f271217f0e7433946c3919fa7aa60001b6100cc565b6102947fc9cd75d80ca76c10d4bca18477e3736d138fab92c67b1295bd17d00f4717176760001b6100cc565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146102ce57856102d0565b805b95506102fe7f5d779d4edd9b566edcb713d560d8c2e6d9e33d3b4c5a5139d88bc64358ec302360001b6100cc565b61032a7f354f8033073db4f7c4cfa9acbfe82758d9cfdfb1fc2a35e1518a85bab0e941ba60001b6100cc565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146103645784610366565b805b94506103947f166a06a64f7d3b31fa5ba3559f91849f8a3f652038550c89249ac104d31eb99b60001b6100cc565b6103c07f6009c22edb76044834749e9702637662f2a0338e469d87b4d58875e4cefc2c7a60001b6100cc565b60008273ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561040857600080fd5b505afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190610d5e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390588886040518363ffffffff1660e01b815260040161047a929190610d9a565b60206040518083038186803b15801561049257600080fd5b505afa1580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190610d5e565b90506104f87f0bc1ec745688f971c8bd51d0ff86d9434312169d88518b75162f08a3fb4df01060001b6100cc565b6105247fd26bf0afc9e1d48c7fbbc7bd8b4cbe7a27b197acc94095f6eed9de9eae65e96760001b6100cc565b6000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561056d57600080fd5b505afa158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190610e45565b50915091506105d67ff0a8e396167c65c90dba30fedd2746f839a6783378d7ae8cd5674090a3b5922260001b6100cc565b6106027fada32d38752d05acc4d67b5e94e766abf55dbbed35bf34d7d6e96710ceba564c60001b6100cc565b60008290506106337f4d9a1f8a7f6d216f61b3ceaa1e572d2a2258d9e5466791951e456c9cff515b3160001b6100cc565b61065f7f9c5053ec88e4afd654a7178e37a5ec49131d51d8786f7367ecd7f332f720e76260001b6100cc565b8373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156106a557600080fd5b505afa1580156106b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd9190610d5e565b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141561079c5761073c7f94063f957aad3f73002389a072d5173e7bb11647ac4a5f1df3acd0104f8c7d5360001b6100cc565b6107687f40b34f83bdd672cef9ba833ca1d5338696cbc63620c88e8daabc437e9af3c02660001b6100cc565b6107947fb0daa5be91153f198cd4b3083650858bca2ae52b9f39470249876de4e1db0e2d60001b6100cc565b8190506107c9565b6107c87f588ba7e5bd2aa4115e5cfe032a2a3fc334fb448ca7c29cfee60c6a3bd54d0b6760001b6100cc565b5b6107f57fefd4f0c1b2801cce92070beaa0d96b8e8f648d1ef7829d1b794fb647b472396660001b6100cc565b6108217f6c216931b75a62d90b322f3c5525c0021bcf972483efef9d1223d0238b24893860001b6100cc565b620186a08b73ffffffffffffffffffffffffffffffffffffffff1663f412a6af6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190610ed3565b62ffffff16826108b39190610f2f565b6108bd9190610fa6565b6dffffffffffffffffffffffffffff1696506108fb7f8642ff19d63ceaff79ce77def7730841e5b8d91f2fb845419a7f277d8d3027bf60001b6100cc565b6109277f73e93c8957cb1f16330951ef00acb1402b4364392476a821d9e4293500ce9cf160001b6100cc565b8787106109345787610936565b865b9650505050505050949350505050565b60006109747f46082dab6b99cff8771e0860b9fbe5f1b3bc9d29eecae40d3ad2e647c3bb9af460001b6100cc565b6109a07f91076b7c41fe39ac6bd58e6549fdc1a73dac3b49a6d2763cf5f9e14f9d74a2da60001b6100cc565b6109cc7fe288e31f71d3582b4a00a47674a4570c312e0dac72e7cc21cd47f2ef82dbd18460001b6100cc565b8173ffffffffffffffffffffffffffffffffffffffff16633e6326fc6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611015565b73ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b8152600401610a809061109f565b60206040518083038186803b158015610a9857600080fd5b505afa158015610aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad09190610d5e565b9050919050565b600080fd5b6000819050919050565b610aef81610adc565b8114610afa57600080fd5b50565b600081359050610b0c81610ae6565b92915050565b600060208284031215610b2857610b27610ad7565b5b6000610b3684828501610afd565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b6a82610b3f565b9050919050565b6000610b7c82610b5f565b9050919050565b610b8c81610b71565b8114610b9757600080fd5b50565b600081359050610ba981610b83565b92915050565b610bb881610b5f565b8114610bc357600080fd5b50565b600081359050610bd581610baf565b92915050565b6000819050919050565b610bee81610bdb565b8114610bf957600080fd5b50565b600081359050610c0b81610be5565b92915050565b60008060008060808587031215610c2b57610c2a610ad7565b5b6000610c3987828801610b9a565b9450506020610c4a87828801610bc6565b9350506040610c5b87828801610bc6565b9250506060610c6c87828801610bfc565b91505092959194509250565b610c8181610bdb565b82525050565b6000602082019050610c9c6000830184610c78565b92915050565b600060208284031215610cb857610cb7610ad7565b5b6000610cc684828501610b9a565b91505092915050565b6000819050919050565b6000610cf4610cef610cea84610b3f565b610ccf565b610b3f565b9050919050565b6000610d0682610cd9565b9050919050565b6000610d1882610cfb565b9050919050565b610d2881610d0d565b82525050565b6000602082019050610d436000830184610d1f565b92915050565b600081519050610d5881610baf565b92915050565b600060208284031215610d7457610d73610ad7565b5b6000610d8284828501610d49565b91505092915050565b610d9481610b5f565b82525050565b6000604082019050610daf6000830185610d8b565b610dbc6020830184610d8b565b9392505050565b60006dffffffffffffffffffffffffffff82169050919050565b610de681610dc3565b8114610df157600080fd5b50565b600081519050610e0381610ddd565b92915050565b600063ffffffff82169050919050565b610e2281610e09565b8114610e2d57600080fd5b50565b600081519050610e3f81610e19565b92915050565b600080600060608486031215610e5e57610e5d610ad7565b5b6000610e6c86828701610df4565b9350506020610e7d86828701610df4565b9250506040610e8e86828701610e30565b9150509250925092565b600062ffffff82169050919050565b610eb081610e98565b8114610ebb57600080fd5b50565b600081519050610ecd81610ea7565b92915050565b600060208284031215610ee957610ee8610ad7565b5b6000610ef784828501610ebe565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610f3a82610dc3565b9150610f4583610dc3565b9250816dffffffffffffffffffffffffffff0483118215151615610f6c57610f6b610f00565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610fb182610dc3565b9150610fbc83610dc3565b925082610fcc57610fcb610f77565b5b828204905092915050565b6000610fe282610b5f565b9050919050565b610ff281610fd7565b8114610ffd57600080fd5b50565b60008151905061100f81610fe9565b92915050565b60006020828403121561102b5761102a610ad7565b5b600061103984828501611000565b91505092915050565b600082825260208201905092915050565b7f554e49535741505f524f55544552000000000000000000000000000000000000600082015250565b6000611089600e83611042565b915061109482611053565b602082019050919050565b600060208201905081810360008301526110b88161107c565b905091905056fea264697066735822122099c74b12a0c8824b5c498ae60fe3a4ff093711c2d7c0117589ff7c286fa2077b64736f6c63430008080033",
74
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80631728980614610050578063804b80ae1461006c578063cd8cea691461009c575b600080fd5b61006a60048036038101906100659190610b12565b6100cc565b005b61008660048036038101906100819190610c11565b6100cf565b6040516100939190610c87565b60405180910390f35b6100b660048036038101906100b19190610ca2565b610946565b6040516100c39190610d2e565b60405180910390f35b50565b60006100fd7f4a0d5575807ae6b868b363a7cb21d7447e7a194325fffc8daca36686dcb821bf60001b6100cc565b6101297f5e79bbab5af7e5b24b1d4d26ac77bd543a2461b6a9a170fbf3ae4a341c43256760001b6100cc565b6101557f72e05a7e6e37786aeb6d921498ad681ba5d2ac757c8b945d482c7408dd1bb42060001b6100cc565b600061016086610946565b905061018e7fe824d7054c7d20a0c6f0faec508498aaf337a9c2f44e7172baeab411012974bd60001b6100cc565b6101ba7f15932ce90dec33c67e7c14310af7002ba7b00cb4fd8625401a67ee841e6a5a8360001b6100cc565b60008173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a9190610d5e565b90506102687fda527c644e7daf0e4ed252a0e29b6595f3e52f271217f0e7433946c3919fa7aa60001b6100cc565b6102947fc9cd75d80ca76c10d4bca18477e3736d138fab92c67b1295bd17d00f4717176760001b6100cc565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146102ce57856102d0565b805b95506102fe7f5d779d4edd9b566edcb713d560d8c2e6d9e33d3b4c5a5139d88bc64358ec302360001b6100cc565b61032a7f354f8033073db4f7c4cfa9acbfe82758d9cfdfb1fc2a35e1518a85bab0e941ba60001b6100cc565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146103645784610366565b805b94506103947f166a06a64f7d3b31fa5ba3559f91849f8a3f652038550c89249ac104d31eb99b60001b6100cc565b6103c07f6009c22edb76044834749e9702637662f2a0338e469d87b4d58875e4cefc2c7a60001b6100cc565b60008273ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561040857600080fd5b505afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190610d5e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390588886040518363ffffffff1660e01b815260040161047a929190610d9a565b60206040518083038186803b15801561049257600080fd5b505afa1580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190610d5e565b90506104f87f0bc1ec745688f971c8bd51d0ff86d9434312169d88518b75162f08a3fb4df01060001b6100cc565b6105247fd26bf0afc9e1d48c7fbbc7bd8b4cbe7a27b197acc94095f6eed9de9eae65e96760001b6100cc565b6000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561056d57600080fd5b505afa158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190610e45565b50915091506105d67ff0a8e396167c65c90dba30fedd2746f839a6783378d7ae8cd5674090a3b5922260001b6100cc565b6106027fada32d38752d05acc4d67b5e94e766abf55dbbed35bf34d7d6e96710ceba564c60001b6100cc565b60008290506106337f4d9a1f8a7f6d216f61b3ceaa1e572d2a2258d9e5466791951e456c9cff515b3160001b6100cc565b61065f7f9c5053ec88e4afd654a7178e37a5ec49131d51d8786f7367ecd7f332f720e76260001b6100cc565b8373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156106a557600080fd5b505afa1580156106b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd9190610d5e565b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141561079c5761073c7f94063f957aad3f73002389a072d5173e7bb11647ac4a5f1df3acd0104f8c7d5360001b6100cc565b6107687f40b34f83bdd672cef9ba833ca1d5338696cbc63620c88e8daabc437e9af3c02660001b6100cc565b6107947fb0daa5be91153f198cd4b3083650858bca2ae52b9f39470249876de4e1db0e2d60001b6100cc565b8190506107c9565b6107c87f588ba7e5bd2aa4115e5cfe032a2a3fc334fb448ca7c29cfee60c6a3bd54d0b6760001b6100cc565b5b6107f57fefd4f0c1b2801cce92070beaa0d96b8e8f648d1ef7829d1b794fb647b472396660001b6100cc565b6108217f6c216931b75a62d90b322f3c5525c0021bcf972483efef9d1223d0238b24893860001b6100cc565b620186a08b73ffffffffffffffffffffffffffffffffffffffff1663f412a6af6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190610ed3565b62ffffff16826108b39190610f2f565b6108bd9190610fa6565b6dffffffffffffffffffffffffffff1696506108fb7f8642ff19d63ceaff79ce77def7730841e5b8d91f2fb845419a7f277d8d3027bf60001b6100cc565b6109277f73e93c8957cb1f16330951ef00acb1402b4364392476a821d9e4293500ce9cf160001b6100cc565b8787106109345787610936565b865b9650505050505050949350505050565b60006109747f46082dab6b99cff8771e0860b9fbe5f1b3bc9d29eecae40d3ad2e647c3bb9af460001b6100cc565b6109a07f91076b7c41fe39ac6bd58e6549fdc1a73dac3b49a6d2763cf5f9e14f9d74a2da60001b6100cc565b6109cc7fe288e31f71d3582b4a00a47674a4570c312e0dac72e7cc21cd47f2ef82dbd18460001b6100cc565b8173ffffffffffffffffffffffffffffffffffffffff16633e6326fc6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611015565b73ffffffffffffffffffffffffffffffffffffffff1663bf40fac16040518163ffffffff1660e01b8152600401610a809061109f565b60206040518083038186803b158015610a9857600080fd5b505afa158015610aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad09190610d5e565b9050919050565b600080fd5b6000819050919050565b610aef81610adc565b8114610afa57600080fd5b50565b600081359050610b0c81610ae6565b92915050565b600060208284031215610b2857610b27610ad7565b5b6000610b3684828501610afd565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b6a82610b3f565b9050919050565b6000610b7c82610b5f565b9050919050565b610b8c81610b71565b8114610b9757600080fd5b50565b600081359050610ba981610b83565b92915050565b610bb881610b5f565b8114610bc357600080fd5b50565b600081359050610bd581610baf565b92915050565b6000819050919050565b610bee81610bdb565b8114610bf957600080fd5b50565b600081359050610c0b81610be5565b92915050565b60008060008060808587031215610c2b57610c2a610ad7565b5b6000610c3987828801610b9a565b9450506020610c4a87828801610bc6565b9350506040610c5b87828801610bc6565b9250506060610c6c87828801610bfc565b91505092959194509250565b610c8181610bdb565b82525050565b6000602082019050610c9c6000830184610c78565b92915050565b600060208284031215610cb857610cb7610ad7565b5b6000610cc684828501610b9a565b91505092915050565b6000819050919050565b6000610cf4610cef610cea84610b3f565b610ccf565b610b3f565b9050919050565b6000610d0682610cd9565b9050919050565b6000610d1882610cfb565b9050919050565b610d2881610d0d565b82525050565b6000602082019050610d436000830184610d1f565b92915050565b600081519050610d5881610baf565b92915050565b600060208284031215610d7457610d73610ad7565b5b6000610d8284828501610d49565b91505092915050565b610d9481610b5f565b82525050565b6000604082019050610daf6000830185610d8b565b610dbc6020830184610d8b565b9392505050565b60006dffffffffffffffffffffffffffff82169050919050565b610de681610dc3565b8114610df157600080fd5b50565b600081519050610e0381610ddd565b92915050565b600063ffffffff82169050919050565b610e2281610e09565b8114610e2d57600080fd5b50565b600081519050610e3f81610e19565b92915050565b600080600060608486031215610e5e57610e5d610ad7565b5b6000610e6c86828701610df4565b9350506020610e7d86828701610df4565b9250506040610e8e86828701610e30565b9150509250925092565b600062ffffff82169050919050565b610eb081610e98565b8114610ebb57600080fd5b50565b600081519050610ecd81610ea7565b92915050565b600060208284031215610ee957610ee8610ad7565b5b6000610ef784828501610ebe565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610f3a82610dc3565b9150610f4583610dc3565b9250816dffffffffffffffffffffffffffff0483118215151615610f6c57610f6b610f00565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610fb182610dc3565b9150610fbc83610dc3565b925082610fcc57610fcb610f77565b5b828204905092915050565b6000610fe282610b5f565b9050919050565b610ff281610fd7565b8114610ffd57600080fd5b50565b60008151905061100f81610fe9565b92915050565b60006020828403121561102b5761102a610ad7565b5b600061103984828501611000565b91505092915050565b600082825260208201905092915050565b7f554e49535741505f524f55544552000000000000000000000000000000000000600082015250565b6000611089600e83611042565b915061109482611053565b602082019050919050565b600060208201905081810360008301526110b88161107c565b905091905056fea264697066735822122099c74b12a0c8824b5c498ae60fe3a4ff093711c2d7c0117589ff7c286fa2077b64736f6c63430008080033",
75
75
  "linkReferences": {},
76
76
  "deployedLinkReferences": {}
77
77
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/3209e5b39cdfe6834e6f6442881fa1e6.json"
3
+ "buildInfo": "../../../../build-info/c95fb6bb6c0347b906a7ac81aab25093.json"
4
4
  }