@flarenetwork/flare-periphery-contract-artifacts 0.0.4 → 0.1.0

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 (709) hide show
  1. package/{dist/README.md → README.md} +2 -1
  2. package/coston/README.md +7 -0
  3. package/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  4. package/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  5. package/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  6. package/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  7. package/coston/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  8. package/coston/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  9. package/coston/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  10. package/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  11. package/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  12. package/coston/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  13. package/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  14. package/coston/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  15. package/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  16. package/coston/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  17. package/coston/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  18. package/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1104 -0
  19. package/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  20. package/coston/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +953 -0
  21. package/coston/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +878 -0
  22. package/coston/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  23. package/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  24. package/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  25. package/coston/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  26. package/coston/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  27. package/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  28. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +624 -0
  29. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +241 -0
  30. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  31. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +1048 -0
  32. package/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +676 -0
  33. package/coston/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +224 -0
  34. package/coston/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +407 -0
  35. package/coston/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  36. package/coston/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +37 -0
  37. package/coston/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +91 -0
  38. package/coston/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  39. package/coston/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  40. package/coston/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +285 -0
  41. package/coston/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  42. package/coston/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +126 -0
  43. package/coston/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +139 -0
  44. package/coston/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +115 -0
  45. package/coston/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +209 -0
  46. package/coston/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +220 -0
  47. package/coston/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  48. package/coston/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  49. package/coston/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  50. package/coston/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  51. package/coston/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  52. package/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1065 -0
  53. package/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  54. package/coston/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  55. package/coston/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  56. package/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +854 -0
  57. package/coston/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  58. package/coston/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  59. package/coston/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +642 -0
  60. package/coston/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  61. package/coston/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +70 -0
  62. package/coston/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  63. package/coston/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  64. package/coston/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  65. package/coston/artifacts/contracts/inflation/lib/InflationRewardServices.sol/InflationRewardServices.json +68 -0
  66. package/coston/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  67. package/coston/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  68. package/coston/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +129 -0
  69. package/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  70. package/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +222 -0
  71. package/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  72. package/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +774 -0
  73. package/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1102 -0
  74. package/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1195 -0
  75. package/coston/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +63 -0
  76. package/coston/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  77. package/coston/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +609 -0
  78. package/coston/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +790 -0
  79. package/coston/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  80. package/coston/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  81. package/coston/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  82. package/coston/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  83. package/coston/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  84. package/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  85. package/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  86. package/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  87. package/coston/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  88. package/coston/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  89. package/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1425 -0
  90. package/coston/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  91. package/coston/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  92. package/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +975 -0
  93. package/coston/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  94. package/coston/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  95. package/coston/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  96. package/coston/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  97. package/coston/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  98. package/coston/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  99. package/coston/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +512 -0
  100. package/coston/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  101. package/coston/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  102. package/coston/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  103. package/coston/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  104. package/coston/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  105. package/coston/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  106. package/coston/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  107. package/coston/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  108. package/coston/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  109. package/coston/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  110. package/coston/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +658 -0
  111. package/coston/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  112. package/coston/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  113. package/coston/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  114. package/coston/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  115. package/coston/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  116. package/coston/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  117. package/coston/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  118. package/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +440 -0
  119. package/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +144 -0
  120. package/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +238 -0
  121. package/coston/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  122. package/coston/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  123. package/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  124. package/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  125. package/coston/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  126. package/coston/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +120 -0
  127. package/coston/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  128. package/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  129. package/coston/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  130. package/{dist/coston/deploys/coston.json → coston/deploys/contracts.json} +43 -13
  131. package/coston2/README.md +7 -0
  132. package/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  133. package/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  134. package/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  135. package/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  136. package/coston2/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  137. package/coston2/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  138. package/coston2/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  139. package/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  140. package/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  141. package/coston2/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  142. package/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  143. package/coston2/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  144. package/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  145. package/coston2/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  146. package/coston2/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  147. package/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1039 -0
  148. package/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  149. package/coston2/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +888 -0
  150. package/coston2/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +891 -0
  151. package/coston2/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  152. package/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  153. package/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  154. package/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  155. package/coston2/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  156. package/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  157. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +718 -0
  158. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +338 -0
  159. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  160. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +983 -0
  161. package/coston2/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +289 -0
  162. package/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +794 -0
  163. package/coston2/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +219 -0
  164. package/coston2/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +292 -0
  165. package/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +493 -0
  166. package/coston2/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +569 -0
  167. package/coston2/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  168. package/coston2/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +50 -0
  169. package/coston2/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +63 -0
  170. package/coston2/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  171. package/coston2/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  172. package/coston2/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +283 -0
  173. package/coston2/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  174. package/coston2/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +220 -0
  175. package/coston2/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +233 -0
  176. package/coston2/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +209 -0
  177. package/coston2/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  178. package/coston2/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  179. package/coston2/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  180. package/coston2/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  181. package/coston2/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  182. package/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1070 -0
  183. package/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  184. package/coston2/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  185. package/coston2/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  186. package/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +926 -0
  187. package/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  188. package/coston2/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +543 -0
  189. package/coston2/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  190. package/coston2/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  191. package/coston2/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +57 -0
  192. package/coston2/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  193. package/coston2/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  194. package/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  195. package/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  196. package/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  197. package/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  198. package/coston2/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  199. package/coston2/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +142 -0
  200. package/coston2/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  201. package/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +235 -0
  202. package/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  203. package/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +798 -0
  204. package/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1264 -0
  205. package/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1357 -0
  206. package/coston2/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +50 -0
  207. package/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  208. package/coston2/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +620 -0
  209. package/coston2/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +832 -0
  210. package/coston2/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  211. package/coston2/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  212. package/coston2/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  213. package/coston2/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  214. package/coston2/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  215. package/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  216. package/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  217. package/coston2/artifacts/contracts/token/lib/IICombinedNatBalance.sol/IICombinedNatBalance.json +54 -0
  218. package/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  219. package/coston2/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  220. package/coston2/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  221. package/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +741 -0
  222. package/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +1038 -0
  223. package/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +769 -0
  224. package/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  225. package/coston2/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +720 -0
  226. package/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +927 -0
  227. package/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +463 -0
  228. package/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +741 -0
  229. package/coston2/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +962 -0
  230. package/coston2/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +413 -0
  231. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +49 -0
  232. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +24 -0
  233. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +57 -0
  234. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +36 -0
  235. package/coston2/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  236. package/coston2/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  237. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +10 -0
  238. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +10 -0
  239. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +30 -0
  240. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +49 -0
  241. package/coston2/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  242. package/coston2/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  243. package/coston2/artifacts/contracts/userInterfaces/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  244. package/coston2/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  245. package/coston2/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  246. package/coston2/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +475 -0
  247. package/coston2/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  248. package/coston2/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  249. package/coston2/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  250. package/coston2/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  251. package/coston2/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  252. package/coston2/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  253. package/coston2/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  254. package/coston2/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  255. package/coston2/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  256. package/coston2/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  257. package/coston2/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +700 -0
  258. package/coston2/artifacts/contracts/userInterfaces/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  259. package/coston2/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  260. package/coston2/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  261. package/coston2/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  262. package/coston2/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  263. package/coston2/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  264. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  265. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  266. package/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  267. package/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +71 -0
  268. package/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +238 -0
  269. package/coston2/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  270. package/coston2/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  271. package/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  272. package/coston2/artifacts/contracts/utils/implementation/SelfdestructTransfer.sol/SelfdestructTransfer.json +91 -0
  273. package/coston2/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +149 -0
  274. package/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  275. package/coston2/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  276. package/coston2/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  277. package/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  278. package/coston2/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  279. package/{dist/coston2/deploys/coston2.json → coston2/deploys/contracts.json} +48 -18
  280. package/dist/coston/abis.d.ts +4 -0
  281. package/dist/coston/abis.d.ts.map +1 -0
  282. package/dist/{songbird/abis.songbird.js → coston/abis.js} +21 -17
  283. package/dist/coston/abis.js.map +1 -0
  284. package/dist/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  285. package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  286. package/dist/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  287. package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  288. package/dist/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
  289. package/dist/coston/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  290. package/dist/coston/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  291. package/dist/coston/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
  292. package/dist/coston/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
  293. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
  294. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  295. package/dist/coston/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  296. package/dist/coston/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
  297. package/dist/coston/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
  298. package/dist/coston/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  299. package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +19 -6
  300. package/dist/coston/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  301. package/dist/coston/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  302. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +26 -0
  303. package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  304. package/dist/coston/deploys/{contractAddresses.d.ts → addresses.d.ts} +9 -3
  305. package/dist/coston/deploys/addresses.d.ts.map +1 -0
  306. package/dist/coston/deploys/{contractAddresses.js → addresses.js} +12 -6
  307. package/dist/coston/deploys/addresses.js.map +1 -0
  308. package/dist/coston/deploys/contracts.json +202 -0
  309. package/dist/coston/deploys/mapper.d.ts +2 -2
  310. package/dist/coston/deploys/mapper.d.ts.map +1 -1
  311. package/dist/coston/deploys/mapper.js +13 -19
  312. package/dist/coston/deploys/mapper.js.map +1 -1
  313. package/dist/coston/index.d.ts +1 -1
  314. package/dist/coston/index.d.ts.map +1 -1
  315. package/dist/coston/index.js +1 -2
  316. package/dist/coston/index.js.map +1 -1
  317. package/dist/coston2/abis.d.ts +4 -0
  318. package/dist/coston2/abis.d.ts.map +1 -0
  319. package/dist/coston2/{abis.coston2.js → abis.js} +5 -3
  320. package/dist/coston2/abis.js.map +1 -0
  321. package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  322. package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +36 -4
  323. package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +158 -82
  324. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +34 -2
  325. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +54 -0
  326. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  327. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  328. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  329. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +2 -2
  330. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  331. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  332. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  333. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +36 -4
  334. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  335. package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  336. package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  337. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  338. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  339. package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  340. package/dist/coston2/deploys/{contractAddresses.d.ts → addresses.d.ts} +9 -3
  341. package/dist/coston2/deploys/addresses.d.ts.map +1 -0
  342. package/dist/coston2/deploys/{contractAddresses.js → addresses.js} +20 -14
  343. package/dist/coston2/deploys/addresses.js.map +1 -0
  344. package/dist/coston2/deploys/contracts.json +252 -0
  345. package/dist/coston2/deploys/mapper.d.ts +2 -2
  346. package/dist/coston2/deploys/mapper.d.ts.map +1 -1
  347. package/dist/coston2/deploys/mapper.js +13 -19
  348. package/dist/coston2/deploys/mapper.js.map +1 -1
  349. package/dist/coston2/index.d.ts +1 -1
  350. package/dist/coston2/index.d.ts.map +1 -1
  351. package/dist/coston2/index.js +1 -2
  352. package/dist/coston2/index.js.map +1 -1
  353. package/dist/flare/abis.d.ts +4 -0
  354. package/dist/flare/abis.d.ts.map +1 -0
  355. package/dist/flare/{abis.flare.js → abis.js} +5 -3
  356. package/dist/flare/abis.js.map +1 -0
  357. package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  358. package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +36 -4
  359. package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +158 -82
  360. package/dist/flare/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +34 -2
  361. package/dist/flare/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +54 -0
  362. package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  363. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  364. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  365. package/dist/flare/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +2 -2
  366. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  367. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  368. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  369. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +36 -4
  370. package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  371. package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  372. package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  373. package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  374. package/dist/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  375. package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  376. package/dist/flare/deploys/{contractAddresses.d.ts → addresses.d.ts} +9 -3
  377. package/dist/flare/deploys/addresses.d.ts.map +1 -0
  378. package/dist/flare/deploys/{contractAddresses.js → addresses.js} +20 -14
  379. package/dist/flare/deploys/addresses.js.map +1 -0
  380. package/dist/flare/deploys/{flare.json → contracts.json} +49 -19
  381. package/dist/flare/deploys/mapper.d.ts +2 -2
  382. package/dist/flare/deploys/mapper.d.ts.map +1 -1
  383. package/dist/flare/deploys/mapper.js +13 -19
  384. package/dist/flare/deploys/mapper.js.map +1 -1
  385. package/dist/flare/index.d.ts +1 -1
  386. package/dist/flare/index.d.ts.map +1 -1
  387. package/dist/flare/index.js +1 -2
  388. package/dist/flare/index.js.map +1 -1
  389. package/dist/index.d.ts.map +1 -1
  390. package/dist/index.js +5 -9
  391. package/dist/index.js.map +1 -1
  392. package/dist/songbird/abis.d.ts +4 -0
  393. package/dist/songbird/abis.d.ts.map +1 -0
  394. package/dist/{coston/abis.coston.js → songbird/abis.js} +3 -3
  395. package/dist/songbird/abis.js.map +1 -0
  396. package/dist/songbird/deploys/{contractAddresses.d.ts → addresses.d.ts} +9 -3
  397. package/dist/songbird/deploys/addresses.d.ts.map +1 -0
  398. package/dist/songbird/deploys/{contractAddresses.js → addresses.js} +9 -3
  399. package/dist/songbird/deploys/addresses.js.map +1 -0
  400. package/dist/songbird/deploys/{songbird.json → contracts.json} +40 -10
  401. package/dist/songbird/deploys/mapper.d.ts +2 -2
  402. package/dist/songbird/deploys/mapper.d.ts.map +1 -1
  403. package/dist/songbird/deploys/mapper.js +13 -19
  404. package/dist/songbird/deploys/mapper.js.map +1 -1
  405. package/dist/songbird/index.d.ts +1 -1
  406. package/dist/songbird/index.d.ts.map +1 -1
  407. package/dist/songbird/index.js +1 -2
  408. package/dist/songbird/index.js.map +1 -1
  409. package/flare/README.md +7 -0
  410. package/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  411. package/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  412. package/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  413. package/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  414. package/flare/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  415. package/flare/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  416. package/flare/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  417. package/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  418. package/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  419. package/flare/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  420. package/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  421. package/flare/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  422. package/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  423. package/flare/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  424. package/flare/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  425. package/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1039 -0
  426. package/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  427. package/flare/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +888 -0
  428. package/flare/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +891 -0
  429. package/flare/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  430. package/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  431. package/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  432. package/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  433. package/flare/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  434. package/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  435. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +718 -0
  436. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +338 -0
  437. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  438. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +983 -0
  439. package/flare/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +289 -0
  440. package/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +794 -0
  441. package/flare/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +219 -0
  442. package/flare/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +292 -0
  443. package/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +493 -0
  444. package/flare/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +569 -0
  445. package/flare/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  446. package/flare/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +50 -0
  447. package/flare/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +63 -0
  448. package/flare/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  449. package/flare/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  450. package/flare/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +283 -0
  451. package/flare/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  452. package/flare/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +220 -0
  453. package/flare/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +233 -0
  454. package/flare/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +209 -0
  455. package/flare/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  456. package/flare/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  457. package/flare/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  458. package/flare/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  459. package/flare/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  460. package/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1070 -0
  461. package/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  462. package/flare/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  463. package/flare/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  464. package/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +926 -0
  465. package/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  466. package/flare/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +543 -0
  467. package/flare/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  468. package/flare/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  469. package/flare/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +57 -0
  470. package/flare/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  471. package/flare/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  472. package/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  473. package/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  474. package/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  475. package/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  476. package/flare/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  477. package/flare/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +142 -0
  478. package/flare/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  479. package/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +235 -0
  480. package/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  481. package/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +798 -0
  482. package/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1264 -0
  483. package/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1357 -0
  484. package/flare/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +50 -0
  485. package/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  486. package/flare/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +620 -0
  487. package/flare/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +832 -0
  488. package/flare/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  489. package/flare/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  490. package/flare/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  491. package/flare/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  492. package/flare/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  493. package/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  494. package/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  495. package/flare/artifacts/contracts/token/lib/IICombinedNatBalance.sol/IICombinedNatBalance.json +54 -0
  496. package/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  497. package/flare/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  498. package/flare/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  499. package/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +741 -0
  500. package/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +1038 -0
  501. package/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +769 -0
  502. package/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  503. package/flare/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +720 -0
  504. package/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +927 -0
  505. package/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +463 -0
  506. package/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +741 -0
  507. package/flare/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +962 -0
  508. package/flare/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +413 -0
  509. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +49 -0
  510. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +24 -0
  511. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +57 -0
  512. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +36 -0
  513. package/flare/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  514. package/flare/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  515. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +10 -0
  516. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +10 -0
  517. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +30 -0
  518. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +49 -0
  519. package/flare/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  520. package/flare/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  521. package/flare/artifacts/contracts/userInterfaces/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  522. package/flare/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  523. package/flare/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  524. package/flare/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +475 -0
  525. package/flare/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  526. package/flare/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  527. package/flare/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  528. package/flare/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  529. package/flare/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  530. package/flare/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  531. package/flare/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  532. package/flare/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  533. package/flare/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  534. package/flare/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  535. package/flare/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +700 -0
  536. package/flare/artifacts/contracts/userInterfaces/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  537. package/flare/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  538. package/flare/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  539. package/flare/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  540. package/flare/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  541. package/flare/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  542. package/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  543. package/flare/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  544. package/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  545. package/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +71 -0
  546. package/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +238 -0
  547. package/flare/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  548. package/flare/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  549. package/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  550. package/flare/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +149 -0
  551. package/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  552. package/flare/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  553. package/flare/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  554. package/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  555. package/flare/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  556. package/flare/deploys/contracts.json +252 -0
  557. package/package.json +22 -27
  558. package/songbird/README.md +7 -0
  559. package/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  560. package/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  561. package/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  562. package/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  563. package/songbird/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  564. package/songbird/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  565. package/songbird/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  566. package/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  567. package/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  568. package/songbird/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  569. package/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  570. package/songbird/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  571. package/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  572. package/songbird/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  573. package/songbird/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  574. package/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1104 -0
  575. package/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  576. package/songbird/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +953 -0
  577. package/songbird/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +878 -0
  578. package/songbird/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  579. package/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  580. package/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  581. package/songbird/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  582. package/songbird/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  583. package/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  584. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +624 -0
  585. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +241 -0
  586. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  587. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +1048 -0
  588. package/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +676 -0
  589. package/songbird/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +224 -0
  590. package/songbird/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +407 -0
  591. package/songbird/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  592. package/songbird/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +37 -0
  593. package/songbird/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +91 -0
  594. package/songbird/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  595. package/songbird/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  596. package/songbird/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +285 -0
  597. package/songbird/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  598. package/songbird/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +126 -0
  599. package/songbird/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +139 -0
  600. package/songbird/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +115 -0
  601. package/songbird/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +209 -0
  602. package/songbird/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +220 -0
  603. package/songbird/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  604. package/songbird/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  605. package/songbird/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  606. package/songbird/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  607. package/songbird/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  608. package/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +351 -0
  609. package/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1065 -0
  610. package/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  611. package/songbird/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  612. package/songbird/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  613. package/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +879 -0
  614. package/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +403 -0
  615. package/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  616. package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +44 -0
  617. package/songbird/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  618. package/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +88 -0
  619. package/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  620. package/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  621. package/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  622. package/songbird/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  623. package/songbird/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  624. package/songbird/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +129 -0
  625. package/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  626. package/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +222 -0
  627. package/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  628. package/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +774 -0
  629. package/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1102 -0
  630. package/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1195 -0
  631. package/songbird/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +63 -0
  632. package/songbird/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  633. package/songbird/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +609 -0
  634. package/songbird/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +790 -0
  635. package/songbird/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  636. package/songbird/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  637. package/songbird/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  638. package/songbird/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  639. package/songbird/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  640. package/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  641. package/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  642. package/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  643. package/songbird/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  644. package/songbird/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  645. package/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  646. package/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +949 -0
  647. package/songbird/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  648. package/songbird/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  649. package/songbird/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  650. package/songbird/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  651. package/songbird/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  652. package/songbird/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  653. package/songbird/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +512 -0
  654. package/songbird/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  655. package/songbird/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  656. package/songbird/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  657. package/songbird/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  658. package/songbird/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  659. package/songbird/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  660. package/songbird/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  661. package/songbird/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  662. package/songbird/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  663. package/songbird/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +658 -0
  664. package/songbird/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  665. package/songbird/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  666. package/songbird/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  667. package/songbird/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  668. package/songbird/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  669. package/songbird/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  670. package/songbird/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  671. package/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +440 -0
  672. package/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +144 -0
  673. package/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +238 -0
  674. package/songbird/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  675. package/songbird/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  676. package/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  677. package/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  678. package/songbird/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  679. package/songbird/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +120 -0
  680. package/songbird/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  681. package/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  682. package/songbird/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  683. package/songbird/deploys/contracts.json +202 -0
  684. package/dist/coston/abis.coston.d.ts +0 -4
  685. package/dist/coston/abis.coston.d.ts.map +0 -1
  686. package/dist/coston/abis.coston.js.map +0 -1
  687. package/dist/coston/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
  688. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  689. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  690. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  691. package/dist/coston/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
  692. package/dist/coston/deploys/contractAddresses.d.ts.map +0 -1
  693. package/dist/coston/deploys/contractAddresses.js.map +0 -1
  694. package/dist/coston2/abis.coston2.d.ts +0 -4
  695. package/dist/coston2/abis.coston2.d.ts.map +0 -1
  696. package/dist/coston2/abis.coston2.js.map +0 -1
  697. package/dist/coston2/deploys/contractAddresses.d.ts.map +0 -1
  698. package/dist/coston2/deploys/contractAddresses.js.map +0 -1
  699. package/dist/flare/abis.flare.d.ts +0 -4
  700. package/dist/flare/abis.flare.d.ts.map +0 -1
  701. package/dist/flare/abis.flare.js.map +0 -1
  702. package/dist/flare/deploys/contractAddresses.d.ts.map +0 -1
  703. package/dist/flare/deploys/contractAddresses.js.map +0 -1
  704. package/dist/package.json +0 -28
  705. package/dist/songbird/abis.songbird.d.ts +0 -4
  706. package/dist/songbird/abis.songbird.d.ts.map +0 -1
  707. package/dist/songbird/abis.songbird.js.map +0 -1
  708. package/dist/songbird/deploys/contractAddresses.d.ts.map +0 -1
  709. package/dist/songbird/deploys/contractAddresses.js.map +0 -1
@@ -83,13 +83,25 @@
83
83
  {
84
84
  "indexed": false,
85
85
  "internalType": "uint256",
86
- "name": "lowRewardPrice",
86
+ "name": "lowIQRRewardPrice",
87
87
  "type": "uint256"
88
88
  },
89
89
  {
90
90
  "indexed": false,
91
91
  "internalType": "uint256",
92
- "name": "highRewardPrice",
92
+ "name": "highIQRRewardPrice",
93
+ "type": "uint256"
94
+ },
95
+ {
96
+ "indexed": false,
97
+ "internalType": "uint256",
98
+ "name": "lowElasticBandRewardPrice",
99
+ "type": "uint256"
100
+ },
101
+ {
102
+ "indexed": false,
103
+ "internalType": "uint256",
104
+ "name": "highElasticBandRewardPrice",
93
105
  "type": "uint256"
94
106
  },
95
107
  {
@@ -219,6 +231,16 @@
219
231
  "name": "_lowNatTurnoutThresholdBIPS",
220
232
  "type": "uint256"
221
233
  },
234
+ {
235
+ "internalType": "uint256",
236
+ "name": "_elasticBandRewardBIPS",
237
+ "type": "uint256"
238
+ },
239
+ {
240
+ "internalType": "uint256",
241
+ "name": "_elasticBandWidthPPM",
242
+ "type": "uint256"
243
+ },
222
244
  {
223
245
  "internalType": "address[]",
224
246
  "name": "_trustedAddresses",
@@ -271,6 +293,16 @@
271
293
  "name": "_lowNatTurnoutThresholdBIPS",
272
294
  "type": "uint256"
273
295
  },
296
+ {
297
+ "internalType": "uint256",
298
+ "name": "_elasticBandRewardBIPS",
299
+ "type": "uint256"
300
+ },
301
+ {
302
+ "internalType": "uint256",
303
+ "name": "_elasticBandWidthPPM",
304
+ "type": "uint256"
305
+ },
274
306
  {
275
307
  "internalType": "address[]",
276
308
  "name": "_trustedAddresses",
@@ -16,6 +16,12 @@
16
16
  "name": "AccruingUnearnedRewardsFailed",
17
17
  "type": "event"
18
18
  },
19
+ {
20
+ "anonymous": false,
21
+ "inputs": [],
22
+ "name": "ChillingNonrevealingDataProvidersFailed",
23
+ "type": "event"
24
+ },
19
25
  {
20
26
  "anonymous": false,
21
27
  "inputs": [
@@ -220,6 +226,25 @@
220
226
  "name": "UpdatingActiveValidatorsTriggerFailed",
221
227
  "type": "event"
222
228
  },
229
+ {
230
+ "anonymous": false,
231
+ "inputs": [
232
+ {
233
+ "indexed": false,
234
+ "internalType": "bool",
235
+ "name": "useGoodRandom",
236
+ "type": "bool"
237
+ },
238
+ {
239
+ "indexed": false,
240
+ "internalType": "uint256",
241
+ "name": "maxWaitForGoodRandomSeconds",
242
+ "type": "uint256"
243
+ }
244
+ ],
245
+ "name": "UseGoodRandomSet",
246
+ "type": "event"
247
+ },
223
248
  {
224
249
  "inputs": [],
225
250
  "name": "activate",
@@ -364,6 +389,25 @@
364
389
  "stateMutability": "view",
365
390
  "type": "function"
366
391
  },
392
+ {
393
+ "inputs": [
394
+ {
395
+ "internalType": "contract IIFtso",
396
+ "name": "_ftso",
397
+ "type": "address"
398
+ }
399
+ ],
400
+ "name": "getElasticBandWidthPPMFtso",
401
+ "outputs": [
402
+ {
403
+ "internalType": "uint256",
404
+ "name": "",
405
+ "type": "uint256"
406
+ }
407
+ ],
408
+ "stateMutability": "view",
409
+ "type": "function"
410
+ },
367
411
  {
368
412
  "inputs": [],
369
413
  "name": "getFallbackMode",
@@ -747,6 +791,11 @@
747
791
  },
748
792
  {
749
793
  "inputs": [
794
+ {
795
+ "internalType": "uint256",
796
+ "name": "_updateTs",
797
+ "type": "uint256"
798
+ },
750
799
  {
751
800
  "internalType": "uint256",
752
801
  "name": "_maxVotePowerNatThresholdFraction",
@@ -777,6 +826,11 @@
777
826
  "name": "_lowNatTurnoutThresholdBIPS",
778
827
  "type": "uint256"
779
828
  },
829
+ {
830
+ "internalType": "uint256",
831
+ "name": "_elasticBandRewardBIPS",
832
+ "type": "uint256"
833
+ },
780
834
  {
781
835
  "internalType": "uint256",
782
836
  "name": "_rewardExpiryOffsetSeconds",
@@ -3,8 +3,8 @@
3
3
  "contractName": "FtsoEpoch",
4
4
  "sourceName": "contracts/ftso/lib/FtsoEpoch.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220514e6cdf9b9728a02c98f02bb73ea99fa340527c4b1ec7992f4de73e21e06f0564736f6c63430007060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220514e6cdf9b9728a02c98f02bb73ea99fa340527c4b1ec7992f4de73e21e06f0564736f6c63430007060033",
6
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200eff1546e6b2300e01859ba52ca2ffafcc116cce04b8d20fcde8d51e8b845f3a64736f6c63430007060033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200eff1546e6b2300e01859ba52ca2ffafcc116cce04b8d20fcde8d51e8b845f3a64736f6c63430007060033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -36,8 +36,8 @@
36
36
  "type": "event"
37
37
  }
38
38
  ],
39
- "bytecode": "0x611c19610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806306b8c185146100715780635a7ff71c146100935780635d9fe313146100b357806360f3f9c8146100d3578063984626c3146100f3578063d209a7d614610113575b600080fd5b81801561007d57600080fd5b5061009161008c366004611920565b610133565b005b81801561009f57600080fd5b506100916100ae366004611978565b610650565b8180156100bf57600080fd5b506100916100ce36600461189a565b610cd3565b8180156100df57600080fd5b506100916100ee36600461189a565b610eb3565b8180156100ff57600080fd5b5061009161010e366004611855565b6110cc565b81801561011f57600080fd5b5061009161012e3660046118c9565b61138c565b600884015460408051808201909152601b81527f476f762e20706172616d73206e6f7420696e697469616c697a65640000000000602082015290610100900460ff1661019b5760405162461bcd60e51b81526004016101929190611a96565b60405180910390fd5b5061021a85846001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b1580156101d957600080fd5b505afa1580156101ed573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102159190810190611700565b6114ee565b81156103e5576000836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561025b57600080fd5b505afa15801561026f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102979190810190611822565b6040516020016102a79190611a96565b60405160208183030381529060405280519060200120905060008660030160009054906101000a90046001600160a01b03166001600160a01b031663ce1c0e4d6040518163ffffffff1660e01b815260040160006040518083038186803b15801561031157600080fd5b505afa158015610325573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261034d9190810190611799565b80519091505b80156103e157806001900390508282828151811061036d57fe5b60200260200101516040516020016103859190611a96565b6040516020818303038152906040528051906020012014156103dc57604080518082018252600d81526c105b1c9958591e481859191959609a1b6020820152905162461bcd60e51b81526101929190600401611a96565b610353565b5050505b826001600160a01b031663f7dba1f5856000015486600101548760020154886003015489600401548a600501548b6007016040518863ffffffff1660e01b81526004016104389796959493929190611ae0565b600060405180830381600087803b15801561045257600080fd5b505af1158015610466573d6000803e3d6000fd5b505050506001600160a01b038381166000908152600187810160209081526040808420805460ff1990811688151517909155918a90528084208054909216909217905560038801549051630998fc6d60e21b815291921690632663f1b4906104d2908790600401611a67565b602060405180830381600087803b1580156104ec57600080fd5b505af1158015610500573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052491906119df565b600480880154604051634c6e67e160e11b81529293506001600160a01b0316916398dccfc29161055691859101611ac9565b60206040518083038186803b15801561056e57600080fd5b505afa158015610582573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a691906119df565b61060e57600480870154604051630d15c16960e21b81526001600160a01b039091169163345705a4916105db91859101611ac9565b600060405180830381600087803b1580156105f557600080fd5b505af1158015610609573d6000803e3d6000fd5b505050505b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da846001604051610640929190611a7b565b60405180910390a1505050505050565b60008660030160009054906101000a90046001600160a01b03166001600160a01b03166397da6af4866001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156106b157600080fd5b505afa1580156106c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106ed9190810190611822565b6040518263ffffffff1660e01b81526004016107099190611a96565b60206040518083038186803b15801561072157600080fd5b505afa158015610735573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075991906116dd565b9050831561083c57600080826001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d491906119f7565b60405163306ba25360e01b815291935091506001600160a01b0388169063306ba253906108079085908590600401611ad2565b600060405180830381600087803b15801561082157600080fd5b505af1158015610835573d6000803e3d6000fd5b5050505050505b8215610a0d576000816001600160a01b0316635c222bad6040518163ffffffff1660e01b815260040160206040518083038186803b15801561087d57600080fd5b505afa158015610891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b591906116dd565b90506001600160a01b038116156109295760405163d0d552dd60e01b81526001600160a01b0387169063d0d552dd906108f2908490600401611a67565b600060405180830381600087803b15801561090c57600080fd5b505af1158015610920573d6000803e3d6000fd5b50505050610a0b565b6000826001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561096457600080fd5b505afa158015610978573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109a09190810190611700565b805190915015610a095760405163098fef7160e11b81526001600160a01b0388169063131fdee2906109d6908490600401611a1a565b600060405180830381600087803b1580156109f057600080fd5b505af1158015610a04573d6000803e3d6000fd5b505050505b505b505b610a1b878787600086610133565b600387015460408051635200305d60e11b815290516000926001600160a01b03169163a40060ba9160048083019286929190829003018186803b158015610a6157600080fd5b505afa158015610a75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a9d9190810190611700565b805190915060005b81811015610cbd576000838281518110610abb57fe5b60200260200101519050306001600160a01b0316816001600160a01b03166311a7aaaa6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0857600080fd5b505afa158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4091906116dd565b6001600160a01b031614610b545750610cb5565b6000816001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b158015610b8f57600080fd5b505afa158015610ba3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bcb9190810190611700565b80519091508015610cb1576000805b82811015610c4957886001600160a01b0316848281518110610bf857fe5b60200260200101516001600160a01b03161415610c41578c848281518110610c1c57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600191505b600101610bda565b508015610caf5760405163098fef7160e11b81526001600160a01b0385169063131fdee290610c7c908690600401611a1a565b600060405180830381600087803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b505050505b505b5050505b600101610aa5565b50610cc88984610eb3565b505050505050505050565b60008260030160009054906101000a90046001600160a01b03166001600160a01b031663e848da30836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610d3457600080fd5b505afa158015610d48573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d709190810190611822565b6040518263ffffffff1660e01b8152600401610d8c9190611a96565b60206040518083038186803b158015610da457600080fd5b505afa158015610db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddc91906119df565b60048085015460405163d873617160e01b81529293506001600160a01b03169163d873617191610e0e91859101611ac9565b600060405180830381600087803b158015610e2857600080fd5b505af1158015610e3c573d6000803e3d6000fd5b505050600384015460405163a670ff8760e01b81526001600160a01b03909116915063a670ff8790610e72908590600401611a67565b600060405180830381600087803b158015610e8c57600080fd5b505af1158015610ea0573d6000803e3d6000fd5b50505050610eae8383610eb3565b505050565b6001600160a01b03811660008181526002840160209081526040808320805460ff1990811690915560018701835281842080548216905586835292819020805490931690925581516308d3d55560e11b815291513093926311a7aaaa926004808301939192829003018186803b158015610f2c57600080fd5b505afa158015610f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6491906116dd565b6001600160a01b0316141561105657806001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610fae57600080fd5b505af1158015610fc2573d6000803e3d6000fd5b505050600383015460408051635200305d60e11b81529051611051935085926001600160a01b03169163a40060ba916004808301926000929190829003018186803b15801561101057600080fd5b505afa158015611024573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261104c9190810190611700565b61158a565b61108e565b7fa2109c8ecab2fa994cb3c911158dfa5c776e8f9052b49782465fc324d5b5c5f9816040516110859190611a67565b60405180910390a15b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da8160006040516110c0929190611a7b565b60405180910390a15050565b80515b8015610eae5780806001900391505060008282815181106110ec57fe5b602002602001015190508360030160009054906101000a90046001600160a01b03166001600160a01b03166397da6af4826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561115557600080fd5b505afa158015611169573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111919190810190611822565b6040518263ffffffff1660e01b81526004016111ad9190611a96565b60206040518083038186803b1580156111c557600080fd5b505afa9250505080156111f5575060408051601f3d908101601f191682019092526111f2918101906116dd565b60015b61129657806001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561123457600080fd5b505af1158015611248573d6000803e3d6000fd5b5050506001600160a01b03821660009081526002860160209081526040808320805460ff19908116909155600189018352818420805482169055918890529091208054909116905550611386565b816001600160a01b0316816001600160a01b03161461134c57816001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156112ea57600080fd5b505af11580156112fe573d6000803e3d6000fd5b5050506001600160a01b03831660009081526002870160209081526040808320805460ff1990811690915560018a018352818420805482169055918990529091208054909116905550611384565b7fa2109c8ecab2fa994cb3c911158dfa5c776e8f9052b49782465fc324d5b5c5f98260405161137b9190611a67565b60405180910390a15b505b506110cf565b80516040805180820190915260168152754173736574206674736f73206c69737420656d70747960501b6020820152816113d95760405162461bcd60e51b81526004016101929190611a96565b5060005b8181101561145e578281815181106113f157fe5b60200260200101516001600160a01b0316846001600160a01b031614156114565760408051808201825260168152756674736f20657175616c73206173736574206674736f60501b6020820152905162461bcd60e51b81526101929190600401611a96565b6001016113dd565b506001600160a01b03831660009081526020859052604090205460ff161561148a5761148a84836114ee565b60405163098fef7160e11b81526001600160a01b0384169063131fdee2906114b6908590600401611a1a565b600060405180830381600087803b1580156114d057600080fd5b505af11580156114e4573d6000803e3d6000fd5b5050505050505050565b805160005b818110156115845783600001600084838151811061150d57fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff1661157c576040805180820182526016815275105cdcd95d08119514d3c81b9bdd081b585b9859d95960521b6020820152905162461bcd60e51b81526101929190600401611a96565b6001016114f3565b50505050565b805160005b81811015611584576115e7848483815181106115a757fe5b60200260200101516001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b1580156101d957600080fd5b60010161158f565b600082601f8301126115ff578081fd5b8135602061161461160f83611b81565b611b5d565b8281528181019085830183850287018401881015611630578586fd5b855b8581101561165757813561164581611bcb565b84529284019290840190600101611632565b5090979650505050505050565b8035801515811461167457600080fd5b919050565b600082601f830112611689578081fd5b815167ffffffffffffffff81111561169d57fe5b6116b0601f8201601f1916602001611b5d565b8181528460208386010111156116c4578283fd5b6116d5826020830160208701611b9f565b949350505050565b6000602082840312156116ee578081fd5b81516116f981611bcb565b9392505050565b60006020808385031215611712578182fd5b825167ffffffffffffffff811115611728578283fd5b8301601f81018513611738578283fd5b805161174661160f82611b81565b8181528381019083850185840285018601891015611762578687fd5b8694505b8385101561178d57805161177981611bcb565b835260019490940193918501918501611766565b50979650505050505050565b600060208083850312156117ab578182fd5b825167ffffffffffffffff8111156117c1578283fd5b8301601f810185136117d1578283fd5b80516117df61160f82611b81565b81815283810190838501865b84811015611814576118028a888451890101611679565b845292860192908601906001016117eb565b509098975050505050505050565b600060208284031215611833578081fd5b815167ffffffffffffffff811115611849578182fd5b6116d584828501611679565b60008060408385031215611867578081fd5b82359150602083013567ffffffffffffffff811115611884578182fd5b611890858286016115ef565b9150509250929050565b600080604083850312156118ac578182fd5b8235915060208301356118be81611bcb565b809150509250929050565b6000806000606084860312156118dd578081fd5b8335925060208401356118ef81611bcb565b9150604084013567ffffffffffffffff81111561190a578182fd5b611916868287016115ef565b9150509250925092565b600080600080600060a08688031215611937578283fd5b8535945060208601359350604086013561195081611bcb565b925061195e60608701611664565b915061196c60808701611664565b90509295509295909350565b60008060008060008060c08789031215611990578384fd5b863595506020870135945060408701356119a981611bcb565b93506119b760608801611664565b92506119c560808801611664565b91506119d360a08801611664565b90509295509295509295565b6000602082840312156119f0578081fd5b5051919050565b60008060408385031215611a09578182fd5b505080516020909101519092909150565b6020808252825182820181905260009190848201906040850190845b81811015611a5b5783516001600160a01b031683529284019291840191600101611a36565b50909695505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039290921682521515602082015260400190565b6000602082528251806020840152611ab5816040850160208701611b9f565b601f01601f19169190910160400192915050565b90815260200190565b918252602082015260400190565b600060e08201898352602089818501528860408501528760608501528660808501528560a085015260e060c0850152818554808452610100860191508685528285209350845b81811015611b4b5784546001600160a01b031683526001948501949284019201611b26565b50909c9b505050505050505050505050565b60405181810167ffffffffffffffff81118282101715611b7957fe5b604052919050565b600067ffffffffffffffff821115611b9557fe5b5060209081020190565b60005b83811015611bba578181015183820152602001611ba2565b838111156115845750506000910152565b6001600160a01b0381168114611be057600080fd5b5056fea2646970667358221220b97ea70e7f51005541f76a6af984f2f927c11caf3ea7c2636715f3edef6fd1e564736f6c63430007060033",
40
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806306b8c185146100715780635a7ff71c146100935780635d9fe313146100b357806360f3f9c8146100d3578063984626c3146100f3578063d209a7d614610113575b600080fd5b81801561007d57600080fd5b5061009161008c366004611920565b610133565b005b81801561009f57600080fd5b506100916100ae366004611978565b610650565b8180156100bf57600080fd5b506100916100ce36600461189a565b610cd3565b8180156100df57600080fd5b506100916100ee36600461189a565b610eb3565b8180156100ff57600080fd5b5061009161010e366004611855565b6110cc565b81801561011f57600080fd5b5061009161012e3660046118c9565b61138c565b600884015460408051808201909152601b81527f476f762e20706172616d73206e6f7420696e697469616c697a65640000000000602082015290610100900460ff1661019b5760405162461bcd60e51b81526004016101929190611a96565b60405180910390fd5b5061021a85846001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b1580156101d957600080fd5b505afa1580156101ed573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102159190810190611700565b6114ee565b81156103e5576000836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561025b57600080fd5b505afa15801561026f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102979190810190611822565b6040516020016102a79190611a96565b60405160208183030381529060405280519060200120905060008660030160009054906101000a90046001600160a01b03166001600160a01b031663ce1c0e4d6040518163ffffffff1660e01b815260040160006040518083038186803b15801561031157600080fd5b505afa158015610325573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261034d9190810190611799565b80519091505b80156103e157806001900390508282828151811061036d57fe5b60200260200101516040516020016103859190611a96565b6040516020818303038152906040528051906020012014156103dc57604080518082018252600d81526c105b1c9958591e481859191959609a1b6020820152905162461bcd60e51b81526101929190600401611a96565b610353565b5050505b826001600160a01b031663f7dba1f5856000015486600101548760020154886003015489600401548a600501548b6007016040518863ffffffff1660e01b81526004016104389796959493929190611ae0565b600060405180830381600087803b15801561045257600080fd5b505af1158015610466573d6000803e3d6000fd5b505050506001600160a01b038381166000908152600187810160209081526040808420805460ff1990811688151517909155918a90528084208054909216909217905560038801549051630998fc6d60e21b815291921690632663f1b4906104d2908790600401611a67565b602060405180830381600087803b1580156104ec57600080fd5b505af1158015610500573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052491906119df565b600480880154604051634c6e67e160e11b81529293506001600160a01b0316916398dccfc29161055691859101611ac9565b60206040518083038186803b15801561056e57600080fd5b505afa158015610582573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a691906119df565b61060e57600480870154604051630d15c16960e21b81526001600160a01b039091169163345705a4916105db91859101611ac9565b600060405180830381600087803b1580156105f557600080fd5b505af1158015610609573d6000803e3d6000fd5b505050505b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da846001604051610640929190611a7b565b60405180910390a1505050505050565b60008660030160009054906101000a90046001600160a01b03166001600160a01b03166397da6af4866001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156106b157600080fd5b505afa1580156106c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106ed9190810190611822565b6040518263ffffffff1660e01b81526004016107099190611a96565b60206040518083038186803b15801561072157600080fd5b505afa158015610735573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075991906116dd565b9050831561083c57600080826001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d491906119f7565b60405163306ba25360e01b815291935091506001600160a01b0388169063306ba253906108079085908590600401611ad2565b600060405180830381600087803b15801561082157600080fd5b505af1158015610835573d6000803e3d6000fd5b5050505050505b8215610a0d576000816001600160a01b0316635c222bad6040518163ffffffff1660e01b815260040160206040518083038186803b15801561087d57600080fd5b505afa158015610891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b591906116dd565b90506001600160a01b038116156109295760405163d0d552dd60e01b81526001600160a01b0387169063d0d552dd906108f2908490600401611a67565b600060405180830381600087803b15801561090c57600080fd5b505af1158015610920573d6000803e3d6000fd5b50505050610a0b565b6000826001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561096457600080fd5b505afa158015610978573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109a09190810190611700565b805190915015610a095760405163098fef7160e11b81526001600160a01b0388169063131fdee2906109d6908490600401611a1a565b600060405180830381600087803b1580156109f057600080fd5b505af1158015610a04573d6000803e3d6000fd5b505050505b505b505b610a1b878787600086610133565b600387015460408051635200305d60e11b815290516000926001600160a01b03169163a40060ba9160048083019286929190829003018186803b158015610a6157600080fd5b505afa158015610a75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a9d9190810190611700565b805190915060005b81811015610cbd576000838281518110610abb57fe5b60200260200101519050306001600160a01b0316816001600160a01b03166311a7aaaa6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0857600080fd5b505afa158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4091906116dd565b6001600160a01b031614610b545750610cb5565b6000816001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b158015610b8f57600080fd5b505afa158015610ba3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bcb9190810190611700565b80519091508015610cb1576000805b82811015610c4957886001600160a01b0316848281518110610bf857fe5b60200260200101516001600160a01b03161415610c41578c848281518110610c1c57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600191505b600101610bda565b508015610caf5760405163098fef7160e11b81526001600160a01b0385169063131fdee290610c7c908690600401611a1a565b600060405180830381600087803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b505050505b505b5050505b600101610aa5565b50610cc88984610eb3565b505050505050505050565b60008260030160009054906101000a90046001600160a01b03166001600160a01b031663e848da30836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610d3457600080fd5b505afa158015610d48573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d709190810190611822565b6040518263ffffffff1660e01b8152600401610d8c9190611a96565b60206040518083038186803b158015610da457600080fd5b505afa158015610db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddc91906119df565b60048085015460405163d873617160e01b81529293506001600160a01b03169163d873617191610e0e91859101611ac9565b600060405180830381600087803b158015610e2857600080fd5b505af1158015610e3c573d6000803e3d6000fd5b505050600384015460405163a670ff8760e01b81526001600160a01b03909116915063a670ff8790610e72908590600401611a67565b600060405180830381600087803b158015610e8c57600080fd5b505af1158015610ea0573d6000803e3d6000fd5b50505050610eae8383610eb3565b505050565b6001600160a01b03811660008181526002840160209081526040808320805460ff1990811690915560018701835281842080548216905586835292819020805490931690925581516308d3d55560e11b815291513093926311a7aaaa926004808301939192829003018186803b158015610f2c57600080fd5b505afa158015610f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6491906116dd565b6001600160a01b0316141561105657806001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610fae57600080fd5b505af1158015610fc2573d6000803e3d6000fd5b505050600383015460408051635200305d60e11b81529051611051935085926001600160a01b03169163a40060ba916004808301926000929190829003018186803b15801561101057600080fd5b505afa158015611024573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261104c9190810190611700565b61158a565b61108e565b7fa2109c8ecab2fa994cb3c911158dfa5c776e8f9052b49782465fc324d5b5c5f9816040516110859190611a67565b60405180910390a15b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da8160006040516110c0929190611a7b565b60405180910390a15050565b80515b8015610eae5780806001900391505060008282815181106110ec57fe5b602002602001015190508360030160009054906101000a90046001600160a01b03166001600160a01b03166397da6af4826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561115557600080fd5b505afa158015611169573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111919190810190611822565b6040518263ffffffff1660e01b81526004016111ad9190611a96565b60206040518083038186803b1580156111c557600080fd5b505afa9250505080156111f5575060408051601f3d908101601f191682019092526111f2918101906116dd565b60015b61129657806001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561123457600080fd5b505af1158015611248573d6000803e3d6000fd5b5050506001600160a01b03821660009081526002860160209081526040808320805460ff19908116909155600189018352818420805482169055918890529091208054909116905550611386565b816001600160a01b0316816001600160a01b03161461134c57816001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156112ea57600080fd5b505af11580156112fe573d6000803e3d6000fd5b5050506001600160a01b03831660009081526002870160209081526040808320805460ff1990811690915560018a018352818420805482169055918990529091208054909116905550611384565b7fa2109c8ecab2fa994cb3c911158dfa5c776e8f9052b49782465fc324d5b5c5f98260405161137b9190611a67565b60405180910390a15b505b506110cf565b80516040805180820190915260168152754173736574206674736f73206c69737420656d70747960501b6020820152816113d95760405162461bcd60e51b81526004016101929190611a96565b5060005b8181101561145e578281815181106113f157fe5b60200260200101516001600160a01b0316846001600160a01b031614156114565760408051808201825260168152756674736f20657175616c73206173736574206674736f60501b6020820152905162461bcd60e51b81526101929190600401611a96565b6001016113dd565b506001600160a01b03831660009081526020859052604090205460ff161561148a5761148a84836114ee565b60405163098fef7160e11b81526001600160a01b0384169063131fdee2906114b6908590600401611a1a565b600060405180830381600087803b1580156114d057600080fd5b505af11580156114e4573d6000803e3d6000fd5b5050505050505050565b805160005b818110156115845783600001600084838151811061150d57fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff1661157c576040805180820182526016815275105cdcd95d08119514d3c81b9bdd081b585b9859d95960521b6020820152905162461bcd60e51b81526101929190600401611a96565b6001016114f3565b50505050565b805160005b81811015611584576115e7848483815181106115a757fe5b60200260200101516001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b1580156101d957600080fd5b60010161158f565b600082601f8301126115ff578081fd5b8135602061161461160f83611b81565b611b5d565b8281528181019085830183850287018401881015611630578586fd5b855b8581101561165757813561164581611bcb565b84529284019290840190600101611632565b5090979650505050505050565b8035801515811461167457600080fd5b919050565b600082601f830112611689578081fd5b815167ffffffffffffffff81111561169d57fe5b6116b0601f8201601f1916602001611b5d565b8181528460208386010111156116c4578283fd5b6116d5826020830160208701611b9f565b949350505050565b6000602082840312156116ee578081fd5b81516116f981611bcb565b9392505050565b60006020808385031215611712578182fd5b825167ffffffffffffffff811115611728578283fd5b8301601f81018513611738578283fd5b805161174661160f82611b81565b8181528381019083850185840285018601891015611762578687fd5b8694505b8385101561178d57805161177981611bcb565b835260019490940193918501918501611766565b50979650505050505050565b600060208083850312156117ab578182fd5b825167ffffffffffffffff8111156117c1578283fd5b8301601f810185136117d1578283fd5b80516117df61160f82611b81565b81815283810190838501865b84811015611814576118028a888451890101611679565b845292860192908601906001016117eb565b509098975050505050505050565b600060208284031215611833578081fd5b815167ffffffffffffffff811115611849578182fd5b6116d584828501611679565b60008060408385031215611867578081fd5b82359150602083013567ffffffffffffffff811115611884578182fd5b611890858286016115ef565b9150509250929050565b600080604083850312156118ac578182fd5b8235915060208301356118be81611bcb565b809150509250929050565b6000806000606084860312156118dd578081fd5b8335925060208401356118ef81611bcb565b9150604084013567ffffffffffffffff81111561190a578182fd5b611916868287016115ef565b9150509250925092565b600080600080600060a08688031215611937578283fd5b8535945060208601359350604086013561195081611bcb565b925061195e60608701611664565b915061196c60808701611664565b90509295509295909350565b60008060008060008060c08789031215611990578384fd5b863595506020870135945060408701356119a981611bcb565b93506119b760608801611664565b92506119c560808801611664565b91506119d360a08801611664565b90509295509295509295565b6000602082840312156119f0578081fd5b5051919050565b60008060408385031215611a09578182fd5b505080516020909101519092909150565b6020808252825182820181905260009190848201906040850190845b81811015611a5b5783516001600160a01b031683529284019291840191600101611a36565b50909695505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039290921682521515602082015260400190565b6000602082528251806020840152611ab5816040850160208701611b9f565b601f01601f19169190910160400192915050565b90815260200190565b918252602082015260400190565b600060e08201898352602089818501528860408501528760608501528660808501528560a085015260e060c0850152818554808452610100860191508685528285209350845b81811015611b4b5784546001600160a01b031683526001948501949284019201611b26565b50909c9b505050505050505050505050565b60405181810167ffffffffffffffff81118282101715611b7957fe5b604052919050565b600067ffffffffffffffff821115611b9557fe5b5060209081020190565b60005b83811015611bba578181015183820152602001611ba2565b838111156115845750506000910152565b6001600160a01b0381168114611be057600080fd5b5056fea2646970667358221220b97ea70e7f51005541f76a6af984f2f927c11caf3ea7c2636715f3edef6fd1e564736f6c63430007060033",
39
+ "bytecode": "0x611d5f610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806306b8c185146100715780631adedd5a146100935780635a7ff71c146100b357806360f3f9c8146100d3578063984626c3146100f3578063d209a7d614610113575b600080fd5b81801561007d57600080fd5b5061009161008c366004611a54565b610133565b005b81801561009f57600080fd5b506100916100ae366004611a1c565b6106fa565b8180156100bf57600080fd5b506100916100ce366004611aac565b6108f4565b8180156100df57600080fd5b506100916100ee366004611996565b610faa565b8180156100ff57600080fd5b5061009161010e366004611951565b6111c3565b81801561011f57600080fd5b5061009161012e3660046119c5565b611488565b600a84015460408051808201909152601b81527f476f762e20706172616d73206e6f7420696e697469616c697a65640000000000602082015290610100900460ff1661019b5760405162461bcd60e51b81526004016101929190611bca565b60405180910390fd5b50600a84015460ff1615806101b1575083544210155b6040518060400160405280601381526020017211dbdd8b881c185c985b5cc81d5c19185d1959606a1b815250906101fb5760405162461bcd60e51b81526004016101929190611bca565b5061027a85846001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561023957600080fd5b505afa15801561024d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261027591908101906117fc565b6115ea565b8115610460576000836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156102bb57600080fd5b505afa1580156102cf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f7919081019061191e565b6040516020016103079190611bca565b60405160208183030381529060405280519060200120905060008660030160009054906101000a90046001600160a01b03166001600160a01b031663ce1c0e4d6040518163ffffffff1660e01b815260040160006040518083038186803b15801561037157600080fd5b505afa158015610385573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ad9190810190611895565b80519091505b80156104415780600190039050828282815181106103cd57fe5b60200260200101516040516020016103e59190611bca565b60405160208183030381529060405280519060200120141561043c57604080518082018252600d81526c105b1c9958591e481859191959609a1b6020820152905162461bcd60e51b81526101929190600401611bca565b6103b3565b5050506001600160a01b0383166000908152600b850160205260408120555b826001600160a01b0316635a3c9d8e856001015486600201548760030154886004015489600501548a600601548b600801548c600b0160008d6001600160a01b03166001600160a01b03168152602001908152602001600020548d6009016040518a63ffffffff1660e01b81526004016104e299989796959493929190611c14565b600060405180830381600087803b1580156104fc57600080fd5b505af1158015610510573d6000803e3d6000fd5b505050506001600160a01b038381166000908152600187810160209081526040808420805460ff1990811688151517909155918a90528084208054909216909217905560038801549051630998fc6d60e21b815291921690632663f1b49061057c908790600401611b9b565b602060405180830381600087803b15801561059657600080fd5b505af11580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce9190611b13565b600480880154604051634c6e67e160e11b81529293506001600160a01b0316916398dccfc29161060091859101611bfd565b60206040518083038186803b15801561061857600080fd5b505afa15801561062c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106509190611b13565b6106b857600480870154604051630d15c16960e21b81526001600160a01b039091169163345705a49161068591859101611bfd565b600060405180830381600087803b15801561069f57600080fd5b505af11580156106b3573d6000803e3d6000fd5b505050505b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da8460016040516106ea929190611baf565b60405180910390a1505050505050565b60008360030160009054906101000a90046001600160a01b03166001600160a01b031663e848da30836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561075b57600080fd5b505afa15801561076f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610797919081019061191e565b6040518263ffffffff1660e01b81526004016107b39190611bca565b60206040518083038186803b1580156107cb57600080fd5b505afa1580156107df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108039190611b13565b60048086015460405163d873617160e01b81529293506001600160a01b03169163d87361719161083591859101611bfd565b600060405180830381600087803b15801561084f57600080fd5b505af1158015610863573d6000803e3d6000fd5b505050600385015460405163a670ff8760e01b81526001600160a01b03909116915063a670ff8790610899908590600401611b9b565b600060405180830381600087803b1580156108b357600080fd5b505af11580156108c7573d6000803e3d6000fd5b505050506108d58483610faa565b506001600160a01b03166000908152600b909101602052604081205550565b60008660030160009054906101000a90046001600160a01b03166001600160a01b03166397da6af4866001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561095557600080fd5b505afa158015610969573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610991919081019061191e565b6040518263ffffffff1660e01b81526004016109ad9190611bca565b60206040518083038186803b1580156109c557600080fd5b505afa1580156109d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fd91906117d9565b90508315610ae057600080826001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b158015610a4057600080fd5b505afa158015610a54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190611b2b565b60405163306ba25360e01b815291935091506001600160a01b0388169063306ba25390610aab9085908590600401611c06565b600060405180830381600087803b158015610ac557600080fd5b505af1158015610ad9573d6000803e3d6000fd5b5050505050505b8215610cb1576000816001600160a01b0316635c222bad6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2157600080fd5b505afa158015610b35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5991906117d9565b90506001600160a01b03811615610bcd5760405163d0d552dd60e01b81526001600160a01b0387169063d0d552dd90610b96908490600401611b9b565b600060405180830381600087803b158015610bb057600080fd5b505af1158015610bc4573d6000803e3d6000fd5b50505050610caf565b6000826001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b158015610c0857600080fd5b505afa158015610c1c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c4491908101906117fc565b805190915015610cad5760405163098fef7160e11b81526001600160a01b0388169063131fdee290610c7a908490600401611b4e565b600060405180830381600087803b158015610c9457600080fd5b505af1158015610ca8573d6000803e3d6000fd5b505050505b505b505b6001600160a01b038082166000818152600b890160205260408082208054948a1683529082209390935590815290819055610cf29088908890889086610133565b600387015460408051635200305d60e11b815290516000926001600160a01b03169163a40060ba9160048083019286929190829003018186803b158015610d3857600080fd5b505afa158015610d4c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d7491908101906117fc565b805190915060005b81811015610f94576000838281518110610d9257fe5b60200260200101519050306001600160a01b0316816001600160a01b03166311a7aaaa6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ddf57600080fd5b505afa158015610df3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1791906117d9565b6001600160a01b031614610e2b5750610f8c565b6000816001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b158015610e6657600080fd5b505afa158015610e7a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ea291908101906117fc565b80519091508015610f88576000805b82811015610f2057886001600160a01b0316848281518110610ecf57fe5b60200260200101516001600160a01b03161415610f18578c848281518110610ef357fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600191505b600101610eb1565b508015610f865760405163098fef7160e11b81526001600160a01b0385169063131fdee290610f53908690600401611b4e565b600060405180830381600087803b158015610f6d57600080fd5b505af1158015610f81573d6000803e3d6000fd5b505050505b505b5050505b600101610d7c565b50610f9f8984610faa565b505050505050505050565b6001600160a01b03811660008181526002840160209081526040808320805460ff1990811690915560018701835281842080548216905586835292819020805490931690925581516308d3d55560e11b815291513093926311a7aaaa926004808301939192829003018186803b15801561102357600080fd5b505afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b91906117d9565b6001600160a01b0316141561114d57806001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156110a557600080fd5b505af11580156110b9573d6000803e3d6000fd5b505050600383015460408051635200305d60e11b81529051611148935085926001600160a01b03169163a40060ba916004808301926000929190829003018186803b15801561110757600080fd5b505afa15801561111b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261114391908101906117fc565b611686565b611185565b7fa2109c8ecab2fa994cb3c911158dfa5c776e8f9052b49782465fc324d5b5c5f98160405161117c9190611b9b565b60405180910390a15b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da8160006040516111b7929190611baf565b60405180910390a15050565b80515b80156114835780806001900391505060008282815181106111e357fe5b602002602001015190508360030160009054906101000a90046001600160a01b03166001600160a01b03166397da6af4826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561124c57600080fd5b505afa158015611260573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611288919081019061191e565b6040518263ffffffff1660e01b81526004016112a49190611bca565b60206040518083038186803b1580156112bc57600080fd5b505afa9250505080156112ec575060408051601f3d908101601f191682019092526112e9918101906117d9565b60015b61138d57806001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561132b57600080fd5b505af115801561133f573d6000803e3d6000fd5b5050506001600160a01b03821660009081526002860160209081526040808320805460ff1990811690915560018901835281842080548216905591889052909120805490911690555061147d565b816001600160a01b0316816001600160a01b03161461144357816001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156113e157600080fd5b505af11580156113f5573d6000803e3d6000fd5b5050506001600160a01b03831660009081526002870160209081526040808320805460ff1990811690915560018a01835281842080548216905591899052909120805490911690555061147b565b7fa2109c8ecab2fa994cb3c911158dfa5c776e8f9052b49782465fc324d5b5c5f9826040516114729190611b9b565b60405180910390a15b505b506111c6565b505050565b80516040805180820190915260168152754173736574206674736f73206c69737420656d70747960501b6020820152816114d55760405162461bcd60e51b81526004016101929190611bca565b5060005b8181101561155a578281815181106114ed57fe5b60200260200101516001600160a01b0316846001600160a01b031614156115525760408051808201825260168152756674736f20657175616c73206173736574206674736f60501b6020820152905162461bcd60e51b81526101929190600401611bca565b6001016114d9565b506001600160a01b03831660009081526020859052604090205460ff16156115865761158684836115ea565b60405163098fef7160e11b81526001600160a01b0384169063131fdee2906115b2908590600401611b4e565b600060405180830381600087803b1580156115cc57600080fd5b505af11580156115e0573d6000803e3d6000fd5b5050505050505050565b805160005b818110156116805783600001600084838151811061160957fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16611678576040805180820182526016815275105cdcd95d08119514d3c81b9bdd081b585b9859d95960521b6020820152905162461bcd60e51b81526101929190600401611bca565b6001016115ef565b50505050565b805160005b81811015611680576116e3848483815181106116a357fe5b60200260200101516001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561023957600080fd5b60010161168b565b600082601f8301126116fb578081fd5b8135602061171061170b83611cc7565b611ca3565b828152818101908583018385028701840188101561172c578586fd5b855b8581101561175357813561174181611d11565b8452928401929084019060010161172e565b5090979650505050505050565b8035801515811461177057600080fd5b919050565b600082601f830112611785578081fd5b815167ffffffffffffffff81111561179957fe5b6117ac601f8201601f1916602001611ca3565b8181528460208386010111156117c0578283fd5b6117d1826020830160208701611ce5565b949350505050565b6000602082840312156117ea578081fd5b81516117f581611d11565b9392505050565b6000602080838503121561180e578182fd5b825167ffffffffffffffff811115611824578283fd5b8301601f81018513611834578283fd5b805161184261170b82611cc7565b818152838101908385018584028501860189101561185e578687fd5b8694505b8385101561188957805161187581611d11565b835260019490940193918501918501611862565b50979650505050505050565b600060208083850312156118a7578182fd5b825167ffffffffffffffff8111156118bd578283fd5b8301601f810185136118cd578283fd5b80516118db61170b82611cc7565b81815283810190838501865b84811015611910576118fe8a888451890101611775565b845292860192908601906001016118e7565b509098975050505050505050565b60006020828403121561192f578081fd5b815167ffffffffffffffff811115611945578182fd5b6117d184828501611775565b60008060408385031215611963578081fd5b82359150602083013567ffffffffffffffff811115611980578182fd5b61198c858286016116eb565b9150509250929050565b600080604083850312156119a8578182fd5b8235915060208301356119ba81611d11565b809150509250929050565b6000806000606084860312156119d9578081fd5b8335925060208401356119eb81611d11565b9150604084013567ffffffffffffffff811115611a06578182fd5b611a12868287016116eb565b9150509250925092565b600080600060608486031215611a30578081fd5b83359250602084013591506040840135611a4981611d11565b809150509250925092565b600080600080600060a08688031215611a6b578283fd5b85359450602086013593506040860135611a8481611d11565b9250611a9260608701611760565b9150611aa060808701611760565b90509295509295909350565b60008060008060008060c08789031215611ac4578384fd5b86359550602087013594506040870135611add81611d11565b9350611aeb60608801611760565b9250611af960808801611760565b9150611b0760a08801611760565b90509295509295509295565b600060208284031215611b24578081fd5b5051919050565b60008060408385031215611b3d578182fd5b505080516020909101519092909150565b6020808252825182820181905260009190848201906040850190845b81811015611b8f5783516001600160a01b031683529284019291840191600101611b6a565b50909695505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039290921682521515602082015260400190565b6000602082528251806020840152611be9816040850160208701611ce5565b601f01601f19169190910160400192915050565b90815260200190565b918252602082015260400190565b60006101208083018c845260208c818601528b60408601528a60608601528960808601528860a08601528760c08601528660e0860152826101008601528192508554808352610140860193508685528185209250845b81811015611c8f5783546001600160a01b031685529382019360019384019301611c6a565b50929e9d5050505050505050505050505050565b60405181810167ffffffffffffffff81118282101715611cbf57fe5b604052919050565b600067ffffffffffffffff821115611cdb57fe5b5060209081020190565b60005b83811015611d00578181015183820152602001611ce8565b838111156116805750506000910152565b6001600160a01b0381168114611d2657600080fd5b5056fea2646970667358221220f92b4e68e5ca02999583e5958d0480e6dcec73bd22cb35ab5554bbc56f02846864736f6c63430007060033",
40
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806306b8c185146100715780631adedd5a146100935780635a7ff71c146100b357806360f3f9c8146100d3578063984626c3146100f3578063d209a7d614610113575b600080fd5b81801561007d57600080fd5b5061009161008c366004611a54565b610133565b005b81801561009f57600080fd5b506100916100ae366004611a1c565b6106fa565b8180156100bf57600080fd5b506100916100ce366004611aac565b6108f4565b8180156100df57600080fd5b506100916100ee366004611996565b610faa565b8180156100ff57600080fd5b5061009161010e366004611951565b6111c3565b81801561011f57600080fd5b5061009161012e3660046119c5565b611488565b600a84015460408051808201909152601b81527f476f762e20706172616d73206e6f7420696e697469616c697a65640000000000602082015290610100900460ff1661019b5760405162461bcd60e51b81526004016101929190611bca565b60405180910390fd5b50600a84015460ff1615806101b1575083544210155b6040518060400160405280601381526020017211dbdd8b881c185c985b5cc81d5c19185d1959606a1b815250906101fb5760405162461bcd60e51b81526004016101929190611bca565b5061027a85846001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561023957600080fd5b505afa15801561024d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261027591908101906117fc565b6115ea565b8115610460576000836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156102bb57600080fd5b505afa1580156102cf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f7919081019061191e565b6040516020016103079190611bca565b60405160208183030381529060405280519060200120905060008660030160009054906101000a90046001600160a01b03166001600160a01b031663ce1c0e4d6040518163ffffffff1660e01b815260040160006040518083038186803b15801561037157600080fd5b505afa158015610385573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ad9190810190611895565b80519091505b80156104415780600190039050828282815181106103cd57fe5b60200260200101516040516020016103e59190611bca565b60405160208183030381529060405280519060200120141561043c57604080518082018252600d81526c105b1c9958591e481859191959609a1b6020820152905162461bcd60e51b81526101929190600401611bca565b6103b3565b5050506001600160a01b0383166000908152600b850160205260408120555b826001600160a01b0316635a3c9d8e856001015486600201548760030154886004015489600501548a600601548b600801548c600b0160008d6001600160a01b03166001600160a01b03168152602001908152602001600020548d6009016040518a63ffffffff1660e01b81526004016104e299989796959493929190611c14565b600060405180830381600087803b1580156104fc57600080fd5b505af1158015610510573d6000803e3d6000fd5b505050506001600160a01b038381166000908152600187810160209081526040808420805460ff1990811688151517909155918a90528084208054909216909217905560038801549051630998fc6d60e21b815291921690632663f1b49061057c908790600401611b9b565b602060405180830381600087803b15801561059657600080fd5b505af11580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce9190611b13565b600480880154604051634c6e67e160e11b81529293506001600160a01b0316916398dccfc29161060091859101611bfd565b60206040518083038186803b15801561061857600080fd5b505afa15801561062c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106509190611b13565b6106b857600480870154604051630d15c16960e21b81526001600160a01b039091169163345705a49161068591859101611bfd565b600060405180830381600087803b15801561069f57600080fd5b505af11580156106b3573d6000803e3d6000fd5b505050505b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da8460016040516106ea929190611baf565b60405180910390a1505050505050565b60008360030160009054906101000a90046001600160a01b03166001600160a01b031663e848da30836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561075b57600080fd5b505afa15801561076f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610797919081019061191e565b6040518263ffffffff1660e01b81526004016107b39190611bca565b60206040518083038186803b1580156107cb57600080fd5b505afa1580156107df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108039190611b13565b60048086015460405163d873617160e01b81529293506001600160a01b03169163d87361719161083591859101611bfd565b600060405180830381600087803b15801561084f57600080fd5b505af1158015610863573d6000803e3d6000fd5b505050600385015460405163a670ff8760e01b81526001600160a01b03909116915063a670ff8790610899908590600401611b9b565b600060405180830381600087803b1580156108b357600080fd5b505af11580156108c7573d6000803e3d6000fd5b505050506108d58483610faa565b506001600160a01b03166000908152600b909101602052604081205550565b60008660030160009054906101000a90046001600160a01b03166001600160a01b03166397da6af4866001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561095557600080fd5b505afa158015610969573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610991919081019061191e565b6040518263ffffffff1660e01b81526004016109ad9190611bca565b60206040518083038186803b1580156109c557600080fd5b505afa1580156109d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fd91906117d9565b90508315610ae057600080826001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b158015610a4057600080fd5b505afa158015610a54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190611b2b565b60405163306ba25360e01b815291935091506001600160a01b0388169063306ba25390610aab9085908590600401611c06565b600060405180830381600087803b158015610ac557600080fd5b505af1158015610ad9573d6000803e3d6000fd5b5050505050505b8215610cb1576000816001600160a01b0316635c222bad6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2157600080fd5b505afa158015610b35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5991906117d9565b90506001600160a01b03811615610bcd5760405163d0d552dd60e01b81526001600160a01b0387169063d0d552dd90610b96908490600401611b9b565b600060405180830381600087803b158015610bb057600080fd5b505af1158015610bc4573d6000803e3d6000fd5b50505050610caf565b6000826001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b158015610c0857600080fd5b505afa158015610c1c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c4491908101906117fc565b805190915015610cad5760405163098fef7160e11b81526001600160a01b0388169063131fdee290610c7a908490600401611b4e565b600060405180830381600087803b158015610c9457600080fd5b505af1158015610ca8573d6000803e3d6000fd5b505050505b505b505b6001600160a01b038082166000818152600b890160205260408082208054948a1683529082209390935590815290819055610cf29088908890889086610133565b600387015460408051635200305d60e11b815290516000926001600160a01b03169163a40060ba9160048083019286929190829003018186803b158015610d3857600080fd5b505afa158015610d4c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d7491908101906117fc565b805190915060005b81811015610f94576000838281518110610d9257fe5b60200260200101519050306001600160a01b0316816001600160a01b03166311a7aaaa6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ddf57600080fd5b505afa158015610df3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1791906117d9565b6001600160a01b031614610e2b5750610f8c565b6000816001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b158015610e6657600080fd5b505afa158015610e7a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ea291908101906117fc565b80519091508015610f88576000805b82811015610f2057886001600160a01b0316848281518110610ecf57fe5b60200260200101516001600160a01b03161415610f18578c848281518110610ef357fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600191505b600101610eb1565b508015610f865760405163098fef7160e11b81526001600160a01b0385169063131fdee290610f53908690600401611b4e565b600060405180830381600087803b158015610f6d57600080fd5b505af1158015610f81573d6000803e3d6000fd5b505050505b505b5050505b600101610d7c565b50610f9f8984610faa565b505050505050505050565b6001600160a01b03811660008181526002840160209081526040808320805460ff1990811690915560018701835281842080548216905586835292819020805490931690925581516308d3d55560e11b815291513093926311a7aaaa926004808301939192829003018186803b15801561102357600080fd5b505afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b91906117d9565b6001600160a01b0316141561114d57806001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156110a557600080fd5b505af11580156110b9573d6000803e3d6000fd5b505050600383015460408051635200305d60e11b81529051611148935085926001600160a01b03169163a40060ba916004808301926000929190829003018186803b15801561110757600080fd5b505afa15801561111b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261114391908101906117fc565b611686565b611185565b7fa2109c8ecab2fa994cb3c911158dfa5c776e8f9052b49782465fc324d5b5c5f98160405161117c9190611b9b565b60405180910390a15b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da8160006040516111b7929190611baf565b60405180910390a15050565b80515b80156114835780806001900391505060008282815181106111e357fe5b602002602001015190508360030160009054906101000a90046001600160a01b03166001600160a01b03166397da6af4826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561124c57600080fd5b505afa158015611260573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611288919081019061191e565b6040518263ffffffff1660e01b81526004016112a49190611bca565b60206040518083038186803b1580156112bc57600080fd5b505afa9250505080156112ec575060408051601f3d908101601f191682019092526112e9918101906117d9565b60015b61138d57806001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561132b57600080fd5b505af115801561133f573d6000803e3d6000fd5b5050506001600160a01b03821660009081526002860160209081526040808320805460ff1990811690915560018901835281842080548216905591889052909120805490911690555061147d565b816001600160a01b0316816001600160a01b03161461144357816001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156113e157600080fd5b505af11580156113f5573d6000803e3d6000fd5b5050506001600160a01b03831660009081526002870160209081526040808320805460ff1990811690915560018a01835281842080548216905591899052909120805490911690555061147b565b7fa2109c8ecab2fa994cb3c911158dfa5c776e8f9052b49782465fc324d5b5c5f9826040516114729190611b9b565b60405180910390a15b505b506111c6565b505050565b80516040805180820190915260168152754173736574206674736f73206c69737420656d70747960501b6020820152816114d55760405162461bcd60e51b81526004016101929190611bca565b5060005b8181101561155a578281815181106114ed57fe5b60200260200101516001600160a01b0316846001600160a01b031614156115525760408051808201825260168152756674736f20657175616c73206173736574206674736f60501b6020820152905162461bcd60e51b81526101929190600401611bca565b6001016114d9565b506001600160a01b03831660009081526020859052604090205460ff16156115865761158684836115ea565b60405163098fef7160e11b81526001600160a01b0384169063131fdee2906115b2908590600401611b4e565b600060405180830381600087803b1580156115cc57600080fd5b505af11580156115e0573d6000803e3d6000fd5b5050505050505050565b805160005b818110156116805783600001600084838151811061160957fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16611678576040805180820182526016815275105cdcd95d08119514d3c81b9bdd081b585b9859d95960521b6020820152905162461bcd60e51b81526101929190600401611bca565b6001016115ef565b50505050565b805160005b81811015611680576116e3848483815181106116a357fe5b60200260200101516001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561023957600080fd5b60010161168b565b600082601f8301126116fb578081fd5b8135602061171061170b83611cc7565b611ca3565b828152818101908583018385028701840188101561172c578586fd5b855b8581101561175357813561174181611d11565b8452928401929084019060010161172e565b5090979650505050505050565b8035801515811461177057600080fd5b919050565b600082601f830112611785578081fd5b815167ffffffffffffffff81111561179957fe5b6117ac601f8201601f1916602001611ca3565b8181528460208386010111156117c0578283fd5b6117d1826020830160208701611ce5565b949350505050565b6000602082840312156117ea578081fd5b81516117f581611d11565b9392505050565b6000602080838503121561180e578182fd5b825167ffffffffffffffff811115611824578283fd5b8301601f81018513611834578283fd5b805161184261170b82611cc7565b818152838101908385018584028501860189101561185e578687fd5b8694505b8385101561188957805161187581611d11565b835260019490940193918501918501611862565b50979650505050505050565b600060208083850312156118a7578182fd5b825167ffffffffffffffff8111156118bd578283fd5b8301601f810185136118cd578283fd5b80516118db61170b82611cc7565b81815283810190838501865b84811015611910576118fe8a888451890101611775565b845292860192908601906001016118e7565b509098975050505050505050565b60006020828403121561192f578081fd5b815167ffffffffffffffff811115611945578182fd5b6117d184828501611775565b60008060408385031215611963578081fd5b82359150602083013567ffffffffffffffff811115611980578182fd5b61198c858286016116eb565b9150509250929050565b600080604083850312156119a8578182fd5b8235915060208301356119ba81611d11565b809150509250929050565b6000806000606084860312156119d9578081fd5b8335925060208401356119eb81611d11565b9150604084013567ffffffffffffffff811115611a06578182fd5b611a12868287016116eb565b9150509250925092565b600080600060608486031215611a30578081fd5b83359250602084013591506040840135611a4981611d11565b809150509250925092565b600080600080600060a08688031215611a6b578283fd5b85359450602086013593506040860135611a8481611d11565b9250611a9260608701611760565b9150611aa060808701611760565b90509295509295909350565b60008060008060008060c08789031215611ac4578384fd5b86359550602087013594506040870135611add81611d11565b9350611aeb60608801611760565b9250611af960808801611760565b9150611b0760a08801611760565b90509295509295509295565b600060208284031215611b24578081fd5b5051919050565b60008060408385031215611b3d578182fd5b505080516020909101519092909150565b6020808252825182820181905260009190848201906040850190845b81811015611b8f5783516001600160a01b031683529284019291840191600101611b6a565b50909695505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039290921682521515602082015260400190565b6000602082528251806020840152611be9816040850160208701611ce5565b601f01601f19169190910160400192915050565b90815260200190565b918252602082015260400190565b60006101208083018c845260208c818601528b60408601528a60608601528960808601528860a08601528760c08601528660e0860152826101008601528192508554808352610140860193508685528185209250845b81811015611c8f5783546001600160a01b031685529382019360019384019301611c6a565b50929e9d5050505050505050505050505050565b60405181810167ffffffffffffffff81118282101715611cbf57fe5b604052919050565b600067ffffffffffffffff821115611cdb57fe5b5060209081020190565b60005b83811015611d00578181015183820152602001611ce8565b838111156116805750506000910152565b6001600160a01b0381168114611d2657600080fd5b5056fea2646970667358221220f92b4e68e5ca02999583e5958d0480e6dcec73bd22cb35ab5554bbc56f02846864736f6c63430007060033",
41
41
  "linkReferences": {},
42
42
  "deployedLinkReferences": {}
43
43
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "FtsoManagerSettings",
4
4
  "sourceName": "contracts/ftso/lib/FtsoManagerSettings.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b69d37e5c0709eff7602944758becd3a32006274d0d5db8cdb1ed2fe672e543964736f6c63430007060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b69d37e5c0709eff7602944758becd3a32006274d0d5db8cdb1ed2fe672e543964736f6c63430007060033",
6
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220179e9c74820c0c20b18e10a802a29f022a8cbe978fc419c069c1c0cbbe7f0e6264736f6c63430007060033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220179e9c74820c0c20b18e10a802a29f022a8cbe978fc419c069c1c0cbbe7f0e6264736f6c63430007060033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "FtsoMedian",
4
4
  "sourceName": "contracts/ftso/lib/FtsoMedian.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122016cad26b9401853654c3fdd94c035a520005edefc00aaae97174380c753a47ea64736f6c63430007060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122016cad26b9401853654c3fdd94c035a520005edefc00aaae97174380c753a47ea64736f6c63430007060033",
6
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220dac87372a9e607f43abe324d9e7b1066921e1730eecb6174b67b9486368722e664736f6c63430007060033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220dac87372a9e607f43abe324d9e7b1066921e1730eecb6174b67b9486368722e664736f6c63430007060033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -711,8 +711,8 @@
711
711
  "type": "function"
712
712
  }
713
713
  ],
714
- "bytecode": "0x60806040523480156200001157600080fd5b5060405162002beb38038062002beb83398101604081905262000034916200016c565b80806001600160a01b0381161562000051576200005181620000a9565b506001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b50506200019c565b600054600160a01b900460ff161562000109576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6000602082840312156200017e578081fd5b81516001600160a01b038116811462000195578182fd5b9392505050565b612a3f80620001ac6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063798aac5b1161010f578063c55d0f56116100a2578063e17f212e11610071578063e17f212e14610453578063e68f283b14610468578063e848da301461047e578063f5a9838314610491576101e5565b8063c55d0f56146103f8578063c71a1b201461040b578063ce1c0e4d1461042b578063d75f6d8114610440576101e5565b80639d6a890f116100de5780639d6a890f146103b7578063a40060ba146103ca578063a670ff87146103d2578063a69afdc6146103e5576101e5565b8063798aac5b1461035c57806379d5ea4b1461037157806397da6af4146103845780639cb4753814610397576101e5565b806358f9296f1161018757806367fc40291161015657806367fc4029146102fe5780636ba31fa11461031157806374e6310e146103245780637687542c14610345576101e5565b806358f9296f146102b75780635aa6e675146102cc5780635ff27079146102e157806362354e03146102f6576101e5565b8063257cbd3a116101c3578063257cbd3a1461023f5780632663f1b4146102615780632bcdd6ab1461028157806342a0f24314610296576101e5565b806306a2ba29146101ea5780630cf4849714610209578063136d3f641461021f575b600080fd5b6101f2610499565b604051610200929190612868565b60405180910390f35b6102116104ad565b6040516102009291906127d9565b61023261022d3660046125a3565b6105c3565b60405161020091906128ee565b61025261024d3660046125a3565b61064a565b60405161020093929190612931565b61027461026f3660046123a4565b6106d5565b6040516102009190612901565b610289610841565b60405161020091906127b3565b6102a96102a43660046124ff565b6108fd565b604051610200929190612923565b6102bf610981565b60405161020091906127fe565b6102d46109a3565b6040516102009190612718565b6102f46102ef3660046124d7565b610a38565b005b6102d4610d8d565b6102f461030c3660046124d7565b610d98565b6102bf61031f366004612448565b610e80565b6103376103323660046124d7565b610f2e565b60405161020092919061290a565b61034d610fd4565b604051610200939291906128a0565b6103646110ed565b6040516102009190612855565b6102bf61037f3660046123c0565b6110fd565b6102d46103923660046124ff565b611249565b6103aa6103a5366004612448565b611254565b604051610200919061272c565b6102f46103c53660046123a4565b6113e1565b61028961149a565b6102f46103e03660046123a4565b6114aa565b6102526103f33660046124ff565b61163c565b6102a96104063660046125a3565b61164a565b61041e6104193660046125a3565b611656565b6040516102009190612779565b61043361173c565b60405161020091906127c6565b6102d461044e3660046125a3565b611853565b61045b61185e565b60405161020091906128e3565b61047061186e565b60405161020092919061287b565b61027461048c3660046124ff565b611987565b6102f4611992565b6060806104a4611a4c565b90939092509050565b6060806104b8611a4c565b80519092509050806001600160401b03811180156104d557600080fd5b5060405190808252806020026020018201604052801561050957816020015b60608152602001906001900390816104f45790505b5092505b80156105be578060019003905081818151811061052657fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561056657600080fd5b505afa15801561057a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a29190810190612531565b8382815181106105ae57fe5b602002602001018190525061050d565b509091565b60606105ce82611c86565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561060657600080fd5b505afa15801561061a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106429190810190612531565b90505b919050565b600080600061065884611c86565b6001600160a01b03166365f5cd866040518163ffffffff1660e01b815260040160606040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c891906125de565b9250925092509193909250565b60008054600160b01b900460ff16806106f85750600054600160a81b900460ff16155b1561083657610705611d37565b6000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561074057600080fd5b505afa158015610754573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261077c9190810190612531565b905060038160405161078e91906126fc565b908152602001604051809103902054915081600014156107e5576002805490509150816001016003826040516107c491906126fc565b908152604051908190036020019020556002805460010181556000526107f4565b6001820391506107f482611d6e565b826002838154811061080257fe5b6000918252602082206005909102010180546001600160a01b0319166001600160a01b039290921691909117905550610645565b610645600036611e01565b6002546060906000816001600160401b038111801561085f57600080fd5b50604051908082528060200260200182016040528015610889578160200160208202803683370190505b5090505b81156108f75781600190039150600282815481106108a757fe5b600091825260208220600590910201015481516001600160a01b03909116908290849081106108d257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061088d565b91505090565b60008061090983611f84565b6001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b15801561094057600080fd5b505afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097891906125bb565b91509150915091565b606060008061098e611a4c565b9150915061099c8282611fc0565b9250505090565b60008054600160a81b900460ff166109c6576000546001600160a01b0316610a33565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0657600080fd5b505afa158015610a1a573d6000803e3d6000fd5b505050506040513d6020811015610a3057600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b158015610a7c57600080fd5b505afa158015610a90573d6000803e3d6000fd5b505050506040513d6020811015610aa657600080fd5b5051610ae9576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610b55576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610bab576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c455780601f10610c1a57610100808354040283529160200191610c45565b820191906000526020600020905b815481529060010190602001808311610c2857829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250610c799150830182612228565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310610cc15780518252601f199092019160209182019101610ca2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610d23576040519150601f19603f3d011682016040523d82523d6000602084013e610d28565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610d8781612137565b50505050565b60076001609c1b0181565b610da0612154565b6001600160e01b03198116600090815260016020526040902054610e0b576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610e7b90830182612228565b505050565b6060600082516001600160401b0381118015610e9b57600080fd5b50604051908082528060200260200182016040528015610ec5578160200160208202803683370190505b50905060005b8351811015610f1c57610ef0848281518110610ee357fe5b6020026020010151611c86565b828281518110610efc57fe5b6001600160a01b0390921660209283029190910190910152600101610ecb565b50610f278382611fc0565b9392505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f81018590048502860185019096528585529094919392909190830182828015610fca5780601f10610f9f57610100808354040283529160200191610fca565b820191906000526020600020905b815481529060010190602001808311610fad57829003601f168201915b5050505050905082565b6060806060610fe1611a4c565b81519194509150806001600160401b0381118015610ffe57600080fd5b5060405190808252806020026020018201604052801561103257816020015b606081526020019060019003908161101d5790505b5092505b80156110e7578060019003905081818151811061104f57fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561108f57600080fd5b505afa1580156110a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110cb9190810190612531565b8382815181106110d757fe5b6020026020010181905250611036565b50909192565b60606110f7611a4c565b50919050565b6060600082516001600160401b038111801561111857600080fd5b50604051908082528060200260200182016040528015611142578160200160208202803683370190505b509050600083516001600160401b038111801561115e57600080fd5b50604051908082528060200260200182016040528015611188578160200160208202803683370190505b50905060005b8451811015611236576111b38582815181106111a657fe5b60200260200101516121b3565b8382815181106111bf57fe5b60200260200101818152505060028382815181106111d957fe5b6020026020010151815481106111eb57fe5b600091825260208220600590910201015482516001600160a01b039091169083908390811061121657fe5b6001600160a01b039092166020928302919091019091015260010161118e565b506112418282611fc0565b949350505050565b600061064282611f84565b600254815160609190806001600160401b038111801561127357600080fd5b5060405190808252806020026020018201604052801561129d578160200160208202803683370190505b5092505b80156113da578060019003905060008482815181106112bc57fe5b602002602001015190508281106040518060400160405280601881526020016000805160206129ea833981519152815250906113145760405162461bcd60e51b815260040161130b91906128ee565b60405180910390fd5b506002818154811061132257fe5b600091825260208220600590910201015484516001600160a01b039091169085908490811061134d57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b031684838151811061138457fe5b60200260200101516001600160a01b031614156113d457604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b506112a1565b5050919050565b600054600160a01b900460ff1615611437576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b60606114a4611a4c565b92915050565b600054600160b01b900460ff16806114cc5750600054600160a81b900460ff16155b1561162e576114d9611d37565b6000816001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561151457600080fd5b505afa158015611528573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115509190810190612531565b9050600060038260405161156491906126fc565b90815260405190819003602001902054905080156115f0576000190161158981611d6e565b60006002828154811061159857fe5b6000918252602082206005909102010180546001600160a01b0319166001600160a01b03929092169190911790556040516003906115d79084906126fc565b9081526020016040518091039020600090555050611629565b604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b611639565b611639600036611e01565b50565b600080600061065884611f84565b60008061090983611c86565b61165e61226c565b6002548210801561169f575060006001600160a01b03166002838154811061168257fe5b60009182526020822060059091020101546001600160a01b031614155b6040518060400160405280601881526020016000805160206129ea833981519152815250906116e15760405162461bcd60e51b815260040161130b91906128ee565b50600282815481106116ef57fe5b600091825260209091206040805160a0810191829052926005908102909201919082845b81546001600160a01b031681526001909101906020018083116117135750505050509050919050565b60606000611748611a4c565b80519092509050806001600160401b038111801561176557600080fd5b5060405190808252806020026020018201604052801561179957816020015b60608152602001906001900390816117845790505b5092505b801561184e57806001900390508181815181106117b657fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156117f657600080fd5b505afa15801561180a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118329190810190612531565b83828151811061183e57fe5b602002602001018190525061179d565b505090565b600061064282611c86565b600054600160a81b900460ff1681565b606080606061187b611a4c565b81519194509150806001600160401b038111801561189857600080fd5b506040519080825280602002602001820160405280156118cc57816020015b60608152602001906001900390816118b75790505b5092505b801561198157806001900390508181815181106118e957fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561192957600080fd5b505afa15801561193d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119659190810190612531565b83828151811061197157fe5b60200260200101819052506118d0565b50509091565b6000610642826121b3565b61199a612154565b600054600160a81b900460ff16156119f9576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60025460609081906000816001600160401b0381118015611a6c57600080fd5b50604051908082528060200260200182016040528015611a96578160200160208202803683370190505b5090506000826001600160401b0381118015611ab157600080fd5b50604051908082528060200260200182016040528015611adb578160200160208202803683370190505b50905060008060005b85811015611b7757600060028281548110611afb57fe5b60009182526020822060059091020101546001600160a01b03908116915084168114611b6e5781868481518110611b2e57fe5b60200260200101818152505080858481518110611b4757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b50600101611ae4565b50806001600160401b0381118015611b8e57600080fd5b50604051908082528060200260200182016040528015611bb8578160200160208202803683370190505b509650806001600160401b0381118015611bd157600080fd5b50604051908082528060200260200182016040528015611bfb578160200160208202803683370190505b5095505b8015611c7d5780600190039050838181518110611c1857fe5b6020026020010151878281518110611c2c57fe5b602002602001018181525050828181518110611c4457fe5b6020026020010151868281518110611c5857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050611bff565b50505050509091565b60025460408051808201909152601881526000805160206129ea83398151915260208201526000918310611ccd5760405162461bcd60e51b815260040161130b91906128ee565b50600060028381548110611cdd57fe5b60009182526020822060059091020101546001600160a01b03169050806114a457604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b600054600160b01b900460ff1615611d6457333014611d5257fe5b6000805460ff60b01b19169055611d6c565b611d6c612154565b565b60045b8015611dfd5760028281548110611d8457fe5b90600052602060002090600502016001820360058110611da057fe5b0154600280546001600160a01b039092169184908110611dbc57fe5b90600052602060002090600502018260058110611dd557fe5b0180546001600160a01b0319166001600160a01b039290921691909117905560001901611d71565b5050565b611e09612154565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e5157600080fd5b505afa158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450611eff9392850192019061228a565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080611f90836121b3565b905060028181548110611f9f57fe5b60009182526020822060059091020101546001600160a01b03169392505050565b8051606090806001600160401b0381118015611fdb57600080fd5b5060405190808252806020026020018201604052801561201557816020015b612002612316565b815260200190600190039081611ffa5790505b50915060005b8181101561212f5784818151811061202f57fe5b602002602001015183828151811061204357fe5b6020026020010151600001818152505083818151811061205f57fe5b60200260200101516001600160a01b03166365f5cd866040518163ffffffff1660e01b815260040160606040518083038186803b15801561209f57600080fd5b505afa1580156120b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d791906125de565b8584815181106120e357fe5b60200260200101516020018685815181106120fa57fe5b602002602001015160600187868151811061211157fe5b6020908102919091010151604001929092529190525260010161201b565b505092915050565b3d604051818101604052816000823e8215612150578181f35b8181fd5b61215c6109a3565b6001600160a01b0316336001600160a01b031614611d6c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6000806003836040516121c691906126fc565b9081526020016040518091039020549050600081116040518060400160405280601881526020016000805160206129ea8339815191528152509061221d5760405162461bcd60e51b815260040161130b91906128ee565b506000190192915050565b50805460018160011615610100020316600290046000825580601f1061224e5750611639565b601f016020900490600052602060002090810190611639919061233e565b6040518060a001604052806005906020820280368337509192915050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826122c05760008555612306565b82601f106122d957805160ff1916838001178555612306565b82800160010185558215612306579182015b828111156123065782518255916020019190600101906122eb565b5061231292915061233e565b5090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b5b80821115612312576000815560010161233f565b600082601f830112612363578081fd5b813561237661237182612987565b612947565b81815284602083860101111561238a578283fd5b816020850160208301379081016020019190915292915050565b6000602082840312156123b5578081fd5b8135610f27816129d4565b600060208083850312156123d2578182fd5b82356001600160401b038111156123e7578283fd5b8301601f810185136123f7578283fd5b80356124056123718261296a565b81815283810190838501865b8481101561243a576124288a888435890101612353565b84529286019290860190600101612411565b509098975050505050505050565b6000602080838503121561245a578182fd5b82356001600160401b0381111561246f578283fd5b8301601f8101851361247f578283fd5b803561248d6123718261296a565b81815283810190838501858402850186018910156124a9578687fd5b8694505b838510156124cb5780358352600194909401939185019185016124ad565b50979650505050505050565b6000602082840312156124e8578081fd5b81356001600160e01b031981168114610f27578182fd5b600060208284031215612510578081fd5b81356001600160401b03811115612525578182fd5b61124184828501612353565b600060208284031215612542578081fd5b81516001600160401b03811115612557578182fd5b8201601f81018413612567578182fd5b805161257561237182612987565b818152856020838501011115612589578384fd5b61259a8260208301602086016129a8565b95945050505050565b6000602082840312156125b4578081fd5b5035919050565b600080604083850312156125cd578081fd5b505080516020909101519092909150565b6000806000606084860312156125f2578081fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156126435781516001600160a01b03168752958201959082019060010161261e565b509495945050505050565b6000815180845260208085018081965082840281019150828601855b858110156126945782840389526126828483516126d0565b9885019893509084019060010161266a565b5091979650505050505050565b6000815180845260208085019450808401835b83811015612643578151875295820195908201906001016126b4565b600081518084526126e88160208601602086016129a8565b601f01601f19169290920160200192915050565b6000825161270e8184602087016129a8565b9190910192915050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b8181101561276d5783516001600160a01b031683529284019291840191600101612748565b50909695505050505050565b60a08101818360005b60058110156127aa5781516001600160a01b0316835260209283019290910190600101612782565b50505092915050565b600060208252610f27602083018461260b565b600060208252610f27602083018461264e565b6000604082526127ec604083018561264e565b828103602084015261259a818561260b565b602080825282518282018190526000919060409081850190868401855b828110156126945781518051855286810151878601528581015186860152606090810151908501526080909301929085019060010161281b565b600060208252610f2760208301846126a1565b6000604082526127ec60408301856126a1565b60006040825261288e60408301856126a1565b828103602084015261259a818561264e565b6000606082526128b360608301866126a1565b82810360208401526128c5818661264e565b905082810360408401526128d9818561260b565b9695505050505050565b901515815260200190565b600060208252610f2760208301846126d0565b90815260200190565b60008382526040602083015261124160408301846126d0565b918252602082015260400190565b9283526020830191909152604082015260600190565b6040518181016001600160401b038111828210171561296257fe5b604052919050565b60006001600160401b0382111561297d57fe5b5060209081020190565b60006001600160401b0382111561299a57fe5b50601f01601f191660200190565b60005b838110156129c35781810151838201526020016129ab565b83811115610d875750506000910152565b6001600160a01b038116811461163957600080fdfe4654534f20696e646578206e6f7420737570706f727465640000000000000000a26469706673582212200b3a6402c3d545a722fb2976344e949268b5cafb18f33d6c37bee30cd0dd7bd664736f6c63430007060033",
715
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101e55760003560e01c8063798aac5b1161010f578063c55d0f56116100a2578063e17f212e11610071578063e17f212e14610453578063e68f283b14610468578063e848da301461047e578063f5a9838314610491576101e5565b8063c55d0f56146103f8578063c71a1b201461040b578063ce1c0e4d1461042b578063d75f6d8114610440576101e5565b80639d6a890f116100de5780639d6a890f146103b7578063a40060ba146103ca578063a670ff87146103d2578063a69afdc6146103e5576101e5565b8063798aac5b1461035c57806379d5ea4b1461037157806397da6af4146103845780639cb4753814610397576101e5565b806358f9296f1161018757806367fc40291161015657806367fc4029146102fe5780636ba31fa11461031157806374e6310e146103245780637687542c14610345576101e5565b806358f9296f146102b75780635aa6e675146102cc5780635ff27079146102e157806362354e03146102f6576101e5565b8063257cbd3a116101c3578063257cbd3a1461023f5780632663f1b4146102615780632bcdd6ab1461028157806342a0f24314610296576101e5565b806306a2ba29146101ea5780630cf4849714610209578063136d3f641461021f575b600080fd5b6101f2610499565b604051610200929190612868565b60405180910390f35b6102116104ad565b6040516102009291906127d9565b61023261022d3660046125a3565b6105c3565b60405161020091906128ee565b61025261024d3660046125a3565b61064a565b60405161020093929190612931565b61027461026f3660046123a4565b6106d5565b6040516102009190612901565b610289610841565b60405161020091906127b3565b6102a96102a43660046124ff565b6108fd565b604051610200929190612923565b6102bf610981565b60405161020091906127fe565b6102d46109a3565b6040516102009190612718565b6102f46102ef3660046124d7565b610a38565b005b6102d4610d8d565b6102f461030c3660046124d7565b610d98565b6102bf61031f366004612448565b610e80565b6103376103323660046124d7565b610f2e565b60405161020092919061290a565b61034d610fd4565b604051610200939291906128a0565b6103646110ed565b6040516102009190612855565b6102bf61037f3660046123c0565b6110fd565b6102d46103923660046124ff565b611249565b6103aa6103a5366004612448565b611254565b604051610200919061272c565b6102f46103c53660046123a4565b6113e1565b61028961149a565b6102f46103e03660046123a4565b6114aa565b6102526103f33660046124ff565b61163c565b6102a96104063660046125a3565b61164a565b61041e6104193660046125a3565b611656565b6040516102009190612779565b61043361173c565b60405161020091906127c6565b6102d461044e3660046125a3565b611853565b61045b61185e565b60405161020091906128e3565b61047061186e565b60405161020092919061287b565b61027461048c3660046124ff565b611987565b6102f4611992565b6060806104a4611a4c565b90939092509050565b6060806104b8611a4c565b80519092509050806001600160401b03811180156104d557600080fd5b5060405190808252806020026020018201604052801561050957816020015b60608152602001906001900390816104f45790505b5092505b80156105be578060019003905081818151811061052657fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561056657600080fd5b505afa15801561057a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a29190810190612531565b8382815181106105ae57fe5b602002602001018190525061050d565b509091565b60606105ce82611c86565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561060657600080fd5b505afa15801561061a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106429190810190612531565b90505b919050565b600080600061065884611c86565b6001600160a01b03166365f5cd866040518163ffffffff1660e01b815260040160606040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c891906125de565b9250925092509193909250565b60008054600160b01b900460ff16806106f85750600054600160a81b900460ff16155b1561083657610705611d37565b6000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561074057600080fd5b505afa158015610754573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261077c9190810190612531565b905060038160405161078e91906126fc565b908152602001604051809103902054915081600014156107e5576002805490509150816001016003826040516107c491906126fc565b908152604051908190036020019020556002805460010181556000526107f4565b6001820391506107f482611d6e565b826002838154811061080257fe5b6000918252602082206005909102010180546001600160a01b0319166001600160a01b039290921691909117905550610645565b610645600036611e01565b6002546060906000816001600160401b038111801561085f57600080fd5b50604051908082528060200260200182016040528015610889578160200160208202803683370190505b5090505b81156108f75781600190039150600282815481106108a757fe5b600091825260208220600590910201015481516001600160a01b03909116908290849081106108d257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061088d565b91505090565b60008061090983611f84565b6001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b15801561094057600080fd5b505afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097891906125bb565b91509150915091565b606060008061098e611a4c565b9150915061099c8282611fc0565b9250505090565b60008054600160a81b900460ff166109c6576000546001600160a01b0316610a33565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0657600080fd5b505afa158015610a1a573d6000803e3d6000fd5b505050506040513d6020811015610a3057600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b158015610a7c57600080fd5b505afa158015610a90573d6000803e3d6000fd5b505050506040513d6020811015610aa657600080fd5b5051610ae9576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610b55576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610bab576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c455780601f10610c1a57610100808354040283529160200191610c45565b820191906000526020600020905b815481529060010190602001808311610c2857829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250610c799150830182612228565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310610cc15780518252601f199092019160209182019101610ca2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610d23576040519150601f19603f3d011682016040523d82523d6000602084013e610d28565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610d8781612137565b50505050565b60076001609c1b0181565b610da0612154565b6001600160e01b03198116600090815260016020526040902054610e0b576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610e7b90830182612228565b505050565b6060600082516001600160401b0381118015610e9b57600080fd5b50604051908082528060200260200182016040528015610ec5578160200160208202803683370190505b50905060005b8351811015610f1c57610ef0848281518110610ee357fe5b6020026020010151611c86565b828281518110610efc57fe5b6001600160a01b0390921660209283029190910190910152600101610ecb565b50610f278382611fc0565b9392505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f81018590048502860185019096528585529094919392909190830182828015610fca5780601f10610f9f57610100808354040283529160200191610fca565b820191906000526020600020905b815481529060010190602001808311610fad57829003601f168201915b5050505050905082565b6060806060610fe1611a4c565b81519194509150806001600160401b0381118015610ffe57600080fd5b5060405190808252806020026020018201604052801561103257816020015b606081526020019060019003908161101d5790505b5092505b80156110e7578060019003905081818151811061104f57fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561108f57600080fd5b505afa1580156110a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110cb9190810190612531565b8382815181106110d757fe5b6020026020010181905250611036565b50909192565b60606110f7611a4c565b50919050565b6060600082516001600160401b038111801561111857600080fd5b50604051908082528060200260200182016040528015611142578160200160208202803683370190505b509050600083516001600160401b038111801561115e57600080fd5b50604051908082528060200260200182016040528015611188578160200160208202803683370190505b50905060005b8451811015611236576111b38582815181106111a657fe5b60200260200101516121b3565b8382815181106111bf57fe5b60200260200101818152505060028382815181106111d957fe5b6020026020010151815481106111eb57fe5b600091825260208220600590910201015482516001600160a01b039091169083908390811061121657fe5b6001600160a01b039092166020928302919091019091015260010161118e565b506112418282611fc0565b949350505050565b600061064282611f84565b600254815160609190806001600160401b038111801561127357600080fd5b5060405190808252806020026020018201604052801561129d578160200160208202803683370190505b5092505b80156113da578060019003905060008482815181106112bc57fe5b602002602001015190508281106040518060400160405280601881526020016000805160206129ea833981519152815250906113145760405162461bcd60e51b815260040161130b91906128ee565b60405180910390fd5b506002818154811061132257fe5b600091825260208220600590910201015484516001600160a01b039091169085908490811061134d57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b031684838151811061138457fe5b60200260200101516001600160a01b031614156113d457604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b506112a1565b5050919050565b600054600160a01b900460ff1615611437576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b60606114a4611a4c565b92915050565b600054600160b01b900460ff16806114cc5750600054600160a81b900460ff16155b1561162e576114d9611d37565b6000816001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561151457600080fd5b505afa158015611528573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115509190810190612531565b9050600060038260405161156491906126fc565b90815260405190819003602001902054905080156115f0576000190161158981611d6e565b60006002828154811061159857fe5b6000918252602082206005909102010180546001600160a01b0319166001600160a01b03929092169190911790556040516003906115d79084906126fc565b9081526020016040518091039020600090555050611629565b604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b611639565b611639600036611e01565b50565b600080600061065884611f84565b60008061090983611c86565b61165e61226c565b6002548210801561169f575060006001600160a01b03166002838154811061168257fe5b60009182526020822060059091020101546001600160a01b031614155b6040518060400160405280601881526020016000805160206129ea833981519152815250906116e15760405162461bcd60e51b815260040161130b91906128ee565b50600282815481106116ef57fe5b600091825260209091206040805160a0810191829052926005908102909201919082845b81546001600160a01b031681526001909101906020018083116117135750505050509050919050565b60606000611748611a4c565b80519092509050806001600160401b038111801561176557600080fd5b5060405190808252806020026020018201604052801561179957816020015b60608152602001906001900390816117845790505b5092505b801561184e57806001900390508181815181106117b657fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156117f657600080fd5b505afa15801561180a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118329190810190612531565b83828151811061183e57fe5b602002602001018190525061179d565b505090565b600061064282611c86565b600054600160a81b900460ff1681565b606080606061187b611a4c565b81519194509150806001600160401b038111801561189857600080fd5b506040519080825280602002602001820160405280156118cc57816020015b60608152602001906001900390816118b75790505b5092505b801561198157806001900390508181815181106118e957fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561192957600080fd5b505afa15801561193d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119659190810190612531565b83828151811061197157fe5b60200260200101819052506118d0565b50509091565b6000610642826121b3565b61199a612154565b600054600160a81b900460ff16156119f9576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60025460609081906000816001600160401b0381118015611a6c57600080fd5b50604051908082528060200260200182016040528015611a96578160200160208202803683370190505b5090506000826001600160401b0381118015611ab157600080fd5b50604051908082528060200260200182016040528015611adb578160200160208202803683370190505b50905060008060005b85811015611b7757600060028281548110611afb57fe5b60009182526020822060059091020101546001600160a01b03908116915084168114611b6e5781868481518110611b2e57fe5b60200260200101818152505080858481518110611b4757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b50600101611ae4565b50806001600160401b0381118015611b8e57600080fd5b50604051908082528060200260200182016040528015611bb8578160200160208202803683370190505b509650806001600160401b0381118015611bd157600080fd5b50604051908082528060200260200182016040528015611bfb578160200160208202803683370190505b5095505b8015611c7d5780600190039050838181518110611c1857fe5b6020026020010151878281518110611c2c57fe5b602002602001018181525050828181518110611c4457fe5b6020026020010151868281518110611c5857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050611bff565b50505050509091565b60025460408051808201909152601881526000805160206129ea83398151915260208201526000918310611ccd5760405162461bcd60e51b815260040161130b91906128ee565b50600060028381548110611cdd57fe5b60009182526020822060059091020101546001600160a01b03169050806114a457604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b600054600160b01b900460ff1615611d6457333014611d5257fe5b6000805460ff60b01b19169055611d6c565b611d6c612154565b565b60045b8015611dfd5760028281548110611d8457fe5b90600052602060002090600502016001820360058110611da057fe5b0154600280546001600160a01b039092169184908110611dbc57fe5b90600052602060002090600502018260058110611dd557fe5b0180546001600160a01b0319166001600160a01b039290921691909117905560001901611d71565b5050565b611e09612154565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e5157600080fd5b505afa158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450611eff9392850192019061228a565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080611f90836121b3565b905060028181548110611f9f57fe5b60009182526020822060059091020101546001600160a01b03169392505050565b8051606090806001600160401b0381118015611fdb57600080fd5b5060405190808252806020026020018201604052801561201557816020015b612002612316565b815260200190600190039081611ffa5790505b50915060005b8181101561212f5784818151811061202f57fe5b602002602001015183828151811061204357fe5b6020026020010151600001818152505083818151811061205f57fe5b60200260200101516001600160a01b03166365f5cd866040518163ffffffff1660e01b815260040160606040518083038186803b15801561209f57600080fd5b505afa1580156120b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d791906125de565b8584815181106120e357fe5b60200260200101516020018685815181106120fa57fe5b602002602001015160600187868151811061211157fe5b6020908102919091010151604001929092529190525260010161201b565b505092915050565b3d604051818101604052816000823e8215612150578181f35b8181fd5b61215c6109a3565b6001600160a01b0316336001600160a01b031614611d6c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6000806003836040516121c691906126fc565b9081526020016040518091039020549050600081116040518060400160405280601881526020016000805160206129ea8339815191528152509061221d5760405162461bcd60e51b815260040161130b91906128ee565b506000190192915050565b50805460018160011615610100020316600290046000825580601f1061224e5750611639565b601f016020900490600052602060002090810190611639919061233e565b6040518060a001604052806005906020820280368337509192915050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826122c05760008555612306565b82601f106122d957805160ff1916838001178555612306565b82800160010185558215612306579182015b828111156123065782518255916020019190600101906122eb565b5061231292915061233e565b5090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b5b80821115612312576000815560010161233f565b600082601f830112612363578081fd5b813561237661237182612987565b612947565b81815284602083860101111561238a578283fd5b816020850160208301379081016020019190915292915050565b6000602082840312156123b5578081fd5b8135610f27816129d4565b600060208083850312156123d2578182fd5b82356001600160401b038111156123e7578283fd5b8301601f810185136123f7578283fd5b80356124056123718261296a565b81815283810190838501865b8481101561243a576124288a888435890101612353565b84529286019290860190600101612411565b509098975050505050505050565b6000602080838503121561245a578182fd5b82356001600160401b0381111561246f578283fd5b8301601f8101851361247f578283fd5b803561248d6123718261296a565b81815283810190838501858402850186018910156124a9578687fd5b8694505b838510156124cb5780358352600194909401939185019185016124ad565b50979650505050505050565b6000602082840312156124e8578081fd5b81356001600160e01b031981168114610f27578182fd5b600060208284031215612510578081fd5b81356001600160401b03811115612525578182fd5b61124184828501612353565b600060208284031215612542578081fd5b81516001600160401b03811115612557578182fd5b8201601f81018413612567578182fd5b805161257561237182612987565b818152856020838501011115612589578384fd5b61259a8260208301602086016129a8565b95945050505050565b6000602082840312156125b4578081fd5b5035919050565b600080604083850312156125cd578081fd5b505080516020909101519092909150565b6000806000606084860312156125f2578081fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156126435781516001600160a01b03168752958201959082019060010161261e565b509495945050505050565b6000815180845260208085018081965082840281019150828601855b858110156126945782840389526126828483516126d0565b9885019893509084019060010161266a565b5091979650505050505050565b6000815180845260208085019450808401835b83811015612643578151875295820195908201906001016126b4565b600081518084526126e88160208601602086016129a8565b601f01601f19169290920160200192915050565b6000825161270e8184602087016129a8565b9190910192915050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b8181101561276d5783516001600160a01b031683529284019291840191600101612748565b50909695505050505050565b60a08101818360005b60058110156127aa5781516001600160a01b0316835260209283019290910190600101612782565b50505092915050565b600060208252610f27602083018461260b565b600060208252610f27602083018461264e565b6000604082526127ec604083018561264e565b828103602084015261259a818561260b565b602080825282518282018190526000919060409081850190868401855b828110156126945781518051855286810151878601528581015186860152606090810151908501526080909301929085019060010161281b565b600060208252610f2760208301846126a1565b6000604082526127ec60408301856126a1565b60006040825261288e60408301856126a1565b828103602084015261259a818561264e565b6000606082526128b360608301866126a1565b82810360208401526128c5818661264e565b905082810360408401526128d9818561260b565b9695505050505050565b901515815260200190565b600060208252610f2760208301846126d0565b90815260200190565b60008382526040602083015261124160408301846126d0565b918252602082015260400190565b9283526020830191909152604082015260600190565b6040518181016001600160401b038111828210171561296257fe5b604052919050565b60006001600160401b0382111561297d57fe5b5060209081020190565b60006001600160401b0382111561299a57fe5b50601f01601f191660200190565b60005b838110156129c35781810151838201526020016129ab565b83811115610d875750506000910152565b6001600160a01b038116811461163957600080fdfe4654534f20696e646578206e6f7420737570706f727465640000000000000000a26469706673582212200b3a6402c3d545a722fb2976344e949268b5cafb18f33d6c37bee30cd0dd7bd664736f6c63430007060033",
714
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162002beb38038062002beb83398101604081905262000034916200016c565b80806001600160a01b0381161562000051576200005181620000a9565b506001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b50506200019c565b600054600160a01b900460ff161562000109576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6000602082840312156200017e578081fd5b81516001600160a01b038116811462000195578182fd5b9392505050565b612a3f80620001ac6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063798aac5b1161010f578063c55d0f56116100a2578063e17f212e11610071578063e17f212e14610453578063e68f283b14610468578063e848da301461047e578063f5a9838314610491576101e5565b8063c55d0f56146103f8578063c71a1b201461040b578063ce1c0e4d1461042b578063d75f6d8114610440576101e5565b80639d6a890f116100de5780639d6a890f146103b7578063a40060ba146103ca578063a670ff87146103d2578063a69afdc6146103e5576101e5565b8063798aac5b1461035c57806379d5ea4b1461037157806397da6af4146103845780639cb4753814610397576101e5565b806358f9296f1161018757806367fc40291161015657806367fc4029146102fe5780636ba31fa11461031157806374e6310e146103245780637687542c14610345576101e5565b806358f9296f146102b75780635aa6e675146102cc5780635ff27079146102e157806362354e03146102f6576101e5565b8063257cbd3a116101c3578063257cbd3a1461023f5780632663f1b4146102615780632bcdd6ab1461028157806342a0f24314610296576101e5565b806306a2ba29146101ea5780630cf4849714610209578063136d3f641461021f575b600080fd5b6101f2610499565b604051610200929190612868565b60405180910390f35b6102116104ad565b6040516102009291906127d9565b61023261022d3660046125a3565b6105c3565b60405161020091906128ee565b61025261024d3660046125a3565b61064a565b60405161020093929190612931565b61027461026f3660046123a4565b6106d5565b6040516102009190612901565b610289610841565b60405161020091906127b3565b6102a96102a43660046124ff565b6108fd565b604051610200929190612923565b6102bf610981565b60405161020091906127fe565b6102d46109a3565b6040516102009190612718565b6102f46102ef3660046124d7565b610a38565b005b6102d4610d8d565b6102f461030c3660046124d7565b610d98565b6102bf61031f366004612448565b610e80565b6103376103323660046124d7565b610f2e565b60405161020092919061290a565b61034d610fd4565b604051610200939291906128a0565b6103646110ed565b6040516102009190612855565b6102bf61037f3660046123c0565b6110fd565b6102d46103923660046124ff565b611249565b6103aa6103a5366004612448565b611254565b604051610200919061272c565b6102f46103c53660046123a4565b6113e1565b61028961149a565b6102f46103e03660046123a4565b6114aa565b6102526103f33660046124ff565b61163c565b6102a96104063660046125a3565b61164a565b61041e6104193660046125a3565b611656565b6040516102009190612779565b61043361173c565b60405161020091906127c6565b6102d461044e3660046125a3565b611853565b61045b61185e565b60405161020091906128e3565b61047061186e565b60405161020092919061287b565b61027461048c3660046124ff565b611987565b6102f4611992565b6060806104a4611a4c565b90939092509050565b6060806104b8611a4c565b80519092509050806001600160401b03811180156104d557600080fd5b5060405190808252806020026020018201604052801561050957816020015b60608152602001906001900390816104f45790505b5092505b80156105be578060019003905081818151811061052657fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561056657600080fd5b505afa15801561057a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a29190810190612531565b8382815181106105ae57fe5b602002602001018190525061050d565b509091565b60606105ce82611c86565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561060657600080fd5b505afa15801561061a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106429190810190612531565b90505b919050565b600080600061065884611c86565b6001600160a01b03166365f5cd866040518163ffffffff1660e01b815260040160606040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c891906125de565b9250925092509193909250565b60008054600160b01b900460ff16806106f85750600054600160a81b900460ff16155b1561083657610705611d37565b6000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561074057600080fd5b505afa158015610754573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261077c9190810190612531565b905060038160405161078e91906126fc565b908152602001604051809103902054915081600014156107e5576002805490509150816001016003826040516107c491906126fc565b908152604051908190036020019020556002805460010181556000526107f4565b6001820391506107f482611d6e565b826002838154811061080257fe5b6000918252602082206005909102010180546001600160a01b0319166001600160a01b039290921691909117905550610645565b610645600036611e01565b6002546060906000816001600160401b038111801561085f57600080fd5b50604051908082528060200260200182016040528015610889578160200160208202803683370190505b5090505b81156108f75781600190039150600282815481106108a757fe5b600091825260208220600590910201015481516001600160a01b03909116908290849081106108d257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061088d565b91505090565b60008061090983611f84565b6001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b15801561094057600080fd5b505afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097891906125bb565b91509150915091565b606060008061098e611a4c565b9150915061099c8282611fc0565b9250505090565b60008054600160a81b900460ff166109c6576000546001600160a01b0316610a33565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0657600080fd5b505afa158015610a1a573d6000803e3d6000fd5b505050506040513d6020811015610a3057600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b158015610a7c57600080fd5b505afa158015610a90573d6000803e3d6000fd5b505050506040513d6020811015610aa657600080fd5b5051610ae9576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610b55576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610bab576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c455780601f10610c1a57610100808354040283529160200191610c45565b820191906000526020600020905b815481529060010190602001808311610c2857829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250610c799150830182612228565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310610cc15780518252601f199092019160209182019101610ca2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610d23576040519150601f19603f3d011682016040523d82523d6000602084013e610d28565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610d8781612137565b50505050565b60076001609c1b0181565b610da0612154565b6001600160e01b03198116600090815260016020526040902054610e0b576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610e7b90830182612228565b505050565b6060600082516001600160401b0381118015610e9b57600080fd5b50604051908082528060200260200182016040528015610ec5578160200160208202803683370190505b50905060005b8351811015610f1c57610ef0848281518110610ee357fe5b6020026020010151611c86565b828281518110610efc57fe5b6001600160a01b0390921660209283029190910190910152600101610ecb565b50610f278382611fc0565b9392505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f81018590048502860185019096528585529094919392909190830182828015610fca5780601f10610f9f57610100808354040283529160200191610fca565b820191906000526020600020905b815481529060010190602001808311610fad57829003601f168201915b5050505050905082565b6060806060610fe1611a4c565b81519194509150806001600160401b0381118015610ffe57600080fd5b5060405190808252806020026020018201604052801561103257816020015b606081526020019060019003908161101d5790505b5092505b80156110e7578060019003905081818151811061104f57fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561108f57600080fd5b505afa1580156110a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110cb9190810190612531565b8382815181106110d757fe5b6020026020010181905250611036565b50909192565b60606110f7611a4c565b50919050565b6060600082516001600160401b038111801561111857600080fd5b50604051908082528060200260200182016040528015611142578160200160208202803683370190505b509050600083516001600160401b038111801561115e57600080fd5b50604051908082528060200260200182016040528015611188578160200160208202803683370190505b50905060005b8451811015611236576111b38582815181106111a657fe5b60200260200101516121b3565b8382815181106111bf57fe5b60200260200101818152505060028382815181106111d957fe5b6020026020010151815481106111eb57fe5b600091825260208220600590910201015482516001600160a01b039091169083908390811061121657fe5b6001600160a01b039092166020928302919091019091015260010161118e565b506112418282611fc0565b949350505050565b600061064282611f84565b600254815160609190806001600160401b038111801561127357600080fd5b5060405190808252806020026020018201604052801561129d578160200160208202803683370190505b5092505b80156113da578060019003905060008482815181106112bc57fe5b602002602001015190508281106040518060400160405280601881526020016000805160206129ea833981519152815250906113145760405162461bcd60e51b815260040161130b91906128ee565b60405180910390fd5b506002818154811061132257fe5b600091825260208220600590910201015484516001600160a01b039091169085908490811061134d57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b031684838151811061138457fe5b60200260200101516001600160a01b031614156113d457604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b506112a1565b5050919050565b600054600160a01b900460ff1615611437576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b60606114a4611a4c565b92915050565b600054600160b01b900460ff16806114cc5750600054600160a81b900460ff16155b1561162e576114d9611d37565b6000816001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561151457600080fd5b505afa158015611528573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115509190810190612531565b9050600060038260405161156491906126fc565b90815260405190819003602001902054905080156115f0576000190161158981611d6e565b60006002828154811061159857fe5b6000918252602082206005909102010180546001600160a01b0319166001600160a01b03929092169190911790556040516003906115d79084906126fc565b9081526020016040518091039020600090555050611629565b604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b611639565b611639600036611e01565b50565b600080600061065884611f84565b60008061090983611c86565b61165e61226c565b6002548210801561169f575060006001600160a01b03166002838154811061168257fe5b60009182526020822060059091020101546001600160a01b031614155b6040518060400160405280601881526020016000805160206129ea833981519152815250906116e15760405162461bcd60e51b815260040161130b91906128ee565b50600282815481106116ef57fe5b600091825260209091206040805160a0810191829052926005908102909201919082845b81546001600160a01b031681526001909101906020018083116117135750505050509050919050565b60606000611748611a4c565b80519092509050806001600160401b038111801561176557600080fd5b5060405190808252806020026020018201604052801561179957816020015b60608152602001906001900390816117845790505b5092505b801561184e57806001900390508181815181106117b657fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156117f657600080fd5b505afa15801561180a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118329190810190612531565b83828151811061183e57fe5b602002602001018190525061179d565b505090565b600061064282611c86565b600054600160a81b900460ff1681565b606080606061187b611a4c565b81519194509150806001600160401b038111801561189857600080fd5b506040519080825280602002602001820160405280156118cc57816020015b60608152602001906001900390816118b75790505b5092505b801561198157806001900390508181815181106118e957fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561192957600080fd5b505afa15801561193d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119659190810190612531565b83828151811061197157fe5b60200260200101819052506118d0565b50509091565b6000610642826121b3565b61199a612154565b600054600160a81b900460ff16156119f9576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60025460609081906000816001600160401b0381118015611a6c57600080fd5b50604051908082528060200260200182016040528015611a96578160200160208202803683370190505b5090506000826001600160401b0381118015611ab157600080fd5b50604051908082528060200260200182016040528015611adb578160200160208202803683370190505b50905060008060005b85811015611b7757600060028281548110611afb57fe5b60009182526020822060059091020101546001600160a01b03908116915084168114611b6e5781868481518110611b2e57fe5b60200260200101818152505080858481518110611b4757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b50600101611ae4565b50806001600160401b0381118015611b8e57600080fd5b50604051908082528060200260200182016040528015611bb8578160200160208202803683370190505b509650806001600160401b0381118015611bd157600080fd5b50604051908082528060200260200182016040528015611bfb578160200160208202803683370190505b5095505b8015611c7d5780600190039050838181518110611c1857fe5b6020026020010151878281518110611c2c57fe5b602002602001018181525050828181518110611c4457fe5b6020026020010151868281518110611c5857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050611bff565b50505050509091565b60025460408051808201909152601881526000805160206129ea83398151915260208201526000918310611ccd5760405162461bcd60e51b815260040161130b91906128ee565b50600060028381548110611cdd57fe5b60009182526020822060059091020101546001600160a01b03169050806114a457604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b600054600160b01b900460ff1615611d6457333014611d5257fe5b6000805460ff60b01b19169055611d6c565b611d6c612154565b565b60045b8015611dfd5760028281548110611d8457fe5b90600052602060002090600502016001820360058110611da057fe5b0154600280546001600160a01b039092169184908110611dbc57fe5b90600052602060002090600502018260058110611dd557fe5b0180546001600160a01b0319166001600160a01b039290921691909117905560001901611d71565b5050565b611e09612154565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e5157600080fd5b505afa158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450611eff9392850192019061228a565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080611f90836121b3565b905060028181548110611f9f57fe5b60009182526020822060059091020101546001600160a01b03169392505050565b8051606090806001600160401b0381118015611fdb57600080fd5b5060405190808252806020026020018201604052801561201557816020015b612002612316565b815260200190600190039081611ffa5790505b50915060005b8181101561212f5784818151811061202f57fe5b602002602001015183828151811061204357fe5b6020026020010151600001818152505083818151811061205f57fe5b60200260200101516001600160a01b03166365f5cd866040518163ffffffff1660e01b815260040160606040518083038186803b15801561209f57600080fd5b505afa1580156120b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d791906125de565b8584815181106120e357fe5b60200260200101516020018685815181106120fa57fe5b602002602001015160600187868151811061211157fe5b6020908102919091010151604001929092529190525260010161201b565b505092915050565b3d604051818101604052816000823e8215612150578181f35b8181fd5b61215c6109a3565b6001600160a01b0316336001600160a01b031614611d6c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6000806003836040516121c691906126fc565b9081526020016040518091039020549050600081116040518060400160405280601881526020016000805160206129ea8339815191528152509061221d5760405162461bcd60e51b815260040161130b91906128ee565b506000190192915050565b50805460018160011615610100020316600290046000825580601f1061224e5750611639565b601f016020900490600052602060002090810190611639919061233e565b6040518060a001604052806005906020820280368337509192915050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826122c05760008555612306565b82601f106122d957805160ff1916838001178555612306565b82800160010185558215612306579182015b828111156123065782518255916020019190600101906122eb565b5061231292915061233e565b5090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b5b80821115612312576000815560010161233f565b600082601f830112612363578081fd5b813561237661237182612987565b612947565b81815284602083860101111561238a578283fd5b816020850160208301379081016020019190915292915050565b6000602082840312156123b5578081fd5b8135610f27816129d4565b600060208083850312156123d2578182fd5b82356001600160401b038111156123e7578283fd5b8301601f810185136123f7578283fd5b80356124056123718261296a565b81815283810190838501865b8481101561243a576124288a888435890101612353565b84529286019290860190600101612411565b509098975050505050505050565b6000602080838503121561245a578182fd5b82356001600160401b0381111561246f578283fd5b8301601f8101851361247f578283fd5b803561248d6123718261296a565b81815283810190838501858402850186018910156124a9578687fd5b8694505b838510156124cb5780358352600194909401939185019185016124ad565b50979650505050505050565b6000602082840312156124e8578081fd5b81356001600160e01b031981168114610f27578182fd5b600060208284031215612510578081fd5b81356001600160401b03811115612525578182fd5b61124184828501612353565b600060208284031215612542578081fd5b81516001600160401b03811115612557578182fd5b8201601f81018413612567578182fd5b805161257561237182612987565b818152856020838501011115612589578384fd5b61259a8260208301602086016129a8565b95945050505050565b6000602082840312156125b4578081fd5b5035919050565b600080604083850312156125cd578081fd5b505080516020909101519092909150565b6000806000606084860312156125f2578081fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156126435781516001600160a01b03168752958201959082019060010161261e565b509495945050505050565b6000815180845260208085018081965082840281019150828601855b858110156126945782840389526126828483516126d0565b9885019893509084019060010161266a565b5091979650505050505050565b6000815180845260208085019450808401835b83811015612643578151875295820195908201906001016126b4565b600081518084526126e88160208601602086016129a8565b601f01601f19169290920160200192915050565b6000825161270e8184602087016129a8565b9190910192915050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b8181101561276d5783516001600160a01b031683529284019291840191600101612748565b50909695505050505050565b60a08101818360005b60058110156127aa5781516001600160a01b0316835260209283019290910190600101612782565b50505092915050565b600060208252610f27602083018461260b565b600060208252610f27602083018461264e565b6000604082526127ec604083018561264e565b828103602084015261259a818561260b565b602080825282518282018190526000919060409081850190868401855b828110156126945781518051855286810151878601528581015186860152606090810151908501526080909301929085019060010161281b565b600060208252610f2760208301846126a1565b6000604082526127ec60408301856126a1565b60006040825261288e60408301856126a1565b828103602084015261259a818561264e565b6000606082526128b360608301866126a1565b82810360208401526128c5818661264e565b905082810360408401526128d9818561260b565b9695505050505050565b901515815260200190565b600060208252610f2760208301846126d0565b90815260200190565b60008382526040602083015261124160408301846126d0565b918252602082015260400190565b9283526020830191909152604082015260600190565b6040518181016001600160401b038111828210171561296257fe5b604052919050565b60006001600160401b0382111561297d57fe5b5060209081020190565b60006001600160401b0382111561299a57fe5b50601f01601f191660200190565b60005b838110156129c35781810151838201526020016129ab565b83811115610d875750506000910152565b6001600160a01b038116811461163957600080fdfe4654534f20696e646578206e6f7420737570706f727465640000000000000000a2646970667358221220009205ed18200b9177f7d9b0c2b48934cf2edd3cb970c5752607418259c2db1564736f6c63430007060033",
715
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101e55760003560e01c8063798aac5b1161010f578063c55d0f56116100a2578063e17f212e11610071578063e17f212e14610453578063e68f283b14610468578063e848da301461047e578063f5a9838314610491576101e5565b8063c55d0f56146103f8578063c71a1b201461040b578063ce1c0e4d1461042b578063d75f6d8114610440576101e5565b80639d6a890f116100de5780639d6a890f146103b7578063a40060ba146103ca578063a670ff87146103d2578063a69afdc6146103e5576101e5565b8063798aac5b1461035c57806379d5ea4b1461037157806397da6af4146103845780639cb4753814610397576101e5565b806358f9296f1161018757806367fc40291161015657806367fc4029146102fe5780636ba31fa11461031157806374e6310e146103245780637687542c14610345576101e5565b806358f9296f146102b75780635aa6e675146102cc5780635ff27079146102e157806362354e03146102f6576101e5565b8063257cbd3a116101c3578063257cbd3a1461023f5780632663f1b4146102615780632bcdd6ab1461028157806342a0f24314610296576101e5565b806306a2ba29146101ea5780630cf4849714610209578063136d3f641461021f575b600080fd5b6101f2610499565b604051610200929190612868565b60405180910390f35b6102116104ad565b6040516102009291906127d9565b61023261022d3660046125a3565b6105c3565b60405161020091906128ee565b61025261024d3660046125a3565b61064a565b60405161020093929190612931565b61027461026f3660046123a4565b6106d5565b6040516102009190612901565b610289610841565b60405161020091906127b3565b6102a96102a43660046124ff565b6108fd565b604051610200929190612923565b6102bf610981565b60405161020091906127fe565b6102d46109a3565b6040516102009190612718565b6102f46102ef3660046124d7565b610a38565b005b6102d4610d8d565b6102f461030c3660046124d7565b610d98565b6102bf61031f366004612448565b610e80565b6103376103323660046124d7565b610f2e565b60405161020092919061290a565b61034d610fd4565b604051610200939291906128a0565b6103646110ed565b6040516102009190612855565b6102bf61037f3660046123c0565b6110fd565b6102d46103923660046124ff565b611249565b6103aa6103a5366004612448565b611254565b604051610200919061272c565b6102f46103c53660046123a4565b6113e1565b61028961149a565b6102f46103e03660046123a4565b6114aa565b6102526103f33660046124ff565b61163c565b6102a96104063660046125a3565b61164a565b61041e6104193660046125a3565b611656565b6040516102009190612779565b61043361173c565b60405161020091906127c6565b6102d461044e3660046125a3565b611853565b61045b61185e565b60405161020091906128e3565b61047061186e565b60405161020092919061287b565b61027461048c3660046124ff565b611987565b6102f4611992565b6060806104a4611a4c565b90939092509050565b6060806104b8611a4c565b80519092509050806001600160401b03811180156104d557600080fd5b5060405190808252806020026020018201604052801561050957816020015b60608152602001906001900390816104f45790505b5092505b80156105be578060019003905081818151811061052657fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561056657600080fd5b505afa15801561057a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a29190810190612531565b8382815181106105ae57fe5b602002602001018190525061050d565b509091565b60606105ce82611c86565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561060657600080fd5b505afa15801561061a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106429190810190612531565b90505b919050565b600080600061065884611c86565b6001600160a01b03166365f5cd866040518163ffffffff1660e01b815260040160606040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c891906125de565b9250925092509193909250565b60008054600160b01b900460ff16806106f85750600054600160a81b900460ff16155b1561083657610705611d37565b6000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561074057600080fd5b505afa158015610754573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261077c9190810190612531565b905060038160405161078e91906126fc565b908152602001604051809103902054915081600014156107e5576002805490509150816001016003826040516107c491906126fc565b908152604051908190036020019020556002805460010181556000526107f4565b6001820391506107f482611d6e565b826002838154811061080257fe5b6000918252602082206005909102010180546001600160a01b0319166001600160a01b039290921691909117905550610645565b610645600036611e01565b6002546060906000816001600160401b038111801561085f57600080fd5b50604051908082528060200260200182016040528015610889578160200160208202803683370190505b5090505b81156108f75781600190039150600282815481106108a757fe5b600091825260208220600590910201015481516001600160a01b03909116908290849081106108d257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061088d565b91505090565b60008061090983611f84565b6001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b15801561094057600080fd5b505afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097891906125bb565b91509150915091565b606060008061098e611a4c565b9150915061099c8282611fc0565b9250505090565b60008054600160a81b900460ff166109c6576000546001600160a01b0316610a33565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0657600080fd5b505afa158015610a1a573d6000803e3d6000fd5b505050506040513d6020811015610a3057600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b158015610a7c57600080fd5b505afa158015610a90573d6000803e3d6000fd5b505050506040513d6020811015610aa657600080fd5b5051610ae9576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610b55576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610bab576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c455780601f10610c1a57610100808354040283529160200191610c45565b820191906000526020600020905b815481529060010190602001808311610c2857829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250610c799150830182612228565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310610cc15780518252601f199092019160209182019101610ca2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610d23576040519150601f19603f3d011682016040523d82523d6000602084013e610d28565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610d8781612137565b50505050565b60076001609c1b0181565b610da0612154565b6001600160e01b03198116600090815260016020526040902054610e0b576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610e7b90830182612228565b505050565b6060600082516001600160401b0381118015610e9b57600080fd5b50604051908082528060200260200182016040528015610ec5578160200160208202803683370190505b50905060005b8351811015610f1c57610ef0848281518110610ee357fe5b6020026020010151611c86565b828281518110610efc57fe5b6001600160a01b0390921660209283029190910190910152600101610ecb565b50610f278382611fc0565b9392505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f81018590048502860185019096528585529094919392909190830182828015610fca5780601f10610f9f57610100808354040283529160200191610fca565b820191906000526020600020905b815481529060010190602001808311610fad57829003601f168201915b5050505050905082565b6060806060610fe1611a4c565b81519194509150806001600160401b0381118015610ffe57600080fd5b5060405190808252806020026020018201604052801561103257816020015b606081526020019060019003908161101d5790505b5092505b80156110e7578060019003905081818151811061104f57fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561108f57600080fd5b505afa1580156110a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110cb9190810190612531565b8382815181106110d757fe5b6020026020010181905250611036565b50909192565b60606110f7611a4c565b50919050565b6060600082516001600160401b038111801561111857600080fd5b50604051908082528060200260200182016040528015611142578160200160208202803683370190505b509050600083516001600160401b038111801561115e57600080fd5b50604051908082528060200260200182016040528015611188578160200160208202803683370190505b50905060005b8451811015611236576111b38582815181106111a657fe5b60200260200101516121b3565b8382815181106111bf57fe5b60200260200101818152505060028382815181106111d957fe5b6020026020010151815481106111eb57fe5b600091825260208220600590910201015482516001600160a01b039091169083908390811061121657fe5b6001600160a01b039092166020928302919091019091015260010161118e565b506112418282611fc0565b949350505050565b600061064282611f84565b600254815160609190806001600160401b038111801561127357600080fd5b5060405190808252806020026020018201604052801561129d578160200160208202803683370190505b5092505b80156113da578060019003905060008482815181106112bc57fe5b602002602001015190508281106040518060400160405280601881526020016000805160206129ea833981519152815250906113145760405162461bcd60e51b815260040161130b91906128ee565b60405180910390fd5b506002818154811061132257fe5b600091825260208220600590910201015484516001600160a01b039091169085908490811061134d57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b031684838151811061138457fe5b60200260200101516001600160a01b031614156113d457604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b506112a1565b5050919050565b600054600160a01b900460ff1615611437576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b60606114a4611a4c565b92915050565b600054600160b01b900460ff16806114cc5750600054600160a81b900460ff16155b1561162e576114d9611d37565b6000816001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561151457600080fd5b505afa158015611528573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115509190810190612531565b9050600060038260405161156491906126fc565b90815260405190819003602001902054905080156115f0576000190161158981611d6e565b60006002828154811061159857fe5b6000918252602082206005909102010180546001600160a01b0319166001600160a01b03929092169190911790556040516003906115d79084906126fc565b9081526020016040518091039020600090555050611629565b604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b611639565b611639600036611e01565b50565b600080600061065884611f84565b60008061090983611c86565b61165e61226c565b6002548210801561169f575060006001600160a01b03166002838154811061168257fe5b60009182526020822060059091020101546001600160a01b031614155b6040518060400160405280601881526020016000805160206129ea833981519152815250906116e15760405162461bcd60e51b815260040161130b91906128ee565b50600282815481106116ef57fe5b600091825260209091206040805160a0810191829052926005908102909201919082845b81546001600160a01b031681526001909101906020018083116117135750505050509050919050565b60606000611748611a4c565b80519092509050806001600160401b038111801561176557600080fd5b5060405190808252806020026020018201604052801561179957816020015b60608152602001906001900390816117845790505b5092505b801561184e57806001900390508181815181106117b657fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156117f657600080fd5b505afa15801561180a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118329190810190612531565b83828151811061183e57fe5b602002602001018190525061179d565b505090565b600061064282611c86565b600054600160a81b900460ff1681565b606080606061187b611a4c565b81519194509150806001600160401b038111801561189857600080fd5b506040519080825280602002602001820160405280156118cc57816020015b60608152602001906001900390816118b75790505b5092505b801561198157806001900390508181815181106118e957fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561192957600080fd5b505afa15801561193d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119659190810190612531565b83828151811061197157fe5b60200260200101819052506118d0565b50509091565b6000610642826121b3565b61199a612154565b600054600160a81b900460ff16156119f9576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60025460609081906000816001600160401b0381118015611a6c57600080fd5b50604051908082528060200260200182016040528015611a96578160200160208202803683370190505b5090506000826001600160401b0381118015611ab157600080fd5b50604051908082528060200260200182016040528015611adb578160200160208202803683370190505b50905060008060005b85811015611b7757600060028281548110611afb57fe5b60009182526020822060059091020101546001600160a01b03908116915084168114611b6e5781868481518110611b2e57fe5b60200260200101818152505080858481518110611b4757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b50600101611ae4565b50806001600160401b0381118015611b8e57600080fd5b50604051908082528060200260200182016040528015611bb8578160200160208202803683370190505b509650806001600160401b0381118015611bd157600080fd5b50604051908082528060200260200182016040528015611bfb578160200160208202803683370190505b5095505b8015611c7d5780600190039050838181518110611c1857fe5b6020026020010151878281518110611c2c57fe5b602002602001018181525050828181518110611c4457fe5b6020026020010151868281518110611c5857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050611bff565b50505050509091565b60025460408051808201909152601881526000805160206129ea83398151915260208201526000918310611ccd5760405162461bcd60e51b815260040161130b91906128ee565b50600060028381548110611cdd57fe5b60009182526020822060059091020101546001600160a01b03169050806114a457604080518082018252601881526000805160206129ea8339815191526020820152905162461bcd60e51b815261130b91906004016128ee565b600054600160b01b900460ff1615611d6457333014611d5257fe5b6000805460ff60b01b19169055611d6c565b611d6c612154565b565b60045b8015611dfd5760028281548110611d8457fe5b90600052602060002090600502016001820360058110611da057fe5b0154600280546001600160a01b039092169184908110611dbc57fe5b90600052602060002090600502018260058110611dd557fe5b0180546001600160a01b0319166001600160a01b039290921691909117905560001901611d71565b5050565b611e09612154565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e5157600080fd5b505afa158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450611eff9392850192019061228a565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080611f90836121b3565b905060028181548110611f9f57fe5b60009182526020822060059091020101546001600160a01b03169392505050565b8051606090806001600160401b0381118015611fdb57600080fd5b5060405190808252806020026020018201604052801561201557816020015b612002612316565b815260200190600190039081611ffa5790505b50915060005b8181101561212f5784818151811061202f57fe5b602002602001015183828151811061204357fe5b6020026020010151600001818152505083818151811061205f57fe5b60200260200101516001600160a01b03166365f5cd866040518163ffffffff1660e01b815260040160606040518083038186803b15801561209f57600080fd5b505afa1580156120b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d791906125de565b8584815181106120e357fe5b60200260200101516020018685815181106120fa57fe5b602002602001015160600187868151811061211157fe5b6020908102919091010151604001929092529190525260010161201b565b505092915050565b3d604051818101604052816000823e8215612150578181f35b8181fd5b61215c6109a3565b6001600160a01b0316336001600160a01b031614611d6c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6000806003836040516121c691906126fc565b9081526020016040518091039020549050600081116040518060400160405280601881526020016000805160206129ea8339815191528152509061221d5760405162461bcd60e51b815260040161130b91906128ee565b506000190192915050565b50805460018160011615610100020316600290046000825580601f1061224e5750611639565b601f016020900490600052602060002090810190611639919061233e565b6040518060a001604052806005906020820280368337509192915050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826122c05760008555612306565b82601f106122d957805160ff1916838001178555612306565b82800160010185558215612306579182015b828111156123065782518255916020019190600101906122eb565b5061231292915061233e565b5090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b5b80821115612312576000815560010161233f565b600082601f830112612363578081fd5b813561237661237182612987565b612947565b81815284602083860101111561238a578283fd5b816020850160208301379081016020019190915292915050565b6000602082840312156123b5578081fd5b8135610f27816129d4565b600060208083850312156123d2578182fd5b82356001600160401b038111156123e7578283fd5b8301601f810185136123f7578283fd5b80356124056123718261296a565b81815283810190838501865b8481101561243a576124288a888435890101612353565b84529286019290860190600101612411565b509098975050505050505050565b6000602080838503121561245a578182fd5b82356001600160401b0381111561246f578283fd5b8301601f8101851361247f578283fd5b803561248d6123718261296a565b81815283810190838501858402850186018910156124a9578687fd5b8694505b838510156124cb5780358352600194909401939185019185016124ad565b50979650505050505050565b6000602082840312156124e8578081fd5b81356001600160e01b031981168114610f27578182fd5b600060208284031215612510578081fd5b81356001600160401b03811115612525578182fd5b61124184828501612353565b600060208284031215612542578081fd5b81516001600160401b03811115612557578182fd5b8201601f81018413612567578182fd5b805161257561237182612987565b818152856020838501011115612589578384fd5b61259a8260208301602086016129a8565b95945050505050565b6000602082840312156125b4578081fd5b5035919050565b600080604083850312156125cd578081fd5b505080516020909101519092909150565b6000806000606084860312156125f2578081fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156126435781516001600160a01b03168752958201959082019060010161261e565b509495945050505050565b6000815180845260208085018081965082840281019150828601855b858110156126945782840389526126828483516126d0565b9885019893509084019060010161266a565b5091979650505050505050565b6000815180845260208085019450808401835b83811015612643578151875295820195908201906001016126b4565b600081518084526126e88160208601602086016129a8565b601f01601f19169290920160200192915050565b6000825161270e8184602087016129a8565b9190910192915050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b8181101561276d5783516001600160a01b031683529284019291840191600101612748565b50909695505050505050565b60a08101818360005b60058110156127aa5781516001600160a01b0316835260209283019290910190600101612782565b50505092915050565b600060208252610f27602083018461260b565b600060208252610f27602083018461264e565b6000604082526127ec604083018561264e565b828103602084015261259a818561260b565b602080825282518282018190526000919060409081850190868401855b828110156126945781518051855286810151878601528581015186860152606090810151908501526080909301929085019060010161281b565b600060208252610f2760208301846126a1565b6000604082526127ec60408301856126a1565b60006040825261288e60408301856126a1565b828103602084015261259a818561264e565b6000606082526128b360608301866126a1565b82810360208401526128c5818661264e565b905082810360408401526128d9818561260b565b9695505050505050565b901515815260200190565b600060208252610f2760208301846126d0565b90815260200190565b60008382526040602083015261124160408301846126d0565b918252602082015260400190565b9283526020830191909152604082015260600190565b6040518181016001600160401b038111828210171561296257fe5b604052919050565b60006001600160401b0382111561297d57fe5b5060209081020190565b60006001600160401b0382111561299a57fe5b50601f01601f191660200190565b60005b838110156129c35781810151838201526020016129ab565b83811115610d875750506000910152565b6001600160a01b038116811461163957600080fdfe4654534f20696e646578206e6f7420737570706f727465640000000000000000a2646970667358221220009205ed18200b9177f7d9b0c2b48934cf2edd3cb970c5752607418259c2db1564736f6c63430007060033",
716
716
  "linkReferences": {},
717
717
  "deployedLinkReferences": {}
718
718
  }