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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  2. package/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  3. package/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
  4. package/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +6 -19
  5. package/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -13
  6. package/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  7. package/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  8. package/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  9. package/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  10. package/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  11. package/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  12. package/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  13. package/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  14. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  15. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  16. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  17. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
  18. package/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  19. package/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  20. package/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
  21. package/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
  22. package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
  23. package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
  24. package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
  25. package/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
  26. package/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
  27. package/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
  28. package/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
  29. package/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  30. package/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  31. package/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  32. package/coston2/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
  33. package/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
  34. package/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  35. package/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  36. package/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  37. package/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  38. package/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  39. package/coston2/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +121 -0
  40. package/coston2/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +1 -1
  41. package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
  42. package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
  43. package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
  44. package/coston2/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +309 -0
  45. package/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
  46. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  47. package/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  48. package/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  49. package/coston2/deploys/contracts.json +23 -3
  50. package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.d.ts +68 -0
  51. package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.d.ts.map +1 -0
  52. package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js +164 -0
  53. package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js.map +1 -0
  54. package/dist/coston/StateConnector/libs/ts/AttestationResponse.d.ts +33 -0
  55. package/dist/coston/StateConnector/libs/ts/AttestationResponse.d.ts.map +1 -0
  56. package/dist/coston/StateConnector/libs/ts/AttestationResponse.js +30 -0
  57. package/dist/coston/StateConnector/libs/ts/AttestationResponse.js.map +1 -0
  58. package/dist/coston/StateConnector/libs/ts/MerkleTree.d.ts +103 -0
  59. package/dist/coston/StateConnector/libs/ts/MerkleTree.d.ts.map +1 -0
  60. package/dist/coston/StateConnector/libs/ts/MerkleTree.js +212 -0
  61. package/dist/coston/StateConnector/libs/ts/MerkleTree.js.map +1 -0
  62. package/dist/coston/StateConnector/libs/ts/config-types.d.ts +143 -0
  63. package/dist/coston/StateConnector/libs/ts/config-types.d.ts.map +1 -0
  64. package/dist/coston/StateConnector/libs/ts/config-types.js +3 -0
  65. package/dist/coston/StateConnector/libs/ts/config-types.js.map +1 -0
  66. package/dist/coston/StateConnector/libs/ts/interfaces.d.ts +32 -0
  67. package/dist/coston/StateConnector/libs/ts/interfaces.d.ts.map +1 -0
  68. package/dist/coston/StateConnector/libs/ts/interfaces.js +3 -0
  69. package/dist/coston/StateConnector/libs/ts/interfaces.js.map +1 -0
  70. package/dist/coston/StateConnector/libs/ts/random.d.ts +9 -0
  71. package/dist/coston/StateConnector/libs/ts/random.d.ts.map +1 -0
  72. package/dist/coston/StateConnector/libs/ts/random.js +70 -0
  73. package/dist/coston/StateConnector/libs/ts/random.js.map +1 -0
  74. package/dist/coston/StateConnector/libs/ts/utils.d.ts +73 -0
  75. package/dist/coston/StateConnector/libs/ts/utils.d.ts.map +1 -0
  76. package/dist/coston/StateConnector/libs/ts/utils.js +282 -0
  77. package/dist/coston/StateConnector/libs/ts/utils.js.map +1 -0
  78. package/dist/coston/StateConnector/typescript/AddressValidity.d.ts +91 -0
  79. package/dist/coston/StateConnector/typescript/AddressValidity.d.ts.map +1 -0
  80. package/dist/coston/StateConnector/typescript/AddressValidity.js +9 -0
  81. package/dist/coston/StateConnector/typescript/AddressValidity.js.map +1 -0
  82. package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.d.ts +107 -0
  83. package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.d.ts.map +1 -0
  84. package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js +9 -0
  85. package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js.map +1 -0
  86. package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.d.ts +103 -0
  87. package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.d.ts.map +1 -0
  88. package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js +9 -0
  89. package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js.map +1 -0
  90. package/dist/coston/StateConnector/typescript/EVMTransaction.d.ts +160 -0
  91. package/dist/coston/StateConnector/typescript/EVMTransaction.d.ts.map +1 -0
  92. package/dist/coston/StateConnector/typescript/EVMTransaction.js +9 -0
  93. package/dist/coston/StateConnector/typescript/EVMTransaction.js.map +1 -0
  94. package/dist/coston/StateConnector/typescript/Payment.d.ts +139 -0
  95. package/dist/coston/StateConnector/typescript/Payment.d.ts.map +1 -0
  96. package/dist/coston/StateConnector/typescript/Payment.js +9 -0
  97. package/dist/coston/StateConnector/typescript/Payment.js.map +1 -0
  98. package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.d.ts +115 -0
  99. package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.d.ts.map +1 -0
  100. package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js +9 -0
  101. package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js.map +1 -0
  102. package/dist/coston/StateConnector/typescript/TypeTemplate.d.ts +146 -0
  103. package/dist/coston/StateConnector/typescript/TypeTemplate.d.ts.map +1 -0
  104. package/dist/coston/StateConnector/typescript/TypeTemplate.js +9 -0
  105. package/dist/coston/StateConnector/typescript/TypeTemplate.js.map +1 -0
  106. package/dist/coston/StateConnector/typescript/data-sources/data-sources.d.ts +29 -0
  107. package/dist/coston/StateConnector/typescript/data-sources/data-sources.d.ts.map +1 -0
  108. package/dist/coston/StateConnector/typescript/data-sources/data-sources.js +33 -0
  109. package/dist/coston/StateConnector/typescript/data-sources/data-sources.js.map +1 -0
  110. package/dist/coston/StateConnector/typescript/index.d.ts +9 -0
  111. package/dist/coston/StateConnector/typescript/index.d.ts.map +1 -0
  112. package/dist/coston/StateConnector/typescript/index.js +25 -0
  113. package/dist/coston/StateConnector/typescript/index.js.map +1 -0
  114. package/dist/coston/abis.d.ts.map +1 -1
  115. package/dist/coston/abis.js +2 -0
  116. package/dist/coston/abis.js.map +1 -1
  117. package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  118. package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  119. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
  120. package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +6 -19
  121. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -13
  122. package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  123. package/dist/coston/deploys/mapper.js.map +1 -1
  124. package/dist/coston2/abis.d.ts.map +1 -1
  125. package/dist/coston2/abis.js +20 -2
  126. package/dist/coston2/abis.js.map +1 -1
  127. package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  128. package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  129. package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  130. package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  131. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  132. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  133. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  134. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  135. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  136. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  137. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
  138. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  139. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  140. package/dist/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
  141. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
  142. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
  143. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
  144. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
  145. package/dist/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
  146. package/dist/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
  147. package/dist/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
  148. package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
  149. package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  150. package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  151. package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  152. package/dist/coston2/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
  153. package/dist/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
  154. package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  155. package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  156. package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  157. package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  158. package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  159. package/dist/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
  160. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  161. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  162. package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  163. package/dist/coston2/deploys/addresses.d.ts +4 -0
  164. package/dist/coston2/deploys/addresses.d.ts.map +1 -1
  165. package/dist/coston2/deploys/addresses.js +6 -2
  166. package/dist/coston2/deploys/addresses.js.map +1 -1
  167. package/dist/coston2/deploys/contracts.json +23 -3
  168. package/dist/coston2/deploys/mapper.js.map +1 -1
  169. package/dist/flare/abis.d.ts.map +1 -1
  170. package/dist/flare/abis.js +20 -2
  171. package/dist/flare/abis.js.map +1 -1
  172. package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  173. package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  174. package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  175. package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  176. package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  177. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  178. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  179. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  180. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  181. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  182. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
  183. package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  184. package/dist/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  185. package/dist/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
  186. package/dist/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
  187. package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
  188. package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
  189. package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
  190. package/dist/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
  191. package/dist/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
  192. package/dist/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
  193. package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
  194. package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  195. package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  196. package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  197. package/dist/flare/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
  198. package/dist/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
  199. package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  200. package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  201. package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  202. package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  203. package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  204. package/dist/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
  205. package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  206. package/dist/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  207. package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  208. package/dist/flare/deploys/addresses.d.ts +4 -0
  209. package/dist/flare/deploys/addresses.d.ts.map +1 -1
  210. package/dist/flare/deploys/addresses.js +6 -2
  211. package/dist/flare/deploys/addresses.js.map +1 -1
  212. package/dist/flare/deploys/contracts.json +23 -3
  213. package/dist/flare/deploys/mapper.js.map +1 -1
  214. package/dist/songbird/abis.d.ts.map +1 -1
  215. package/dist/songbird/abis.js +20 -14
  216. package/dist/songbird/abis.js.map +1 -1
  217. package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  218. package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  219. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  220. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  221. package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
  222. package/dist/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  223. package/dist/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  224. package/dist/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
  225. package/dist/songbird/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
  226. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
  227. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
  228. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  229. package/dist/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  230. package/dist/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
  231. package/dist/songbird/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
  232. package/dist/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  233. package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  234. package/dist/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  235. package/dist/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  236. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +13 -0
  237. package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  238. package/dist/songbird/deploys/addresses.js +3 -3
  239. package/dist/songbird/deploys/contracts.json +3 -3
  240. package/dist/songbird/deploys/mapper.js.map +1 -1
  241. package/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  242. package/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  243. package/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  244. package/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  245. package/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  246. package/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  247. package/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  248. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  249. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  250. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  251. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
  252. package/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  253. package/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  254. package/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
  255. package/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
  256. package/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
  257. package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
  258. package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
  259. package/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
  260. package/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
  261. package/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
  262. package/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
  263. package/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  264. package/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  265. package/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  266. package/flare/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
  267. package/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
  268. package/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  269. package/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  270. package/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  271. package/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  272. package/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  273. package/flare/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +121 -0
  274. package/flare/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +1 -1
  275. package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
  276. package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
  277. package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
  278. package/flare/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +309 -0
  279. package/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
  280. package/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  281. package/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  282. package/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  283. package/flare/deploys/contracts.json +23 -3
  284. package/package.json +3 -2
  285. package/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  286. package/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  287. package/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  288. package/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  289. package/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
  290. package/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  291. package/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  292. package/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
  293. package/songbird/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
  294. package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
  295. package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
  296. package/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  297. package/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  298. package/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
  299. package/songbird/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
  300. package/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  301. package/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  302. package/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  303. package/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  304. package/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +13 -0
  305. package/songbird/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  306. package/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  307. package/songbird/deploys/contracts.json +3 -3
  308. package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
  309. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  310. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  311. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  312. package/dist/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
  313. package/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
  314. package/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  315. package/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  316. package/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  317. package/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
@@ -762,8 +762,8 @@
762
762
  "type": "function"
763
763
  }
764
764
  ],
765
- "bytecode": "0x60a0604052600060035560006004553480156200001b57600080fd5b50604051620027c2380380620027c2833981810160405260608110156200004157600080fd5b50805160208201516040909201519091908183806001600160a01b038116156200007057620000708162000157565b506001600160a01b038116620000c0576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b50620000cc816200021a565b504281101562000111576040805162461bcd60e51b815260206004820152600b60248201526a125b881d1a19481c185cdd60aa1b604482015290519081900360640190fd5b608081905260028190556040805182815290517f25b231d75570ded9b5768c36b948a84850da001184f2e982023420b448d27a5f9181900360200190a15050506200023e565b600054600160a01b900460ff1615620001b7576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b6080516125646200025e60003980611750528061197152506125646000f3fe60806040526004361061021a5760003560e01c80639db2ab7811610123578063d2a4ac61116100ab578063f5a983831161006f578063f5a9838314610a55578063f83d08ba14610a6a578063fc0c2ade14610a72578063fc70ccee14610a87578063fc7e104714610a9c5761021a565b8063d2a4ac611461090c578063dc0ec13e146109ba578063dfd14c34146109e4578063e17f212e14610a17578063f45cb5a414610a405761021a565b8063a8c7a08a116100f2578063a8c7a08a1461070d578063aaf96f8214610759578063b00c0b7614610794578063b1f8100d146108c4578063ba787743146108f75761021a565b80639db2ab781461067d5780639edbf00714610692578063a262f5f8146106a7578063a622e4b5146106da5761021a565b80635aa6e675116101a657806374e6310e1161017557806374e6310e1461048c57806381236d321461053f5780639119c4941461056957806396dbafc4146106175780639d6a890f1461064a5761021a565b80635aa6e675146103fa5780635ff270791461040f57806362354e031461044357806367fc4029146104585761021a565b80633f317fe1116101ed5780633f317fe1146102cb5780633f9c10101461034e5780634e71d92d1461039d5780635258ab26146103b25780635267a15d146103e55761021a565b8063032f14b51461021f5780632dafdbbf146102465780632fa552ad146102795780633a23d8a91461028e575b600080fd5b34801561022b57600080fd5b50610234610ab1565b60408051918252519081900360200190f35b34801561025257600080fd5b5061025b610ab7565b60408051938452602084019290925282820152519081900360600190f35b34801561028557600080fd5b50610234610ac5565b34801561029a57600080fd5b506102c9600480360360408110156102b157600080fd5b506001600160a01b0381358116916020013516610acb565b005b3480156102d757600080fd5b506102fe600480360360208110156102ee57600080fd5b50356001600160a01b0316610ae9565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561033a578181015183820152602001610322565b505050509050019250505060405180910390f35b34801561035a57600080fd5b506103816004803603602081101561037157600080fd5b50356001600160a01b0316610b5f565b604080516001600160a01b039092168252519081900360200190f35b3480156103a957600080fd5b506102c9610b7a565b3480156103be57600080fd5b50610234600480360360208110156103d557600080fd5b50356001600160a01b0316610b88565b3480156103f157600080fd5b50610381610bfa565b34801561040657600080fd5b50610381610c1f565b34801561041b57600080fd5b506102c96004803603602081101561043257600080fd5b50356001600160e01b031916610cb4565b34801561044f57600080fd5b50610381611003565b34801561046457600080fd5b506102c96004803603602081101561047b57600080fd5b50356001600160e01b03191661100e565b34801561049857600080fd5b506104c0600480360360208110156104af57600080fd5b50356001600160e01b0319166110f6565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105035781810151838201526020016104eb565b50505050905090810190601f1680156105305780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561054b57600080fd5b506102346004803603602081101561056257600080fd5b503561119c565b34801561057557600080fd5b506102c96004803603602081101561058c57600080fd5b810190602081018135600160201b8111156105a657600080fd5b8201836020820111156105b857600080fd5b803590602001918460208302840111600160201b831117156105d957600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061123a945050505050565b34801561062357600080fd5b506102c96004803603602081101561063a57600080fd5b50356001600160a01b03166112dc565b34801561065657600080fd5b506102c96004803603602081101561066d57600080fd5b50356001600160a01b0316611442565b34801561068957600080fd5b506102c96114fb565b34801561069e57600080fd5b50610381611507565b3480156106b357600080fd5b506102c9600480360360208110156106ca57600080fd5b50356001600160a01b0316611516565b3480156106e657600080fd5b506102c9600480360360208110156106fd57600080fd5b50356001600160a01b0316611525565b34801561071957600080fd5b506107406004803603602081101561073057600080fd5b50356001600160a01b0316611531565b6040805192835260208301919091528051918290030190f35b34801561076557600080fd5b506102c96004803603604081101561077c57600080fd5b506001600160a01b038135811691602001351661154a565b3480156107a057600080fd5b506102c9600480360360408110156107b757600080fd5b810190602081018135600160201b8111156107d157600080fd5b8201836020820111156107e357600080fd5b803590602001918460208302840111600160201b8311171561080457600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561085357600080fd5b82018360208201111561086557600080fd5b803590602001918460208302840111600160201b8311171561088657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611562945050505050565b3480156108d057600080fd5b506102c9600480360360208110156108e757600080fd5b50356001600160a01b031661160d565b34801561090357600080fd5b5061023461163c565b34801561091857600080fd5b506102c96004803603602081101561092f57600080fd5b810190602081018135600160201b81111561094957600080fd5b82018360208201111561095b57600080fd5b803590602001918460208302840111600160201b8311171561097c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611642945050505050565b3480156109c657600080fd5b506102c9600480360360208110156109dd57600080fd5b50356116cc565b3480156109f057600080fd5b506102fe60048036036020811015610a0757600080fd5b50356001600160a01b03166117d1565b348015610a2357600080fd5b50610a2c611845565b604080519115158252519081900360200190f35b348015610a4c57600080fd5b50610234611855565b348015610a6157600080fd5b506102c961185b565b6102c9611915565b348015610a7e57600080fd5b5061023461196f565b348015610a9357600080fd5b50610234611993565b348015610aa857600080fd5b50610234611999565b60025481565b600354600454909160009190565b6105dc81565b8181610ad7828261199f565b610ae384846000611a9e565b50505050565b6001600160a01b038116600090815260076020908152604091829020805483518184028101840190945280845260609392830182828015610b5357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b35575b50505050509050919050565b6006602052600090815260409020546001600160a01b031681565b610b8633336000611a9e565b565b6001600160a01b0381166000908152600560209081526040808320815180830190925280548252600101549181019190915281610bc44261119c565b8251909150600090610bd99083612134611b8e565b9050610be9818460000151611c8e565b602090930151909203949350505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16610c42576000546001600160a01b0316610caf565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8257600080fd5b505afa158015610c96573d6000803e3d6000fd5b505050506040513d6020811015610cac57600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b158015610cf857600080fd5b505afa158015610d0c573d6000803e3d6000fd5b505050506040513d6020811015610d2257600080fd5b5051610d65576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610dd1576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610e27576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec15780601f10610e9657610100808354040283529160200191610ec1565b820191906000526020600020905b815481529060010190602001808311610ea457829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250610ef59150830182612428565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310610f3d5780518252601f199092019160209182019101610f1e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f9f576040519150601f19603f3d011682016040523d82523d6000602084013e610fa4565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610ae381611ca8565b60076001609c1b0181565b611016611cc5565b6001600160e01b03198116600090815260016020526040902054611081576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b031981166000908152600160208190526040822082815591906110f190830182612428565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156111925780601f1061116757610100808354040283529160200191611192565b820191906000526020600020905b81548152906001019060200180831161117557829003601f168201915b5050505050905082565b60008160025411156111ec576040805162461bcd60e51b815260206004820152601460248201527310db185a5b5a5b99c81b9bdd081cdd185c9d195960621b604482015290519081900360640190fd5b60006112106201518061120a60025486611d2490919063ffffffff16565b90611d81565b905061123361122b60ed61122584601e611d81565b90611de8565b612134611c8e565b9392505050565b3360009081526007602052604090206112539082611e41565b7fa802dcd9d0db82c5fc0b043e16d9ab77391cff1b84415bce9e95c4a8d6fe7146338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156112c55781810151838201526020016112ad565b50505050905001935050505060405180910390a150565b6001600160a01b038181166000908152600660205260409020543391161580159061132357506001600160a01b038281166000908152600660205260409020548116908216145b611366576040805162461bcd60e51b815260206004820152600f60248201526e2bb937b7339037b6321037bbb732b960891b604482015290519081900360640190fd5b6001600160a01b038116600090815260056020526040902054156113c2576040805162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481b1bd8dad95960921b604482015290519081900360640190fd5b6001600160a01b03808316600081815260056020908152604080832080549587168085528285209687556001808301805491909801558585529084905594839055600690915280822080546001600160a01b0319169055517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9190a35050565b600054600160a01b900460ff1615611498576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b610b8633336001611a9e565b6009546001600160a01b031681565b61152233826000611a9e565b50565b61152233826001611a9e565b6005602052600090815260409020805460019091015482565b8181611556828261199f565b610ae384846001611a9e565b61156a610bfa565b6001600160a01b0316336001600160a01b0316146115c6576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b6115ff6115fa83836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250611e54565b611f81565b6116098282611fa5565b5050565b33600090815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b61213481565b33600090815260086020526040902061165b9082611e41565b7ff650948f1320658fded6be6217b1fe9963894116bc6b3dbc9b1c2cc8cf2cb11f338260405180836001600160a01b031681526020018060200182810382528381815181526020019150805190602001906020028083836000838110156112c55781810151838201526020016112ad565b600054600160b01b900460ff16806116ee5750600054600160a81b900460ff16155b156117c6576116fb611ff0565b4260025411611743576040805162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481cdd185c9d1959608a1b604482015290519081900360640190fd5b42811015801561177357507f00000000000000000000000000000000000000000000000000000000000000008111155b6117bc576040805162461bcd60e51b8152602060048201526015602482015274057726f6e672073746172742074696d657374616d7605c1b604482015290519081900360640190fd5b6002819055611522565b611522600036612025565b6001600160a01b038116600090815260086020908152604091829020805483518184028101840190945280845260609392830182828015610b53576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610b355750505050509050919050565b600054600160a81b900460ff1681565b60035481565b611863611cc5565b600054600160a81b900460ff16156118c2576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b6003805434908101909155336000818152600560209081526040918290208054850190558151938452905191927ff7c3865a2047e2fc614fff3af48eef519dfd5243847cbefd615b3a150a9db5b0929081900390910190a2565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60045481565b6001600160a01b0382166000908152600760209081526040808320338452600101909152902054611a0d576040805162461bcd60e51b8152602060048201526013602482015272436c61696d206578656375746f72206f6e6c7960681b604482015290519081900360640190fd5b816001600160a01b0316816001600160a01b03161480611a5557506001600160a01b038083166000908152600860209081526040808320938516835260019093019052205415155b611609576040805162461bcd60e51b8152602060048201526015602482015274149958da5c1a595b9d081b9bdd08185b1b1bddd959605a1b604482015290519081900360640190fd5b6000611aa984610b88565b905060008111611af5576040805162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015290519081900360640190fd5b6001600160a01b038416600090815260056020526040902060010180548201905560048054820190558115611b3357611b2e83826121a8565b611b3d565b611b3d8382612216565b826001600160a01b0316846001600160a01b03167f01bfef2bf622406285ca1a4057a39432c0ba15e2069c29ae6098c22affdeaf45836040518082815260200191505060405180910390a350505050565b6000808211611bd7576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83611be457506000611233565b83830283858281611bf157fe5b041415611c0a57828181611c0157fe5b04915050611233565b6000838681611c1557fe5b0490506000848781611c2357fe5b0690506000858781611c3157fe5b0490506000868881611c3f57fe5b069050611c81611c538861120a8685611de8565b611c7b611c608686611de8565b611c7b611c6d8987611de8565b611c7b8d6112258c8b611de8565b906122bc565b9998505050505050505050565b6000818310611c9d5781611c9f565b825b90505b92915050565b3d604051818101604052816000823e8215611cc1578181f35b8181fd5b611ccd610c1f565b6001600160a01b0316336001600160a01b031614610b86576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600082821115611d7b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211611dd7576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611de057fe5b049392505050565b600082611df757506000611ca2565b82820282848281611e0457fe5b0414611c9f5760405162461bcd60e51b815260040180806020018281038252602181526020018061250e6021913960400191505060405180910390fd5b611e4a82612316565b611609828261238e565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611e98578181015183820152602001611e80565b50505050905090810190601f168015611ec55780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015611f2d57868181518110611efb57fe5b6020026020010151831415611f2557858181518110611f1657fe5b60200260200101519150611f2d565b600101611ee6565b506001600160a01b038116611f78576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b611fcc82826040518060400160405280600481526020016315d3985d60e21b815250611e54565b600980546001600160a01b0319166001600160a01b03929092169190911790555050565b600054600160b01b900460ff161561201d5733301461200b57fe5b6000805460ff60b01b19169055610b86565b610b86611cc5565b61202d611cc5565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561207557600080fd5b505afa158015612089573d6000803e3d6000fd5b505050506040513d602081101561209f57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b031986168152600160208181526040909220845181558483015180519194506121239392850192019061246c565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b6009546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b1580156121f957600080fd5b505af115801561220d573d6000803e3d6000fd5b50505050505050565b6040516000906001600160a01b0384169083908381818185875af1925050503d8060008114612261576040519150601f19603f3d011682016040523d82523d6000602084013e612266565b606091505b50509050806110f1576040805162461bcd60e51b815260206004820181905260248201527f4661696c656420746f2063616c6c20636c61696d696e6720636f6e7472616374604482015290519081900360640190fd5b600082820183811015611c9f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b80541561152257805460018201906000908390600019810190811061233757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001812055805481908061236757fe5b600082815260209020810160001990810180546001600160a01b0319169055019055612316565b60005b81518110156110f1576123b7838383815181106123aa57fe5b60200260200101516123bf565b600101612391565b6001600160a01b0381166000908152600183016020526040902054156123e457611609565b8154600180820184556000848152602080822090930180546001600160a01b0319166001600160a01b03959095169485179055845493815293019052604090912055565b50805460018160011615610100020316600290046000825580601f1061244e5750611522565b601f01602090049060005260206000209081019061152291906124f8565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826124a257600085556124e8565b82601f106124bb57805160ff19168380011785556124e8565b828001600101855582156124e8579182015b828111156124e85782518255916020019190600101906124cd565b506124f49291506124f8565b5090565b5b808211156124f457600081556001016124f956fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212208e0cd22eaca9cdc87968894a412745f5a161c59155aa08db84fe2901d428686e64736f6c63430007060033",
766
- "deployedBytecode": "0x60806040526004361061021a5760003560e01c80639db2ab7811610123578063d2a4ac61116100ab578063f5a983831161006f578063f5a9838314610a55578063f83d08ba14610a6a578063fc0c2ade14610a72578063fc70ccee14610a87578063fc7e104714610a9c5761021a565b8063d2a4ac611461090c578063dc0ec13e146109ba578063dfd14c34146109e4578063e17f212e14610a17578063f45cb5a414610a405761021a565b8063a8c7a08a116100f2578063a8c7a08a1461070d578063aaf96f8214610759578063b00c0b7614610794578063b1f8100d146108c4578063ba787743146108f75761021a565b80639db2ab781461067d5780639edbf00714610692578063a262f5f8146106a7578063a622e4b5146106da5761021a565b80635aa6e675116101a657806374e6310e1161017557806374e6310e1461048c57806381236d321461053f5780639119c4941461056957806396dbafc4146106175780639d6a890f1461064a5761021a565b80635aa6e675146103fa5780635ff270791461040f57806362354e031461044357806367fc4029146104585761021a565b80633f317fe1116101ed5780633f317fe1146102cb5780633f9c10101461034e5780634e71d92d1461039d5780635258ab26146103b25780635267a15d146103e55761021a565b8063032f14b51461021f5780632dafdbbf146102465780632fa552ad146102795780633a23d8a91461028e575b600080fd5b34801561022b57600080fd5b50610234610ab1565b60408051918252519081900360200190f35b34801561025257600080fd5b5061025b610ab7565b60408051938452602084019290925282820152519081900360600190f35b34801561028557600080fd5b50610234610ac5565b34801561029a57600080fd5b506102c9600480360360408110156102b157600080fd5b506001600160a01b0381358116916020013516610acb565b005b3480156102d757600080fd5b506102fe600480360360208110156102ee57600080fd5b50356001600160a01b0316610ae9565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561033a578181015183820152602001610322565b505050509050019250505060405180910390f35b34801561035a57600080fd5b506103816004803603602081101561037157600080fd5b50356001600160a01b0316610b5f565b604080516001600160a01b039092168252519081900360200190f35b3480156103a957600080fd5b506102c9610b7a565b3480156103be57600080fd5b50610234600480360360208110156103d557600080fd5b50356001600160a01b0316610b88565b3480156103f157600080fd5b50610381610bfa565b34801561040657600080fd5b50610381610c1f565b34801561041b57600080fd5b506102c96004803603602081101561043257600080fd5b50356001600160e01b031916610cb4565b34801561044f57600080fd5b50610381611003565b34801561046457600080fd5b506102c96004803603602081101561047b57600080fd5b50356001600160e01b03191661100e565b34801561049857600080fd5b506104c0600480360360208110156104af57600080fd5b50356001600160e01b0319166110f6565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105035781810151838201526020016104eb565b50505050905090810190601f1680156105305780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561054b57600080fd5b506102346004803603602081101561056257600080fd5b503561119c565b34801561057557600080fd5b506102c96004803603602081101561058c57600080fd5b810190602081018135600160201b8111156105a657600080fd5b8201836020820111156105b857600080fd5b803590602001918460208302840111600160201b831117156105d957600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061123a945050505050565b34801561062357600080fd5b506102c96004803603602081101561063a57600080fd5b50356001600160a01b03166112dc565b34801561065657600080fd5b506102c96004803603602081101561066d57600080fd5b50356001600160a01b0316611442565b34801561068957600080fd5b506102c96114fb565b34801561069e57600080fd5b50610381611507565b3480156106b357600080fd5b506102c9600480360360208110156106ca57600080fd5b50356001600160a01b0316611516565b3480156106e657600080fd5b506102c9600480360360208110156106fd57600080fd5b50356001600160a01b0316611525565b34801561071957600080fd5b506107406004803603602081101561073057600080fd5b50356001600160a01b0316611531565b6040805192835260208301919091528051918290030190f35b34801561076557600080fd5b506102c96004803603604081101561077c57600080fd5b506001600160a01b038135811691602001351661154a565b3480156107a057600080fd5b506102c9600480360360408110156107b757600080fd5b810190602081018135600160201b8111156107d157600080fd5b8201836020820111156107e357600080fd5b803590602001918460208302840111600160201b8311171561080457600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561085357600080fd5b82018360208201111561086557600080fd5b803590602001918460208302840111600160201b8311171561088657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611562945050505050565b3480156108d057600080fd5b506102c9600480360360208110156108e757600080fd5b50356001600160a01b031661160d565b34801561090357600080fd5b5061023461163c565b34801561091857600080fd5b506102c96004803603602081101561092f57600080fd5b810190602081018135600160201b81111561094957600080fd5b82018360208201111561095b57600080fd5b803590602001918460208302840111600160201b8311171561097c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611642945050505050565b3480156109c657600080fd5b506102c9600480360360208110156109dd57600080fd5b50356116cc565b3480156109f057600080fd5b506102fe60048036036020811015610a0757600080fd5b50356001600160a01b03166117d1565b348015610a2357600080fd5b50610a2c611845565b604080519115158252519081900360200190f35b348015610a4c57600080fd5b50610234611855565b348015610a6157600080fd5b506102c961185b565b6102c9611915565b348015610a7e57600080fd5b5061023461196f565b348015610a9357600080fd5b50610234611993565b348015610aa857600080fd5b50610234611999565b60025481565b600354600454909160009190565b6105dc81565b8181610ad7828261199f565b610ae384846000611a9e565b50505050565b6001600160a01b038116600090815260076020908152604091829020805483518184028101840190945280845260609392830182828015610b5357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b35575b50505050509050919050565b6006602052600090815260409020546001600160a01b031681565b610b8633336000611a9e565b565b6001600160a01b0381166000908152600560209081526040808320815180830190925280548252600101549181019190915281610bc44261119c565b8251909150600090610bd99083612134611b8e565b9050610be9818460000151611c8e565b602090930151909203949350505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16610c42576000546001600160a01b0316610caf565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8257600080fd5b505afa158015610c96573d6000803e3d6000fd5b505050506040513d6020811015610cac57600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b158015610cf857600080fd5b505afa158015610d0c573d6000803e3d6000fd5b505050506040513d6020811015610d2257600080fd5b5051610d65576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610dd1576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610e27576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec15780601f10610e9657610100808354040283529160200191610ec1565b820191906000526020600020905b815481529060010190602001808311610ea457829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250610ef59150830182612428565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310610f3d5780518252601f199092019160209182019101610f1e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f9f576040519150601f19603f3d011682016040523d82523d6000602084013e610fa4565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610ae381611ca8565b60076001609c1b0181565b611016611cc5565b6001600160e01b03198116600090815260016020526040902054611081576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b031981166000908152600160208190526040822082815591906110f190830182612428565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156111925780601f1061116757610100808354040283529160200191611192565b820191906000526020600020905b81548152906001019060200180831161117557829003601f168201915b5050505050905082565b60008160025411156111ec576040805162461bcd60e51b815260206004820152601460248201527310db185a5b5a5b99c81b9bdd081cdd185c9d195960621b604482015290519081900360640190fd5b60006112106201518061120a60025486611d2490919063ffffffff16565b90611d81565b905061123361122b60ed61122584601e611d81565b90611de8565b612134611c8e565b9392505050565b3360009081526007602052604090206112539082611e41565b7fa802dcd9d0db82c5fc0b043e16d9ab77391cff1b84415bce9e95c4a8d6fe7146338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156112c55781810151838201526020016112ad565b50505050905001935050505060405180910390a150565b6001600160a01b038181166000908152600660205260409020543391161580159061132357506001600160a01b038281166000908152600660205260409020548116908216145b611366576040805162461bcd60e51b815260206004820152600f60248201526e2bb937b7339037b6321037bbb732b960891b604482015290519081900360640190fd5b6001600160a01b038116600090815260056020526040902054156113c2576040805162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481b1bd8dad95960921b604482015290519081900360640190fd5b6001600160a01b03808316600081815260056020908152604080832080549587168085528285209687556001808301805491909801558585529084905594839055600690915280822080546001600160a01b0319169055517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9190a35050565b600054600160a01b900460ff1615611498576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b610b8633336001611a9e565b6009546001600160a01b031681565b61152233826000611a9e565b50565b61152233826001611a9e565b6005602052600090815260409020805460019091015482565b8181611556828261199f565b610ae384846001611a9e565b61156a610bfa565b6001600160a01b0316336001600160a01b0316146115c6576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b6115ff6115fa83836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250611e54565b611f81565b6116098282611fa5565b5050565b33600090815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b61213481565b33600090815260086020526040902061165b9082611e41565b7ff650948f1320658fded6be6217b1fe9963894116bc6b3dbc9b1c2cc8cf2cb11f338260405180836001600160a01b031681526020018060200182810382528381815181526020019150805190602001906020028083836000838110156112c55781810151838201526020016112ad565b600054600160b01b900460ff16806116ee5750600054600160a81b900460ff16155b156117c6576116fb611ff0565b4260025411611743576040805162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481cdd185c9d1959608a1b604482015290519081900360640190fd5b42811015801561177357507f00000000000000000000000000000000000000000000000000000000000000008111155b6117bc576040805162461bcd60e51b8152602060048201526015602482015274057726f6e672073746172742074696d657374616d7605c1b604482015290519081900360640190fd5b6002819055611522565b611522600036612025565b6001600160a01b038116600090815260086020908152604091829020805483518184028101840190945280845260609392830182828015610b53576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610b355750505050509050919050565b600054600160a81b900460ff1681565b60035481565b611863611cc5565b600054600160a81b900460ff16156118c2576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b6003805434908101909155336000818152600560209081526040918290208054850190558151938452905191927ff7c3865a2047e2fc614fff3af48eef519dfd5243847cbefd615b3a150a9db5b0929081900390910190a2565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60045481565b6001600160a01b0382166000908152600760209081526040808320338452600101909152902054611a0d576040805162461bcd60e51b8152602060048201526013602482015272436c61696d206578656375746f72206f6e6c7960681b604482015290519081900360640190fd5b816001600160a01b0316816001600160a01b03161480611a5557506001600160a01b038083166000908152600860209081526040808320938516835260019093019052205415155b611609576040805162461bcd60e51b8152602060048201526015602482015274149958da5c1a595b9d081b9bdd08185b1b1bddd959605a1b604482015290519081900360640190fd5b6000611aa984610b88565b905060008111611af5576040805162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015290519081900360640190fd5b6001600160a01b038416600090815260056020526040902060010180548201905560048054820190558115611b3357611b2e83826121a8565b611b3d565b611b3d8382612216565b826001600160a01b0316846001600160a01b03167f01bfef2bf622406285ca1a4057a39432c0ba15e2069c29ae6098c22affdeaf45836040518082815260200191505060405180910390a350505050565b6000808211611bd7576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83611be457506000611233565b83830283858281611bf157fe5b041415611c0a57828181611c0157fe5b04915050611233565b6000838681611c1557fe5b0490506000848781611c2357fe5b0690506000858781611c3157fe5b0490506000868881611c3f57fe5b069050611c81611c538861120a8685611de8565b611c7b611c608686611de8565b611c7b611c6d8987611de8565b611c7b8d6112258c8b611de8565b906122bc565b9998505050505050505050565b6000818310611c9d5781611c9f565b825b90505b92915050565b3d604051818101604052816000823e8215611cc1578181f35b8181fd5b611ccd610c1f565b6001600160a01b0316336001600160a01b031614610b86576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600082821115611d7b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211611dd7576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611de057fe5b049392505050565b600082611df757506000611ca2565b82820282848281611e0457fe5b0414611c9f5760405162461bcd60e51b815260040180806020018281038252602181526020018061250e6021913960400191505060405180910390fd5b611e4a82612316565b611609828261238e565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611e98578181015183820152602001611e80565b50505050905090810190601f168015611ec55780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015611f2d57868181518110611efb57fe5b6020026020010151831415611f2557858181518110611f1657fe5b60200260200101519150611f2d565b600101611ee6565b506001600160a01b038116611f78576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b611fcc82826040518060400160405280600481526020016315d3985d60e21b815250611e54565b600980546001600160a01b0319166001600160a01b03929092169190911790555050565b600054600160b01b900460ff161561201d5733301461200b57fe5b6000805460ff60b01b19169055610b86565b610b86611cc5565b61202d611cc5565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561207557600080fd5b505afa158015612089573d6000803e3d6000fd5b505050506040513d602081101561209f57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b031986168152600160208181526040909220845181558483015180519194506121239392850192019061246c565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b6009546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b1580156121f957600080fd5b505af115801561220d573d6000803e3d6000fd5b50505050505050565b6040516000906001600160a01b0384169083908381818185875af1925050503d8060008114612261576040519150601f19603f3d011682016040523d82523d6000602084013e612266565b606091505b50509050806110f1576040805162461bcd60e51b815260206004820181905260248201527f4661696c656420746f2063616c6c20636c61696d696e6720636f6e7472616374604482015290519081900360640190fd5b600082820183811015611c9f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b80541561152257805460018201906000908390600019810190811061233757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001812055805481908061236757fe5b600082815260209020810160001990810180546001600160a01b0319169055019055612316565b60005b81518110156110f1576123b7838383815181106123aa57fe5b60200260200101516123bf565b600101612391565b6001600160a01b0381166000908152600183016020526040902054156123e457611609565b8154600180820184556000848152602080822090930180546001600160a01b0319166001600160a01b03959095169485179055845493815293019052604090912055565b50805460018160011615610100020316600290046000825580601f1061244e5750611522565b601f01602090049060005260206000209081019061152291906124f8565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826124a257600085556124e8565b82601f106124bb57805160ff19168380011785556124e8565b828001600101855582156124e8579182015b828111156124e85782518255916020019190600101906124cd565b506124f49291506124f8565b5090565b5b808211156124f457600081556001016124f956fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212208e0cd22eaca9cdc87968894a412745f5a161c59155aa08db84fe2901d428686e64736f6c63430007060033",
765
+ "bytecode": "0x60a0604052600060035560006004553480156200001b57600080fd5b50604051620027c2380380620027c2833981810160405260608110156200004157600080fd5b50805160208201516040909201519091908183806001600160a01b038116156200007057620000708162000157565b506001600160a01b038116620000c0576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b50620000cc816200021a565b504281101562000111576040805162461bcd60e51b815260206004820152600b60248201526a125b881d1a19481c185cdd60aa1b604482015290519081900360640190fd5b608081905260028190556040805182815290517f25b231d75570ded9b5768c36b948a84850da001184f2e982023420b448d27a5f9181900360200190a15050506200023e565b600054600160a01b900460ff1615620001b7576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b6080516125646200025e60003980611750528061197152506125646000f3fe60806040526004361061021a5760003560e01c80639db2ab7811610123578063d2a4ac61116100ab578063f5a983831161006f578063f5a9838314610a55578063f83d08ba14610a6a578063fc0c2ade14610a72578063fc70ccee14610a87578063fc7e104714610a9c5761021a565b8063d2a4ac611461090c578063dc0ec13e146109ba578063dfd14c34146109e4578063e17f212e14610a17578063f45cb5a414610a405761021a565b8063a8c7a08a116100f2578063a8c7a08a1461070d578063aaf96f8214610759578063b00c0b7614610794578063b1f8100d146108c4578063ba787743146108f75761021a565b80639db2ab781461067d5780639edbf00714610692578063a262f5f8146106a7578063a622e4b5146106da5761021a565b80635aa6e675116101a657806374e6310e1161017557806374e6310e1461048c57806381236d321461053f5780639119c4941461056957806396dbafc4146106175780639d6a890f1461064a5761021a565b80635aa6e675146103fa5780635ff270791461040f57806362354e031461044357806367fc4029146104585761021a565b80633f317fe1116101ed5780633f317fe1146102cb5780633f9c10101461034e5780634e71d92d1461039d5780635258ab26146103b25780635267a15d146103e55761021a565b8063032f14b51461021f5780632dafdbbf146102465780632fa552ad146102795780633a23d8a91461028e575b600080fd5b34801561022b57600080fd5b50610234610ab1565b60408051918252519081900360200190f35b34801561025257600080fd5b5061025b610ab7565b60408051938452602084019290925282820152519081900360600190f35b34801561028557600080fd5b50610234610ac5565b34801561029a57600080fd5b506102c9600480360360408110156102b157600080fd5b506001600160a01b0381358116916020013516610acb565b005b3480156102d757600080fd5b506102fe600480360360208110156102ee57600080fd5b50356001600160a01b0316610ae9565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561033a578181015183820152602001610322565b505050509050019250505060405180910390f35b34801561035a57600080fd5b506103816004803603602081101561037157600080fd5b50356001600160a01b0316610b5f565b604080516001600160a01b039092168252519081900360200190f35b3480156103a957600080fd5b506102c9610b7a565b3480156103be57600080fd5b50610234600480360360208110156103d557600080fd5b50356001600160a01b0316610b88565b3480156103f157600080fd5b50610381610bfa565b34801561040657600080fd5b50610381610c1f565b34801561041b57600080fd5b506102c96004803603602081101561043257600080fd5b50356001600160e01b031916610cb4565b34801561044f57600080fd5b50610381611003565b34801561046457600080fd5b506102c96004803603602081101561047b57600080fd5b50356001600160e01b03191661100e565b34801561049857600080fd5b506104c0600480360360208110156104af57600080fd5b50356001600160e01b0319166110f6565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105035781810151838201526020016104eb565b50505050905090810190601f1680156105305780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561054b57600080fd5b506102346004803603602081101561056257600080fd5b503561119c565b34801561057557600080fd5b506102c96004803603602081101561058c57600080fd5b810190602081018135600160201b8111156105a657600080fd5b8201836020820111156105b857600080fd5b803590602001918460208302840111600160201b831117156105d957600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061123a945050505050565b34801561062357600080fd5b506102c96004803603602081101561063a57600080fd5b50356001600160a01b03166112dc565b34801561065657600080fd5b506102c96004803603602081101561066d57600080fd5b50356001600160a01b0316611442565b34801561068957600080fd5b506102c96114fb565b34801561069e57600080fd5b50610381611507565b3480156106b357600080fd5b506102c9600480360360208110156106ca57600080fd5b50356001600160a01b0316611516565b3480156106e657600080fd5b506102c9600480360360208110156106fd57600080fd5b50356001600160a01b0316611525565b34801561071957600080fd5b506107406004803603602081101561073057600080fd5b50356001600160a01b0316611531565b6040805192835260208301919091528051918290030190f35b34801561076557600080fd5b506102c96004803603604081101561077c57600080fd5b506001600160a01b038135811691602001351661154a565b3480156107a057600080fd5b506102c9600480360360408110156107b757600080fd5b810190602081018135600160201b8111156107d157600080fd5b8201836020820111156107e357600080fd5b803590602001918460208302840111600160201b8311171561080457600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561085357600080fd5b82018360208201111561086557600080fd5b803590602001918460208302840111600160201b8311171561088657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611562945050505050565b3480156108d057600080fd5b506102c9600480360360208110156108e757600080fd5b50356001600160a01b031661160d565b34801561090357600080fd5b5061023461163c565b34801561091857600080fd5b506102c96004803603602081101561092f57600080fd5b810190602081018135600160201b81111561094957600080fd5b82018360208201111561095b57600080fd5b803590602001918460208302840111600160201b8311171561097c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611642945050505050565b3480156109c657600080fd5b506102c9600480360360208110156109dd57600080fd5b50356116cc565b3480156109f057600080fd5b506102fe60048036036020811015610a0757600080fd5b50356001600160a01b03166117d1565b348015610a2357600080fd5b50610a2c611845565b604080519115158252519081900360200190f35b348015610a4c57600080fd5b50610234611855565b348015610a6157600080fd5b506102c961185b565b6102c9611915565b348015610a7e57600080fd5b5061023461196f565b348015610a9357600080fd5b50610234611993565b348015610aa857600080fd5b50610234611999565b60025481565b600354600454909160009190565b6105dc81565b8181610ad7828261199f565b610ae384846000611a9e565b50505050565b6001600160a01b038116600090815260076020908152604091829020805483518184028101840190945280845260609392830182828015610b5357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b35575b50505050509050919050565b6006602052600090815260409020546001600160a01b031681565b610b8633336000611a9e565b565b6001600160a01b0381166000908152600560209081526040808320815180830190925280548252600101549181019190915281610bc44261119c565b8251909150600090610bd99083612134611b8e565b9050610be9818460000151611c8e565b602090930151909203949350505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16610c42576000546001600160a01b0316610caf565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8257600080fd5b505afa158015610c96573d6000803e3d6000fd5b505050506040513d6020811015610cac57600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b158015610cf857600080fd5b505afa158015610d0c573d6000803e3d6000fd5b505050506040513d6020811015610d2257600080fd5b5051610d65576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610dd1576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610e27576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec15780601f10610e9657610100808354040283529160200191610ec1565b820191906000526020600020905b815481529060010190602001808311610ea457829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250610ef59150830182612428565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310610f3d5780518252601f199092019160209182019101610f1e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f9f576040519150601f19603f3d011682016040523d82523d6000602084013e610fa4565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610ae381611ca8565b60076001609c1b0181565b611016611cc5565b6001600160e01b03198116600090815260016020526040902054611081576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b031981166000908152600160208190526040822082815591906110f190830182612428565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156111925780601f1061116757610100808354040283529160200191611192565b820191906000526020600020905b81548152906001019060200180831161117557829003601f168201915b5050505050905082565b60008160025411156111ec576040805162461bcd60e51b815260206004820152601460248201527310db185a5b5a5b99c81b9bdd081cdd185c9d195960621b604482015290519081900360640190fd5b60006112106201518061120a60025486611d2490919063ffffffff16565b90611d81565b905061123361122b60ed61122584601e611d81565b90611de8565b612134611c8e565b9392505050565b3360009081526007602052604090206112539082611e41565b7fa802dcd9d0db82c5fc0b043e16d9ab77391cff1b84415bce9e95c4a8d6fe7146338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156112c55781810151838201526020016112ad565b50505050905001935050505060405180910390a150565b6001600160a01b038181166000908152600660205260409020543391161580159061132357506001600160a01b038281166000908152600660205260409020548116908216145b611366576040805162461bcd60e51b815260206004820152600f60248201526e2bb937b7339037b6321037bbb732b960891b604482015290519081900360640190fd5b6001600160a01b038116600090815260056020526040902054156113c2576040805162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481b1bd8dad95960921b604482015290519081900360640190fd5b6001600160a01b03808316600081815260056020908152604080832080549587168085528285209687556001808301805491909801558585529084905594839055600690915280822080546001600160a01b0319169055517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9190a35050565b600054600160a01b900460ff1615611498576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b610b8633336001611a9e565b6009546001600160a01b031681565b61152233826000611a9e565b50565b61152233826001611a9e565b6005602052600090815260409020805460019091015482565b8181611556828261199f565b610ae384846001611a9e565b61156a610bfa565b6001600160a01b0316336001600160a01b0316146115c6576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b6115ff6115fa83836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250611e54565b611f81565b6116098282611fa5565b5050565b33600090815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b61213481565b33600090815260086020526040902061165b9082611e41565b7ff650948f1320658fded6be6217b1fe9963894116bc6b3dbc9b1c2cc8cf2cb11f338260405180836001600160a01b031681526020018060200182810382528381815181526020019150805190602001906020028083836000838110156112c55781810151838201526020016112ad565b600054600160b01b900460ff16806116ee5750600054600160a81b900460ff16155b156117c6576116fb611ff0565b4260025411611743576040805162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481cdd185c9d1959608a1b604482015290519081900360640190fd5b42811015801561177357507f00000000000000000000000000000000000000000000000000000000000000008111155b6117bc576040805162461bcd60e51b8152602060048201526015602482015274057726f6e672073746172742074696d657374616d7605c1b604482015290519081900360640190fd5b6002819055611522565b611522600036612025565b6001600160a01b038116600090815260086020908152604091829020805483518184028101840190945280845260609392830182828015610b53576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610b355750505050509050919050565b600054600160a81b900460ff1681565b60035481565b611863611cc5565b600054600160a81b900460ff16156118c2576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b6003805434908101909155336000818152600560209081526040918290208054850190558151938452905191927ff7c3865a2047e2fc614fff3af48eef519dfd5243847cbefd615b3a150a9db5b0929081900390910190a2565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60045481565b6001600160a01b0382166000908152600760209081526040808320338452600101909152902054611a0d576040805162461bcd60e51b8152602060048201526013602482015272436c61696d206578656375746f72206f6e6c7960681b604482015290519081900360640190fd5b816001600160a01b0316816001600160a01b03161480611a5557506001600160a01b038083166000908152600860209081526040808320938516835260019093019052205415155b611609576040805162461bcd60e51b8152602060048201526015602482015274149958da5c1a595b9d081b9bdd08185b1b1bddd959605a1b604482015290519081900360640190fd5b6000611aa984610b88565b905060008111611af5576040805162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015290519081900360640190fd5b6001600160a01b038416600090815260056020526040902060010180548201905560048054820190558115611b3357611b2e83826121a8565b611b3d565b611b3d8382612216565b826001600160a01b0316846001600160a01b03167f01bfef2bf622406285ca1a4057a39432c0ba15e2069c29ae6098c22affdeaf45836040518082815260200191505060405180910390a350505050565b6000808211611bd7576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83611be457506000611233565b83830283858281611bf157fe5b041415611c0a57828181611c0157fe5b04915050611233565b6000838681611c1557fe5b0490506000848781611c2357fe5b0690506000858781611c3157fe5b0490506000868881611c3f57fe5b069050611c81611c538861120a8685611de8565b611c7b611c608686611de8565b611c7b611c6d8987611de8565b611c7b8d6112258c8b611de8565b906122bc565b9998505050505050505050565b6000818310611c9d5781611c9f565b825b90505b92915050565b3d604051818101604052816000823e8215611cc1578181f35b8181fd5b611ccd610c1f565b6001600160a01b0316336001600160a01b031614610b86576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600082821115611d7b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211611dd7576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611de057fe5b049392505050565b600082611df757506000611ca2565b82820282848281611e0457fe5b0414611c9f5760405162461bcd60e51b815260040180806020018281038252602181526020018061250e6021913960400191505060405180910390fd5b611e4a82612316565b611609828261238e565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611e98578181015183820152602001611e80565b50505050905090810190601f168015611ec55780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015611f2d57868181518110611efb57fe5b6020026020010151831415611f2557858181518110611f1657fe5b60200260200101519150611f2d565b600101611ee6565b506001600160a01b038116611f78576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b611fcc82826040518060400160405280600481526020016315d3985d60e21b815250611e54565b600980546001600160a01b0319166001600160a01b03929092169190911790555050565b600054600160b01b900460ff161561201d5733301461200b57fe5b6000805460ff60b01b19169055610b86565b610b86611cc5565b61202d611cc5565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561207557600080fd5b505afa158015612089573d6000803e3d6000fd5b505050506040513d602081101561209f57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b031986168152600160208181526040909220845181558483015180519194506121239392850192019061246c565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b6009546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b1580156121f957600080fd5b505af115801561220d573d6000803e3d6000fd5b50505050505050565b6040516000906001600160a01b0384169083908381818185875af1925050503d8060008114612261576040519150601f19603f3d011682016040523d82523d6000602084013e612266565b606091505b50509050806110f1576040805162461bcd60e51b815260206004820181905260248201527f4661696c656420746f2063616c6c20636c61696d696e6720636f6e7472616374604482015290519081900360640190fd5b600082820183811015611c9f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b80541561152257805460018201906000908390600019810190811061233757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001812055805481908061236757fe5b600082815260209020810160001990810180546001600160a01b0319169055019055612316565b60005b81518110156110f1576123b7838383815181106123aa57fe5b60200260200101516123bf565b600101612391565b6001600160a01b0381166000908152600183016020526040902054156123e457611609565b8154600180820184556000848152602080822090930180546001600160a01b0319166001600160a01b03959095169485179055845493815293019052604090912055565b50805460018160011615610100020316600290046000825580601f1061244e5750611522565b601f01602090049060005260206000209081019061152291906124f8565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826124a257600085556124e8565b82601f106124bb57805160ff19168380011785556124e8565b828001600101855582156124e8579182015b828111156124e85782518255916020019190600101906124cd565b506124f49291506124f8565b5090565b5b808211156124f457600081556001016124f956fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212205fa3cebcc5a1db9142d08bee3e8726cc8845e22deefd3c93dc8fa30683b0ef0064736f6c63430007060033",
766
+ "deployedBytecode": "0x60806040526004361061021a5760003560e01c80639db2ab7811610123578063d2a4ac61116100ab578063f5a983831161006f578063f5a9838314610a55578063f83d08ba14610a6a578063fc0c2ade14610a72578063fc70ccee14610a87578063fc7e104714610a9c5761021a565b8063d2a4ac611461090c578063dc0ec13e146109ba578063dfd14c34146109e4578063e17f212e14610a17578063f45cb5a414610a405761021a565b8063a8c7a08a116100f2578063a8c7a08a1461070d578063aaf96f8214610759578063b00c0b7614610794578063b1f8100d146108c4578063ba787743146108f75761021a565b80639db2ab781461067d5780639edbf00714610692578063a262f5f8146106a7578063a622e4b5146106da5761021a565b80635aa6e675116101a657806374e6310e1161017557806374e6310e1461048c57806381236d321461053f5780639119c4941461056957806396dbafc4146106175780639d6a890f1461064a5761021a565b80635aa6e675146103fa5780635ff270791461040f57806362354e031461044357806367fc4029146104585761021a565b80633f317fe1116101ed5780633f317fe1146102cb5780633f9c10101461034e5780634e71d92d1461039d5780635258ab26146103b25780635267a15d146103e55761021a565b8063032f14b51461021f5780632dafdbbf146102465780632fa552ad146102795780633a23d8a91461028e575b600080fd5b34801561022b57600080fd5b50610234610ab1565b60408051918252519081900360200190f35b34801561025257600080fd5b5061025b610ab7565b60408051938452602084019290925282820152519081900360600190f35b34801561028557600080fd5b50610234610ac5565b34801561029a57600080fd5b506102c9600480360360408110156102b157600080fd5b506001600160a01b0381358116916020013516610acb565b005b3480156102d757600080fd5b506102fe600480360360208110156102ee57600080fd5b50356001600160a01b0316610ae9565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561033a578181015183820152602001610322565b505050509050019250505060405180910390f35b34801561035a57600080fd5b506103816004803603602081101561037157600080fd5b50356001600160a01b0316610b5f565b604080516001600160a01b039092168252519081900360200190f35b3480156103a957600080fd5b506102c9610b7a565b3480156103be57600080fd5b50610234600480360360208110156103d557600080fd5b50356001600160a01b0316610b88565b3480156103f157600080fd5b50610381610bfa565b34801561040657600080fd5b50610381610c1f565b34801561041b57600080fd5b506102c96004803603602081101561043257600080fd5b50356001600160e01b031916610cb4565b34801561044f57600080fd5b50610381611003565b34801561046457600080fd5b506102c96004803603602081101561047b57600080fd5b50356001600160e01b03191661100e565b34801561049857600080fd5b506104c0600480360360208110156104af57600080fd5b50356001600160e01b0319166110f6565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105035781810151838201526020016104eb565b50505050905090810190601f1680156105305780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561054b57600080fd5b506102346004803603602081101561056257600080fd5b503561119c565b34801561057557600080fd5b506102c96004803603602081101561058c57600080fd5b810190602081018135600160201b8111156105a657600080fd5b8201836020820111156105b857600080fd5b803590602001918460208302840111600160201b831117156105d957600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061123a945050505050565b34801561062357600080fd5b506102c96004803603602081101561063a57600080fd5b50356001600160a01b03166112dc565b34801561065657600080fd5b506102c96004803603602081101561066d57600080fd5b50356001600160a01b0316611442565b34801561068957600080fd5b506102c96114fb565b34801561069e57600080fd5b50610381611507565b3480156106b357600080fd5b506102c9600480360360208110156106ca57600080fd5b50356001600160a01b0316611516565b3480156106e657600080fd5b506102c9600480360360208110156106fd57600080fd5b50356001600160a01b0316611525565b34801561071957600080fd5b506107406004803603602081101561073057600080fd5b50356001600160a01b0316611531565b6040805192835260208301919091528051918290030190f35b34801561076557600080fd5b506102c96004803603604081101561077c57600080fd5b506001600160a01b038135811691602001351661154a565b3480156107a057600080fd5b506102c9600480360360408110156107b757600080fd5b810190602081018135600160201b8111156107d157600080fd5b8201836020820111156107e357600080fd5b803590602001918460208302840111600160201b8311171561080457600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561085357600080fd5b82018360208201111561086557600080fd5b803590602001918460208302840111600160201b8311171561088657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611562945050505050565b3480156108d057600080fd5b506102c9600480360360208110156108e757600080fd5b50356001600160a01b031661160d565b34801561090357600080fd5b5061023461163c565b34801561091857600080fd5b506102c96004803603602081101561092f57600080fd5b810190602081018135600160201b81111561094957600080fd5b82018360208201111561095b57600080fd5b803590602001918460208302840111600160201b8311171561097c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611642945050505050565b3480156109c657600080fd5b506102c9600480360360208110156109dd57600080fd5b50356116cc565b3480156109f057600080fd5b506102fe60048036036020811015610a0757600080fd5b50356001600160a01b03166117d1565b348015610a2357600080fd5b50610a2c611845565b604080519115158252519081900360200190f35b348015610a4c57600080fd5b50610234611855565b348015610a6157600080fd5b506102c961185b565b6102c9611915565b348015610a7e57600080fd5b5061023461196f565b348015610a9357600080fd5b50610234611993565b348015610aa857600080fd5b50610234611999565b60025481565b600354600454909160009190565b6105dc81565b8181610ad7828261199f565b610ae384846000611a9e565b50505050565b6001600160a01b038116600090815260076020908152604091829020805483518184028101840190945280845260609392830182828015610b5357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b35575b50505050509050919050565b6006602052600090815260409020546001600160a01b031681565b610b8633336000611a9e565b565b6001600160a01b0381166000908152600560209081526040808320815180830190925280548252600101549181019190915281610bc44261119c565b8251909150600090610bd99083612134611b8e565b9050610be9818460000151611c8e565b602090930151909203949350505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16610c42576000546001600160a01b0316610caf565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8257600080fd5b505afa158015610c96573d6000803e3d6000fd5b505050506040513d6020811015610cac57600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b158015610cf857600080fd5b505afa158015610d0c573d6000803e3d6000fd5b505050506040513d6020811015610d2257600080fd5b5051610d65576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610dd1576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610e27576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec15780601f10610e9657610100808354040283529160200191610ec1565b820191906000526020600020905b815481529060010190602001808311610ea457829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250610ef59150830182612428565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310610f3d5780518252601f199092019160209182019101610f1e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f9f576040519150601f19603f3d011682016040523d82523d6000602084013e610fa4565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610ae381611ca8565b60076001609c1b0181565b611016611cc5565b6001600160e01b03198116600090815260016020526040902054611081576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b031981166000908152600160208190526040822082815591906110f190830182612428565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156111925780601f1061116757610100808354040283529160200191611192565b820191906000526020600020905b81548152906001019060200180831161117557829003601f168201915b5050505050905082565b60008160025411156111ec576040805162461bcd60e51b815260206004820152601460248201527310db185a5b5a5b99c81b9bdd081cdd185c9d195960621b604482015290519081900360640190fd5b60006112106201518061120a60025486611d2490919063ffffffff16565b90611d81565b905061123361122b60ed61122584601e611d81565b90611de8565b612134611c8e565b9392505050565b3360009081526007602052604090206112539082611e41565b7fa802dcd9d0db82c5fc0b043e16d9ab77391cff1b84415bce9e95c4a8d6fe7146338260405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156112c55781810151838201526020016112ad565b50505050905001935050505060405180910390a150565b6001600160a01b038181166000908152600660205260409020543391161580159061132357506001600160a01b038281166000908152600660205260409020548116908216145b611366576040805162461bcd60e51b815260206004820152600f60248201526e2bb937b7339037b6321037bbb732b960891b604482015290519081900360640190fd5b6001600160a01b038116600090815260056020526040902054156113c2576040805162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481b1bd8dad95960921b604482015290519081900360640190fd5b6001600160a01b03808316600081815260056020908152604080832080549587168085528285209687556001808301805491909801558585529084905594839055600690915280822080546001600160a01b0319169055517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9190a35050565b600054600160a01b900460ff1615611498576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b610b8633336001611a9e565b6009546001600160a01b031681565b61152233826000611a9e565b50565b61152233826001611a9e565b6005602052600090815260409020805460019091015482565b8181611556828261199f565b610ae384846001611a9e565b61156a610bfa565b6001600160a01b0316336001600160a01b0316146115c6576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b6115ff6115fa83836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250611e54565b611f81565b6116098282611fa5565b5050565b33600090815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b61213481565b33600090815260086020526040902061165b9082611e41565b7ff650948f1320658fded6be6217b1fe9963894116bc6b3dbc9b1c2cc8cf2cb11f338260405180836001600160a01b031681526020018060200182810382528381815181526020019150805190602001906020028083836000838110156112c55781810151838201526020016112ad565b600054600160b01b900460ff16806116ee5750600054600160a81b900460ff16155b156117c6576116fb611ff0565b4260025411611743576040805162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481cdd185c9d1959608a1b604482015290519081900360640190fd5b42811015801561177357507f00000000000000000000000000000000000000000000000000000000000000008111155b6117bc576040805162461bcd60e51b8152602060048201526015602482015274057726f6e672073746172742074696d657374616d7605c1b604482015290519081900360640190fd5b6002819055611522565b611522600036612025565b6001600160a01b038116600090815260086020908152604091829020805483518184028101840190945280845260609392830182828015610b53576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610b355750505050509050919050565b600054600160a81b900460ff1681565b60035481565b611863611cc5565b600054600160a81b900460ff16156118c2576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b6003805434908101909155336000818152600560209081526040918290208054850190558151938452905191927ff7c3865a2047e2fc614fff3af48eef519dfd5243847cbefd615b3a150a9db5b0929081900390910190a2565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60045481565b6001600160a01b0382166000908152600760209081526040808320338452600101909152902054611a0d576040805162461bcd60e51b8152602060048201526013602482015272436c61696d206578656375746f72206f6e6c7960681b604482015290519081900360640190fd5b816001600160a01b0316816001600160a01b03161480611a5557506001600160a01b038083166000908152600860209081526040808320938516835260019093019052205415155b611609576040805162461bcd60e51b8152602060048201526015602482015274149958da5c1a595b9d081b9bdd08185b1b1bddd959605a1b604482015290519081900360640190fd5b6000611aa984610b88565b905060008111611af5576040805162461bcd60e51b81526020600482015260126024820152714e6f20636c61696d61626c652066756e647360701b604482015290519081900360640190fd5b6001600160a01b038416600090815260056020526040902060010180548201905560048054820190558115611b3357611b2e83826121a8565b611b3d565b611b3d8382612216565b826001600160a01b0316846001600160a01b03167f01bfef2bf622406285ca1a4057a39432c0ba15e2069c29ae6098c22affdeaf45836040518082815260200191505060405180910390a350505050565b6000808211611bd7576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83611be457506000611233565b83830283858281611bf157fe5b041415611c0a57828181611c0157fe5b04915050611233565b6000838681611c1557fe5b0490506000848781611c2357fe5b0690506000858781611c3157fe5b0490506000868881611c3f57fe5b069050611c81611c538861120a8685611de8565b611c7b611c608686611de8565b611c7b611c6d8987611de8565b611c7b8d6112258c8b611de8565b906122bc565b9998505050505050505050565b6000818310611c9d5781611c9f565b825b90505b92915050565b3d604051818101604052816000823e8215611cc1578181f35b8181fd5b611ccd610c1f565b6001600160a01b0316336001600160a01b031614610b86576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600082821115611d7b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211611dd7576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611de057fe5b049392505050565b600082611df757506000611ca2565b82820282848281611e0457fe5b0414611c9f5760405162461bcd60e51b815260040180806020018281038252602181526020018061250e6021913960400191505060405180910390fd5b611e4a82612316565b611609828261238e565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611e98578181015183820152602001611e80565b50505050905090810190601f168015611ec55780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015611f2d57868181518110611efb57fe5b6020026020010151831415611f2557858181518110611f1657fe5b60200260200101519150611f2d565b600101611ee6565b506001600160a01b038116611f78576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b611fcc82826040518060400160405280600481526020016315d3985d60e21b815250611e54565b600980546001600160a01b0319166001600160a01b03929092169190911790555050565b600054600160b01b900460ff161561201d5733301461200b57fe5b6000805460ff60b01b19169055610b86565b610b86611cc5565b61202d611cc5565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561207557600080fd5b505afa158015612089573d6000803e3d6000fd5b505050506040513d602081101561209f57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b031986168152600160208181526040909220845181558483015180519194506121239392850192019061246c565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b6009546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b1580156121f957600080fd5b505af115801561220d573d6000803e3d6000fd5b50505050505050565b6040516000906001600160a01b0384169083908381818185875af1925050503d8060008114612261576040519150601f19603f3d011682016040523d82523d6000602084013e612266565b606091505b50509050806110f1576040805162461bcd60e51b815260206004820181905260248201527f4661696c656420746f2063616c6c20636c61696d696e6720636f6e7472616374604482015290519081900360640190fd5b600082820183811015611c9f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b80541561152257805460018201906000908390600019810190811061233757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001812055805481908061236757fe5b600082815260209020810160001990810180546001600160a01b0319169055019055612316565b60005b81518110156110f1576123b7838383815181106123aa57fe5b60200260200101516123bf565b600101612391565b6001600160a01b0381166000908152600183016020526040902054156123e457611609565b8154600180820184556000848152602080822090930180546001600160a01b0319166001600160a01b03959095169485179055845493815293019052604090912055565b50805460018160011615610100020316600290046000825580601f1061244e5750611522565b601f01602090049060005260206000209081019061152291906124f8565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826124a257600085556124e8565b82601f106124bb57805160ff19168380011785556124e8565b828001600101855582156124e8579182015b828111156124e85782518255916020019190600101906124cd565b506124f49291506124f8565b5090565b5b808211156124f457600081556001016124f956fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212205fa3cebcc5a1db9142d08bee3e8726cc8845e22deefd3c93dc8fa30683b0ef0064736f6c63430007060033",
767
767
  "linkReferences": {},
768
768
  "deployedLinkReferences": {}
769
769
  }