@wireio/stake 2.5.2 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/lib/stake.browser.js +28102 -730
  2. package/lib/stake.browser.js.map +1 -1
  3. package/lib/stake.d.ts +53 -11
  4. package/lib/stake.js +28126 -730
  5. package/lib/stake.js.map +1 -1
  6. package/lib/stake.m.js +28102 -730
  7. package/lib/stake.m.js.map +1 -1
  8. package/package.json +2 -2
  9. package/src/assets/ethereum/hoodi/common/Base58.sol/Base58.dbg.json +4 -0
  10. package/src/assets/ethereum/hoodi/common/Base58.sol/Base58.json +164 -0
  11. package/src/assets/ethereum/hoodi/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +4 -0
  12. package/src/assets/ethereum/hoodi/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +76 -0
  13. package/src/assets/ethereum/hoodi/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +4 -0
  14. package/src/assets/ethereum/hoodi/common/RestrictedCallers.sol/RestrictedCallers.json +10 -0
  15. package/src/assets/ethereum/hoodi/common/iodata.sol/iodata.dbg.json +4 -0
  16. package/src/assets/ethereum/hoodi/common/iodata.sol/iodata.json +618 -0
  17. package/src/assets/ethereum/hoodi/common/iodata_util.sol/iodata_util.dbg.json +4 -0
  18. package/src/assets/ethereum/hoodi/common/iodata_util.sol/iodata_util.json +40 -0
  19. package/src/assets/ethereum/hoodi/common/sysio_data.sol/sysio_data.dbg.json +4 -0
  20. package/src/assets/ethereum/hoodi/common/sysio_data.sol/sysio_data.json +10 -0
  21. package/src/assets/ethereum/hoodi/common/sysio_errors.sol/sysio_errors.dbg.json +4 -0
  22. package/src/assets/ethereum/hoodi/common/sysio_errors.sol/sysio_errors.json +10 -0
  23. package/src/assets/ethereum/hoodi/common/sysio_merkle.sol/sysio_merkle.dbg.json +4 -0
  24. package/src/assets/ethereum/hoodi/common/sysio_merkle.sol/sysio_merkle.json +233 -0
  25. package/src/assets/ethereum/hoodi/common/sysio_name.sol/sysio_name.dbg.json +4 -0
  26. package/src/assets/ethereum/hoodi/common/sysio_name.sol/sysio_name.json +49 -0
  27. package/src/assets/ethereum/hoodi/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +4 -0
  28. package/src/assets/ethereum/hoodi/common/sysio_pubkey.sol/sysio_pubkey.json +64 -0
  29. package/src/assets/ethereum/hoodi/common/sysio_read.sol/sysio_read.dbg.json +4 -0
  30. package/src/assets/ethereum/hoodi/common/sysio_read.sol/sysio_read.json +1458 -0
  31. package/src/assets/ethereum/hoodi/common/sysio_tester.sol/SysioTester.dbg.json +4 -0
  32. package/src/assets/ethereum/hoodi/common/sysio_tester.sol/SysioTester.json +1532 -0
  33. package/src/assets/ethereum/hoodi/common/sysio_verify.sol/sysio_verify.dbg.json +4 -0
  34. package/src/assets/ethereum/hoodi/common/sysio_verify.sol/sysio_verify.json +1525 -0
  35. package/src/assets/ethereum/hoodi/common/sysio_write.sol/sysio_write.dbg.json +4 -0
  36. package/src/assets/ethereum/hoodi/common/sysio_write.sol/sysio_write.json +1076 -0
  37. package/src/assets/ethereum/hoodi/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
  38. package/src/assets/ethereum/hoodi/liqEth/BeaconState.sol/BeaconState.json +807 -0
  39. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
  40. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.json +1004 -0
  41. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/IStakingModuleBondLocker.dbg.json +4 -0
  42. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/IStakingModuleBondLocker.json +29 -0
  43. package/src/assets/ethereum/hoodi/liqEth/KeyBondManager.sol/KeyBondManager.dbg.json +4 -0
  44. package/src/assets/ethereum/hoodi/liqEth/KeyBondManager.sol/KeyBondManager.json +897 -0
  45. package/src/assets/ethereum/hoodi/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  46. package/src/assets/ethereum/hoodi/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
  47. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  48. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositContract.json +39 -0
  49. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  50. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositManager.json +64 -0
  51. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IKeyBondManager.dbg.json +4 -0
  52. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IKeyBondManager.json +189 -0
  53. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  54. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  55. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  56. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
  57. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  58. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
  59. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  60. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IStakingModule.json +279 -0
  61. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  62. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  63. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  64. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  65. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  66. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  67. package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
  68. package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
  69. package/src/assets/ethereum/hoodi/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  70. package/src/assets/ethereum/hoodi/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
  71. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
  72. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
  73. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
  74. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
  75. package/src/assets/ethereum/hoodi/liqEth/StakingLib.sol/StakingLib.dbg.json +4 -0
  76. package/src/assets/ethereum/hoodi/liqEth/StakingLib.sol/StakingLib.json +89 -0
  77. package/src/assets/ethereum/hoodi/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
  78. package/src/assets/ethereum/hoodi/liqEth/Yield.sol/YieldOracle.json +1376 -0
  79. package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
  80. package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
  81. package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
  82. package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.json +1896 -0
  83. package/src/assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
  84. package/src/assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.json +978 -0
  85. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  86. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IAccounting.json +176 -0
  87. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  88. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
  89. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  90. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
  91. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  92. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  93. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  94. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.json +249 -0
  95. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  96. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
  97. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  98. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
  99. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  100. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  101. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  102. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  103. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  104. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  105. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  106. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json +874 -0
  107. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  108. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +937 -0
  109. package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
  110. package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.json +542 -0
  111. package/src/assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
  112. package/src/assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.json +1233 -0
  113. package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
  114. package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.json +1772 -0
  115. package/src/assets/ethereum/hoodi/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
  116. package/src/assets/ethereum/hoodi/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +973 -0
  117. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
  118. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/Uint64BE.json +10 -0
  119. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
  120. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.json +441 -0
  121. package/src/assets/ethereum/hoodi/outpost/BAR.sol/BARV2.dbg.json +4 -0
  122. package/src/assets/ethereum/hoodi/outpost/BAR.sol/BARV2.json +1915 -0
  123. package/src/assets/ethereum/hoodi/outpost/Depositor.sol/DepositorV2.dbg.json +4 -0
  124. package/src/assets/ethereum/hoodi/outpost/Depositor.sol/DepositorV2.json +1845 -0
  125. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
  126. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +122 -0
  127. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
  128. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +551 -0
  129. package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.dbg.json +4 -0
  130. package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.json +948 -0
  131. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
  132. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.json +88 -0
  133. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
  134. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPEndpoint.json +29 -0
  135. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
  136. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.json +194 -0
  137. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
  138. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.json +29 -0
  139. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
  140. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.json +36 -0
  141. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
  142. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.json +199 -0
  143. package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
  144. package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.json +273 -0
  145. package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
  146. package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +394 -0
  147. package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
  148. package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +378 -0
  149. package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
  150. package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.json +224 -0
  151. package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
  152. package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.json +1010 -0
  153. package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
  154. package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.json +291 -0
  155. package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
  156. package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.json +298 -0
  157. package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
  158. package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.json +488 -0
  159. package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
  160. package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.json +229 -0
  161. package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManagerV2.dbg.json +4 -0
  162. package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManagerV2.json +737 -0
  163. package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
  164. package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +1432 -0
  165. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
  166. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.json +130 -0
  167. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
  168. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +29 -0
  169. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
  170. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +141 -0
  171. package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
  172. package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.json +213 -0
  173. package/src/assets/ethereum/hoodi/outpost/Pool.sol/PoolV2.dbg.json +4 -0
  174. package/src/assets/ethereum/hoodi/outpost/Pool.sol/PoolV2.json +943 -0
  175. package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/PretokenV2.dbg.json +4 -0
  176. package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/PretokenV2.json +1703 -0
  177. package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
  178. package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.json +2015 -0
  179. package/src/assets/ethereum/hoodi/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  180. package/src/assets/ethereum/hoodi/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
  181. package/src/assets/ethereum/hoodi/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
  182. package/src/assets/ethereum/hoodi/outpost/interfaces/IWarrant.sol/IWarrant.json +29 -0
  183. package/src/assets/ethereum/hoodi/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
  184. package/src/assets/ethereum/hoodi/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +858 -0
  185. package/src/assets/ethereum/hoodi/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
  186. package/src/assets/ethereum/hoodi/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +30 -0
  187. package/src/assets/ethereum/hoodi/outpost/v1/BAR.sol/BAR.dbg.json +4 -0
  188. package/src/assets/ethereum/hoodi/outpost/v1/BAR.sol/BAR.json +1871 -0
  189. package/src/assets/ethereum/hoodi/outpost/v1/Depositor.sol/Depositor.dbg.json +4 -0
  190. package/src/assets/ethereum/hoodi/outpost/v1/Depositor.sol/Depositor.json +1653 -0
  191. package/src/assets/ethereum/hoodi/outpost/v1/OutpostManager.sol/OutpostManager.dbg.json +4 -0
  192. package/src/assets/ethereum/hoodi/outpost/v1/OutpostManager.sol/OutpostManager.json +730 -0
  193. package/src/assets/ethereum/hoodi/outpost/v1/Pool.sol/Pool.dbg.json +4 -0
  194. package/src/assets/ethereum/hoodi/outpost/v1/Pool.sol/Pool.json +936 -0
  195. package/src/assets/ethereum/hoodi/outpost/v1/Pretoken.sol/Pretoken.dbg.json +4 -0
  196. package/src/assets/ethereum/hoodi/outpost/v1/Pretoken.sol/Pretoken.json +1665 -0
  197. package/src/assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  198. package/src/assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.json +472 -0
  199. package/src/assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  200. package/src/assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.json +330 -0
  201. package/src/assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  202. package/src/assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.json +449 -0
  203. package/src/networks/ethereum/clients/stake.client.ts +81 -7
  204. package/src/networks/ethereum/contract.ts +189 -81
  205. package/src/networks/ethereum/ethereum.ts +47 -6
  206. package/src/networks/ethereum/types.ts +10 -0
  207. package/src/networks/solana/constants.ts +3 -3
  208. package/src/networks/solana/solana.ts +92 -7
  209. package/src/networks/solana/types.ts +2 -2
  210. package/src/types.ts +10 -1
@@ -0,0 +1,1845 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "DepositorV2",
4
+ "sourceName": "contracts/outpost/Depositor.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "authority",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "name": "AccessManagedInvalidAuthority",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "caller",
22
+ "type": "address"
23
+ },
24
+ {
25
+ "internalType": "uint32",
26
+ "name": "delay",
27
+ "type": "uint32"
28
+ }
29
+ ],
30
+ "name": "AccessManagedRequiredDelay",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [
35
+ {
36
+ "internalType": "address",
37
+ "name": "caller",
38
+ "type": "address"
39
+ }
40
+ ],
41
+ "name": "AccessManagedUnauthorized",
42
+ "type": "error"
43
+ },
44
+ {
45
+ "inputs": [
46
+ {
47
+ "internalType": "address",
48
+ "name": "target",
49
+ "type": "address"
50
+ }
51
+ ],
52
+ "name": "AddressEmptyCode",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [
57
+ {
58
+ "internalType": "address",
59
+ "name": "implementation",
60
+ "type": "address"
61
+ }
62
+ ],
63
+ "name": "ERC1967InvalidImplementation",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [],
68
+ "name": "ERC1967NonPayable",
69
+ "type": "error"
70
+ },
71
+ {
72
+ "inputs": [],
73
+ "name": "EnforcedPause",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "inputs": [],
78
+ "name": "ExpectedPause",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [],
83
+ "name": "FailedCall",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [],
88
+ "name": "InvalidInitialization",
89
+ "type": "error"
90
+ },
91
+ {
92
+ "inputs": [],
93
+ "name": "NotInitializing",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [
98
+ {
99
+ "internalType": "bytes32",
100
+ "name": "expected",
101
+ "type": "bytes32"
102
+ },
103
+ {
104
+ "internalType": "bytes32",
105
+ "name": "actual",
106
+ "type": "bytes32"
107
+ }
108
+ ],
109
+ "name": "OPP_EpochHashMismatch",
110
+ "type": "error"
111
+ },
112
+ {
113
+ "inputs": [
114
+ {
115
+ "internalType": "uint256",
116
+ "name": "required",
117
+ "type": "uint256"
118
+ },
119
+ {
120
+ "internalType": "uint256",
121
+ "name": "provided",
122
+ "type": "uint256"
123
+ }
124
+ ],
125
+ "name": "OPP_InsufficientSignatureWeight",
126
+ "type": "error"
127
+ },
128
+ {
129
+ "inputs": [
130
+ {
131
+ "internalType": "address",
132
+ "name": "caller",
133
+ "type": "address"
134
+ },
135
+ {
136
+ "internalType": "address",
137
+ "name": "expected",
138
+ "type": "address"
139
+ }
140
+ ],
141
+ "name": "OPP_InvalidOPPAddress",
142
+ "type": "error"
143
+ },
144
+ {
145
+ "inputs": [
146
+ {
147
+ "internalType": "bytes32",
148
+ "name": "expected",
149
+ "type": "bytes32"
150
+ },
151
+ {
152
+ "internalType": "bytes32",
153
+ "name": "actual",
154
+ "type": "bytes32"
155
+ }
156
+ ],
157
+ "name": "OPP_MessageIDMismatch",
158
+ "type": "error"
159
+ },
160
+ {
161
+ "inputs": [],
162
+ "name": "OPP_NoAssertionsSent",
163
+ "type": "error"
164
+ },
165
+ {
166
+ "inputs": [],
167
+ "name": "OPP_NoPendingAssertions",
168
+ "type": "error"
169
+ },
170
+ {
171
+ "inputs": [
172
+ {
173
+ "internalType": "uint32",
174
+ "name": "expected",
175
+ "type": "uint32"
176
+ },
177
+ {
178
+ "internalType": "uint32",
179
+ "name": "actual",
180
+ "type": "uint32"
181
+ }
182
+ ],
183
+ "name": "OPP_NonSequentialEpoch",
184
+ "type": "error"
185
+ },
186
+ {
187
+ "inputs": [],
188
+ "name": "OPP_NotSending",
189
+ "type": "error"
190
+ },
191
+ {
192
+ "inputs": [],
193
+ "name": "OPP_OPPAddressNotSet",
194
+ "type": "error"
195
+ },
196
+ {
197
+ "inputs": [
198
+ {
199
+ "internalType": "bytes32",
200
+ "name": "expected",
201
+ "type": "bytes32"
202
+ },
203
+ {
204
+ "internalType": "bytes32",
205
+ "name": "actual",
206
+ "type": "bytes32"
207
+ }
208
+ ],
209
+ "name": "OPP_PayloadHashMismatch",
210
+ "type": "error"
211
+ },
212
+ {
213
+ "inputs": [
214
+ {
215
+ "internalType": "uint32",
216
+ "name": "epochNumber",
217
+ "type": "uint32"
218
+ },
219
+ {
220
+ "internalType": "uint256",
221
+ "name": "messageCount",
222
+ "type": "uint256"
223
+ }
224
+ ],
225
+ "name": "OPP_PreviousEpochPendingMessages",
226
+ "type": "error"
227
+ },
228
+ {
229
+ "inputs": [
230
+ {
231
+ "internalType": "uint32",
232
+ "name": "epochNumber",
233
+ "type": "uint32"
234
+ }
235
+ ],
236
+ "name": "OPP_PreviousEpochSent",
237
+ "type": "error"
238
+ },
239
+ {
240
+ "inputs": [
241
+ {
242
+ "internalType": "uint32",
243
+ "name": "epochNumber",
244
+ "type": "uint32"
245
+ }
246
+ ],
247
+ "name": "OPP_PreviousEpochUnsent",
248
+ "type": "error"
249
+ },
250
+ {
251
+ "inputs": [
252
+ {
253
+ "internalType": "uint256",
254
+ "name": "stack",
255
+ "type": "uint256"
256
+ }
257
+ ],
258
+ "name": "OPP_SendStackError",
259
+ "type": "error"
260
+ },
261
+ {
262
+ "inputs": [
263
+ {
264
+ "internalType": "uint256",
265
+ "name": "expectedMaxMessages",
266
+ "type": "uint256"
267
+ },
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "actualMessages",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "name": "OPP_TooManyMessages",
275
+ "type": "error"
276
+ },
277
+ {
278
+ "inputs": [
279
+ {
280
+ "internalType": "address",
281
+ "name": "sender",
282
+ "type": "address"
283
+ },
284
+ {
285
+ "internalType": "uint16",
286
+ "name": "assertionType",
287
+ "type": "uint16"
288
+ }
289
+ ],
290
+ "name": "OPP_UnauthorizedAssertionType",
291
+ "type": "error"
292
+ },
293
+ {
294
+ "inputs": [
295
+ {
296
+ "internalType": "uint16",
297
+ "name": "assertionType",
298
+ "type": "uint16"
299
+ }
300
+ ],
301
+ "name": "OPP_UnhandledAssertionType",
302
+ "type": "error"
303
+ },
304
+ {
305
+ "inputs": [],
306
+ "name": "OPP_ZeroTag",
307
+ "type": "error"
308
+ },
309
+ {
310
+ "inputs": [],
311
+ "name": "ReentrancyGuardReentrantCall",
312
+ "type": "error"
313
+ },
314
+ {
315
+ "inputs": [
316
+ {
317
+ "internalType": "uint256",
318
+ "name": "value",
319
+ "type": "uint256"
320
+ }
321
+ ],
322
+ "name": "SafeCastOverflowedUintToInt",
323
+ "type": "error"
324
+ },
325
+ {
326
+ "inputs": [
327
+ {
328
+ "internalType": "address",
329
+ "name": "token",
330
+ "type": "address"
331
+ }
332
+ ],
333
+ "name": "SafeERC20FailedOperation",
334
+ "type": "error"
335
+ },
336
+ {
337
+ "inputs": [],
338
+ "name": "UUPSUnauthorizedCallContext",
339
+ "type": "error"
340
+ },
341
+ {
342
+ "inputs": [
343
+ {
344
+ "internalType": "bytes32",
345
+ "name": "slot",
346
+ "type": "bytes32"
347
+ }
348
+ ],
349
+ "name": "UUPSUnsupportedProxiableUUID",
350
+ "type": "error"
351
+ },
352
+ {
353
+ "inputs": [
354
+ {
355
+ "internalType": "address",
356
+ "name": "actor",
357
+ "type": "address"
358
+ }
359
+ ],
360
+ "name": "WIRE_ActorAlreadyBonded",
361
+ "type": "error"
362
+ },
363
+ {
364
+ "inputs": [
365
+ {
366
+ "internalType": "address",
367
+ "name": "actor",
368
+ "type": "address"
369
+ }
370
+ ],
371
+ "name": "WIRE_ActorNotBonded",
372
+ "type": "error"
373
+ },
374
+ {
375
+ "inputs": [
376
+ {
377
+ "internalType": "uint32",
378
+ "name": "tokenType",
379
+ "type": "uint32"
380
+ },
381
+ {
382
+ "internalType": "bytes32",
383
+ "name": "bondLevelId",
384
+ "type": "bytes32"
385
+ }
386
+ ],
387
+ "name": "WIRE_BadBondLevel",
388
+ "type": "error"
389
+ },
390
+ {
391
+ "inputs": [
392
+ {
393
+ "internalType": "string",
394
+ "name": "name",
395
+ "type": "string"
396
+ },
397
+ {
398
+ "internalType": "address",
399
+ "name": "provided",
400
+ "type": "address"
401
+ }
402
+ ],
403
+ "name": "WIRE_BadContractAddress",
404
+ "type": "error"
405
+ },
406
+ {
407
+ "inputs": [
408
+ {
409
+ "internalType": "uint256",
410
+ "name": "bps",
411
+ "type": "uint256"
412
+ },
413
+ {
414
+ "internalType": "uint256",
415
+ "name": "maxBps",
416
+ "type": "uint256"
417
+ }
418
+ ],
419
+ "name": "WIRE_BasisPointsTooHigh",
420
+ "type": "error"
421
+ },
422
+ {
423
+ "inputs": [
424
+ {
425
+ "internalType": "address",
426
+ "name": "actor",
427
+ "type": "address"
428
+ },
429
+ {
430
+ "internalType": "uint256",
431
+ "name": "cooldownEnd",
432
+ "type": "uint256"
433
+ }
434
+ ],
435
+ "name": "WIRE_BondInCooldown",
436
+ "type": "error"
437
+ },
438
+ {
439
+ "inputs": [
440
+ {
441
+ "internalType": "address",
442
+ "name": "actor",
443
+ "type": "address"
444
+ },
445
+ {
446
+ "internalType": "uint256",
447
+ "name": "warmupEnd",
448
+ "type": "uint256"
449
+ }
450
+ ],
451
+ "name": "WIRE_BondInWarmup",
452
+ "type": "error"
453
+ },
454
+ {
455
+ "inputs": [
456
+ {
457
+ "internalType": "uint256",
458
+ "name": "required",
459
+ "type": "uint256"
460
+ },
461
+ {
462
+ "internalType": "uint256",
463
+ "name": "provided",
464
+ "type": "uint256"
465
+ }
466
+ ],
467
+ "name": "WIRE_BondInsufficientEth",
468
+ "type": "error"
469
+ },
470
+ {
471
+ "inputs": [
472
+ {
473
+ "internalType": "uint256",
474
+ "name": "required",
475
+ "type": "uint256"
476
+ },
477
+ {
478
+ "internalType": "uint256",
479
+ "name": "provided",
480
+ "type": "uint256"
481
+ }
482
+ ],
483
+ "name": "WIRE_BondInsufficientEthEquivalent",
484
+ "type": "error"
485
+ },
486
+ {
487
+ "inputs": [
488
+ {
489
+ "internalType": "uint256",
490
+ "name": "value",
491
+ "type": "uint256"
492
+ },
493
+ {
494
+ "internalType": "uint256",
495
+ "name": "minValue",
496
+ "type": "uint256"
497
+ }
498
+ ],
499
+ "name": "WIRE_BondLevelCooldownTooShort",
500
+ "type": "error"
501
+ },
502
+ {
503
+ "inputs": [
504
+ {
505
+ "internalType": "uint32",
506
+ "name": "tokenType",
507
+ "type": "uint32"
508
+ },
509
+ {
510
+ "internalType": "bytes32",
511
+ "name": "bondLevelId",
512
+ "type": "bytes32"
513
+ }
514
+ ],
515
+ "name": "WIRE_BondLevelExists",
516
+ "type": "error"
517
+ },
518
+ {
519
+ "inputs": [
520
+ {
521
+ "internalType": "uint32",
522
+ "name": "tokenType",
523
+ "type": "uint32"
524
+ },
525
+ {
526
+ "internalType": "bytes32",
527
+ "name": "bondLevelId",
528
+ "type": "bytes32"
529
+ }
530
+ ],
531
+ "name": "WIRE_BondLevelHasNoRoles",
532
+ "type": "error"
533
+ },
534
+ {
535
+ "inputs": [
536
+ {
537
+ "internalType": "uint32",
538
+ "name": "tokenType",
539
+ "type": "uint32"
540
+ },
541
+ {
542
+ "internalType": "bytes32",
543
+ "name": "bondLevelId",
544
+ "type": "bytes32"
545
+ }
546
+ ],
547
+ "name": "WIRE_BondLevelNoAmount",
548
+ "type": "error"
549
+ },
550
+ {
551
+ "inputs": [
552
+ {
553
+ "internalType": "uint32",
554
+ "name": "tokenType",
555
+ "type": "uint32"
556
+ },
557
+ {
558
+ "internalType": "bytes32",
559
+ "name": "bondLevelId",
560
+ "type": "bytes32"
561
+ }
562
+ ],
563
+ "name": "WIRE_BondLevelNoEthEquivalent",
564
+ "type": "error"
565
+ },
566
+ {
567
+ "inputs": [
568
+ {
569
+ "internalType": "uint32",
570
+ "name": "tokenType",
571
+ "type": "uint32"
572
+ },
573
+ {
574
+ "internalType": "bytes32",
575
+ "name": "bondLevelId",
576
+ "type": "bytes32"
577
+ }
578
+ ],
579
+ "name": "WIRE_BondLevelNoTokenContract",
580
+ "type": "error"
581
+ },
582
+ {
583
+ "inputs": [
584
+ {
585
+ "internalType": "uint32",
586
+ "name": "tokenType",
587
+ "type": "uint32"
588
+ },
589
+ {
590
+ "internalType": "bytes32",
591
+ "name": "bondLevelId",
592
+ "type": "bytes32"
593
+ }
594
+ ],
595
+ "name": "WIRE_BondLevelNoTokenId",
596
+ "type": "error"
597
+ },
598
+ {
599
+ "inputs": [
600
+ {
601
+ "internalType": "uint256",
602
+ "name": "value",
603
+ "type": "uint256"
604
+ },
605
+ {
606
+ "internalType": "uint256",
607
+ "name": "minValue",
608
+ "type": "uint256"
609
+ }
610
+ ],
611
+ "name": "WIRE_BondLevelWarmupTooShort",
612
+ "type": "error"
613
+ },
614
+ {
615
+ "inputs": [
616
+ {
617
+ "internalType": "address",
618
+ "name": "actor",
619
+ "type": "address"
620
+ }
621
+ ],
622
+ "name": "WIRE_BondNotUnbonding",
623
+ "type": "error"
624
+ },
625
+ {
626
+ "inputs": [
627
+ {
628
+ "internalType": "uint32",
629
+ "name": "tokenType",
630
+ "type": "uint32"
631
+ },
632
+ {
633
+ "internalType": "bytes32",
634
+ "name": "bondLevelId",
635
+ "type": "bytes32"
636
+ },
637
+ {
638
+ "internalType": "uint256",
639
+ "name": "requiredTokenId",
640
+ "type": "uint256"
641
+ },
642
+ {
643
+ "internalType": "uint256",
644
+ "name": "providedTokenId",
645
+ "type": "uint256"
646
+ }
647
+ ],
648
+ "name": "WIRE_BondTokenIdMismatch",
649
+ "type": "error"
650
+ },
651
+ {
652
+ "inputs": [
653
+ {
654
+ "internalType": "address",
655
+ "name": "to",
656
+ "type": "address"
657
+ },
658
+ {
659
+ "internalType": "uint256",
660
+ "name": "amount",
661
+ "type": "uint256"
662
+ }
663
+ ],
664
+ "name": "WIRE_EthSendFailed",
665
+ "type": "error"
666
+ },
667
+ {
668
+ "inputs": [],
669
+ "name": "WIRE_GoLiveInProgress",
670
+ "type": "error"
671
+ },
672
+ {
673
+ "inputs": [
674
+ {
675
+ "internalType": "uint256",
676
+ "name": "required",
677
+ "type": "uint256"
678
+ },
679
+ {
680
+ "internalType": "uint256",
681
+ "name": "available",
682
+ "type": "uint256"
683
+ }
684
+ ],
685
+ "name": "WIRE_InsufficientEthBalance",
686
+ "type": "error"
687
+ },
688
+ {
689
+ "inputs": [],
690
+ "name": "WIRE_InvalidPrice",
691
+ "type": "error"
692
+ },
693
+ {
694
+ "inputs": [
695
+ {
696
+ "internalType": "address",
697
+ "name": "from",
698
+ "type": "address"
699
+ },
700
+ {
701
+ "internalType": "address",
702
+ "name": "to",
703
+ "type": "address"
704
+ },
705
+ {
706
+ "internalType": "uint256",
707
+ "name": "amount",
708
+ "type": "uint256"
709
+ }
710
+ ],
711
+ "name": "WIRE_LiqEthTransferFailed",
712
+ "type": "error"
713
+ },
714
+ {
715
+ "inputs": [],
716
+ "name": "WIRE_NoPricesRecorded",
717
+ "type": "error"
718
+ },
719
+ {
720
+ "inputs": [],
721
+ "name": "WIRE_NoYield",
722
+ "type": "error"
723
+ },
724
+ {
725
+ "inputs": [
726
+ {
727
+ "internalType": "address",
728
+ "name": "actor",
729
+ "type": "address"
730
+ },
731
+ {
732
+ "internalType": "address",
733
+ "name": "owner",
734
+ "type": "address"
735
+ },
736
+ {
737
+ "internalType": "address",
738
+ "name": "caller",
739
+ "type": "address"
740
+ }
741
+ ],
742
+ "name": "WIRE_NotBondOwner",
743
+ "type": "error"
744
+ },
745
+ {
746
+ "inputs": [
747
+ {
748
+ "internalType": "uint256",
749
+ "name": "receiptId",
750
+ "type": "uint256"
751
+ },
752
+ {
753
+ "internalType": "address",
754
+ "name": "owner",
755
+ "type": "address"
756
+ },
757
+ {
758
+ "internalType": "address",
759
+ "name": "caller",
760
+ "type": "address"
761
+ }
762
+ ],
763
+ "name": "WIRE_NotReceiptOwner",
764
+ "type": "error"
765
+ },
766
+ {
767
+ "inputs": [
768
+ {
769
+ "internalType": "uint256",
770
+ "name": "price",
771
+ "type": "uint256"
772
+ },
773
+ {
774
+ "internalType": "uint256",
775
+ "name": "minPrice",
776
+ "type": "uint256"
777
+ },
778
+ {
779
+ "internalType": "uint256",
780
+ "name": "maxPrice",
781
+ "type": "uint256"
782
+ }
783
+ ],
784
+ "name": "WIRE_PriceOutOfBounds",
785
+ "type": "error"
786
+ },
787
+ {
788
+ "inputs": [
789
+ {
790
+ "internalType": "uint256",
791
+ "name": "receiptId",
792
+ "type": "uint256"
793
+ }
794
+ ],
795
+ "name": "WIRE_ReceiptNotWithdrawable",
796
+ "type": "error"
797
+ },
798
+ {
799
+ "inputs": [],
800
+ "name": "WIRE_RefundingInProgress",
801
+ "type": "error"
802
+ },
803
+ {
804
+ "inputs": [],
805
+ "name": "WIRE_RefundingOnly",
806
+ "type": "error"
807
+ },
808
+ {
809
+ "inputs": [
810
+ {
811
+ "internalType": "string",
812
+ "name": "reason",
813
+ "type": "string"
814
+ }
815
+ ],
816
+ "name": "WIRE_UnexpectedError",
817
+ "type": "error"
818
+ },
819
+ {
820
+ "inputs": [],
821
+ "name": "WIRE_ZeroAmount",
822
+ "type": "error"
823
+ },
824
+ {
825
+ "inputs": [],
826
+ "name": "WIRE_ZeroShares",
827
+ "type": "error"
828
+ },
829
+ {
830
+ "anonymous": false,
831
+ "inputs": [
832
+ {
833
+ "indexed": false,
834
+ "internalType": "address",
835
+ "name": "authority",
836
+ "type": "address"
837
+ }
838
+ ],
839
+ "name": "AuthorityUpdated",
840
+ "type": "event"
841
+ },
842
+ {
843
+ "anonymous": false,
844
+ "inputs": [
845
+ {
846
+ "indexed": false,
847
+ "internalType": "uint64",
848
+ "name": "version",
849
+ "type": "uint64"
850
+ }
851
+ ],
852
+ "name": "Initialized",
853
+ "type": "event"
854
+ },
855
+ {
856
+ "anonymous": false,
857
+ "inputs": [
858
+ {
859
+ "indexed": false,
860
+ "internalType": "address",
861
+ "name": "account",
862
+ "type": "address"
863
+ }
864
+ ],
865
+ "name": "Paused",
866
+ "type": "event"
867
+ },
868
+ {
869
+ "anonymous": false,
870
+ "inputs": [
871
+ {
872
+ "indexed": true,
873
+ "internalType": "address",
874
+ "name": "user",
875
+ "type": "address"
876
+ },
877
+ {
878
+ "indexed": true,
879
+ "internalType": "uint256",
880
+ "name": "tokenId",
881
+ "type": "uint256"
882
+ },
883
+ {
884
+ "indexed": false,
885
+ "internalType": "uint256",
886
+ "name": "sharesBurned",
887
+ "type": "uint256"
888
+ },
889
+ {
890
+ "indexed": false,
891
+ "internalType": "uint256",
892
+ "name": "totalToken",
893
+ "type": "uint256"
894
+ }
895
+ ],
896
+ "name": "RefundProcessed",
897
+ "type": "event"
898
+ },
899
+ {
900
+ "anonymous": false,
901
+ "inputs": [
902
+ {
903
+ "indexed": false,
904
+ "internalType": "uint256",
905
+ "name": "oldDust",
906
+ "type": "uint256"
907
+ },
908
+ {
909
+ "indexed": false,
910
+ "internalType": "uint256",
911
+ "name": "newDust",
912
+ "type": "uint256"
913
+ },
914
+ {
915
+ "indexed": false,
916
+ "internalType": "uint256",
917
+ "name": "delta",
918
+ "type": "uint256"
919
+ },
920
+ {
921
+ "indexed": false,
922
+ "internalType": "uint8",
923
+ "name": "reason",
924
+ "type": "uint8"
925
+ }
926
+ ],
927
+ "name": "RoundingDustUpdated",
928
+ "type": "event"
929
+ },
930
+ {
931
+ "anonymous": false,
932
+ "inputs": [
933
+ {
934
+ "indexed": false,
935
+ "internalType": "address",
936
+ "name": "account",
937
+ "type": "address"
938
+ }
939
+ ],
940
+ "name": "Unpaused",
941
+ "type": "event"
942
+ },
943
+ {
944
+ "anonymous": false,
945
+ "inputs": [
946
+ {
947
+ "indexed": true,
948
+ "internalType": "address",
949
+ "name": "implementation",
950
+ "type": "address"
951
+ }
952
+ ],
953
+ "name": "Upgraded",
954
+ "type": "event"
955
+ },
956
+ {
957
+ "inputs": [],
958
+ "name": "LIQ_PRETOKEN_PURCHASE_ASSERTION",
959
+ "outputs": [
960
+ {
961
+ "internalType": "uint16",
962
+ "name": "",
963
+ "type": "uint16"
964
+ }
965
+ ],
966
+ "stateMutability": "view",
967
+ "type": "function"
968
+ },
969
+ {
970
+ "inputs": [
971
+ {
972
+ "internalType": "uint16",
973
+ "name": "",
974
+ "type": "uint16"
975
+ },
976
+ {
977
+ "components": [
978
+ {
979
+ "internalType": "bytes",
980
+ "name": "data",
981
+ "type": "bytes"
982
+ }
983
+ ],
984
+ "internalType": "struct iodata.Buffer",
985
+ "name": "",
986
+ "type": "tuple"
987
+ }
988
+ ],
989
+ "name": "OPPAssertionIn",
990
+ "outputs": [],
991
+ "stateMutability": "nonpayable",
992
+ "type": "function"
993
+ },
994
+ {
995
+ "inputs": [],
996
+ "name": "STAKE_ASSERTION",
997
+ "outputs": [
998
+ {
999
+ "internalType": "uint16",
1000
+ "name": "",
1001
+ "type": "uint16"
1002
+ }
1003
+ ],
1004
+ "stateMutability": "view",
1005
+ "type": "function"
1006
+ },
1007
+ {
1008
+ "inputs": [],
1009
+ "name": "UNSTAKE_ASSERTION",
1010
+ "outputs": [
1011
+ {
1012
+ "internalType": "uint16",
1013
+ "name": "",
1014
+ "type": "uint16"
1015
+ }
1016
+ ],
1017
+ "stateMutability": "view",
1018
+ "type": "function"
1019
+ },
1020
+ {
1021
+ "inputs": [],
1022
+ "name": "UPGRADE_INTERFACE_VERSION",
1023
+ "outputs": [
1024
+ {
1025
+ "internalType": "string",
1026
+ "name": "",
1027
+ "type": "string"
1028
+ }
1029
+ ],
1030
+ "stateMutability": "view",
1031
+ "type": "function"
1032
+ },
1033
+ {
1034
+ "inputs": [],
1035
+ "name": "YIELD_PRETOKEN_PURCHASE_ASSERTION",
1036
+ "outputs": [
1037
+ {
1038
+ "internalType": "uint16",
1039
+ "name": "",
1040
+ "type": "uint16"
1041
+ }
1042
+ ],
1043
+ "stateMutability": "view",
1044
+ "type": "function"
1045
+ },
1046
+ {
1047
+ "inputs": [
1048
+ {
1049
+ "internalType": "address",
1050
+ "name": "owner",
1051
+ "type": "address"
1052
+ }
1053
+ ],
1054
+ "name": "__OPPEndpointManaged_init",
1055
+ "outputs": [],
1056
+ "stateMutability": "nonpayable",
1057
+ "type": "function"
1058
+ },
1059
+ {
1060
+ "inputs": [],
1061
+ "name": "authority",
1062
+ "outputs": [
1063
+ {
1064
+ "internalType": "address",
1065
+ "name": "",
1066
+ "type": "address"
1067
+ }
1068
+ ],
1069
+ "stateMutability": "view",
1070
+ "type": "function"
1071
+ },
1072
+ {
1073
+ "inputs": [],
1074
+ "name": "dDay",
1075
+ "outputs": [
1076
+ {
1077
+ "internalType": "bool",
1078
+ "name": "",
1079
+ "type": "bool"
1080
+ }
1081
+ ],
1082
+ "stateMutability": "view",
1083
+ "type": "function"
1084
+ },
1085
+ {
1086
+ "inputs": [],
1087
+ "name": "deployedAt",
1088
+ "outputs": [
1089
+ {
1090
+ "internalType": "uint256",
1091
+ "name": "",
1092
+ "type": "uint256"
1093
+ }
1094
+ ],
1095
+ "stateMutability": "view",
1096
+ "type": "function"
1097
+ },
1098
+ {
1099
+ "inputs": [],
1100
+ "name": "depositAndPurchase",
1101
+ "outputs": [],
1102
+ "stateMutability": "payable",
1103
+ "type": "function"
1104
+ },
1105
+ {
1106
+ "inputs": [],
1107
+ "name": "depositAndStake",
1108
+ "outputs": [],
1109
+ "stateMutability": "payable",
1110
+ "type": "function"
1111
+ },
1112
+ {
1113
+ "inputs": [],
1114
+ "name": "depositManager",
1115
+ "outputs": [
1116
+ {
1117
+ "internalType": "contract IDepositManager",
1118
+ "name": "",
1119
+ "type": "address"
1120
+ }
1121
+ ],
1122
+ "stateMutability": "view",
1123
+ "type": "function"
1124
+ },
1125
+ {
1126
+ "inputs": [],
1127
+ "name": "getSummaryAssertions",
1128
+ "outputs": [
1129
+ {
1130
+ "components": [
1131
+ {
1132
+ "internalType": "uint16",
1133
+ "name": "assertionType",
1134
+ "type": "uint16"
1135
+ },
1136
+ {
1137
+ "internalType": "bytes",
1138
+ "name": "assertion",
1139
+ "type": "bytes"
1140
+ }
1141
+ ],
1142
+ "internalType": "struct OPPAssertion[]",
1143
+ "name": "",
1144
+ "type": "tuple[]"
1145
+ }
1146
+ ],
1147
+ "stateMutability": "nonpayable",
1148
+ "type": "function"
1149
+ },
1150
+ {
1151
+ "inputs": [],
1152
+ "name": "harvestMeasuredYield",
1153
+ "outputs": [],
1154
+ "stateMutability": "nonpayable",
1155
+ "type": "function"
1156
+ },
1157
+ {
1158
+ "inputs": [],
1159
+ "name": "index",
1160
+ "outputs": [
1161
+ {
1162
+ "internalType": "uint256",
1163
+ "name": "",
1164
+ "type": "uint256"
1165
+ }
1166
+ ],
1167
+ "stateMutability": "view",
1168
+ "type": "function"
1169
+ },
1170
+ {
1171
+ "inputs": [
1172
+ {
1173
+ "internalType": "address",
1174
+ "name": "_authority",
1175
+ "type": "address"
1176
+ },
1177
+ {
1178
+ "internalType": "address",
1179
+ "name": "_liqETH",
1180
+ "type": "address"
1181
+ },
1182
+ {
1183
+ "internalType": "address payable",
1184
+ "name": "_pool",
1185
+ "type": "address"
1186
+ },
1187
+ {
1188
+ "internalType": "address",
1189
+ "name": "_pretoken",
1190
+ "type": "address"
1191
+ },
1192
+ {
1193
+ "internalType": "address",
1194
+ "name": "_receipt",
1195
+ "type": "address"
1196
+ }
1197
+ ],
1198
+ "name": "initialize",
1199
+ "outputs": [],
1200
+ "stateMutability": "nonpayable",
1201
+ "type": "function"
1202
+ },
1203
+ {
1204
+ "inputs": [
1205
+ {
1206
+ "internalType": "address",
1207
+ "name": "_depositManager",
1208
+ "type": "address"
1209
+ },
1210
+ {
1211
+ "internalType": "address",
1212
+ "name": "_withdrawalQueue",
1213
+ "type": "address"
1214
+ }
1215
+ ],
1216
+ "name": "initializeV2",
1217
+ "outputs": [],
1218
+ "stateMutability": "nonpayable",
1219
+ "type": "function"
1220
+ },
1221
+ {
1222
+ "inputs": [],
1223
+ "name": "isConsumingScheduledOp",
1224
+ "outputs": [
1225
+ {
1226
+ "internalType": "bytes4",
1227
+ "name": "",
1228
+ "type": "bytes4"
1229
+ }
1230
+ ],
1231
+ "stateMutability": "view",
1232
+ "type": "function"
1233
+ },
1234
+ {
1235
+ "inputs": [],
1236
+ "name": "isRefundActive",
1237
+ "outputs": [
1238
+ {
1239
+ "internalType": "bool",
1240
+ "name": "",
1241
+ "type": "bool"
1242
+ }
1243
+ ],
1244
+ "stateMutability": "view",
1245
+ "type": "function"
1246
+ },
1247
+ {
1248
+ "inputs": [],
1249
+ "name": "lastPoolLiqBalance",
1250
+ "outputs": [
1251
+ {
1252
+ "internalType": "uint256",
1253
+ "name": "",
1254
+ "type": "uint256"
1255
+ }
1256
+ ],
1257
+ "stateMutability": "view",
1258
+ "type": "function"
1259
+ },
1260
+ {
1261
+ "inputs": [],
1262
+ "name": "liqETH",
1263
+ "outputs": [
1264
+ {
1265
+ "internalType": "contract IERC20",
1266
+ "name": "",
1267
+ "type": "address"
1268
+ }
1269
+ ],
1270
+ "stateMutability": "view",
1271
+ "type": "function"
1272
+ },
1273
+ {
1274
+ "inputs": [
1275
+ {
1276
+ "internalType": "address",
1277
+ "name": "",
1278
+ "type": "address"
1279
+ },
1280
+ {
1281
+ "internalType": "address",
1282
+ "name": "",
1283
+ "type": "address"
1284
+ },
1285
+ {
1286
+ "internalType": "uint256",
1287
+ "name": "",
1288
+ "type": "uint256"
1289
+ },
1290
+ {
1291
+ "internalType": "bytes",
1292
+ "name": "",
1293
+ "type": "bytes"
1294
+ }
1295
+ ],
1296
+ "name": "onERC721Received",
1297
+ "outputs": [
1298
+ {
1299
+ "internalType": "bytes4",
1300
+ "name": "",
1301
+ "type": "bytes4"
1302
+ }
1303
+ ],
1304
+ "stateMutability": "pure",
1305
+ "type": "function"
1306
+ },
1307
+ {
1308
+ "inputs": [],
1309
+ "name": "oppAddress",
1310
+ "outputs": [
1311
+ {
1312
+ "internalType": "address",
1313
+ "name": "",
1314
+ "type": "address"
1315
+ }
1316
+ ],
1317
+ "stateMutability": "view",
1318
+ "type": "function"
1319
+ },
1320
+ {
1321
+ "inputs": [],
1322
+ "name": "oppInboundAddress",
1323
+ "outputs": [
1324
+ {
1325
+ "internalType": "address",
1326
+ "name": "",
1327
+ "type": "address"
1328
+ }
1329
+ ],
1330
+ "stateMutability": "view",
1331
+ "type": "function"
1332
+ },
1333
+ {
1334
+ "inputs": [],
1335
+ "name": "paused",
1336
+ "outputs": [
1337
+ {
1338
+ "internalType": "bool",
1339
+ "name": "",
1340
+ "type": "bool"
1341
+ }
1342
+ ],
1343
+ "stateMutability": "view",
1344
+ "type": "function"
1345
+ },
1346
+ {
1347
+ "inputs": [],
1348
+ "name": "pool",
1349
+ "outputs": [
1350
+ {
1351
+ "internalType": "contract PoolV2",
1352
+ "name": "",
1353
+ "type": "address"
1354
+ }
1355
+ ],
1356
+ "stateMutability": "view",
1357
+ "type": "function"
1358
+ },
1359
+ {
1360
+ "inputs": [],
1361
+ "name": "pretoken",
1362
+ "outputs": [
1363
+ {
1364
+ "internalType": "contract IPretoken",
1365
+ "name": "",
1366
+ "type": "address"
1367
+ }
1368
+ ],
1369
+ "stateMutability": "view",
1370
+ "type": "function"
1371
+ },
1372
+ {
1373
+ "inputs": [],
1374
+ "name": "proxiableUUID",
1375
+ "outputs": [
1376
+ {
1377
+ "internalType": "bytes32",
1378
+ "name": "",
1379
+ "type": "bytes32"
1380
+ }
1381
+ ],
1382
+ "stateMutability": "view",
1383
+ "type": "function"
1384
+ },
1385
+ {
1386
+ "inputs": [],
1387
+ "name": "purchasePretokensFromYield",
1388
+ "outputs": [],
1389
+ "stateMutability": "nonpayable",
1390
+ "type": "function"
1391
+ },
1392
+ {
1393
+ "inputs": [
1394
+ {
1395
+ "internalType": "uint256",
1396
+ "name": "amountLiq",
1397
+ "type": "uint256"
1398
+ },
1399
+ {
1400
+ "internalType": "address",
1401
+ "name": "buyer",
1402
+ "type": "address"
1403
+ }
1404
+ ],
1405
+ "name": "purchasePretokensWithLiqETH",
1406
+ "outputs": [],
1407
+ "stateMutability": "nonpayable",
1408
+ "type": "function"
1409
+ },
1410
+ {
1411
+ "inputs": [],
1412
+ "name": "receipt",
1413
+ "outputs": [
1414
+ {
1415
+ "internalType": "contract ReceiptNFT",
1416
+ "name": "",
1417
+ "type": "address"
1418
+ }
1419
+ ],
1420
+ "stateMutability": "view",
1421
+ "type": "function"
1422
+ },
1423
+ {
1424
+ "inputs": [
1425
+ {
1426
+ "internalType": "uint256",
1427
+ "name": "tokenId",
1428
+ "type": "uint256"
1429
+ },
1430
+ {
1431
+ "internalType": "address",
1432
+ "name": "to",
1433
+ "type": "address"
1434
+ }
1435
+ ],
1436
+ "name": "refund",
1437
+ "outputs": [],
1438
+ "stateMutability": "nonpayable",
1439
+ "type": "function"
1440
+ },
1441
+ {
1442
+ "inputs": [],
1443
+ "name": "representedClaimsLiq",
1444
+ "outputs": [
1445
+ {
1446
+ "internalType": "uint256",
1447
+ "name": "",
1448
+ "type": "uint256"
1449
+ }
1450
+ ],
1451
+ "stateMutability": "view",
1452
+ "type": "function"
1453
+ },
1454
+ {
1455
+ "inputs": [],
1456
+ "name": "roundingDustLiq",
1457
+ "outputs": [
1458
+ {
1459
+ "internalType": "uint256",
1460
+ "name": "",
1461
+ "type": "uint256"
1462
+ }
1463
+ ],
1464
+ "stateMutability": "view",
1465
+ "type": "function"
1466
+ },
1467
+ {
1468
+ "inputs": [
1469
+ {
1470
+ "internalType": "address",
1471
+ "name": "newAuthority",
1472
+ "type": "address"
1473
+ }
1474
+ ],
1475
+ "name": "setAuthority",
1476
+ "outputs": [],
1477
+ "stateMutability": "nonpayable",
1478
+ "type": "function"
1479
+ },
1480
+ {
1481
+ "inputs": [
1482
+ {
1483
+ "internalType": "bool",
1484
+ "name": "on",
1485
+ "type": "bool"
1486
+ }
1487
+ ],
1488
+ "name": "setDDay",
1489
+ "outputs": [],
1490
+ "stateMutability": "nonpayable",
1491
+ "type": "function"
1492
+ },
1493
+ {
1494
+ "inputs": [
1495
+ {
1496
+ "internalType": "address",
1497
+ "name": "dm",
1498
+ "type": "address"
1499
+ }
1500
+ ],
1501
+ "name": "setDepositManager",
1502
+ "outputs": [],
1503
+ "stateMutability": "nonpayable",
1504
+ "type": "function"
1505
+ },
1506
+ {
1507
+ "inputs": [
1508
+ {
1509
+ "internalType": "address",
1510
+ "name": "_oppAddress",
1511
+ "type": "address"
1512
+ },
1513
+ {
1514
+ "internalType": "address",
1515
+ "name": "_oppInboundAddress",
1516
+ "type": "address"
1517
+ }
1518
+ ],
1519
+ "name": "setOPPAddresses",
1520
+ "outputs": [],
1521
+ "stateMutability": "nonpayable",
1522
+ "type": "function"
1523
+ },
1524
+ {
1525
+ "inputs": [
1526
+ {
1527
+ "internalType": "address payable",
1528
+ "name": "p",
1529
+ "type": "address"
1530
+ }
1531
+ ],
1532
+ "name": "setPool",
1533
+ "outputs": [],
1534
+ "stateMutability": "nonpayable",
1535
+ "type": "function"
1536
+ },
1537
+ {
1538
+ "inputs": [
1539
+ {
1540
+ "internalType": "address",
1541
+ "name": "t",
1542
+ "type": "address"
1543
+ }
1544
+ ],
1545
+ "name": "setPretoken",
1546
+ "outputs": [],
1547
+ "stateMutability": "nonpayable",
1548
+ "type": "function"
1549
+ },
1550
+ {
1551
+ "inputs": [
1552
+ {
1553
+ "internalType": "address",
1554
+ "name": "r",
1555
+ "type": "address"
1556
+ }
1557
+ ],
1558
+ "name": "setReceipt",
1559
+ "outputs": [],
1560
+ "stateMutability": "nonpayable",
1561
+ "type": "function"
1562
+ },
1563
+ {
1564
+ "inputs": [
1565
+ {
1566
+ "internalType": "address",
1567
+ "name": "wq",
1568
+ "type": "address"
1569
+ }
1570
+ ],
1571
+ "name": "setWithdrawalQueue",
1572
+ "outputs": [],
1573
+ "stateMutability": "nonpayable",
1574
+ "type": "function"
1575
+ },
1576
+ {
1577
+ "inputs": [
1578
+ {
1579
+ "internalType": "address",
1580
+ "name": "",
1581
+ "type": "address"
1582
+ }
1583
+ ],
1584
+ "name": "sharesOf",
1585
+ "outputs": [
1586
+ {
1587
+ "internalType": "uint256",
1588
+ "name": "",
1589
+ "type": "uint256"
1590
+ }
1591
+ ],
1592
+ "stateMutability": "view",
1593
+ "type": "function"
1594
+ },
1595
+ {
1596
+ "inputs": [
1597
+ {
1598
+ "internalType": "uint256",
1599
+ "name": "amountLiq",
1600
+ "type": "uint256"
1601
+ }
1602
+ ],
1603
+ "name": "stakeLiqETH",
1604
+ "outputs": [],
1605
+ "stateMutability": "nonpayable",
1606
+ "type": "function"
1607
+ },
1608
+ {
1609
+ "inputs": [],
1610
+ "name": "sweepLiqETHDust",
1611
+ "outputs": [],
1612
+ "stateMutability": "nonpayable",
1613
+ "type": "function"
1614
+ },
1615
+ {
1616
+ "inputs": [],
1617
+ "name": "totalShares",
1618
+ "outputs": [
1619
+ {
1620
+ "internalType": "uint256",
1621
+ "name": "",
1622
+ "type": "uint256"
1623
+ }
1624
+ ],
1625
+ "stateMutability": "view",
1626
+ "type": "function"
1627
+ },
1628
+ {
1629
+ "inputs": [
1630
+ {
1631
+ "internalType": "uint256",
1632
+ "name": "tokenId",
1633
+ "type": "uint256"
1634
+ }
1635
+ ],
1636
+ "name": "unstakeAndRequestWithdraw",
1637
+ "outputs": [],
1638
+ "stateMutability": "nonpayable",
1639
+ "type": "function"
1640
+ },
1641
+ {
1642
+ "inputs": [
1643
+ {
1644
+ "internalType": "address",
1645
+ "name": "newImplementation",
1646
+ "type": "address"
1647
+ },
1648
+ {
1649
+ "internalType": "bytes",
1650
+ "name": "data",
1651
+ "type": "bytes"
1652
+ }
1653
+ ],
1654
+ "name": "upgradeToAndCall",
1655
+ "outputs": [],
1656
+ "stateMutability": "payable",
1657
+ "type": "function"
1658
+ },
1659
+ {
1660
+ "inputs": [],
1661
+ "name": "version",
1662
+ "outputs": [
1663
+ {
1664
+ "internalType": "string",
1665
+ "name": "",
1666
+ "type": "string"
1667
+ }
1668
+ ],
1669
+ "stateMutability": "pure",
1670
+ "type": "function"
1671
+ },
1672
+ {
1673
+ "inputs": [
1674
+ {
1675
+ "internalType": "uint256",
1676
+ "name": "tokenId",
1677
+ "type": "uint256"
1678
+ },
1679
+ {
1680
+ "internalType": "address",
1681
+ "name": "to",
1682
+ "type": "address"
1683
+ }
1684
+ ],
1685
+ "name": "withdrawStake",
1686
+ "outputs": [],
1687
+ "stateMutability": "nonpayable",
1688
+ "type": "function"
1689
+ },
1690
+ {
1691
+ "inputs": [],
1692
+ "name": "withdrawalQueue",
1693
+ "outputs": [
1694
+ {
1695
+ "internalType": "contract IERC721Enumerable",
1696
+ "name": "",
1697
+ "type": "address"
1698
+ }
1699
+ ],
1700
+ "stateMutability": "view",
1701
+ "type": "function"
1702
+ },
1703
+ {
1704
+ "inputs": [],
1705
+ "name": "yieldAccumulatedLiq",
1706
+ "outputs": [
1707
+ {
1708
+ "internalType": "uint256",
1709
+ "name": "",
1710
+ "type": "uint256"
1711
+ }
1712
+ ],
1713
+ "stateMutability": "view",
1714
+ "type": "function"
1715
+ },
1716
+ {
1717
+ "inputs": [],
1718
+ "name": "yieldNetLiq",
1719
+ "outputs": [
1720
+ {
1721
+ "internalType": "int256",
1722
+ "name": "",
1723
+ "type": "int256"
1724
+ }
1725
+ ],
1726
+ "stateMutability": "view",
1727
+ "type": "function"
1728
+ },
1729
+ {
1730
+ "inputs": [],
1731
+ "name": "yieldNetLiqAtLastPurchase",
1732
+ "outputs": [
1733
+ {
1734
+ "internalType": "int256",
1735
+ "name": "",
1736
+ "type": "int256"
1737
+ }
1738
+ ],
1739
+ "stateMutability": "view",
1740
+ "type": "function"
1741
+ }
1742
+ ],
1743
+ "bytecode": "0x60a08060405234602957306080526144dc908161002f82396080518181816120ec015261426a0152f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c908163076486d414612cc7575080630840ba7214612be65780630cf2bef114612b265780631459457a1461273e578063150b7a02146126d457806316f0115b146126ab578063187167c414612606578063228d71a914612570578063267f39ab1461254b5780632986c0e51461252d5780632fc459df146125105780633016b53a146124d957806337d5fe99146124b05780633a98ef39146124925780634410feb0146124755780634437152a146123bb5780634dc530ff146123265780634f1ef2861461215657806352d1902d146120d95780635337e6701461207057806353be9fc11461202e57806354001c4614611ffb57806354fd4d5014611fb857806355d4aa8a14611f915780635c975abb14611f4f578063652d84da14611f3157806366519bd614611e82578063676a63001461197757806369d4a3621461155c5780636a2378d91461153e5780636c7ac9d8146115155780636e1adbd3146114f8578063712c2782146114725780637a9e5e4b146113f25780637ad226dc146111f0578063801f5d651461111d5780638c1f15f5146110e35780638fb3603714611090578063952c050b14610f59578063ad3cb1cc14610f0f578063b412ca7214610637578063b7f89c12146105be578063b9934526146105a0578063bf7e214f1461056a578063bfa7b23914610547578063c360b5e914610424578063ca34df47146103ee578063cde78421146103a6578063d638913514610388578063e1e6b8981461035f578063e68507f31461031d578063eae4c19f146102ff578063ee5dbb84146102e2578063f5eb42dc146102a95763f876db8f1461027e57600080fd5b346102a657806003193601126102a6576002546040516001600160a01b039091168152602090f35b80fd5b50346102a65760203660031901126102a6576020906040906001600160a01b036102d1612ce3565b168152600683522054604051908152f35b50346102a657806003193601126102a6576020604051610bbc8152f35b50346102a657806003193601126102a6576020600c54604051908152f35b50346102a65760203660031901126102a657610337612ce3565b61034136336138a0565b60018060a01b03166001600160601b0360a01b600354161760035580f35b50346102a657806003193601126102a6576003546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a6576020600d54604051908152f35b50346102a657806003193601126102a6577f706675a12eeff0661731f01589a945c9c5e9663916191034a16d20b6fcc93dd9546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a657600080516020614447833981519152546040516001600160a01b039091168152602090f35b50346102a65760203660031901126102a65761043e612ce3565b60008051602061448783398151915290815460ff8160401c1615916001600160401b0382168015908161053f575b6001149081610535575b15908161052c575b5061051a5767ffffffffffffffff19821660011784556104b491836104fb575b506104a76141d5565b6104af6141d5565b613edc565b6104bc6141d5565b6104c46141d5565b6104cc6141d5565b6104d4575080f35b60ff60401b1981541690556000805160206143e7833981519152602060405160018152a180f35b68ffffffffffffffffff1916680100000000000000011784553861049e565b60405163f92ee8a960e01b8152600490fd5b9050153861047e565b303b159150610476565b84915061046c565b50346102a657806003193601126102a657602060ff600754166040519015158152f35b50346102a657806003193601126102a6576000805160206143c7833981519152546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a6576020600954604051908152f35b50346102a6576003196040368201126106335760043561ffff81160361063357602435906001600160401b039081831161062b57602090833603011261062f576040519161060b83612d80565b806004013591821161062b5760046106269236920101612e0d565b905280f35b8380fd5b8280fd5b5080fd5b50346102a65760203660031901126102a65760043590610655612eb0565b610efd5760ff60075416610eeb5761066b612f90565b610673612fcd565b60008051602061444783398151915280546001600160a01b03168015610dec575a90803b1561062b576040516327e935a160e01b815260048101839052602495908581888183875af18015610bbf57908691610ed3575b50506106d4613016565b60035460405163b63e6ac360e01b81526004810183905291906001600160a01b031660c0838981845afa928315610e39578793610ea2575b5060808301516002811015610e8f57610e775782516001600160a01b0316338103610e445750803b15610e12578680918960405180948193630852cd8d60e31b83528760048401525af18015610e3957908791610e25575b505060406020830151920161077c8151600454612f83565b6004558051338852600660205261079860408920918254612f83565b90556001546001600160a01b0316803b15610e2157604051635e588b6f60e01b8152306004820152602481018590529088908290604490829084905af18015610e1657908891610dfe575b505051600554955460008051602061442783398151915280549097916001600160a01b03168015610dec576020600491604051928380926372277dad60e11b82525afa908115610d41578a91610dbd575b5015610dab57600190811b178755604051635ca2159160e11b815290888260048173__$871508ae888325252fdba23f15f3f16064$__5af4918215610d1c578992610d8d575b506108b391928973__$46bbbc6398365a8909166570292cf8d34e$__9460405180958192631f21838760e01b8352339060048401613e8a565b0381875af4928315610d41578a93610d71575b506040518a81806108e68a63fb70775b60e01b9889845260048401613eb9565b0381885af4908115610d6657918b91610915938391610d4c575b50604051938492839288845260048401613eb9565b0381875af4908115610d4157918a9161094594938391610d27575b50604051948592839286845260048401613eb9565b0381865af4918215610d1c579189939161097795938592610d00575b5060405195869485938493845260048401613eb9565b03915af4908115610bbf5790610994918791610cde575b506142cc565b835493600180861614610ccc57869460011c9055602060018060a01b03600f5416604051978880926370a0823160e01b82523060048301525afa958615610b74578596610c97575b508454604051629f15d760e81b815230600482015260248101929092526020908290604490829089906001600160a01b03165af18015610b7457610c6c575b50600f546040516370a0823160e01b81523060048201526001600160a01b039091169560208286818a5afa918215610bbf578692610c38575b5060018101809111610c25578103610bdd576000198101908111610bca57604051632f745c5960e01b815230600482015260248101919091529394859490602082604481845afa918215610bbf578692610b83575b50803b15610b7f57604051632142170760e11b8152306004820152336024820152604481019290925285908290606490829084905af1908115610b74578591610b60575b5050610af76137e0565b803b15610b5b5783928392604051948593849263f5786b4b60e01b845260048401525af18015610b5057610b3c575b5060016000805160206144678339815191525580f35b610b4590612d57565b6102a6578038610b26565b6040513d84823e3d90fd5b505050fd5b610b6990612d57565b610b5b578338610aed565b6040513d87823e3d90fd5b8580fd5b955090506020853d602011610bb7575b81610ba060209383612dd1565b81010312610bb2578594519038610aa9565b600080fd5b3d9150610b93565b6040513d88823e3d90fd5b634e487b7160e01b855260116004528385fd5b60405160016245d25360e11b0319815260206004820152601b818601527f5769746864726177616c5175657565206d696e74206661696c656400000000006044820152606490fd5b634e487b7160e01b865260116004528486fd5b9091506020813d602011610c64575b81610c5460209383612dd1565b81010312610bb257519038610a54565b3d9150610c47565b602090813d8311610c90575b610c828183612dd1565b81010312610bb25738610a1b565b503d610c78565b9095506020813d602011610cc4575b81610cb360209383612dd1565b81010312610bb257519460206109dc565b3d9150610ca6565b6040516383db270d60e01b8152600490fd5b610cfa91503d8089833e610cf28183612dd1565b810190613e03565b3861098e565b610d159192503d8087833e610cf28183612dd1565b9038610961565b6040513d8b823e3d90fd5b610d3b91503d8085833e610cf28183612dd1565b38610930565b6040513d8c823e3d90fd5b610d6091503d8085833e610cf28183612dd1565b38610900565b6040513d8d823e3d90fd5b610d869193503d808c833e610cf28183612dd1565b91386108c6565b6108b39250610da5903d808c833e610cf28183612dd1565b9161087a565b60405163738c481160e01b8152600490fd5b610ddf915060203d602011610de5575b610dd78183612dd1565b810190613deb565b38610834565b503d610dcd565b604051632ea0fec960e11b8152600490fd5b610e0790612d57565b610e125786386107e3565b8680fd5b6040513d8a823e3d90fd5b8780fd5b610e2e90612d57565b610b7f578538610764565b6040513d89823e3d90fd5b6040516309d52fcf60e31b815260048101939093526001600160a01b0316602483015250336044820152606490fd5b0390fd5b604051636d56c1b960e01b8152600481018390528890fd5b634e487b7160e01b885260216004528888fd5b610ec591935060c03d60c011610ecc575b610ebd8183612dd1565b810190612f08565b913861070c565b503d610eb3565b610edc90612d57565b610ee75784386106ca565b8480fd5b60405163e9e4ed5f60e01b8152600490fd5b604051633ea5037760e11b8152600490fd5b50346102a657806003193601126102a657610f55604051610f2f81612db6565b60058152640352e302e360dc1b6020820152604051918291602083526020830190612d32565b0390f35b50346102a65760403660031901126102a657600435610f76612cf9565b90610f7f612eb0565b610efd57610f8b612f90565b610f93612fcd565b600080516020614447833981519152546001600160a01b0390811691908215610dec575a91833b15610b7f57856040516327e935a160e01b81528460048201528181602481838a5af18015610b505761107c575b5050610ff1613016565b801561106a5785946110128284611018958954169060015416903390613f35565b33613333565b6110206137e0565b813b1561106657829160248392604051948593849263f5786b4b60e01b845260048401525af18015610b5057610b3c575060016000805160206144678339815191525580f35b5050fd5b604051634143610760e01b8152600490fd5b61108590612d57565b610b7f578538610fe7565b50346102a657806003193601126102a6576000805160206143c78339815191525460a01c60ff16156110db57506020638fb3603760e01b5b6040516001600160e01b03199091168152f35b6020906110c8565b50346102a65760203660031901126102a6576004358015158091036106335761110c36336138a0565b60ff80196007541691161760075580f35b50346102a65760203660031901126102a65760043560ff60075416610eeb57611144612eb0565b610efd57611150612f90565b611158612fcd565b600080516020614447833981519152546001600160a01b03908116908115610dec575a90823b15610ee757846040516327e935a160e01b8152836004820152818160248183895af18015610b50576111dc575b50506111b5613016565b831561106a57836111d6869583611018948854169060015416903390613f35565b33613a1c565b6111e590612d57565b610ee75784386111ab565b50346102a65760403660031901126102a6576004359061120e612cf9565b611216612eb0565b156113e057611223612fcd565b61122b613016565b60035460405163b63e6ac360e01b8152600481018590526001600160a01b039291831660c082602481845afa918215610b745785926113bf575b508382511633810361138f57508495813b15610b7f578591602483926040519485938492630852cd8d60e31b845260048401525af1908115610b7457859161137b575b505060400191676765c793fa10079d601b1b6112c8845160055490612ed5565b04926112d78151600454612f83565b6004555133855260066020526112f260408620918254612f83565b905582611318575b836113036137e0565b60016000805160206144678339815191525580f35b6001541691823b15610b5b57604051635e588b6f60e01b81526001600160a01b0392909216600483015260248201529082908290604490829084905af18015610b5057611367575b80806112fa565b61137090612d57565b6102a6578038611360565b61138490612d57565b610b5b5783386112a8565b6040516309d52fcf60e31b8152600481018890526001600160a01b03919091166024820152336044820152606490fd5b6113d991925060c03d60c011610ecc57610ebd8183612dd1565b9038611265565b604051630220973960e51b8152600490fd5b50346102a65760203660031901126102a65761140c612ce3565b6000805160206143c7833981519152546001600160a01b03908116330361145b57813b15611441575061143e90613edc565b80f35b6040516361798f2f60e11b81529116600482015260249150fd5b60405162d1953b60e31b8152336004820152602490fd5b50346102a65760403660031901126102a65761148c612ce3565b611494612cf9565b9061149f36336138a0565b60018060a01b036001600160601b0360a01b91816000805160206144478339815191529116838254161790557f706675a12eeff0661731f01589a945c9c5e9663916191034a16d20b6fcc93dd992169082541617905580f35b50346102a657806003193601126102a6576020604051610bba8152f35b50346102a657806003193601126102a657600e546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a6576020600a54604051908152f35b50346102a657806003193601126102a657611575612f90565b61157d612eb0565b610efd57611589612fcd565b60008051602061444783398151915280546001600160a01b039081168015610dec575a813b15610ee757846040516327e935a160e01b8152826004820152818160248183885af18015610b5057611963575b50506115e5613016565b600954938415611951578584600254166001968688541690823b1561062b576040516346f4991160e11b81526001600160a01b0392909216600483015260248201529082908290604490829084905af18015610b505761193d575b5050600a54600b558385541693600954916005548282541690600080516020614427833981519152978854928015610dec576020600491604051928380926372277dad60e11b82525afa908115611932578c91611913575b5015610dab57898b93811b178955604051635ca2159160e11b8152838160048173__$871508ae888325252fdba23f15f3f16064$__5af49081156118ce57849081926118f5575b50604051631f21838760e01b815273__$46bbbc6398365a8909166570292cf8d34e$__93909283918291611717919060048401613e8a565b0381855af49081156118ce5761174d97859182936118d9575b506040518099819263fb70775b60e01b9586845260048401613eb9565b0381855af49081156118ce5761177a9785926118b2575b5060405197889485938493845260048401613eb9565b03915af4928315610e16578893611896575b5085548781161561187e576001191686555416803b15610bb2576117e36000929183926040519485809481936327710fa960e11b8352610bbe60048401526040602484015251602060448401526064830190612d32565b03925af1801561187257611863575b508254928480851614610ccc578593851c905582600955813b1561062f57829160248392604051948593849263f5786b4b60e01b845260048401525af18015610b505761184f575b50506000805160206144678339815191525580f35b61185890612d57565b61063357813861183a565b61186c90612d57565b386117f2565b6040513d6000823e3d90fd5b60249060405190633b48047760e01b82526004820152fd5b6118ab9193503d808a833e610cf28183612dd1565b913861178c565b6118c79192503d8087833e610cf28183612dd1565b9038611764565b6040513d86823e3d90fd5b6118ee9193503d8084833e610cf28183612dd1565b9138611730565b611717925061190d903d8084833e610cf28183612dd1565b916116df565b61192c915060203d602011610de557610dd78183612dd1565b38611698565b6040513d8e823e3d90fd5b61194690612d57565b610b7f578538611640565b60405163053716d160e01b8152600490fd5b61196c90612d57565b610ee75784386115db565b50346102a65760403660031901126102a657600435611994612cf9565b9061199d612eb0565b610efd5760ff60075416610eeb576119b3612f90565b6119bb612fcd565b60008051602061444783398151915280546001600160a01b03919082168015610dec575a91813b15610e1257604051936327e935a160e01b8552836004860152876024958181888183895af18015610b5057611e6e575b5050611a1c613016565b60035460405163b63e6ac360e01b8152600481018890529690821660c0888881845afa978815610d41578a98611e4d575b5060808801516002811015611e3a57611e225782885116338103610e445750808a913b15610633578180918960405180948193630852cd8d60e31b83528860048401525af18015610b5057611e0a575b505060408701966020676765c793fa10079d601b1b611ac08a5160055490612ed5565b04910151808210600014611e025750965b611ade8151600454612f83565b6004558051338b526006602052611afa60408c20918254612f83565b905589600199848b5416803b1561062f57604051635e588b6f60e01b81526001600160a01b03929092166004830152602482018b905282908290604490829084905af18015610b5057611dea575b5050519160055493541691600080516020614427833981519152978854938015610dec576020600491604051928380926372277dad60e11b82525afa908115611932578c91611dcb575b5015610dab57898b94811b17895560405191635ca2159160e11b8352848360048173__$871508ae888325252fdba23f15f3f16064$__5af4928315610b74578593611daf575b50611c0f8573__$46bbbc6398365a8909166570292cf8d34e$__9460405180938192631f21838760e01b8352339060048401613e8a565b0381875af4928315610bbf5786918294611d8d575b5090611c46916040518093819263fb70775b60e01b9788845260048401613eb9565b0381875af4918215610bbf57611c749287928391611d73575b50604051938492839287845260048401613eb9565b0381865af4958615610b7457611ca29686928391611d59575b50604051978892839286845260048401613eb9565b0381855af49081156118ce57611cce958592610d00575060405195869485938493845260048401613eb9565b03915af48015610e3957611ce8918891611d4557506142cc565b8354938580861614610ccc578694861c9055611d026137e0565b803b1561062b5783928392604051948593849263f5786b4b60e01b845260048401525af18015610b505761184f5750506000805160206144678339815191525580f35b610cfa91503d808a833e610cf28183612dd1565b611d6d91503d8085833e610cf28183612dd1565b38611c8d565b611d8791503d8085833e610cf28183612dd1565b38611c5f565b611c4692919450611da7903d8084833e610cf28183612dd1565b939091611c24565b611dc49193503d8087833e610cf28183612dd1565b9138611bd8565b611de4915060203d602011610de557610dd78183612dd1565b38611b92565b611df390612d57565b611dfe578938611b48565b8980fd5b905096611ad1565b611e1390612d57565b611e1e578838611a9d565b8880fd5b604051636d56c1b960e01b8152600481018390528790fd5b634e487b7160e01b8b526021600452878bfd5b611e6791985060c03d60c011610ecc57610ebd8183612dd1565b9638611a4d565b611e7790612d57565b610e21578738611a12565b50806003193601126102a65760ff60075416610eeb57611ea0612eb0565b610efd57611eac612f90565b611eb4612fcd565b600080516020614447833981519152546001600160a01b03168015610dec5781905a813b15611066576040516327e935a160e01b815260048101829052838160248183875af19081156118ce578491611f1d575b5050611f12613016565b6110186111d6613157565b611f2690612d57565b611066578238611f08565b50346102a657806003193601126102a6576020600854604051908152f35b50346102a657806003193601126102a657602060ff7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330054166040519015158152f35b50346102a657806003193601126102a657546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a657610f55604051611fd881612db6565b60028152613b1960f11b6020820152604051918291602083526020830190612d32565b50346102a657806003193601126102a657612014612f90565b61201c612fcd565b61202636336138a0565b611303613016565b50346102a65760203660031901126102a657612048612ce3565b61205236336138a0565b60018060a01b03166001600160601b0360a01b600254161760025580f35b50346102a65760203660031901126102a65761208a612ce3565b61209436336138a0565b6001600160a01b0381169081156120bc57506001600160601b0360a01b600f541617600f5580f35b604051632215fb1f60e11b8152908190610e739060048301612e54565b50346102a657806003193601126102a6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036121445760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b60405163703e46dd60e11b8152600490fd5b5060403660031901126102a65761216b612ce3565b6024356001600160401b03811161062f5761218a903690600401612e0d565b612192614260565b61219c36336138a0565b6121a4614260565b6040516352d1902d60e01b81526001600160a01b038316926020918281600481885afa8691816122f7575b506121ed57604051634c9c8ce360e01b815260048101869052602490fd5b9385947f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc908181036122df5750823b156122c65780546001600160a01b0319168217905560405185917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8380a28451156122a9575080848461229c96519101845af4903d156122a0573d61228081612df2565b9061228e6040519283612dd1565b81528581943d92013e614363565b5080f35b60609250614363565b9350505050346122b7575080f35b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101839052602490fd5b60249060405190632a87526960e21b82526004820152fd5b9091508381813d831161231f575b61230f8183612dd1565b81010312610e12575190386121cf565b503d612305565b50346102a657806003193601126102a6576040519061234482612d80565b80825260209160405191838301848452825180915260408401948060408360051b870101940192955b82871061237a5785850386f35b9091929382806123ab600193603f198a82030186526040838a5161ffff815116845201519181858201520190612d32565b960192019601959291909261236d565b50346102a65760203660031901126102a6576123d5612ce3565b6123df36336138a0565b6123e7613016565b600180546001600160a01b039283166001600160a01b03198216811790925583546040516370a0823160e01b815291851690921760048201529160209183916024918391165afa908115610b50578291612443575b5060085580f35b90506020813d60201161246d575b8161245e60209383612dd1565b81010312610bb257513861243c565b3d9150612451565b50346102a657806003193601126102a6576020604051610bb98152f35b50346102a657806003193601126102a6576020600454604051908152f35b50346102a657806003193601126102a657600f546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a6576020676765c793fa10079d601b1b61250760045460055490612ed5565b04604051908152f35b50346102a657806003193601126102a6576020604051610bbe8152f35b50346102a657806003193601126102a6576020600554604051908152f35b50346102a657806003193601126102a6576020612566612eb0565b6040519015158152f35b50346102a65760203660031901126102a65761258a612ce3565b61259436336138a0565b6001600160a01b0381169081156125bc57506001600160601b0360a01b600e541617600e5580f35b60408051632215fb1f60e11b81526004810191909152600e60448201526d2232b837b9b4ba26b0b730b3b2b960911b60648201526001600160a01b03919091166024820152608490fd5b50346102a657806003193601126102a65761261f612fcd565b612627613016565b80546040516370a0823160e01b81523060048201526001600160a01b03918216602082602481845afa9182156118ce578492612677575b50811561106a576120269284600d556001541690613858565b9091506020813d6020116126a3575b8161269360209383612dd1565b81010312610bb25751903861265e565b3d9150612686565b50346102a657806003193601126102a6576001546040516001600160a01b039091168152602090f35b50346102a65760803660031901126102a6576126ee612ce3565b506126f7612cf9565b506064356001600160401b0380821161062f573660238301121561062f57816004013590811161062f57369101602401116102a657604051630a85bd0160e11b8152602090f35b50346102a65760a03660031901126102a657612758612ce3565b612760612cf9565b6001600160a01b039060443582811690819003610bb257606435838116809103610bb257608435848116809103610bb2576000805160206144878339815191529485549460ff8660401c1615956001600160401b0390818116998a1580612b1f575b6001809c149081612b15575b159081612b0c575b5061051a5767ffffffffffffffff198281168c178b559189612aed575b506127fc6141d5565b895460ff8160401c16159381168c81159182612ae5575b149081612adb575b159081612ad2575b5061051a57838c612840948316178c55612ab357506104a76141d5565b6128486141d5565b6128506141d5565b6128586141d5565b612a8b575b6128656141d5565b61286d6141d5565b6128756141d5565b876000805160206144678339815191525561288e6141d5565b6128966141d5565b16908115612a56578315612a235782156129ec5780156129b3576020928892836024938154906001600160601b0360a01b848184161784558c54958d8b8389161790558160025416176002556003541617600355676765c793fa10079d601b1b60055560405197889687956370a0823160e01b87521617600485015216175afa908115610b74578591612981575b5060085542600c556129346141d5565b600160801b60008051602061442783398151915255612951578280f35b805468ff0000000000000000191690556040519081526000805160206143e783398151915290602090a138808280f35b90506020813d6020116129ab575b8161299c60209383612dd1565b81010312610bb2575138612924565b3d915061298f565b60849060405190632215fb1f60e11b825260406004830152600a604483015269149958d95a5c1d13919560b21b60648301526024820152fd5b60848360405190632215fb1f60e11b8252604060048301526008604483015267283932ba37b5b2b760c11b60648301526024820152fd5b60848460405190632215fb1f60e11b8252604060048301526004604483015263141bdbdb60e21b60648301526024820152fd5b60848260405190632215fb1f60e11b82526040600483015260066044830152650d8d2e28aa8960d31b60648301526024820152fd5b60ff60401b1987541687556000805160206143e783398151915260206040518a8152a161285d565b68ffffffffffffffffff191668010000000000000001178a553861049e565b90501538612823565b303b15915061281b565b869250612813565b68ffffffffffffffffff191668010000000000000001178a55386127f3565b905015386127d6565b303b1591506127ce565b50886127c2565b50806003193601126102a65760ff60075416610eeb57612b44612eb0565b610efd57612b50612f90565b612b58612fcd565b600080516020614447833981519152546001600160a01b0316908115610dec575a91803b15610633576040516327e935a160e01b81526004810184905292828460248183865af18015612bdb57612bc7575b829350612bb5613016565b611018612bc0613157565b3333613333565b919092612bd390612d57565b908290612baa565b6040513d85823e3d90fd5b50346102a65760403660031901126102a657612c00612ce3565b90612c09612cf9565b916000805160206144878339815191529081549060ff8260401c168015612cb3575b61051a576001600160a01b038181169182156125bc57508516908115612c985790600292916001600160601b0360a01b9081600e541617600e55600f541617600f5568ffffffffffffffffff19161790556000805160206143e7833981519152602060405160028152a180f35b604051632215fb1f60e11b815280610e738860048301612e54565b5060026001600160401b0383161015612c2b565b905034610633578160031936011261063357602090600b548152f35b600435906001600160a01b0382168203610bb257565b602435906001600160a01b0382168203610bb257565b60005b838110612d225750506000910152565b8181015183820152602001612d12565b90602091612d4b81518092818552858086019101612d0f565b601f01601f1916010190565b6001600160401b038111612d6a57604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b03821117612d6a57604052565b60c081019081106001600160401b03821117612d6a57604052565b604081019081106001600160401b03821117612d6a57604052565b90601f801991011681019081106001600160401b03821117612d6a57604052565b6001600160401b038111612d6a57601f01601f191660200190565b81601f82011215610bb257803590612e2482612df2565b92612e326040519485612dd1565b82845260208383010111610bb257816000926020809301838601378301015290565b6040808252600f908201526e5769746864726177616c517565756560881b60608201526001600160a01b03909116602082015260800190565b91908201809211612e9a57565b634e487b7160e01b600052601160045260246000fd5b60ff60075416612ed057600c54629e34008101809111612e9a5742101590565b600090565b81810292918115918404141715612e9a57565b8115612ef2570490565b634e487b7160e01b600052601260045260246000fd5b908160c0910312610bb25760405190612f2082612d9b565b80516001600160a01b0381168103610bb25782526020810151602083015260408101516040830152606081015160608301526080810151906002821015610bb25760a091608084015201516001600160401b0381168103610bb25760a082015290565b91908203918211612e9a57565b60ff7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005416612fbb57565b60405163d93c066560e01b8152600490fd5b6000805160206144678339815191526002815414612feb5760029055565b604051633ee5aeb560e01b8152600490fd5b81810392916000138015828513169184121617612e9a57565b600080546001546040516370a0823160e01b81526001600160a01b039182166004820152929160209184916024918391165afa91821561314a578192613116575b50600854808311156130db575061308161307360085484612f83565b61307c8161400d565b613fe4565b600a548282820192831291129080158216911516176130c757600a555b6130ad600a54600b5490612ffd565b90808213156130c057505b600955600855565b90506130b8565b634e487b7160e01b82526011600452602482fd5b828181106130eb575b505061309e565b6130fb6131049161310c93612f83565b61307c81613f77565b600a54612ffd565b600a5538826130e4565b9091506020813d602011613142575b8161313260209383612dd1565b8101031261063357519038613057565b3d9150613125565b50604051903d90823e3d90fd5b600090341561106a5760018060a01b0380835416926040938451806370a0823160e01b9283825230600483015281602460209384935afa91821561326457849261328b575b5084600e5416803b15610ee75784600491895192838092630d0e30db60e41b825234905af180156132815761326e575b50808585541693602489518096819382523060048301525afa908115613264578491613234575b506131fe9250612f83565b938415613224575081613222928592613215613016565b5416906001541690613858565b565b51634143610760e01b8152600490fd5b905082813d831161325d575b61324a8183612dd1565b81010312610bb2576131fe9151386131f3565b503d613240565b87513d86823e3d90fd5b61327a90949194612d57565b92386131cc565b88513d87823e3d90fd5b9080925081813d83116132b3575b6132a38183612dd1565b8101031261062b5751903861319c565b503d613299565b90929160e082019360018060a01b0380911683528151166020830152602081015160408301526040810151606083015260608101516080830152608081015190600282101561331d5760a06001600160401b039160c09382860152015116910152565b634e487b7160e01b600052602160045260246000fd5b919061333e82614069565b60009080156137ce57613369676765c793fa10079d601b1b61336260055484612ed5565b0485614095565b600491613377828454612e8d565b835560018060a01b03808516958683526020936006855260409788852061339f838254612e8d565b90558360025416803b15610b7f5789516346f4991160e11b81526001600160a01b038a16818a01908152602081018690529091879183919082908490829060400103925af180156137c457908792916137ad575b5090613449916005548b519161340883612d9b565b82528583830152848c83015260608201528a60019a8b60808401528860a0840152888b89600354169351968795869485936203b44d60e11b855284016132ba565b03925af180156137a35790869161377a575b50506005549060008051602061444783398151915292848454169a6000805160206144278339815191529b8c5490801561376a57898b918e51928380926372277dad60e11b82525afa908115613760578991613743575b5015613733578a1b8a178c558a51635ca2159160e11b815287818b8173__$871508ae888325252fdba23f15f3f16064$__5af49081156136f3578c9493929189918291613719575b508b61352c73__$46bbbc6398365a8909166570292cf8d34e$__97519485938493631f21838760e01b85528401613e8a565b0381875af49081156136f3578a92613562928e8b9384926136fd575b5051938492839263fb70775b60e01b978885528401613eb9565b0381875af49081156136f357908a8d8a9384936136d3575b5061358f905195869384938785528401613eb9565b0381865af49182156136c957918793916135bf959385926136ad575b508c519586948593849384528d8401613eb9565b03915af49384156136a2578094613685575b505087548681161561366f57600119168855541691823b15610bb257613625926000928388518096819582946327710fa960e11b8452610bbc8b8501528c6024850152519060448401526064830190612d32565b03925af1801561366457613655575b5083549282808516146136485750501c9055565b516383db270d60e01b8152fd5b61365e90612d57565b38613634565b84513d6000823e3d90fd5b85602491895191633b48047760e01b8352820152fd5b61369a9294503d8091833e610cf28183612dd1565b9138806135d1565b8851903d90823e3d90fd5b6136c29192503d8087833e610cf28183612dd1565b90386135ab565b8b513d89823e3d90fd5b61358f9193506136ec903d8087833e610cf28183612dd1565b929061357a565b8c513d8a823e3d90fd5b6137129192503d8086833e610cf28183612dd1565b9038613548565b61372d91503d8084833e610cf28183612dd1565b386134fa565b8b5163738c481160e01b81528a90fd5b61375a91508a3d8c11610de557610dd78183612dd1565b386134b2565b8d513d8b823e3d90fd5b8c51632ea0fec960e11b81528b90fd5b813d831161379c575b61378d8183612dd1565b81010312610bb257843861345b565b503d613783565b89513d87823e3d90fd5b956137bc613449939297612d57565b9590916133f3565b8a513d88823e3d90fd5b60405163049b0aaf60e11b8152600490fd5b6000546001546040516370a0823160e01b81526001600160a01b0391821660048201529160209183916024918391165afa90811561187257600091613826575b50600855565b90506020813d602011613850575b8161384160209383612dd1565b81010312610bb2575138613820565b3d9150613834565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448201929092526132229161389b82606481015b03601f198101845283612dd1565b614204565b6000805160206143c78339815191528054909290916001600160a01b038084169260048110610bb257600080604094855194602086019163b700961360e01b8352169485602482015230604482015263ffffffff60e01b84351660648201526064815260a081018181106001600160401b03821117613a085791849188938452828052826020525190895afa6139f7575b15613940575b50505050505050565b63ffffffff16156139e15760ff60a01b19948516600160a01b178655833b15610bb257606493600092838551968780958194634a63ebf760e11b835260048301528860248301528060448301528084848401378181018301849052601f01601f191681010301925af19081156139d757506139c8575b50815416905538808080808080613937565b6139d190612d57565b386139b6565b513d6000823e3d90fd5b50602491519062d1953b60e31b82526004820152fd5b50516020518060201c150290613931565b634e487b7160e01b85526041600452602485fd5b90613a2681614069565b9081156137ce57613a4f676765c793fa10079d601b1b613a4860055485612ed5565b04826140e5565b6004613a5c838254612e8d565b815560018060a01b038085169360009185835260209160068352613ada83604098898720613a8b858254612e8d565b90556005548a5191613a9c83612d9b565b82528983830152848b83015260608201528660808201528660a082015284600354168b888a8d51968795869485936203b44d60e11b855284016132ba565b03925af1801561328157908491613dc2575b50506005546000805160206144478339815191529183835416976000805160206144278339815191529a8b54998015613db257878a918d51928380926372277dad60e11b82525afa908115613d61578991613d95575b5015613d85576001998a1b8a178c558a51635ca2159160e11b815288818b8173__$871508ae888325252fdba23f15f3f16064$__5af4908115613d61578c949392918a918291613d6b575b508b613bbf73__$46bbbc6398365a8909166570292cf8d34e$__97519485938493631f21838760e01b85528401613e8a565b0381875af4908115613d61578a92613bf4928e8c9384926136fd575051938492839263fb70775b60e01b978885528401613eb9565b0381875af4908115613d6157908a8d8b938493613d41575b50613c21905195869384938785528401613eb9565b0381865af4918215613d375791889391613c53979695938592613d1b575b508c519788948593849384528d8401613eb9565b03915af4928315613281578593613cff575b50885487811615613ce957600119168955541690813b1561062b57918392918392613cba9589518097819582946327710fa960e11b8452610bb98c8501528d6024850152519060448401526064830190612d32565b03925af1908115613cde5750613655575083549282808516146136485750501c9055565b8551903d90823e3d90fd5b866024918a5191633b48047760e01b8352820152fd5b613d149193503d8087833e610cf28183612dd1565b9138613c65565b613d309192503d8087833e610cf28183612dd1565b9038613c3f565b8b513d8a823e3d90fd5b613c21919350613d5a903d8087833e610cf28183612dd1565b9290613c0c565b8c513d8b823e3d90fd5b613d7f91503d8084833e610cf28183612dd1565b38613b8d565b8a5163738c481160e01b81528990fd5b613dac9150883d8a11610de557610dd78183612dd1565b38613b42565b8b51632ea0fec960e11b81528a90fd5b813d8311613de4575b613dd58183612dd1565b8101031261062b578238613aec565b503d613dcb565b90816020910312610bb257518015158103610bb25790565b90602082820312610bb25781516001600160401b0392838211610bb2570191602083830312610bb25760405192613e3984612d80565b8051918211610bb2570181601f82011215610bb2578051613e5981612df2565b92613e676040519485612dd1565b81845260208284010111610bb257613e859160208085019101612d0f565b815290565b90613ea960209194939460408452518260408501526060840190612d32565b6001600160a01b03909416910152565b929190613ed760209160408652518260408701526060860190612d32565b930152565b6000805160206143c783398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648201929092526132229161389b826084810161388d565b8015613fe157600454908115613fdd57613faa676765c793fa10079d601b1b9182613fa460055486612ed5565b04612f83565b90808202828104821483151715612e9a5783613fcc61322295613fd693612ee8565b9081600555612ed5565b0490614135565b5050565b50565b6001600160ff1b038111613ff55790565b6024906040519063123baf0360e11b82526004820152fd5b8015613fe157600454908115613fdd57614040676765c793fa10079d601b1b918261403a60055486612ed5565b04612e8d565b90808202828104821483151715612e9a5783613fcc6132229561406293612ee8565b0490614185565b676765c793fa10079d601b1b90818102918183041490151715612e9a5760055461409291612ee8565b90565b9080821115613fdd576140b960809160008051602061440783398151915293612f83565b600d54906140c78183612e8d565b80600d556040519283526020830152604082015260026060820152a1565b9080821115613fdd5761410960809160008051602061440783398151915293612f83565b600d54906141178183612e8d565b80600d556040519283526020830152604082015260016060820152a1565b9080821115613fdd5761415960809160008051602061440783398151915293612f83565b600d54906141678183612e8d565b80600d556040519283526020830152604082015260046060820152a1565b9080821115613fdd576141a960809160008051602061440783398151915293612f83565b600d54906141b78183612e8d565b80600d556040519283526020830152604082015260036060820152a1565b60ff6000805160206144878339815191525460401c16156141f257565b604051631afcd79f60e31b8152600490fd5b906000602091828151910182855af115611872576000513d61425757506001600160a01b0381163b155b6142355750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b6001141561422e565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811630811491821561429e575b505061214457565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141590503880614296565b6000805160206144278339815191528054600181161561187e57600119169055600080516020614447833981519152546001600160a01b0316803b15610bb2576143496000929183926040519485809481936327710fa960e11b8352610bba60048401526040602484015251602060448401526064830190612d32565b03925af180156118725761435a5750565b61322290612d57565b9061438a575080511561437857602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806143bd575b61439b575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561439356fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2ef6dbddbadf9e9aeefe44074e800cf04722174e267129553d2fb43bbff00f0ca7a7ef2e786f2e2e26f0a8d1c18e1ce8d0e9a183cd1289abd7052371335196d43706675a12eeff0661731f01589a945c9c5e9663916191034a16d20b6fcc93dd89b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122062600ff601c1c3b05c3cf83df9fa53777858116423f930757dd62ed37e6e592464736f6c63430008190033",
1744
+ "deployedBytecode": "0x608080604052600436101561001357600080fd5b600090813560e01c908163076486d414612cc7575080630840ba7214612be65780630cf2bef114612b265780631459457a1461273e578063150b7a02146126d457806316f0115b146126ab578063187167c414612606578063228d71a914612570578063267f39ab1461254b5780632986c0e51461252d5780632fc459df146125105780633016b53a146124d957806337d5fe99146124b05780633a98ef39146124925780634410feb0146124755780634437152a146123bb5780634dc530ff146123265780634f1ef2861461215657806352d1902d146120d95780635337e6701461207057806353be9fc11461202e57806354001c4614611ffb57806354fd4d5014611fb857806355d4aa8a14611f915780635c975abb14611f4f578063652d84da14611f3157806366519bd614611e82578063676a63001461197757806369d4a3621461155c5780636a2378d91461153e5780636c7ac9d8146115155780636e1adbd3146114f8578063712c2782146114725780637a9e5e4b146113f25780637ad226dc146111f0578063801f5d651461111d5780638c1f15f5146110e35780638fb3603714611090578063952c050b14610f59578063ad3cb1cc14610f0f578063b412ca7214610637578063b7f89c12146105be578063b9934526146105a0578063bf7e214f1461056a578063bfa7b23914610547578063c360b5e914610424578063ca34df47146103ee578063cde78421146103a6578063d638913514610388578063e1e6b8981461035f578063e68507f31461031d578063eae4c19f146102ff578063ee5dbb84146102e2578063f5eb42dc146102a95763f876db8f1461027e57600080fd5b346102a657806003193601126102a6576002546040516001600160a01b039091168152602090f35b80fd5b50346102a65760203660031901126102a6576020906040906001600160a01b036102d1612ce3565b168152600683522054604051908152f35b50346102a657806003193601126102a6576020604051610bbc8152f35b50346102a657806003193601126102a6576020600c54604051908152f35b50346102a65760203660031901126102a657610337612ce3565b61034136336138a0565b60018060a01b03166001600160601b0360a01b600354161760035580f35b50346102a657806003193601126102a6576003546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a6576020600d54604051908152f35b50346102a657806003193601126102a6577f706675a12eeff0661731f01589a945c9c5e9663916191034a16d20b6fcc93dd9546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a657600080516020614447833981519152546040516001600160a01b039091168152602090f35b50346102a65760203660031901126102a65761043e612ce3565b60008051602061448783398151915290815460ff8160401c1615916001600160401b0382168015908161053f575b6001149081610535575b15908161052c575b5061051a5767ffffffffffffffff19821660011784556104b491836104fb575b506104a76141d5565b6104af6141d5565b613edc565b6104bc6141d5565b6104c46141d5565b6104cc6141d5565b6104d4575080f35b60ff60401b1981541690556000805160206143e7833981519152602060405160018152a180f35b68ffffffffffffffffff1916680100000000000000011784553861049e565b60405163f92ee8a960e01b8152600490fd5b9050153861047e565b303b159150610476565b84915061046c565b50346102a657806003193601126102a657602060ff600754166040519015158152f35b50346102a657806003193601126102a6576000805160206143c7833981519152546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a6576020600954604051908152f35b50346102a6576003196040368201126106335760043561ffff81160361063357602435906001600160401b039081831161062b57602090833603011261062f576040519161060b83612d80565b806004013591821161062b5760046106269236920101612e0d565b905280f35b8380fd5b8280fd5b5080fd5b50346102a65760203660031901126102a65760043590610655612eb0565b610efd5760ff60075416610eeb5761066b612f90565b610673612fcd565b60008051602061444783398151915280546001600160a01b03168015610dec575a90803b1561062b576040516327e935a160e01b815260048101839052602495908581888183875af18015610bbf57908691610ed3575b50506106d4613016565b60035460405163b63e6ac360e01b81526004810183905291906001600160a01b031660c0838981845afa928315610e39578793610ea2575b5060808301516002811015610e8f57610e775782516001600160a01b0316338103610e445750803b15610e12578680918960405180948193630852cd8d60e31b83528760048401525af18015610e3957908791610e25575b505060406020830151920161077c8151600454612f83565b6004558051338852600660205261079860408920918254612f83565b90556001546001600160a01b0316803b15610e2157604051635e588b6f60e01b8152306004820152602481018590529088908290604490829084905af18015610e1657908891610dfe575b505051600554955460008051602061442783398151915280549097916001600160a01b03168015610dec576020600491604051928380926372277dad60e11b82525afa908115610d41578a91610dbd575b5015610dab57600190811b178755604051635ca2159160e11b815290888260048173__$871508ae888325252fdba23f15f3f16064$__5af4918215610d1c578992610d8d575b506108b391928973__$46bbbc6398365a8909166570292cf8d34e$__9460405180958192631f21838760e01b8352339060048401613e8a565b0381875af4928315610d41578a93610d71575b506040518a81806108e68a63fb70775b60e01b9889845260048401613eb9565b0381885af4908115610d6657918b91610915938391610d4c575b50604051938492839288845260048401613eb9565b0381875af4908115610d4157918a9161094594938391610d27575b50604051948592839286845260048401613eb9565b0381865af4918215610d1c579189939161097795938592610d00575b5060405195869485938493845260048401613eb9565b03915af4908115610bbf5790610994918791610cde575b506142cc565b835493600180861614610ccc57869460011c9055602060018060a01b03600f5416604051978880926370a0823160e01b82523060048301525afa958615610b74578596610c97575b508454604051629f15d760e81b815230600482015260248101929092526020908290604490829089906001600160a01b03165af18015610b7457610c6c575b50600f546040516370a0823160e01b81523060048201526001600160a01b039091169560208286818a5afa918215610bbf578692610c38575b5060018101809111610c25578103610bdd576000198101908111610bca57604051632f745c5960e01b815230600482015260248101919091529394859490602082604481845afa918215610bbf578692610b83575b50803b15610b7f57604051632142170760e11b8152306004820152336024820152604481019290925285908290606490829084905af1908115610b74578591610b60575b5050610af76137e0565b803b15610b5b5783928392604051948593849263f5786b4b60e01b845260048401525af18015610b5057610b3c575b5060016000805160206144678339815191525580f35b610b4590612d57565b6102a6578038610b26565b6040513d84823e3d90fd5b505050fd5b610b6990612d57565b610b5b578338610aed565b6040513d87823e3d90fd5b8580fd5b955090506020853d602011610bb7575b81610ba060209383612dd1565b81010312610bb2578594519038610aa9565b600080fd5b3d9150610b93565b6040513d88823e3d90fd5b634e487b7160e01b855260116004528385fd5b60405160016245d25360e11b0319815260206004820152601b818601527f5769746864726177616c5175657565206d696e74206661696c656400000000006044820152606490fd5b634e487b7160e01b865260116004528486fd5b9091506020813d602011610c64575b81610c5460209383612dd1565b81010312610bb257519038610a54565b3d9150610c47565b602090813d8311610c90575b610c828183612dd1565b81010312610bb25738610a1b565b503d610c78565b9095506020813d602011610cc4575b81610cb360209383612dd1565b81010312610bb257519460206109dc565b3d9150610ca6565b6040516383db270d60e01b8152600490fd5b610cfa91503d8089833e610cf28183612dd1565b810190613e03565b3861098e565b610d159192503d8087833e610cf28183612dd1565b9038610961565b6040513d8b823e3d90fd5b610d3b91503d8085833e610cf28183612dd1565b38610930565b6040513d8c823e3d90fd5b610d6091503d8085833e610cf28183612dd1565b38610900565b6040513d8d823e3d90fd5b610d869193503d808c833e610cf28183612dd1565b91386108c6565b6108b39250610da5903d808c833e610cf28183612dd1565b9161087a565b60405163738c481160e01b8152600490fd5b610ddf915060203d602011610de5575b610dd78183612dd1565b810190613deb565b38610834565b503d610dcd565b604051632ea0fec960e11b8152600490fd5b610e0790612d57565b610e125786386107e3565b8680fd5b6040513d8a823e3d90fd5b8780fd5b610e2e90612d57565b610b7f578538610764565b6040513d89823e3d90fd5b6040516309d52fcf60e31b815260048101939093526001600160a01b0316602483015250336044820152606490fd5b0390fd5b604051636d56c1b960e01b8152600481018390528890fd5b634e487b7160e01b885260216004528888fd5b610ec591935060c03d60c011610ecc575b610ebd8183612dd1565b810190612f08565b913861070c565b503d610eb3565b610edc90612d57565b610ee75784386106ca565b8480fd5b60405163e9e4ed5f60e01b8152600490fd5b604051633ea5037760e11b8152600490fd5b50346102a657806003193601126102a657610f55604051610f2f81612db6565b60058152640352e302e360dc1b6020820152604051918291602083526020830190612d32565b0390f35b50346102a65760403660031901126102a657600435610f76612cf9565b90610f7f612eb0565b610efd57610f8b612f90565b610f93612fcd565b600080516020614447833981519152546001600160a01b0390811691908215610dec575a91833b15610b7f57856040516327e935a160e01b81528460048201528181602481838a5af18015610b505761107c575b5050610ff1613016565b801561106a5785946110128284611018958954169060015416903390613f35565b33613333565b6110206137e0565b813b1561106657829160248392604051948593849263f5786b4b60e01b845260048401525af18015610b5057610b3c575060016000805160206144678339815191525580f35b5050fd5b604051634143610760e01b8152600490fd5b61108590612d57565b610b7f578538610fe7565b50346102a657806003193601126102a6576000805160206143c78339815191525460a01c60ff16156110db57506020638fb3603760e01b5b6040516001600160e01b03199091168152f35b6020906110c8565b50346102a65760203660031901126102a6576004358015158091036106335761110c36336138a0565b60ff80196007541691161760075580f35b50346102a65760203660031901126102a65760043560ff60075416610eeb57611144612eb0565b610efd57611150612f90565b611158612fcd565b600080516020614447833981519152546001600160a01b03908116908115610dec575a90823b15610ee757846040516327e935a160e01b8152836004820152818160248183895af18015610b50576111dc575b50506111b5613016565b831561106a57836111d6869583611018948854169060015416903390613f35565b33613a1c565b6111e590612d57565b610ee75784386111ab565b50346102a65760403660031901126102a6576004359061120e612cf9565b611216612eb0565b156113e057611223612fcd565b61122b613016565b60035460405163b63e6ac360e01b8152600481018590526001600160a01b039291831660c082602481845afa918215610b745785926113bf575b508382511633810361138f57508495813b15610b7f578591602483926040519485938492630852cd8d60e31b845260048401525af1908115610b7457859161137b575b505060400191676765c793fa10079d601b1b6112c8845160055490612ed5565b04926112d78151600454612f83565b6004555133855260066020526112f260408620918254612f83565b905582611318575b836113036137e0565b60016000805160206144678339815191525580f35b6001541691823b15610b5b57604051635e588b6f60e01b81526001600160a01b0392909216600483015260248201529082908290604490829084905af18015610b5057611367575b80806112fa565b61137090612d57565b6102a6578038611360565b61138490612d57565b610b5b5783386112a8565b6040516309d52fcf60e31b8152600481018890526001600160a01b03919091166024820152336044820152606490fd5b6113d991925060c03d60c011610ecc57610ebd8183612dd1565b9038611265565b604051630220973960e51b8152600490fd5b50346102a65760203660031901126102a65761140c612ce3565b6000805160206143c7833981519152546001600160a01b03908116330361145b57813b15611441575061143e90613edc565b80f35b6040516361798f2f60e11b81529116600482015260249150fd5b60405162d1953b60e31b8152336004820152602490fd5b50346102a65760403660031901126102a65761148c612ce3565b611494612cf9565b9061149f36336138a0565b60018060a01b036001600160601b0360a01b91816000805160206144478339815191529116838254161790557f706675a12eeff0661731f01589a945c9c5e9663916191034a16d20b6fcc93dd992169082541617905580f35b50346102a657806003193601126102a6576020604051610bba8152f35b50346102a657806003193601126102a657600e546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a6576020600a54604051908152f35b50346102a657806003193601126102a657611575612f90565b61157d612eb0565b610efd57611589612fcd565b60008051602061444783398151915280546001600160a01b039081168015610dec575a813b15610ee757846040516327e935a160e01b8152826004820152818160248183885af18015610b5057611963575b50506115e5613016565b600954938415611951578584600254166001968688541690823b1561062b576040516346f4991160e11b81526001600160a01b0392909216600483015260248201529082908290604490829084905af18015610b505761193d575b5050600a54600b558385541693600954916005548282541690600080516020614427833981519152978854928015610dec576020600491604051928380926372277dad60e11b82525afa908115611932578c91611913575b5015610dab57898b93811b178955604051635ca2159160e11b8152838160048173__$871508ae888325252fdba23f15f3f16064$__5af49081156118ce57849081926118f5575b50604051631f21838760e01b815273__$46bbbc6398365a8909166570292cf8d34e$__93909283918291611717919060048401613e8a565b0381855af49081156118ce5761174d97859182936118d9575b506040518099819263fb70775b60e01b9586845260048401613eb9565b0381855af49081156118ce5761177a9785926118b2575b5060405197889485938493845260048401613eb9565b03915af4928315610e16578893611896575b5085548781161561187e576001191686555416803b15610bb2576117e36000929183926040519485809481936327710fa960e11b8352610bbe60048401526040602484015251602060448401526064830190612d32565b03925af1801561187257611863575b508254928480851614610ccc578593851c905582600955813b1561062f57829160248392604051948593849263f5786b4b60e01b845260048401525af18015610b505761184f575b50506000805160206144678339815191525580f35b61185890612d57565b61063357813861183a565b61186c90612d57565b386117f2565b6040513d6000823e3d90fd5b60249060405190633b48047760e01b82526004820152fd5b6118ab9193503d808a833e610cf28183612dd1565b913861178c565b6118c79192503d8087833e610cf28183612dd1565b9038611764565b6040513d86823e3d90fd5b6118ee9193503d8084833e610cf28183612dd1565b9138611730565b611717925061190d903d8084833e610cf28183612dd1565b916116df565b61192c915060203d602011610de557610dd78183612dd1565b38611698565b6040513d8e823e3d90fd5b61194690612d57565b610b7f578538611640565b60405163053716d160e01b8152600490fd5b61196c90612d57565b610ee75784386115db565b50346102a65760403660031901126102a657600435611994612cf9565b9061199d612eb0565b610efd5760ff60075416610eeb576119b3612f90565b6119bb612fcd565b60008051602061444783398151915280546001600160a01b03919082168015610dec575a91813b15610e1257604051936327e935a160e01b8552836004860152876024958181888183895af18015610b5057611e6e575b5050611a1c613016565b60035460405163b63e6ac360e01b8152600481018890529690821660c0888881845afa978815610d41578a98611e4d575b5060808801516002811015611e3a57611e225782885116338103610e445750808a913b15610633578180918960405180948193630852cd8d60e31b83528860048401525af18015610b5057611e0a575b505060408701966020676765c793fa10079d601b1b611ac08a5160055490612ed5565b04910151808210600014611e025750965b611ade8151600454612f83565b6004558051338b526006602052611afa60408c20918254612f83565b905589600199848b5416803b1561062f57604051635e588b6f60e01b81526001600160a01b03929092166004830152602482018b905282908290604490829084905af18015610b5057611dea575b5050519160055493541691600080516020614427833981519152978854938015610dec576020600491604051928380926372277dad60e11b82525afa908115611932578c91611dcb575b5015610dab57898b94811b17895560405191635ca2159160e11b8352848360048173__$871508ae888325252fdba23f15f3f16064$__5af4928315610b74578593611daf575b50611c0f8573__$46bbbc6398365a8909166570292cf8d34e$__9460405180938192631f21838760e01b8352339060048401613e8a565b0381875af4928315610bbf5786918294611d8d575b5090611c46916040518093819263fb70775b60e01b9788845260048401613eb9565b0381875af4918215610bbf57611c749287928391611d73575b50604051938492839287845260048401613eb9565b0381865af4958615610b7457611ca29686928391611d59575b50604051978892839286845260048401613eb9565b0381855af49081156118ce57611cce958592610d00575060405195869485938493845260048401613eb9565b03915af48015610e3957611ce8918891611d4557506142cc565b8354938580861614610ccc578694861c9055611d026137e0565b803b1561062b5783928392604051948593849263f5786b4b60e01b845260048401525af18015610b505761184f5750506000805160206144678339815191525580f35b610cfa91503d808a833e610cf28183612dd1565b611d6d91503d8085833e610cf28183612dd1565b38611c8d565b611d8791503d8085833e610cf28183612dd1565b38611c5f565b611c4692919450611da7903d8084833e610cf28183612dd1565b939091611c24565b611dc49193503d8087833e610cf28183612dd1565b9138611bd8565b611de4915060203d602011610de557610dd78183612dd1565b38611b92565b611df390612d57565b611dfe578938611b48565b8980fd5b905096611ad1565b611e1390612d57565b611e1e578838611a9d565b8880fd5b604051636d56c1b960e01b8152600481018390528790fd5b634e487b7160e01b8b526021600452878bfd5b611e6791985060c03d60c011610ecc57610ebd8183612dd1565b9638611a4d565b611e7790612d57565b610e21578738611a12565b50806003193601126102a65760ff60075416610eeb57611ea0612eb0565b610efd57611eac612f90565b611eb4612fcd565b600080516020614447833981519152546001600160a01b03168015610dec5781905a813b15611066576040516327e935a160e01b815260048101829052838160248183875af19081156118ce578491611f1d575b5050611f12613016565b6110186111d6613157565b611f2690612d57565b611066578238611f08565b50346102a657806003193601126102a6576020600854604051908152f35b50346102a657806003193601126102a657602060ff7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330054166040519015158152f35b50346102a657806003193601126102a657546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a657610f55604051611fd881612db6565b60028152613b1960f11b6020820152604051918291602083526020830190612d32565b50346102a657806003193601126102a657612014612f90565b61201c612fcd565b61202636336138a0565b611303613016565b50346102a65760203660031901126102a657612048612ce3565b61205236336138a0565b60018060a01b03166001600160601b0360a01b600254161760025580f35b50346102a65760203660031901126102a65761208a612ce3565b61209436336138a0565b6001600160a01b0381169081156120bc57506001600160601b0360a01b600f541617600f5580f35b604051632215fb1f60e11b8152908190610e739060048301612e54565b50346102a657806003193601126102a6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036121445760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b60405163703e46dd60e11b8152600490fd5b5060403660031901126102a65761216b612ce3565b6024356001600160401b03811161062f5761218a903690600401612e0d565b612192614260565b61219c36336138a0565b6121a4614260565b6040516352d1902d60e01b81526001600160a01b038316926020918281600481885afa8691816122f7575b506121ed57604051634c9c8ce360e01b815260048101869052602490fd5b9385947f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc908181036122df5750823b156122c65780546001600160a01b0319168217905560405185917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8380a28451156122a9575080848461229c96519101845af4903d156122a0573d61228081612df2565b9061228e6040519283612dd1565b81528581943d92013e614363565b5080f35b60609250614363565b9350505050346122b7575080f35b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101839052602490fd5b60249060405190632a87526960e21b82526004820152fd5b9091508381813d831161231f575b61230f8183612dd1565b81010312610e12575190386121cf565b503d612305565b50346102a657806003193601126102a6576040519061234482612d80565b80825260209160405191838301848452825180915260408401948060408360051b870101940192955b82871061237a5785850386f35b9091929382806123ab600193603f198a82030186526040838a5161ffff815116845201519181858201520190612d32565b960192019601959291909261236d565b50346102a65760203660031901126102a6576123d5612ce3565b6123df36336138a0565b6123e7613016565b600180546001600160a01b039283166001600160a01b03198216811790925583546040516370a0823160e01b815291851690921760048201529160209183916024918391165afa908115610b50578291612443575b5060085580f35b90506020813d60201161246d575b8161245e60209383612dd1565b81010312610bb257513861243c565b3d9150612451565b50346102a657806003193601126102a6576020604051610bb98152f35b50346102a657806003193601126102a6576020600454604051908152f35b50346102a657806003193601126102a657600f546040516001600160a01b039091168152602090f35b50346102a657806003193601126102a6576020676765c793fa10079d601b1b61250760045460055490612ed5565b04604051908152f35b50346102a657806003193601126102a6576020604051610bbe8152f35b50346102a657806003193601126102a6576020600554604051908152f35b50346102a657806003193601126102a6576020612566612eb0565b6040519015158152f35b50346102a65760203660031901126102a65761258a612ce3565b61259436336138a0565b6001600160a01b0381169081156125bc57506001600160601b0360a01b600e541617600e5580f35b60408051632215fb1f60e11b81526004810191909152600e60448201526d2232b837b9b4ba26b0b730b3b2b960911b60648201526001600160a01b03919091166024820152608490fd5b50346102a657806003193601126102a65761261f612fcd565b612627613016565b80546040516370a0823160e01b81523060048201526001600160a01b03918216602082602481845afa9182156118ce578492612677575b50811561106a576120269284600d556001541690613858565b9091506020813d6020116126a3575b8161269360209383612dd1565b81010312610bb25751903861265e565b3d9150612686565b50346102a657806003193601126102a6576001546040516001600160a01b039091168152602090f35b50346102a65760803660031901126102a6576126ee612ce3565b506126f7612cf9565b506064356001600160401b0380821161062f573660238301121561062f57816004013590811161062f57369101602401116102a657604051630a85bd0160e11b8152602090f35b50346102a65760a03660031901126102a657612758612ce3565b612760612cf9565b6001600160a01b039060443582811690819003610bb257606435838116809103610bb257608435848116809103610bb2576000805160206144878339815191529485549460ff8660401c1615956001600160401b0390818116998a1580612b1f575b6001809c149081612b15575b159081612b0c575b5061051a5767ffffffffffffffff198281168c178b559189612aed575b506127fc6141d5565b895460ff8160401c16159381168c81159182612ae5575b149081612adb575b159081612ad2575b5061051a57838c612840948316178c55612ab357506104a76141d5565b6128486141d5565b6128506141d5565b6128586141d5565b612a8b575b6128656141d5565b61286d6141d5565b6128756141d5565b876000805160206144678339815191525561288e6141d5565b6128966141d5565b16908115612a56578315612a235782156129ec5780156129b3576020928892836024938154906001600160601b0360a01b848184161784558c54958d8b8389161790558160025416176002556003541617600355676765c793fa10079d601b1b60055560405197889687956370a0823160e01b87521617600485015216175afa908115610b74578591612981575b5060085542600c556129346141d5565b600160801b60008051602061442783398151915255612951578280f35b805468ff0000000000000000191690556040519081526000805160206143e783398151915290602090a138808280f35b90506020813d6020116129ab575b8161299c60209383612dd1565b81010312610bb2575138612924565b3d915061298f565b60849060405190632215fb1f60e11b825260406004830152600a604483015269149958d95a5c1d13919560b21b60648301526024820152fd5b60848360405190632215fb1f60e11b8252604060048301526008604483015267283932ba37b5b2b760c11b60648301526024820152fd5b60848460405190632215fb1f60e11b8252604060048301526004604483015263141bdbdb60e21b60648301526024820152fd5b60848260405190632215fb1f60e11b82526040600483015260066044830152650d8d2e28aa8960d31b60648301526024820152fd5b60ff60401b1987541687556000805160206143e783398151915260206040518a8152a161285d565b68ffffffffffffffffff191668010000000000000001178a553861049e565b90501538612823565b303b15915061281b565b869250612813565b68ffffffffffffffffff191668010000000000000001178a55386127f3565b905015386127d6565b303b1591506127ce565b50886127c2565b50806003193601126102a65760ff60075416610eeb57612b44612eb0565b610efd57612b50612f90565b612b58612fcd565b600080516020614447833981519152546001600160a01b0316908115610dec575a91803b15610633576040516327e935a160e01b81526004810184905292828460248183865af18015612bdb57612bc7575b829350612bb5613016565b611018612bc0613157565b3333613333565b919092612bd390612d57565b908290612baa565b6040513d85823e3d90fd5b50346102a65760403660031901126102a657612c00612ce3565b90612c09612cf9565b916000805160206144878339815191529081549060ff8260401c168015612cb3575b61051a576001600160a01b038181169182156125bc57508516908115612c985790600292916001600160601b0360a01b9081600e541617600e55600f541617600f5568ffffffffffffffffff19161790556000805160206143e7833981519152602060405160028152a180f35b604051632215fb1f60e11b815280610e738860048301612e54565b5060026001600160401b0383161015612c2b565b905034610633578160031936011261063357602090600b548152f35b600435906001600160a01b0382168203610bb257565b602435906001600160a01b0382168203610bb257565b60005b838110612d225750506000910152565b8181015183820152602001612d12565b90602091612d4b81518092818552858086019101612d0f565b601f01601f1916010190565b6001600160401b038111612d6a57604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b03821117612d6a57604052565b60c081019081106001600160401b03821117612d6a57604052565b604081019081106001600160401b03821117612d6a57604052565b90601f801991011681019081106001600160401b03821117612d6a57604052565b6001600160401b038111612d6a57601f01601f191660200190565b81601f82011215610bb257803590612e2482612df2565b92612e326040519485612dd1565b82845260208383010111610bb257816000926020809301838601378301015290565b6040808252600f908201526e5769746864726177616c517565756560881b60608201526001600160a01b03909116602082015260800190565b91908201809211612e9a57565b634e487b7160e01b600052601160045260246000fd5b60ff60075416612ed057600c54629e34008101809111612e9a5742101590565b600090565b81810292918115918404141715612e9a57565b8115612ef2570490565b634e487b7160e01b600052601260045260246000fd5b908160c0910312610bb25760405190612f2082612d9b565b80516001600160a01b0381168103610bb25782526020810151602083015260408101516040830152606081015160608301526080810151906002821015610bb25760a091608084015201516001600160401b0381168103610bb25760a082015290565b91908203918211612e9a57565b60ff7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005416612fbb57565b60405163d93c066560e01b8152600490fd5b6000805160206144678339815191526002815414612feb5760029055565b604051633ee5aeb560e01b8152600490fd5b81810392916000138015828513169184121617612e9a57565b600080546001546040516370a0823160e01b81526001600160a01b039182166004820152929160209184916024918391165afa91821561314a578192613116575b50600854808311156130db575061308161307360085484612f83565b61307c8161400d565b613fe4565b600a548282820192831291129080158216911516176130c757600a555b6130ad600a54600b5490612ffd565b90808213156130c057505b600955600855565b90506130b8565b634e487b7160e01b82526011600452602482fd5b828181106130eb575b505061309e565b6130fb6131049161310c93612f83565b61307c81613f77565b600a54612ffd565b600a5538826130e4565b9091506020813d602011613142575b8161313260209383612dd1565b8101031261063357519038613057565b3d9150613125565b50604051903d90823e3d90fd5b600090341561106a5760018060a01b0380835416926040938451806370a0823160e01b9283825230600483015281602460209384935afa91821561326457849261328b575b5084600e5416803b15610ee75784600491895192838092630d0e30db60e41b825234905af180156132815761326e575b50808585541693602489518096819382523060048301525afa908115613264578491613234575b506131fe9250612f83565b938415613224575081613222928592613215613016565b5416906001541690613858565b565b51634143610760e01b8152600490fd5b905082813d831161325d575b61324a8183612dd1565b81010312610bb2576131fe9151386131f3565b503d613240565b87513d86823e3d90fd5b61327a90949194612d57565b92386131cc565b88513d87823e3d90fd5b9080925081813d83116132b3575b6132a38183612dd1565b8101031261062b5751903861319c565b503d613299565b90929160e082019360018060a01b0380911683528151166020830152602081015160408301526040810151606083015260608101516080830152608081015190600282101561331d5760a06001600160401b039160c09382860152015116910152565b634e487b7160e01b600052602160045260246000fd5b919061333e82614069565b60009080156137ce57613369676765c793fa10079d601b1b61336260055484612ed5565b0485614095565b600491613377828454612e8d565b835560018060a01b03808516958683526020936006855260409788852061339f838254612e8d565b90558360025416803b15610b7f5789516346f4991160e11b81526001600160a01b038a16818a01908152602081018690529091879183919082908490829060400103925af180156137c457908792916137ad575b5090613449916005548b519161340883612d9b565b82528583830152848c83015260608201528a60019a8b60808401528860a0840152888b89600354169351968795869485936203b44d60e11b855284016132ba565b03925af180156137a35790869161377a575b50506005549060008051602061444783398151915292848454169a6000805160206144278339815191529b8c5490801561376a57898b918e51928380926372277dad60e11b82525afa908115613760578991613743575b5015613733578a1b8a178c558a51635ca2159160e11b815287818b8173__$871508ae888325252fdba23f15f3f16064$__5af49081156136f3578c9493929189918291613719575b508b61352c73__$46bbbc6398365a8909166570292cf8d34e$__97519485938493631f21838760e01b85528401613e8a565b0381875af49081156136f3578a92613562928e8b9384926136fd575b5051938492839263fb70775b60e01b978885528401613eb9565b0381875af49081156136f357908a8d8a9384936136d3575b5061358f905195869384938785528401613eb9565b0381865af49182156136c957918793916135bf959385926136ad575b508c519586948593849384528d8401613eb9565b03915af49384156136a2578094613685575b505087548681161561366f57600119168855541691823b15610bb257613625926000928388518096819582946327710fa960e11b8452610bbc8b8501528c6024850152519060448401526064830190612d32565b03925af1801561366457613655575b5083549282808516146136485750501c9055565b516383db270d60e01b8152fd5b61365e90612d57565b38613634565b84513d6000823e3d90fd5b85602491895191633b48047760e01b8352820152fd5b61369a9294503d8091833e610cf28183612dd1565b9138806135d1565b8851903d90823e3d90fd5b6136c29192503d8087833e610cf28183612dd1565b90386135ab565b8b513d89823e3d90fd5b61358f9193506136ec903d8087833e610cf28183612dd1565b929061357a565b8c513d8a823e3d90fd5b6137129192503d8086833e610cf28183612dd1565b9038613548565b61372d91503d8084833e610cf28183612dd1565b386134fa565b8b5163738c481160e01b81528a90fd5b61375a91508a3d8c11610de557610dd78183612dd1565b386134b2565b8d513d8b823e3d90fd5b8c51632ea0fec960e11b81528b90fd5b813d831161379c575b61378d8183612dd1565b81010312610bb257843861345b565b503d613783565b89513d87823e3d90fd5b956137bc613449939297612d57565b9590916133f3565b8a513d88823e3d90fd5b60405163049b0aaf60e11b8152600490fd5b6000546001546040516370a0823160e01b81526001600160a01b0391821660048201529160209183916024918391165afa90811561187257600091613826575b50600855565b90506020813d602011613850575b8161384160209383612dd1565b81010312610bb2575138613820565b3d9150613834565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448201929092526132229161389b82606481015b03601f198101845283612dd1565b614204565b6000805160206143c78339815191528054909290916001600160a01b038084169260048110610bb257600080604094855194602086019163b700961360e01b8352169485602482015230604482015263ffffffff60e01b84351660648201526064815260a081018181106001600160401b03821117613a085791849188938452828052826020525190895afa6139f7575b15613940575b50505050505050565b63ffffffff16156139e15760ff60a01b19948516600160a01b178655833b15610bb257606493600092838551968780958194634a63ebf760e11b835260048301528860248301528060448301528084848401378181018301849052601f01601f191681010301925af19081156139d757506139c8575b50815416905538808080808080613937565b6139d190612d57565b386139b6565b513d6000823e3d90fd5b50602491519062d1953b60e31b82526004820152fd5b50516020518060201c150290613931565b634e487b7160e01b85526041600452602485fd5b90613a2681614069565b9081156137ce57613a4f676765c793fa10079d601b1b613a4860055485612ed5565b04826140e5565b6004613a5c838254612e8d565b815560018060a01b038085169360009185835260209160068352613ada83604098898720613a8b858254612e8d565b90556005548a5191613a9c83612d9b565b82528983830152848b83015260608201528660808201528660a082015284600354168b888a8d51968795869485936203b44d60e11b855284016132ba565b03925af1801561328157908491613dc2575b50506005546000805160206144478339815191529183835416976000805160206144278339815191529a8b54998015613db257878a918d51928380926372277dad60e11b82525afa908115613d61578991613d95575b5015613d85576001998a1b8a178c558a51635ca2159160e11b815288818b8173__$871508ae888325252fdba23f15f3f16064$__5af4908115613d61578c949392918a918291613d6b575b508b613bbf73__$46bbbc6398365a8909166570292cf8d34e$__97519485938493631f21838760e01b85528401613e8a565b0381875af4908115613d61578a92613bf4928e8c9384926136fd575051938492839263fb70775b60e01b978885528401613eb9565b0381875af4908115613d6157908a8d8b938493613d41575b50613c21905195869384938785528401613eb9565b0381865af4918215613d375791889391613c53979695938592613d1b575b508c519788948593849384528d8401613eb9565b03915af4928315613281578593613cff575b50885487811615613ce957600119168955541690813b1561062b57918392918392613cba9589518097819582946327710fa960e11b8452610bb98c8501528d6024850152519060448401526064830190612d32565b03925af1908115613cde5750613655575083549282808516146136485750501c9055565b8551903d90823e3d90fd5b866024918a5191633b48047760e01b8352820152fd5b613d149193503d8087833e610cf28183612dd1565b9138613c65565b613d309192503d8087833e610cf28183612dd1565b9038613c3f565b8b513d8a823e3d90fd5b613c21919350613d5a903d8087833e610cf28183612dd1565b9290613c0c565b8c513d8b823e3d90fd5b613d7f91503d8084833e610cf28183612dd1565b38613b8d565b8a5163738c481160e01b81528990fd5b613dac9150883d8a11610de557610dd78183612dd1565b38613b42565b8b51632ea0fec960e11b81528a90fd5b813d8311613de4575b613dd58183612dd1565b8101031261062b578238613aec565b503d613dcb565b90816020910312610bb257518015158103610bb25790565b90602082820312610bb25781516001600160401b0392838211610bb2570191602083830312610bb25760405192613e3984612d80565b8051918211610bb2570181601f82011215610bb2578051613e5981612df2565b92613e676040519485612dd1565b81845260208284010111610bb257613e859160208085019101612d0f565b815290565b90613ea960209194939460408452518260408501526060840190612d32565b6001600160a01b03909416910152565b929190613ed760209160408652518260408701526060860190612d32565b930152565b6000805160206143c783398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648201929092526132229161389b826084810161388d565b8015613fe157600454908115613fdd57613faa676765c793fa10079d601b1b9182613fa460055486612ed5565b04612f83565b90808202828104821483151715612e9a5783613fcc61322295613fd693612ee8565b9081600555612ed5565b0490614135565b5050565b50565b6001600160ff1b038111613ff55790565b6024906040519063123baf0360e11b82526004820152fd5b8015613fe157600454908115613fdd57614040676765c793fa10079d601b1b918261403a60055486612ed5565b04612e8d565b90808202828104821483151715612e9a5783613fcc6132229561406293612ee8565b0490614185565b676765c793fa10079d601b1b90818102918183041490151715612e9a5760055461409291612ee8565b90565b9080821115613fdd576140b960809160008051602061440783398151915293612f83565b600d54906140c78183612e8d565b80600d556040519283526020830152604082015260026060820152a1565b9080821115613fdd5761410960809160008051602061440783398151915293612f83565b600d54906141178183612e8d565b80600d556040519283526020830152604082015260016060820152a1565b9080821115613fdd5761415960809160008051602061440783398151915293612f83565b600d54906141678183612e8d565b80600d556040519283526020830152604082015260046060820152a1565b9080821115613fdd576141a960809160008051602061440783398151915293612f83565b600d54906141b78183612e8d565b80600d556040519283526020830152604082015260036060820152a1565b60ff6000805160206144878339815191525460401c16156141f257565b604051631afcd79f60e31b8152600490fd5b906000602091828151910182855af115611872576000513d61425757506001600160a01b0381163b155b6142355750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b6001141561422e565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811630811491821561429e575b505061214457565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141590503880614296565b6000805160206144278339815191528054600181161561187e57600119169055600080516020614447833981519152546001600160a01b0316803b15610bb2576143496000929183926040519485809481936327710fa960e11b8352610bba60048401526040602484015251602060448401526064830190612d32565b03925af180156118725761435a5750565b61322290612d57565b9061438a575080511561437857602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806143bd575b61439b575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561439356fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2ef6dbddbadf9e9aeefe44074e800cf04722174e267129553d2fb43bbff00f0ca7a7ef2e786f2e2e26f0a8d1c18e1ce8d0e9a183cd1289abd7052371335196d43706675a12eeff0661731f01589a945c9c5e9663916191034a16d20b6fcc93dd89b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122062600ff601c1c3b05c3cf83df9fa53777858116423f930757dd62ed37e6e592464736f6c63430008190033",
1745
+ "linkReferences": {
1746
+ "contracts/common/iodata.sol": {
1747
+ "iodata": [
1748
+ {
1749
+ "length": 20,
1750
+ "start": 2182
1751
+ },
1752
+ {
1753
+ "length": 20,
1754
+ "start": 5865
1755
+ },
1756
+ {
1757
+ "length": 20,
1758
+ "start": 7140
1759
+ },
1760
+ {
1761
+ "length": 20,
1762
+ "start": 13567
1763
+ },
1764
+ {
1765
+ "length": 20,
1766
+ "start": 15250
1767
+ }
1768
+ ]
1769
+ },
1770
+ "contracts/common/sysio_write.sol": {
1771
+ "sysio_write": [
1772
+ {
1773
+ "length": 20,
1774
+ "start": 2226
1775
+ },
1776
+ {
1777
+ "length": 20,
1778
+ "start": 5918
1779
+ },
1780
+ {
1781
+ "length": 20,
1782
+ "start": 7182
1783
+ },
1784
+ {
1785
+ "length": 20,
1786
+ "start": 13616
1787
+ },
1788
+ {
1789
+ "length": 20,
1790
+ "start": 15299
1791
+ }
1792
+ ]
1793
+ }
1794
+ },
1795
+ "deployedLinkReferences": {
1796
+ "contracts/common/iodata.sol": {
1797
+ "iodata": [
1798
+ {
1799
+ "length": 20,
1800
+ "start": 2135
1801
+ },
1802
+ {
1803
+ "length": 20,
1804
+ "start": 5818
1805
+ },
1806
+ {
1807
+ "length": 20,
1808
+ "start": 7093
1809
+ },
1810
+ {
1811
+ "length": 20,
1812
+ "start": 13520
1813
+ },
1814
+ {
1815
+ "length": 20,
1816
+ "start": 15203
1817
+ }
1818
+ ]
1819
+ },
1820
+ "contracts/common/sysio_write.sol": {
1821
+ "sysio_write": [
1822
+ {
1823
+ "length": 20,
1824
+ "start": 2179
1825
+ },
1826
+ {
1827
+ "length": 20,
1828
+ "start": 5871
1829
+ },
1830
+ {
1831
+ "length": 20,
1832
+ "start": 7135
1833
+ },
1834
+ {
1835
+ "length": 20,
1836
+ "start": 13569
1837
+ },
1838
+ {
1839
+ "length": 20,
1840
+ "start": 15252
1841
+ }
1842
+ ]
1843
+ }
1844
+ }
1845
+ }