@elizaos/plugin-wallet 2.0.0-beta.1 → 2.0.3-beta.6

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 (356) hide show
  1. package/README.md +70 -45
  2. package/auto-enable.ts +1 -1
  3. package/dist/actions/failure-codes.d.ts +12 -0
  4. package/dist/actions/index.d.ts +1 -0
  5. package/dist/analytics/birdeye/actions/wallet-search-address.d.ts +7 -0
  6. package/dist/analytics/birdeye/birdeye-task.d.ts +27 -0
  7. package/dist/analytics/birdeye/birdeye.d.ts +140 -0
  8. package/dist/analytics/birdeye/constants.d.ts +68 -0
  9. package/dist/analytics/birdeye/providers/agent-portfolio-provider.d.ts +8 -0
  10. package/dist/analytics/birdeye/providers/market.d.ts +18 -0
  11. package/dist/analytics/birdeye/providers/portfolio-factory.d.ts +10 -0
  12. package/dist/analytics/birdeye/providers/trending.d.ts +19 -0
  13. package/dist/analytics/birdeye/providers/wallet.d.ts +5 -0
  14. package/dist/analytics/birdeye/search-category.d.ts +52 -0
  15. package/dist/analytics/birdeye/service.d.ts +94 -0
  16. package/dist/analytics/birdeye/types/api/common.d.ts +199 -0
  17. package/dist/analytics/birdeye/types/api/defi.d.ts +187 -0
  18. package/dist/analytics/birdeye/types/api/pair.d.ts +182 -0
  19. package/dist/analytics/birdeye/types/api/search.d.ts +64 -0
  20. package/dist/analytics/birdeye/types/api/token.d.ts +580 -0
  21. package/dist/analytics/birdeye/types/api/trader.d.ts +70 -0
  22. package/dist/analytics/birdeye/types/api/wallet.d.ts +161 -0
  23. package/dist/analytics/birdeye/types/shared.d.ts +83 -0
  24. package/dist/analytics/birdeye/utils.d.ts +74 -0
  25. package/dist/analytics/dexscreener/errors.d.ts +2 -0
  26. package/dist/analytics/dexscreener/index.d.ts +3 -0
  27. package/dist/analytics/dexscreener/search-category.d.ts +3 -0
  28. package/dist/analytics/dexscreener/service.d.ts +34 -0
  29. package/dist/analytics/dexscreener/types.d.ts +131 -0
  30. package/dist/analytics/lpinfo/index.d.ts +31 -0
  31. package/dist/analytics/lpinfo/kamino/index.d.ts +7 -0
  32. package/dist/analytics/lpinfo/kamino/providers/kaminoLiquidityProvider.d.ts +6 -0
  33. package/dist/analytics/lpinfo/kamino/providers/kaminoPoolProvider.d.ts +6 -0
  34. package/dist/analytics/lpinfo/kamino/providers/kaminoProvider.d.ts +6 -0
  35. package/dist/analytics/lpinfo/kamino/services/kaminoLiquidityService.d.ts +203 -0
  36. package/dist/analytics/lpinfo/kamino/services/kaminoService.d.ts +171 -0
  37. package/dist/analytics/lpinfo/steer/index.d.ts +7 -0
  38. package/dist/analytics/lpinfo/steer/providers/steerLiquidityProvider.d.ts +6 -0
  39. package/dist/analytics/lpinfo/steer/services/steerLiquidityService.d.ts +208 -0
  40. package/dist/analytics/lpinfo/steer/steer-display-types.d.ts +97 -0
  41. package/dist/analytics/news/index.d.ts +32 -0
  42. package/dist/analytics/news/interfaces/types.d.ts +177 -0
  43. package/dist/analytics/news/providers/defiNewsProvider.d.ts +106 -0
  44. package/dist/analytics/news/services/newsDataService.d.ts +72 -0
  45. package/dist/analytics/news/utils/formatters.d.ts +54 -0
  46. package/dist/analytics/token-info/action.d.ts +6 -0
  47. package/dist/analytics/token-info/index.d.ts +3 -0
  48. package/dist/analytics/token-info/params.d.ts +10 -0
  49. package/dist/analytics/token-info/providers.d.ts +4 -0
  50. package/dist/analytics/token-info/service.d.ts +19 -0
  51. package/dist/analytics/token-info/types.d.ts +45 -0
  52. package/dist/api/wallet-routes.d.ts +100 -0
  53. package/dist/audit/audit-log.d.ts +29 -0
  54. package/dist/browser-shim/build-shim.d.ts +31 -0
  55. package/dist/browser-shim/index.d.ts +1 -0
  56. package/dist/chains/evm/actions/helpers.d.ts +31 -0
  57. package/dist/chains/evm/actions/swap.d.ts +53 -0
  58. package/dist/chains/evm/actions/transfer.d.ts +10 -0
  59. package/dist/chains/evm/bridge-router.d.ts +44 -0
  60. package/dist/chains/evm/build.d.ts +2 -0
  61. package/dist/chains/evm/chain-handler.d.ts +37 -0
  62. package/dist/chains/evm/constants.d.ts +16 -0
  63. package/dist/chains/evm/dex/aerodrome/index.d.ts +6 -0
  64. package/dist/chains/evm/dex/aerodrome/services/AerodromeLpService.d.ts +27 -0
  65. package/dist/chains/evm/dex/aerodrome/types.d.ts +435 -0
  66. package/dist/chains/evm/dex/pancakeswp/index.d.ts +6 -0
  67. package/dist/chains/evm/dex/pancakeswp/services/PancakeSwapV3LpService.d.ts +28 -0
  68. package/dist/chains/evm/dex/pancakeswp/types.d.ts +19 -0
  69. package/dist/chains/evm/dex/uniswap/index.d.ts +6 -0
  70. package/dist/chains/evm/dex/uniswap/services/UniswapV3LpService.d.ts +28 -0
  71. package/dist/chains/evm/dex/uniswap/types.d.ts +458 -0
  72. package/dist/chains/evm/generated/specs/spec-helpers.d.ts +35 -0
  73. package/dist/chains/evm/generated/specs/specs.d.ts +99 -0
  74. package/dist/chains/evm/gov-router.d.ts +6 -0
  75. package/dist/chains/evm/index.browser.d.ts +3 -0
  76. package/dist/chains/evm/index.d.ts +6 -0
  77. package/dist/chains/evm/prompts.d.ts +24 -0
  78. package/dist/chains/evm/providers/get-balance.d.ts +2 -0
  79. package/dist/chains/evm/providers/wallet.d.ts +35 -0
  80. package/dist/chains/evm/routes/sign.d.ts +13 -0
  81. package/dist/chains/evm/rpc-providers.d.ts +26 -0
  82. package/dist/chains/evm/service.d.ts +26 -0
  83. package/dist/chains/evm/templates/index.d.ts +1 -0
  84. package/dist/chains/evm/types/index.d.ts +296 -0
  85. package/dist/chains/evm/vitest.config.d.ts +2 -0
  86. package/dist/chains/registry.d.ts +3 -0
  87. package/dist/chains/solana/actions/confirmation.d.ts +9 -0
  88. package/dist/chains/solana/bn.d.ts +6 -0
  89. package/dist/chains/solana/build.d.ts +2 -0
  90. package/dist/chains/solana/constants.d.ts +2 -0
  91. package/dist/chains/solana/dex/meteora/e2e/scenarios.d.ts +10 -0
  92. package/dist/chains/solana/dex/meteora/e2e/test-utils.d.ts +28 -0
  93. package/dist/chains/solana/dex/meteora/index.d.ts +3 -0
  94. package/dist/chains/solana/dex/meteora/providers/positionProvider.d.ts +9 -0
  95. package/dist/chains/solana/dex/meteora/services/MeteoraLpService.d.ts +37 -0
  96. package/dist/chains/solana/dex/meteora/utils/dlmm.d.ts +6 -0
  97. package/dist/chains/solana/dex/meteora/utils/loadWallet.d.ts +14 -0
  98. package/dist/chains/solana/dex/meteora/utils/sendTransaction.d.ts +2 -0
  99. package/dist/chains/solana/dex/orca/index.d.ts +6 -0
  100. package/dist/chains/solana/dex/orca/providers/positionProvider.d.ts +10 -0
  101. package/dist/chains/solana/dex/orca/services/srv_orca.d.ts +10 -0
  102. package/dist/chains/solana/dex/orca/types.d.ts +61 -0
  103. package/dist/chains/solana/dex/orca/utils/loadWallet.d.ts +1 -0
  104. package/dist/chains/solana/dex/orca/utils/sendTransaction.d.ts +2 -0
  105. package/dist/chains/solana/dex/raydium/index.d.ts +6 -0
  106. package/dist/chains/solana/dex/raydium/providers/positionProvider.d.ts +10 -0
  107. package/dist/chains/solana/dex/raydium/services/srv_raydium.d.ts +104 -0
  108. package/dist/chains/solana/dex/raydium/types.d.ts +42 -0
  109. package/dist/chains/solana/environment.d.ts +15 -0
  110. package/dist/chains/solana/generated/specs/spec-helpers.d.ts +35 -0
  111. package/dist/chains/solana/generated/specs/specs.d.ts +73 -0
  112. package/dist/chains/solana/index.browser.d.ts +3 -0
  113. package/dist/chains/solana/index.d.ts +7 -0
  114. package/dist/chains/solana/keypairUtils.d.ts +7 -0
  115. package/dist/chains/solana/prompts.d.ts +12 -0
  116. package/dist/chains/solana/providers/wallet.d.ts +2 -0
  117. package/dist/chains/solana/routes/index.d.ts +2 -0
  118. package/dist/chains/solana/routes/sign.d.ts +16 -0
  119. package/dist/chains/solana/service.d.ts +237 -0
  120. package/dist/chains/solana/types.d.ts +377 -0
  121. package/dist/chains/solana/vitest.config.d.ts +2 -0
  122. package/dist/chains/wallet-action.d.ts +3 -0
  123. package/dist/contracts.d.ts +58 -0
  124. package/dist/core-augmentation.d.ts +9 -0
  125. package/dist/index.d.mts +27 -34727
  126. package/dist/index.d.ts +27 -0
  127. package/dist/index.mjs +28246 -21186
  128. package/dist/index.mjs.map +153 -0
  129. package/dist/lib/server-wallet-trade.d.ts +22 -0
  130. package/dist/lib/server-wallet-trade.js +333 -0
  131. package/dist/lib/server-wallet-trade.js.map +11 -0
  132. package/dist/lib/wallet-export-guard.d.ts +45 -0
  133. package/dist/lp/actions/liquidity.d.ts +2 -0
  134. package/dist/lp/e2e/real-token-tests.d.ts +6 -0
  135. package/dist/lp/e2e/scenarios.d.ts +9 -0
  136. package/dist/lp/e2e/test-utils.d.ts +28 -0
  137. package/dist/lp/lp-manager-entry.d.ts +18 -0
  138. package/dist/lp/services/ConcentratedLiquidityService.d.ts +32 -0
  139. package/dist/lp/services/DexInteractionService.d.ts +34 -0
  140. package/dist/lp/services/LpManagementService.d.ts +116 -0
  141. package/dist/lp/services/UserLpProfileService.d.ts +18 -0
  142. package/dist/lp/services/VaultService.d.ts +21 -0
  143. package/dist/lp/services/YieldOptimizationService.d.ts +59 -0
  144. package/dist/lp/services/__tests__/MockLpService.d.ts +17 -0
  145. package/dist/lp/types.d.ts +439 -0
  146. package/dist/lp/utils/solanaClient.d.ts +26 -0
  147. package/dist/plugin.d.ts +7 -0
  148. package/dist/policy/policy.d.ts +14 -0
  149. package/dist/providers/canonical-provider.d.ts +19 -0
  150. package/dist/providers/wallet-provider.d.ts +5 -0
  151. package/dist/register-routes.d.ts +1 -0
  152. package/dist/routes/plugin.d.ts +14 -0
  153. package/dist/routes/wallet-market-overview-route.d.ts +7 -0
  154. package/dist/sdk/abi.d.ts +396 -0
  155. package/dist/sdk/bridge/abis.d.ts +63 -0
  156. package/dist/sdk/bridge/client.d.ts +48 -0
  157. package/dist/sdk/bridge/index.d.ts +14 -0
  158. package/dist/sdk/bridge/solana.d.ts +131 -0
  159. package/dist/sdk/bridge/types.d.ts +92 -0
  160. package/dist/sdk/convenience.d.ts +104 -0
  161. package/dist/sdk/escrow/MutualStakeEscrow.d.ts +75 -0
  162. package/dist/sdk/escrow/types.d.ts +58 -0
  163. package/dist/sdk/escrow/verifiers.d.ts +25 -0
  164. package/dist/sdk/identity/erc8004.d.ts +304 -0
  165. package/dist/sdk/identity/reputation.d.ts +317 -0
  166. package/dist/sdk/identity/uaid.d.ts +192 -0
  167. package/dist/sdk/identity/validation.d.ts +282 -0
  168. package/dist/sdk/index.d.ts +133 -0
  169. package/dist/sdk/index.js +5284 -0
  170. package/dist/sdk/index.js.map +40 -0
  171. package/dist/sdk/policy/SpendingPolicy.d.ts +105 -0
  172. package/dist/sdk/policy/UptoBillingPolicy.d.ts +87 -0
  173. package/dist/sdk/router/PaymentRouter.d.ts +77 -0
  174. package/dist/sdk/router/index.d.ts +2 -0
  175. package/dist/sdk/swap/SwapModule.d.ts +47 -0
  176. package/dist/sdk/swap/abi.d.ts +50 -0
  177. package/dist/sdk/swap/index.d.ts +11 -0
  178. package/dist/sdk/swap/types.d.ts +101 -0
  179. package/dist/sdk/tokens/decimals.d.ts +64 -0
  180. package/dist/sdk/tokens/registry.d.ts +81 -0
  181. package/dist/sdk/tokens/solana.d.ts +107 -0
  182. package/dist/sdk/tokens/transfers.d.ts +94 -0
  183. package/dist/sdk/types.d.ts +129 -0
  184. package/dist/sdk/wallet-core.d.ts +29450 -0
  185. package/dist/sdk/x402/budget.d.ts +51 -0
  186. package/dist/sdk/x402/chains/abstract/index.d.ts +134 -0
  187. package/dist/sdk/x402/client.d.ts +66 -0
  188. package/dist/sdk/x402/index.d.ts +8 -0
  189. package/dist/sdk/x402/middleware.d.ts +37 -0
  190. package/dist/sdk/x402/multi-asset.d.ts +53 -0
  191. package/dist/sdk/x402/types.d.ts +109 -0
  192. package/dist/security/wallet-context-safety.d.ts +7 -0
  193. package/dist/security/wallet-financial-confirmation.d.ts +23 -0
  194. package/dist/services/wallet-backend-service.d.ts +39 -0
  195. package/dist/types/wallet-router.d.ts +130 -0
  196. package/dist/utils/intent-trajectory.d.ts +34 -0
  197. package/dist/wallet/backend.d.ts +41 -0
  198. package/dist/wallet/errors.d.ts +17 -0
  199. package/dist/wallet/index.d.ts +6 -0
  200. package/dist/wallet/local-eoa-backend.d.ts +37 -0
  201. package/dist/wallet/pending.d.ts +47 -0
  202. package/dist/wallet/select-backend.d.ts +11 -0
  203. package/dist/wallet/steward-backend.d.ts +22 -0
  204. package/dist/wallet-action.d.ts +1 -0
  205. package/dist/wallet-action.js +6292 -0
  206. package/dist/wallet-action.js.map +44 -0
  207. package/package.json +35 -21
  208. package/registry-entry.json +134 -0
  209. package/src/analytics/birdeye/actions/wallet-search-address.ts +85 -5
  210. package/src/analytics/birdeye/birdeye-task.ts +25 -9
  211. package/src/analytics/birdeye/birdeye.ts +6 -7
  212. package/src/analytics/birdeye/constants.ts +0 -1
  213. package/src/analytics/birdeye/providers/agent-portfolio-provider.ts +0 -1
  214. package/src/analytics/birdeye/providers/market.ts +51 -45
  215. package/src/analytics/birdeye/providers/portfolio-factory.ts +79 -38
  216. package/src/analytics/birdeye/providers/trending.ts +43 -46
  217. package/src/analytics/birdeye/providers/wallet.ts +0 -1
  218. package/src/analytics/birdeye/search-category.test.ts +1 -1
  219. package/src/analytics/birdeye/search-category.ts +77 -12
  220. package/src/analytics/birdeye/service.test.ts +146 -0
  221. package/src/analytics/birdeye/service.ts +220 -105
  222. package/src/analytics/birdeye/types/api/common.ts +0 -1
  223. package/src/analytics/birdeye/types/api/defi.ts +0 -1
  224. package/src/analytics/birdeye/types/api/pair.ts +0 -1
  225. package/src/analytics/birdeye/types/api/search.ts +0 -1
  226. package/src/analytics/birdeye/types/api/token.ts +0 -1
  227. package/src/analytics/birdeye/types/api/trader.ts +0 -1
  228. package/src/analytics/birdeye/types/api/wallet.ts +0 -1
  229. package/src/analytics/birdeye/types/shared.ts +0 -11
  230. package/src/analytics/birdeye/utils.test.ts +69 -0
  231. package/src/analytics/birdeye/utils.ts +11 -8
  232. package/src/analytics/dexscreener/search-category.ts +0 -1
  233. package/src/analytics/dexscreener/service.ts +7 -12
  234. package/src/analytics/dexscreener/types.ts +0 -1
  235. package/src/analytics/lpinfo/index.ts +5 -2
  236. package/src/analytics/lpinfo/kamino/README.md +2 -2
  237. package/src/analytics/lpinfo/kamino/index.ts +9 -2
  238. package/src/analytics/lpinfo/kamino/providers/kaminoLiquidityProvider.ts +6 -26
  239. package/src/analytics/lpinfo/kamino/providers/kaminoPoolProvider.ts +11 -12
  240. package/src/analytics/lpinfo/kamino/providers/kaminoProvider.ts +76 -32
  241. package/src/analytics/lpinfo/kamino/services/kaminoLiquidityService.ts +78 -38
  242. package/src/analytics/lpinfo/kamino/services/kaminoService.ts +71 -31
  243. package/src/analytics/lpinfo/steer/index.ts +7 -2
  244. package/src/analytics/lpinfo/steer/providers/steerLiquidityProvider.ts +25 -26
  245. package/src/analytics/lpinfo/steer/services/steerLiquidityService.ts +367 -149
  246. package/src/analytics/news/index.ts +7 -2
  247. package/src/analytics/news/interfaces/types.ts +0 -1
  248. package/src/analytics/news/providers/defiNewsProvider.ts +17 -44
  249. package/src/analytics/news/services/newsDataService.ts +1 -22
  250. package/src/analytics/news/utils/formatters.test.ts +60 -0
  251. package/src/analytics/news/utils/formatters.ts +0 -1
  252. package/src/analytics/token-info/action.ts +52 -212
  253. package/src/analytics/token-info/index.ts +1 -1
  254. package/src/analytics/token-info/params.test.ts +69 -0
  255. package/src/analytics/token-info/params.ts +13 -11
  256. package/src/analytics/token-info/providers.ts +46 -17
  257. package/src/analytics/token-info/service.ts +3 -3
  258. package/src/analytics/token-info/types.ts +2 -2
  259. package/src/api/wallet-routes.test.ts +56 -0
  260. package/src/api/wallet-routes.ts +1728 -0
  261. package/src/audit/audit-log.ts +57 -2
  262. package/src/browser-shim/build-shim.ts +1 -1
  263. package/src/browser-shim/shim.template.js +107 -117
  264. package/src/chains/{wallet-router.test.ts → __tests__/wallet-router.test.ts} +57 -10
  265. package/src/chains/evm/actions/helpers.ts +9 -7
  266. package/src/chains/evm/actions/swap.ts +176 -22
  267. package/src/chains/evm/actions/transfer.ts +29 -22
  268. package/src/chains/evm/biome.json +1 -1
  269. package/src/chains/evm/build.ts +6 -1
  270. package/src/chains/evm/constants.ts +19 -0
  271. package/src/chains/evm/contracts/artifacts/OZGovernor.json +25 -1682
  272. package/src/chains/evm/dex/aerodrome/index.ts +6 -1
  273. package/src/chains/evm/dex/aerodrome/services/AerodromeLpService.ts +41 -15
  274. package/src/chains/evm/dex/aerodrome/types.ts +1 -2
  275. package/src/chains/evm/dex/pancakeswp/index.ts +6 -1
  276. package/src/chains/evm/dex/pancakeswp/services/PancakeSwapV3LpService.ts +54 -17
  277. package/src/chains/evm/dex/pancakeswp/types.ts +1 -2
  278. package/src/chains/evm/dex/uniswap/index.ts +6 -1
  279. package/src/chains/evm/dex/uniswap/services/UniswapV3LpService.ts +20 -9
  280. package/src/chains/evm/dex/uniswap/types.ts +1 -2
  281. package/src/chains/evm/gov-router.ts +3 -1
  282. package/src/chains/evm/index.browser.ts +1 -1
  283. package/src/chains/evm/index.ts +5 -1
  284. package/src/chains/evm/prompts.ts +5 -0
  285. package/src/chains/evm/providers/get-balance.ts +1 -1
  286. package/src/chains/evm/providers/wallet.ts +80 -9
  287. package/src/chains/evm/routes/sign.ts +35 -26
  288. package/src/chains/evm/rpc-providers.ts +1 -1
  289. package/src/chains/evm/types/index.ts +22 -2
  290. package/src/chains/registry.ts +1 -1
  291. package/src/chains/wallet-action.ts +301 -91
  292. package/src/index.ts +9 -5
  293. package/src/lib/wallet-export-guard.test.ts +233 -0
  294. package/src/lib/wallet-export-guard.ts +1 -1
  295. package/src/lp/actions/liquidity.ts +53 -26
  296. package/src/lp/e2e/real-token-tests.ts +0 -1
  297. package/src/lp/e2e/scenarios.ts +1 -2
  298. package/src/lp/e2e/test-utils.ts +20 -7
  299. package/src/lp/lp-manager-entry.ts +2 -5
  300. package/src/lp/services/ConcentratedLiquidityService.ts +3 -10
  301. package/src/lp/services/DexInteractionService.ts +1 -2
  302. package/src/lp/services/LpManagementService.test.ts +0 -1
  303. package/src/lp/services/LpManagementService.ts +75 -35
  304. package/src/lp/services/UserLpProfileService.ts +2 -3
  305. package/src/lp/services/VaultService.ts +10 -4
  306. package/src/lp/services/YieldOptimizationService.ts +29 -13
  307. package/src/lp/services/__tests__/MockLpService.ts +1 -2
  308. package/src/lp/types.ts +9 -13
  309. package/src/lp/utils/solanaClient.ts +4 -2
  310. package/src/plugin.routes.test.ts +24 -0
  311. package/src/plugin.ts +30 -13
  312. package/src/providers/canonical-provider.ts +1 -1
  313. package/src/providers/{unified-wallet-provider.ts → wallet-provider.ts} +3 -3
  314. package/src/routes/__fixtures__/coingecko-markets.recorded.json +97 -0
  315. package/src/routes/wallet-market-overview-route.ts +1 -1
  316. package/src/routes/wallet-market-overview.contract.test.ts +139 -0
  317. package/src/routes/wallet-market-overview.real.test.ts +83 -0
  318. package/src/sdk/escrow/MutualStakeEscrow.ts +1 -2
  319. package/src/sdk/identity/erc8004.ts +1 -1
  320. package/src/sdk/identity/validation.ts +3 -4
  321. package/src/sdk/index.ts +2 -2
  322. package/src/sdk/policy/SpendingPolicy.ts +1 -1
  323. package/src/sdk/router/PaymentRouter.ts +8 -11
  324. package/src/sdk/swap/SwapModule.ts +1 -1
  325. package/src/sdk/tokens/registry.ts +1 -1
  326. package/src/sdk/x402/middleware.ts +2 -8
  327. package/src/security/__tests__/wallet-context-safety.test.ts +79 -0
  328. package/src/security/__tests__/wallet-financial-confirmation.test.ts +88 -0
  329. package/src/security/wallet-context-safety.ts +128 -0
  330. package/src/security/wallet-financial-confirmation.ts +150 -0
  331. package/src/services/wallet-backend-service.ts +15 -1
  332. package/src/utils/intent-trajectory.ts +2 -2
  333. package/src/wallet/steward-backend.ts +4 -4
  334. package/dist/LpManagementService-BWrQ5-cO.mjs +0 -353
  335. package/dist/MockLpService-D_Apn4Fd.mjs +0 -99
  336. package/dist/aerodrome-CfnESC32.mjs +0 -890
  337. package/dist/chunk-hT5z_Zn9.mjs +0 -35
  338. package/dist/lib/server-wallet-trade.d.mts +0 -34
  339. package/dist/lib/server-wallet-trade.mjs +0 -306
  340. package/dist/meteora-BPX39hZo.mjs +0 -22640
  341. package/dist/orca-Bybp1HXO.mjs +0 -249
  342. package/dist/pancakeswp-CkEXlXti.mjs +0 -604
  343. package/dist/plugin-ZO_MTyd0.mjs +0 -529
  344. package/dist/raydium-rfaM9yEf.mjs +0 -539
  345. package/dist/sdk/index.d.mts +0 -32492
  346. package/dist/sdk/index.mjs +0 -6415
  347. package/dist/types-D5252NZk.mjs +0 -487
  348. package/dist/uniswap-CReXgXVN.mjs +0 -573
  349. package/dist/wallet-action.d.mts +0 -6
  350. package/dist/wallet-action.mjs +0 -820
  351. package/src/analytics/birdeye/tasks/birdeye.ts +0 -232
  352. package/src/analytics/lpinfo/index.d.ts +0 -7
  353. package/src/chains/evm/contracts/artifacts/TimelockController.json +0 -1007
  354. package/src/chains/evm/contracts/artifacts/VoteToken.json +0 -895
  355. package/src/lp/tasks/LpAutoRebalanceTask.ts +0 -117
  356. package/src/lp/tasks/__tests__/LpAutoRebalanceTask.test.ts +0 -370
@@ -1,1707 +1,50 @@
1
1
  {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "OZGovernor",
4
- "sourceName": "src/OZGovernor.sol",
5
2
  "abi": [
6
3
  {
7
- "inputs": [
8
- {
9
- "internalType": "contract IVotes",
10
- "name": "_token",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "contract TimelockController",
15
- "name": "_timelock",
16
- "type": "address"
17
- },
18
- {
19
- "internalType": "uint48",
20
- "name": "_votingDelay",
21
- "type": "uint48"
22
- },
23
- {
24
- "internalType": "uint32",
25
- "name": "_votingPeriod",
26
- "type": "uint32"
27
- },
28
- {
29
- "internalType": "uint256",
30
- "name": "_proposalThreshold",
31
- "type": "uint256"
32
- },
33
- {
34
- "internalType": "uint256",
35
- "name": "quorumPercent",
36
- "type": "uint256"
37
- }
38
- ],
4
+ "type": "function",
5
+ "name": "propose",
39
6
  "stateMutability": "nonpayable",
40
- "type": "constructor"
41
- },
42
- {
43
- "inputs": [],
44
- "name": "CheckpointUnorderedInsertion",
45
- "type": "error"
46
- },
47
- {
48
- "inputs": [],
49
- "name": "FailedCall",
50
- "type": "error"
51
- },
52
- {
53
- "inputs": [
54
- {
55
- "internalType": "address",
56
- "name": "voter",
57
- "type": "address"
58
- }
59
- ],
60
- "name": "GovernorAlreadyCastVote",
61
- "type": "error"
62
- },
63
- {
64
- "inputs": [
65
- {
66
- "internalType": "uint256",
67
- "name": "proposalId",
68
- "type": "uint256"
69
- }
70
- ],
71
- "name": "GovernorAlreadyQueuedProposal",
72
- "type": "error"
73
- },
74
- {
75
- "inputs": [],
76
- "name": "GovernorDisabledDeposit",
77
- "type": "error"
78
- },
79
- {
80
- "inputs": [
81
- {
82
- "internalType": "address",
83
- "name": "proposer",
84
- "type": "address"
85
- },
86
- {
87
- "internalType": "uint256",
88
- "name": "votes",
89
- "type": "uint256"
90
- },
91
- {
92
- "internalType": "uint256",
93
- "name": "threshold",
94
- "type": "uint256"
95
- }
96
- ],
97
- "name": "GovernorInsufficientProposerVotes",
98
- "type": "error"
99
- },
100
- {
101
- "inputs": [
102
- {
103
- "internalType": "uint256",
104
- "name": "targets",
105
- "type": "uint256"
106
- },
107
- {
108
- "internalType": "uint256",
109
- "name": "calldatas",
110
- "type": "uint256"
111
- },
112
- {
113
- "internalType": "uint256",
114
- "name": "values",
115
- "type": "uint256"
116
- }
117
- ],
118
- "name": "GovernorInvalidProposalLength",
119
- "type": "error"
120
- },
121
- {
122
- "inputs": [
123
- {
124
- "internalType": "uint256",
125
- "name": "quorumNumerator",
126
- "type": "uint256"
127
- },
128
- {
129
- "internalType": "uint256",
130
- "name": "quorumDenominator",
131
- "type": "uint256"
132
- }
133
- ],
134
- "name": "GovernorInvalidQuorumFraction",
135
- "type": "error"
136
- },
137
- {
138
- "inputs": [
139
- {
140
- "internalType": "address",
141
- "name": "voter",
142
- "type": "address"
143
- }
144
- ],
145
- "name": "GovernorInvalidSignature",
146
- "type": "error"
147
- },
148
- {
149
- "inputs": [],
150
- "name": "GovernorInvalidVoteParams",
151
- "type": "error"
152
- },
153
- {
154
- "inputs": [],
155
- "name": "GovernorInvalidVoteType",
156
- "type": "error"
157
- },
158
- {
159
- "inputs": [
160
- {
161
- "internalType": "uint256",
162
- "name": "votingPeriod",
163
- "type": "uint256"
164
- }
165
- ],
166
- "name": "GovernorInvalidVotingPeriod",
167
- "type": "error"
168
- },
169
- {
170
- "inputs": [
171
- {
172
- "internalType": "uint256",
173
- "name": "proposalId",
174
- "type": "uint256"
175
- }
176
- ],
177
- "name": "GovernorNonexistentProposal",
178
- "type": "error"
179
- },
180
- {
181
- "inputs": [
182
- {
183
- "internalType": "uint256",
184
- "name": "proposalId",
185
- "type": "uint256"
186
- }
187
- ],
188
- "name": "GovernorNotQueuedProposal",
189
- "type": "error"
190
- },
191
- {
192
- "inputs": [
193
- {
194
- "internalType": "address",
195
- "name": "account",
196
- "type": "address"
197
- }
198
- ],
199
- "name": "GovernorOnlyExecutor",
200
- "type": "error"
201
- },
202
- {
203
- "inputs": [
204
- {
205
- "internalType": "address",
206
- "name": "account",
207
- "type": "address"
208
- }
209
- ],
210
- "name": "GovernorOnlyProposer",
211
- "type": "error"
212
- },
213
- {
214
- "inputs": [],
215
- "name": "GovernorQueueNotImplemented",
216
- "type": "error"
217
- },
218
- {
219
- "inputs": [
220
- {
221
- "internalType": "address",
222
- "name": "proposer",
223
- "type": "address"
224
- }
225
- ],
226
- "name": "GovernorRestrictedProposer",
227
- "type": "error"
228
- },
229
- {
230
- "inputs": [
231
- {
232
- "internalType": "uint256",
233
- "name": "proposalId",
234
- "type": "uint256"
235
- },
236
- {
237
- "internalType": "enum IGovernor.ProposalState",
238
- "name": "current",
239
- "type": "uint8"
240
- },
241
- {
242
- "internalType": "bytes32",
243
- "name": "expectedStates",
244
- "type": "bytes32"
245
- }
246
- ],
247
- "name": "GovernorUnexpectedProposalState",
248
- "type": "error"
249
- },
250
- {
251
- "inputs": [
252
- {
253
- "internalType": "address",
254
- "name": "account",
255
- "type": "address"
256
- },
257
- {
258
- "internalType": "uint256",
259
- "name": "currentNonce",
260
- "type": "uint256"
261
- }
262
- ],
263
- "name": "InvalidAccountNonce",
264
- "type": "error"
265
- },
266
- {
267
- "inputs": [],
268
- "name": "InvalidShortString",
269
- "type": "error"
270
- },
271
- {
272
- "inputs": [
273
- {
274
- "internalType": "uint8",
275
- "name": "bits",
276
- "type": "uint8"
277
- },
278
- {
279
- "internalType": "uint256",
280
- "name": "value",
281
- "type": "uint256"
282
- }
283
- ],
284
- "name": "SafeCastOverflowedUintDowncast",
285
- "type": "error"
286
- },
287
- {
288
- "inputs": [
289
- {
290
- "internalType": "string",
291
- "name": "str",
292
- "type": "string"
293
- }
294
- ],
295
- "name": "StringTooLong",
296
- "type": "error"
297
- },
298
- {
299
- "anonymous": false,
300
- "inputs": [],
301
- "name": "EIP712DomainChanged",
302
- "type": "event"
303
- },
304
- {
305
- "anonymous": false,
306
- "inputs": [
307
- {
308
- "indexed": false,
309
- "internalType": "uint256",
310
- "name": "proposalId",
311
- "type": "uint256"
312
- }
313
- ],
314
- "name": "ProposalCanceled",
315
- "type": "event"
316
- },
317
- {
318
- "anonymous": false,
319
7
  "inputs": [
320
- {
321
- "indexed": false,
322
- "internalType": "uint256",
323
- "name": "proposalId",
324
- "type": "uint256"
325
- },
326
- {
327
- "indexed": false,
328
- "internalType": "address",
329
- "name": "proposer",
330
- "type": "address"
331
- },
332
- {
333
- "indexed": false,
334
- "internalType": "address[]",
335
- "name": "targets",
336
- "type": "address[]"
337
- },
338
- {
339
- "indexed": false,
340
- "internalType": "uint256[]",
341
- "name": "values",
342
- "type": "uint256[]"
343
- },
344
- {
345
- "indexed": false,
346
- "internalType": "string[]",
347
- "name": "signatures",
348
- "type": "string[]"
349
- },
350
- {
351
- "indexed": false,
352
- "internalType": "bytes[]",
353
- "name": "calldatas",
354
- "type": "bytes[]"
355
- },
356
- {
357
- "indexed": false,
358
- "internalType": "uint256",
359
- "name": "voteStart",
360
- "type": "uint256"
361
- },
362
- {
363
- "indexed": false,
364
- "internalType": "uint256",
365
- "name": "voteEnd",
366
- "type": "uint256"
367
- },
368
- {
369
- "indexed": false,
370
- "internalType": "string",
371
- "name": "description",
372
- "type": "string"
373
- }
8
+ { "name": "targets", "type": "address[]" },
9
+ { "name": "values", "type": "uint256[]" },
10
+ { "name": "calldatas", "type": "bytes[]" },
11
+ { "name": "description", "type": "string" }
374
12
  ],
375
- "name": "ProposalCreated",
376
- "type": "event"
13
+ "outputs": [{ "name": "proposalId", "type": "uint256" }]
377
14
  },
378
15
  {
379
- "anonymous": false,
380
- "inputs": [
381
- {
382
- "indexed": false,
383
- "internalType": "uint256",
384
- "name": "proposalId",
385
- "type": "uint256"
386
- }
387
- ],
388
- "name": "ProposalExecuted",
389
- "type": "event"
390
- },
391
- {
392
- "anonymous": false,
393
- "inputs": [
394
- {
395
- "indexed": false,
396
- "internalType": "uint256",
397
- "name": "proposalId",
398
- "type": "uint256"
399
- },
400
- {
401
- "indexed": false,
402
- "internalType": "uint256",
403
- "name": "etaSeconds",
404
- "type": "uint256"
405
- }
406
- ],
407
- "name": "ProposalQueued",
408
- "type": "event"
409
- },
410
- {
411
- "anonymous": false,
412
- "inputs": [
413
- {
414
- "indexed": false,
415
- "internalType": "uint256",
416
- "name": "oldProposalThreshold",
417
- "type": "uint256"
418
- },
419
- {
420
- "indexed": false,
421
- "internalType": "uint256",
422
- "name": "newProposalThreshold",
423
- "type": "uint256"
424
- }
425
- ],
426
- "name": "ProposalThresholdSet",
427
- "type": "event"
428
- },
429
- {
430
- "anonymous": false,
431
- "inputs": [
432
- {
433
- "indexed": false,
434
- "internalType": "uint256",
435
- "name": "oldQuorumNumerator",
436
- "type": "uint256"
437
- },
438
- {
439
- "indexed": false,
440
- "internalType": "uint256",
441
- "name": "newQuorumNumerator",
442
- "type": "uint256"
443
- }
444
- ],
445
- "name": "QuorumNumeratorUpdated",
446
- "type": "event"
447
- },
448
- {
449
- "anonymous": false,
450
- "inputs": [
451
- {
452
- "indexed": false,
453
- "internalType": "address",
454
- "name": "oldTimelock",
455
- "type": "address"
456
- },
457
- {
458
- "indexed": false,
459
- "internalType": "address",
460
- "name": "newTimelock",
461
- "type": "address"
462
- }
463
- ],
464
- "name": "TimelockChange",
465
- "type": "event"
466
- },
467
- {
468
- "anonymous": false,
469
- "inputs": [
470
- {
471
- "indexed": true,
472
- "internalType": "address",
473
- "name": "voter",
474
- "type": "address"
475
- },
476
- {
477
- "indexed": false,
478
- "internalType": "uint256",
479
- "name": "proposalId",
480
- "type": "uint256"
481
- },
482
- {
483
- "indexed": false,
484
- "internalType": "uint8",
485
- "name": "support",
486
- "type": "uint8"
487
- },
488
- {
489
- "indexed": false,
490
- "internalType": "uint256",
491
- "name": "weight",
492
- "type": "uint256"
493
- },
494
- {
495
- "indexed": false,
496
- "internalType": "string",
497
- "name": "reason",
498
- "type": "string"
499
- }
500
- ],
501
- "name": "VoteCast",
502
- "type": "event"
503
- },
504
- {
505
- "anonymous": false,
506
- "inputs": [
507
- {
508
- "indexed": true,
509
- "internalType": "address",
510
- "name": "voter",
511
- "type": "address"
512
- },
513
- {
514
- "indexed": false,
515
- "internalType": "uint256",
516
- "name": "proposalId",
517
- "type": "uint256"
518
- },
519
- {
520
- "indexed": false,
521
- "internalType": "uint8",
522
- "name": "support",
523
- "type": "uint8"
524
- },
525
- {
526
- "indexed": false,
527
- "internalType": "uint256",
528
- "name": "weight",
529
- "type": "uint256"
530
- },
531
- {
532
- "indexed": false,
533
- "internalType": "string",
534
- "name": "reason",
535
- "type": "string"
536
- },
537
- {
538
- "indexed": false,
539
- "internalType": "bytes",
540
- "name": "params",
541
- "type": "bytes"
542
- }
543
- ],
544
- "name": "VoteCastWithParams",
545
- "type": "event"
546
- },
547
- {
548
- "anonymous": false,
549
- "inputs": [
550
- {
551
- "indexed": false,
552
- "internalType": "uint256",
553
- "name": "oldVotingDelay",
554
- "type": "uint256"
555
- },
556
- {
557
- "indexed": false,
558
- "internalType": "uint256",
559
- "name": "newVotingDelay",
560
- "type": "uint256"
561
- }
562
- ],
563
- "name": "VotingDelaySet",
564
- "type": "event"
565
- },
566
- {
567
- "anonymous": false,
568
- "inputs": [
569
- {
570
- "indexed": false,
571
- "internalType": "uint256",
572
- "name": "oldVotingPeriod",
573
- "type": "uint256"
574
- },
575
- {
576
- "indexed": false,
577
- "internalType": "uint256",
578
- "name": "newVotingPeriod",
579
- "type": "uint256"
580
- }
581
- ],
582
- "name": "VotingPeriodSet",
583
- "type": "event"
584
- },
585
- {
586
- "inputs": [],
587
- "name": "BALLOT_TYPEHASH",
588
- "outputs": [
589
- {
590
- "internalType": "bytes32",
591
- "name": "",
592
- "type": "bytes32"
593
- }
594
- ],
595
- "stateMutability": "view",
596
- "type": "function"
597
- },
598
- {
599
- "inputs": [],
600
- "name": "CLOCK_MODE",
601
- "outputs": [
602
- {
603
- "internalType": "string",
604
- "name": "",
605
- "type": "string"
606
- }
607
- ],
608
- "stateMutability": "view",
609
- "type": "function"
610
- },
611
- {
612
- "inputs": [],
613
- "name": "COUNTING_MODE",
614
- "outputs": [
615
- {
616
- "internalType": "string",
617
- "name": "",
618
- "type": "string"
619
- }
620
- ],
621
- "stateMutability": "pure",
622
- "type": "function"
623
- },
624
- {
625
- "inputs": [],
626
- "name": "EXTENDED_BALLOT_TYPEHASH",
627
- "outputs": [
628
- {
629
- "internalType": "bytes32",
630
- "name": "",
631
- "type": "bytes32"
632
- }
633
- ],
634
- "stateMutability": "view",
635
- "type": "function"
636
- },
637
- {
638
- "inputs": [
639
- {
640
- "internalType": "address[]",
641
- "name": "targets",
642
- "type": "address[]"
643
- },
644
- {
645
- "internalType": "uint256[]",
646
- "name": "values",
647
- "type": "uint256[]"
648
- },
649
- {
650
- "internalType": "bytes[]",
651
- "name": "calldatas",
652
- "type": "bytes[]"
653
- },
654
- {
655
- "internalType": "bytes32",
656
- "name": "descriptionHash",
657
- "type": "bytes32"
658
- }
659
- ],
660
- "name": "cancel",
661
- "outputs": [
662
- {
663
- "internalType": "uint256",
664
- "name": "",
665
- "type": "uint256"
666
- }
667
- ],
668
- "stateMutability": "nonpayable",
669
- "type": "function"
670
- },
671
- {
672
- "inputs": [
673
- {
674
- "internalType": "uint256",
675
- "name": "proposalId",
676
- "type": "uint256"
677
- },
678
- {
679
- "internalType": "uint8",
680
- "name": "support",
681
- "type": "uint8"
682
- }
683
- ],
16
+ "type": "function",
684
17
  "name": "castVote",
685
- "outputs": [
686
- {
687
- "internalType": "uint256",
688
- "name": "",
689
- "type": "uint256"
690
- }
691
- ],
692
- "stateMutability": "nonpayable",
693
- "type": "function"
694
- },
695
- {
696
- "inputs": [
697
- {
698
- "internalType": "uint256",
699
- "name": "proposalId",
700
- "type": "uint256"
701
- },
702
- {
703
- "internalType": "uint8",
704
- "name": "support",
705
- "type": "uint8"
706
- },
707
- {
708
- "internalType": "address",
709
- "name": "voter",
710
- "type": "address"
711
- },
712
- {
713
- "internalType": "bytes",
714
- "name": "signature",
715
- "type": "bytes"
716
- }
717
- ],
718
- "name": "castVoteBySig",
719
- "outputs": [
720
- {
721
- "internalType": "uint256",
722
- "name": "",
723
- "type": "uint256"
724
- }
725
- ],
726
- "stateMutability": "nonpayable",
727
- "type": "function"
728
- },
729
- {
730
- "inputs": [
731
- {
732
- "internalType": "uint256",
733
- "name": "proposalId",
734
- "type": "uint256"
735
- },
736
- {
737
- "internalType": "uint8",
738
- "name": "support",
739
- "type": "uint8"
740
- },
741
- {
742
- "internalType": "string",
743
- "name": "reason",
744
- "type": "string"
745
- }
746
- ],
747
- "name": "castVoteWithReason",
748
- "outputs": [
749
- {
750
- "internalType": "uint256",
751
- "name": "",
752
- "type": "uint256"
753
- }
754
- ],
755
18
  "stateMutability": "nonpayable",
756
- "type": "function"
757
- },
758
- {
759
- "inputs": [
760
- {
761
- "internalType": "uint256",
762
- "name": "proposalId",
763
- "type": "uint256"
764
- },
765
- {
766
- "internalType": "uint8",
767
- "name": "support",
768
- "type": "uint8"
769
- },
770
- {
771
- "internalType": "string",
772
- "name": "reason",
773
- "type": "string"
774
- },
775
- {
776
- "internalType": "bytes",
777
- "name": "params",
778
- "type": "bytes"
779
- }
780
- ],
781
- "name": "castVoteWithReasonAndParams",
782
- "outputs": [
783
- {
784
- "internalType": "uint256",
785
- "name": "",
786
- "type": "uint256"
787
- }
788
- ],
789
- "stateMutability": "nonpayable",
790
- "type": "function"
791
- },
792
- {
793
19
  "inputs": [
794
- {
795
- "internalType": "uint256",
796
- "name": "proposalId",
797
- "type": "uint256"
798
- },
799
- {
800
- "internalType": "uint8",
801
- "name": "support",
802
- "type": "uint8"
803
- },
804
- {
805
- "internalType": "address",
806
- "name": "voter",
807
- "type": "address"
808
- },
809
- {
810
- "internalType": "string",
811
- "name": "reason",
812
- "type": "string"
813
- },
814
- {
815
- "internalType": "bytes",
816
- "name": "params",
817
- "type": "bytes"
818
- },
819
- {
820
- "internalType": "bytes",
821
- "name": "signature",
822
- "type": "bytes"
823
- }
20
+ { "name": "proposalId", "type": "uint256" },
21
+ { "name": "support", "type": "uint8" }
824
22
  ],
825
- "name": "castVoteWithReasonAndParamsBySig",
826
- "outputs": [
827
- {
828
- "internalType": "uint256",
829
- "name": "",
830
- "type": "uint256"
831
- }
832
- ],
833
- "stateMutability": "nonpayable",
834
- "type": "function"
835
- },
836
- {
837
- "inputs": [],
838
- "name": "clock",
839
- "outputs": [
840
- {
841
- "internalType": "uint48",
842
- "name": "",
843
- "type": "uint48"
844
- }
845
- ],
846
- "stateMutability": "view",
847
- "type": "function"
23
+ "outputs": [{ "name": "weight", "type": "uint256" }]
848
24
  },
849
25
  {
850
- "inputs": [],
851
- "name": "eip712Domain",
852
- "outputs": [
853
- {
854
- "internalType": "bytes1",
855
- "name": "fields",
856
- "type": "bytes1"
857
- },
858
- {
859
- "internalType": "string",
860
- "name": "name",
861
- "type": "string"
862
- },
863
- {
864
- "internalType": "string",
865
- "name": "version",
866
- "type": "string"
867
- },
868
- {
869
- "internalType": "uint256",
870
- "name": "chainId",
871
- "type": "uint256"
872
- },
873
- {
874
- "internalType": "address",
875
- "name": "verifyingContract",
876
- "type": "address"
877
- },
878
- {
879
- "internalType": "bytes32",
880
- "name": "salt",
881
- "type": "bytes32"
882
- },
883
- {
884
- "internalType": "uint256[]",
885
- "name": "extensions",
886
- "type": "uint256[]"
887
- }
888
- ],
889
- "stateMutability": "view",
890
- "type": "function"
891
- },
892
- {
893
- "inputs": [
894
- {
895
- "internalType": "address[]",
896
- "name": "targets",
897
- "type": "address[]"
898
- },
899
- {
900
- "internalType": "uint256[]",
901
- "name": "values",
902
- "type": "uint256[]"
903
- },
904
- {
905
- "internalType": "bytes[]",
906
- "name": "calldatas",
907
- "type": "bytes[]"
908
- },
909
- {
910
- "internalType": "bytes32",
911
- "name": "descriptionHash",
912
- "type": "bytes32"
913
- }
914
- ],
915
- "name": "execute",
916
- "outputs": [
917
- {
918
- "internalType": "uint256",
919
- "name": "",
920
- "type": "uint256"
921
- }
922
- ],
923
- "stateMutability": "payable",
924
- "type": "function"
925
- },
926
- {
927
- "inputs": [
928
- {
929
- "internalType": "address",
930
- "name": "account",
931
- "type": "address"
932
- },
933
- {
934
- "internalType": "uint256",
935
- "name": "timepoint",
936
- "type": "uint256"
937
- }
938
- ],
939
- "name": "getVotes",
940
- "outputs": [
941
- {
942
- "internalType": "uint256",
943
- "name": "",
944
- "type": "uint256"
945
- }
946
- ],
947
- "stateMutability": "view",
948
- "type": "function"
949
- },
950
- {
951
- "inputs": [
952
- {
953
- "internalType": "address",
954
- "name": "account",
955
- "type": "address"
956
- },
957
- {
958
- "internalType": "uint256",
959
- "name": "timepoint",
960
- "type": "uint256"
961
- },
962
- {
963
- "internalType": "bytes",
964
- "name": "params",
965
- "type": "bytes"
966
- }
967
- ],
968
- "name": "getVotesWithParams",
969
- "outputs": [
970
- {
971
- "internalType": "uint256",
972
- "name": "",
973
- "type": "uint256"
974
- }
975
- ],
976
- "stateMutability": "view",
977
- "type": "function"
978
- },
979
- {
980
- "inputs": [
981
- {
982
- "internalType": "uint256",
983
- "name": "proposalId",
984
- "type": "uint256"
985
- },
986
- {
987
- "internalType": "address",
988
- "name": "account",
989
- "type": "address"
990
- }
991
- ],
992
- "name": "hasVoted",
993
- "outputs": [
994
- {
995
- "internalType": "bool",
996
- "name": "",
997
- "type": "bool"
998
- }
999
- ],
1000
- "stateMutability": "view",
1001
- "type": "function"
1002
- },
1003
- {
1004
- "inputs": [
1005
- {
1006
- "internalType": "address[]",
1007
- "name": "targets",
1008
- "type": "address[]"
1009
- },
1010
- {
1011
- "internalType": "uint256[]",
1012
- "name": "values",
1013
- "type": "uint256[]"
1014
- },
1015
- {
1016
- "internalType": "bytes[]",
1017
- "name": "calldatas",
1018
- "type": "bytes[]"
1019
- },
1020
- {
1021
- "internalType": "bytes32",
1022
- "name": "descriptionHash",
1023
- "type": "bytes32"
1024
- }
1025
- ],
1026
- "name": "hashProposal",
1027
- "outputs": [
1028
- {
1029
- "internalType": "uint256",
1030
- "name": "",
1031
- "type": "uint256"
1032
- }
1033
- ],
1034
- "stateMutability": "pure",
1035
- "type": "function"
1036
- },
1037
- {
1038
- "inputs": [],
1039
- "name": "name",
1040
- "outputs": [
1041
- {
1042
- "internalType": "string",
1043
- "name": "",
1044
- "type": "string"
1045
- }
1046
- ],
1047
- "stateMutability": "view",
1048
- "type": "function"
1049
- },
1050
- {
1051
- "inputs": [
1052
- {
1053
- "internalType": "address",
1054
- "name": "owner",
1055
- "type": "address"
1056
- }
1057
- ],
1058
- "name": "nonces",
1059
- "outputs": [
1060
- {
1061
- "internalType": "uint256",
1062
- "name": "",
1063
- "type": "uint256"
1064
- }
1065
- ],
1066
- "stateMutability": "view",
1067
- "type": "function"
1068
- },
1069
- {
1070
- "inputs": [
1071
- {
1072
- "internalType": "address",
1073
- "name": "",
1074
- "type": "address"
1075
- },
1076
- {
1077
- "internalType": "address",
1078
- "name": "",
1079
- "type": "address"
1080
- },
1081
- {
1082
- "internalType": "uint256[]",
1083
- "name": "",
1084
- "type": "uint256[]"
1085
- },
1086
- {
1087
- "internalType": "uint256[]",
1088
- "name": "",
1089
- "type": "uint256[]"
1090
- },
1091
- {
1092
- "internalType": "bytes",
1093
- "name": "",
1094
- "type": "bytes"
1095
- }
1096
- ],
1097
- "name": "onERC1155BatchReceived",
1098
- "outputs": [
1099
- {
1100
- "internalType": "bytes4",
1101
- "name": "",
1102
- "type": "bytes4"
1103
- }
1104
- ],
1105
- "stateMutability": "nonpayable",
1106
- "type": "function"
1107
- },
1108
- {
1109
- "inputs": [
1110
- {
1111
- "internalType": "address",
1112
- "name": "",
1113
- "type": "address"
1114
- },
1115
- {
1116
- "internalType": "address",
1117
- "name": "",
1118
- "type": "address"
1119
- },
1120
- {
1121
- "internalType": "uint256",
1122
- "name": "",
1123
- "type": "uint256"
1124
- },
1125
- {
1126
- "internalType": "uint256",
1127
- "name": "",
1128
- "type": "uint256"
1129
- },
1130
- {
1131
- "internalType": "bytes",
1132
- "name": "",
1133
- "type": "bytes"
1134
- }
1135
- ],
1136
- "name": "onERC1155Received",
1137
- "outputs": [
1138
- {
1139
- "internalType": "bytes4",
1140
- "name": "",
1141
- "type": "bytes4"
1142
- }
1143
- ],
1144
- "stateMutability": "nonpayable",
1145
- "type": "function"
1146
- },
1147
- {
1148
- "inputs": [
1149
- {
1150
- "internalType": "address",
1151
- "name": "",
1152
- "type": "address"
1153
- },
1154
- {
1155
- "internalType": "address",
1156
- "name": "",
1157
- "type": "address"
1158
- },
1159
- {
1160
- "internalType": "uint256",
1161
- "name": "",
1162
- "type": "uint256"
1163
- },
1164
- {
1165
- "internalType": "bytes",
1166
- "name": "",
1167
- "type": "bytes"
1168
- }
1169
- ],
1170
- "name": "onERC721Received",
1171
- "outputs": [
1172
- {
1173
- "internalType": "bytes4",
1174
- "name": "",
1175
- "type": "bytes4"
1176
- }
1177
- ],
1178
- "stateMutability": "nonpayable",
1179
- "type": "function"
1180
- },
1181
- {
1182
- "inputs": [
1183
- {
1184
- "internalType": "uint256",
1185
- "name": "proposalId",
1186
- "type": "uint256"
1187
- }
1188
- ],
1189
- "name": "proposalDeadline",
1190
- "outputs": [
1191
- {
1192
- "internalType": "uint256",
1193
- "name": "",
1194
- "type": "uint256"
1195
- }
1196
- ],
1197
- "stateMutability": "view",
1198
- "type": "function"
1199
- },
1200
- {
1201
- "inputs": [
1202
- {
1203
- "internalType": "uint256",
1204
- "name": "proposalId",
1205
- "type": "uint256"
1206
- }
1207
- ],
1208
- "name": "proposalEta",
1209
- "outputs": [
1210
- {
1211
- "internalType": "uint256",
1212
- "name": "",
1213
- "type": "uint256"
1214
- }
1215
- ],
1216
- "stateMutability": "view",
1217
- "type": "function"
1218
- },
1219
- {
1220
- "inputs": [
1221
- {
1222
- "internalType": "uint256",
1223
- "name": "proposalId",
1224
- "type": "uint256"
1225
- }
1226
- ],
1227
- "name": "proposalNeedsQueuing",
1228
- "outputs": [
1229
- {
1230
- "internalType": "bool",
1231
- "name": "",
1232
- "type": "bool"
1233
- }
1234
- ],
1235
- "stateMutability": "view",
1236
- "type": "function"
1237
- },
1238
- {
1239
- "inputs": [
1240
- {
1241
- "internalType": "uint256",
1242
- "name": "proposalId",
1243
- "type": "uint256"
1244
- }
1245
- ],
1246
- "name": "proposalProposer",
1247
- "outputs": [
1248
- {
1249
- "internalType": "address",
1250
- "name": "",
1251
- "type": "address"
1252
- }
1253
- ],
1254
- "stateMutability": "view",
1255
- "type": "function"
1256
- },
1257
- {
1258
- "inputs": [
1259
- {
1260
- "internalType": "uint256",
1261
- "name": "proposalId",
1262
- "type": "uint256"
1263
- }
1264
- ],
1265
- "name": "proposalSnapshot",
1266
- "outputs": [
1267
- {
1268
- "internalType": "uint256",
1269
- "name": "",
1270
- "type": "uint256"
1271
- }
1272
- ],
1273
- "stateMutability": "view",
1274
- "type": "function"
1275
- },
1276
- {
1277
- "inputs": [],
1278
- "name": "proposalThreshold",
1279
- "outputs": [
1280
- {
1281
- "internalType": "uint256",
1282
- "name": "",
1283
- "type": "uint256"
1284
- }
1285
- ],
1286
- "stateMutability": "view",
1287
- "type": "function"
1288
- },
1289
- {
1290
- "inputs": [
1291
- {
1292
- "internalType": "uint256",
1293
- "name": "proposalId",
1294
- "type": "uint256"
1295
- }
1296
- ],
1297
- "name": "proposalVotes",
1298
- "outputs": [
1299
- {
1300
- "internalType": "uint256",
1301
- "name": "againstVotes",
1302
- "type": "uint256"
1303
- },
1304
- {
1305
- "internalType": "uint256",
1306
- "name": "forVotes",
1307
- "type": "uint256"
1308
- },
1309
- {
1310
- "internalType": "uint256",
1311
- "name": "abstainVotes",
1312
- "type": "uint256"
1313
- }
1314
- ],
1315
- "stateMutability": "view",
1316
- "type": "function"
1317
- },
1318
- {
1319
- "inputs": [
1320
- {
1321
- "internalType": "address[]",
1322
- "name": "targets",
1323
- "type": "address[]"
1324
- },
1325
- {
1326
- "internalType": "uint256[]",
1327
- "name": "values",
1328
- "type": "uint256[]"
1329
- },
1330
- {
1331
- "internalType": "bytes[]",
1332
- "name": "calldatas",
1333
- "type": "bytes[]"
1334
- },
1335
- {
1336
- "internalType": "string",
1337
- "name": "description",
1338
- "type": "string"
1339
- }
1340
- ],
1341
- "name": "propose",
1342
- "outputs": [
1343
- {
1344
- "internalType": "uint256",
1345
- "name": "",
1346
- "type": "uint256"
1347
- }
1348
- ],
1349
- "stateMutability": "nonpayable",
1350
- "type": "function"
1351
- },
1352
- {
1353
- "inputs": [
1354
- {
1355
- "internalType": "address[]",
1356
- "name": "targets",
1357
- "type": "address[]"
1358
- },
1359
- {
1360
- "internalType": "uint256[]",
1361
- "name": "values",
1362
- "type": "uint256[]"
1363
- },
1364
- {
1365
- "internalType": "bytes[]",
1366
- "name": "calldatas",
1367
- "type": "bytes[]"
1368
- },
1369
- {
1370
- "internalType": "bytes32",
1371
- "name": "descriptionHash",
1372
- "type": "bytes32"
1373
- }
1374
- ],
26
+ "type": "function",
1375
27
  "name": "queue",
1376
- "outputs": [
1377
- {
1378
- "internalType": "uint256",
1379
- "name": "",
1380
- "type": "uint256"
1381
- }
1382
- ],
1383
28
  "stateMutability": "nonpayable",
1384
- "type": "function"
1385
- },
1386
- {
1387
- "inputs": [
1388
- {
1389
- "internalType": "uint256",
1390
- "name": "blockNumber",
1391
- "type": "uint256"
1392
- }
1393
- ],
1394
- "name": "quorum",
1395
- "outputs": [
1396
- {
1397
- "internalType": "uint256",
1398
- "name": "",
1399
- "type": "uint256"
1400
- }
1401
- ],
1402
- "stateMutability": "view",
1403
- "type": "function"
1404
- },
1405
- {
1406
- "inputs": [],
1407
- "name": "quorumDenominator",
1408
- "outputs": [
1409
- {
1410
- "internalType": "uint256",
1411
- "name": "",
1412
- "type": "uint256"
1413
- }
1414
- ],
1415
- "stateMutability": "view",
1416
- "type": "function"
1417
- },
1418
- {
1419
- "inputs": [
1420
- {
1421
- "internalType": "uint256",
1422
- "name": "timepoint",
1423
- "type": "uint256"
1424
- }
1425
- ],
1426
- "name": "quorumNumerator",
1427
- "outputs": [
1428
- {
1429
- "internalType": "uint256",
1430
- "name": "",
1431
- "type": "uint256"
1432
- }
1433
- ],
1434
- "stateMutability": "view",
1435
- "type": "function"
1436
- },
1437
- {
1438
- "inputs": [],
1439
- "name": "quorumNumerator",
1440
- "outputs": [
1441
- {
1442
- "internalType": "uint256",
1443
- "name": "",
1444
- "type": "uint256"
1445
- }
1446
- ],
1447
- "stateMutability": "view",
1448
- "type": "function"
1449
- },
1450
- {
1451
29
  "inputs": [
1452
- {
1453
- "internalType": "uint256",
1454
- "name": "proposalId",
1455
- "type": "uint256"
1456
- }
1457
- ],
1458
- "name": "quorumReached",
1459
- "outputs": [
1460
- {
1461
- "internalType": "bool",
1462
- "name": "",
1463
- "type": "bool"
1464
- }
30
+ { "name": "targets", "type": "address[]" },
31
+ { "name": "values", "type": "uint256[]" },
32
+ { "name": "calldatas", "type": "bytes[]" },
33
+ { "name": "descriptionHash", "type": "bytes32" }
1465
34
  ],
1466
- "stateMutability": "view",
1467
- "type": "function"
35
+ "outputs": [{ "name": "proposalId", "type": "uint256" }]
1468
36
  },
1469
37
  {
1470
- "inputs": [
1471
- {
1472
- "internalType": "address",
1473
- "name": "target",
1474
- "type": "address"
1475
- },
1476
- {
1477
- "internalType": "uint256",
1478
- "name": "value",
1479
- "type": "uint256"
1480
- },
1481
- {
1482
- "internalType": "bytes",
1483
- "name": "data",
1484
- "type": "bytes"
1485
- }
1486
- ],
1487
- "name": "relay",
1488
- "outputs": [],
38
+ "type": "function",
39
+ "name": "execute",
1489
40
  "stateMutability": "payable",
1490
- "type": "function"
1491
- },
1492
- {
1493
- "inputs": [
1494
- {
1495
- "internalType": "uint256",
1496
- "name": "newProposalThreshold",
1497
- "type": "uint256"
1498
- }
1499
- ],
1500
- "name": "setProposalThreshold",
1501
- "outputs": [],
1502
- "stateMutability": "nonpayable",
1503
- "type": "function"
1504
- },
1505
- {
1506
- "inputs": [
1507
- {
1508
- "internalType": "uint48",
1509
- "name": "newVotingDelay",
1510
- "type": "uint48"
1511
- }
1512
- ],
1513
- "name": "setVotingDelay",
1514
- "outputs": [],
1515
- "stateMutability": "nonpayable",
1516
- "type": "function"
1517
- },
1518
- {
1519
- "inputs": [
1520
- {
1521
- "internalType": "uint32",
1522
- "name": "newVotingPeriod",
1523
- "type": "uint32"
1524
- }
1525
- ],
1526
- "name": "setVotingPeriod",
1527
- "outputs": [],
1528
- "stateMutability": "nonpayable",
1529
- "type": "function"
1530
- },
1531
- {
1532
41
  "inputs": [
1533
- {
1534
- "internalType": "uint256",
1535
- "name": "proposalId",
1536
- "type": "uint256"
1537
- }
42
+ { "name": "targets", "type": "address[]" },
43
+ { "name": "values", "type": "uint256[]" },
44
+ { "name": "calldatas", "type": "bytes[]" },
45
+ { "name": "descriptionHash", "type": "bytes32" }
1538
46
  ],
1539
- "name": "state",
1540
- "outputs": [
1541
- {
1542
- "internalType": "enum IGovernor.ProposalState",
1543
- "name": "",
1544
- "type": "uint8"
1545
- }
1546
- ],
1547
- "stateMutability": "view",
1548
- "type": "function"
1549
- },
1550
- {
1551
- "inputs": [
1552
- {
1553
- "internalType": "bytes4",
1554
- "name": "interfaceId",
1555
- "type": "bytes4"
1556
- }
1557
- ],
1558
- "name": "supportsInterface",
1559
- "outputs": [
1560
- {
1561
- "internalType": "bool",
1562
- "name": "",
1563
- "type": "bool"
1564
- }
1565
- ],
1566
- "stateMutability": "view",
1567
- "type": "function"
1568
- },
1569
- {
1570
- "inputs": [],
1571
- "name": "timelock",
1572
- "outputs": [
1573
- {
1574
- "internalType": "address",
1575
- "name": "",
1576
- "type": "address"
1577
- }
1578
- ],
1579
- "stateMutability": "view",
1580
- "type": "function"
1581
- },
1582
- {
1583
- "inputs": [
1584
- {
1585
- "internalType": "bytes32",
1586
- "name": "descriptionHash",
1587
- "type": "bytes32"
1588
- }
1589
- ],
1590
- "name": "timelockSalt",
1591
- "outputs": [
1592
- {
1593
- "internalType": "bytes32",
1594
- "name": "",
1595
- "type": "bytes32"
1596
- }
1597
- ],
1598
- "stateMutability": "view",
1599
- "type": "function"
1600
- },
1601
- {
1602
- "inputs": [],
1603
- "name": "token",
1604
- "outputs": [
1605
- {
1606
- "internalType": "contract IERC5805",
1607
- "name": "",
1608
- "type": "address"
1609
- }
1610
- ],
1611
- "stateMutability": "view",
1612
- "type": "function"
1613
- },
1614
- {
1615
- "inputs": [
1616
- {
1617
- "internalType": "uint256",
1618
- "name": "newQuorumNumerator",
1619
- "type": "uint256"
1620
- }
1621
- ],
1622
- "name": "updateQuorumNumerator",
1623
- "outputs": [],
1624
- "stateMutability": "nonpayable",
1625
- "type": "function"
1626
- },
1627
- {
1628
- "inputs": [
1629
- {
1630
- "internalType": "contract TimelockController",
1631
- "name": "newTimelock",
1632
- "type": "address"
1633
- }
1634
- ],
1635
- "name": "updateTimelock",
1636
- "outputs": [],
1637
- "stateMutability": "nonpayable",
1638
- "type": "function"
1639
- },
1640
- {
1641
- "inputs": [],
1642
- "name": "version",
1643
- "outputs": [
1644
- {
1645
- "internalType": "string",
1646
- "name": "",
1647
- "type": "string"
1648
- }
1649
- ],
1650
- "stateMutability": "view",
1651
- "type": "function"
1652
- },
1653
- {
1654
- "inputs": [
1655
- {
1656
- "internalType": "uint256",
1657
- "name": "proposalId",
1658
- "type": "uint256"
1659
- }
1660
- ],
1661
- "name": "voteSucceeded",
1662
- "outputs": [
1663
- {
1664
- "internalType": "bool",
1665
- "name": "",
1666
- "type": "bool"
1667
- }
1668
- ],
1669
- "stateMutability": "view",
1670
- "type": "function"
1671
- },
1672
- {
1673
- "inputs": [],
1674
- "name": "votingDelay",
1675
- "outputs": [
1676
- {
1677
- "internalType": "uint256",
1678
- "name": "",
1679
- "type": "uint256"
1680
- }
1681
- ],
1682
- "stateMutability": "view",
1683
- "type": "function"
1684
- },
1685
- {
1686
- "inputs": [],
1687
- "name": "votingPeriod",
1688
- "outputs": [
1689
- {
1690
- "internalType": "uint256",
1691
- "name": "",
1692
- "type": "uint256"
1693
- }
1694
- ],
1695
- "stateMutability": "view",
1696
- "type": "function"
1697
- },
1698
- {
1699
- "stateMutability": "payable",
1700
- "type": "receive"
47
+ "outputs": [{ "name": "proposalId", "type": "uint256" }]
1701
48
  }
1702
- ],
1703
- "bytecode": "0x6101806040523480156200001257600080fd5b5060405162004f5738038062004f57833981016040819052620000359162000799565b8481878686866040518060400160405280600b81526020016a27ad1023b7bb32b93737b960a91b81525080620000706200018b60201b60201c565b6200007d826000620001a6565b610120526200008e816001620001a6565b61014052815160208084019190912060e052815190820120610100524660a0526200011c60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526003620001338282620008be565b5062000141905083620001df565b6200014c8262000245565b6200015781620002ec565b5050506001600160a01b03166101605262000172816200032d565b506200017e81620003cd565b5050505050505062000a3f565b6040805180820190915260018152603160f81b602082015290565b6000602083511015620001c657620001be8362000436565b9050620001d9565b81620001d38482620008be565b5060ff90505b92915050565b6008546040805165ffffffffffff928316815291831660208301527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93910160405180910390a16008805465ffffffffffff191665ffffffffffff92909216919091179055565b8063ffffffff16600003620002755760405163f1cfbf0560e01b8152600060048201526024015b60405180910390fd5b6008546040805163ffffffff66010000000000009093048316815291831660208301527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a16008805463ffffffff90921666010000000000000263ffffffff60301b19909216919091179055565b60075460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461910160405180910390a1600755565b6064808211156200035c5760405163243e544560e01b815260048101839052602481018290526044016200026c565b60006200036862000479565b90506200038d6200037862000495565b620003838562000517565b600a919062000551565b505060408051828152602081018590527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a1505050565b600b54604080516001600160a01b03928316815291831660208301527f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401910160405180910390a1600b80546001600160a01b0319166001600160a01b0392909216919091179055565b600080829050601f8151111562000464578260405163305a27a960e01b81526004016200026c91906200098a565b80516200047182620009da565b179392505050565b600062000487600a6200056e565b6001600160d01b0316905090565b6000620004a26101605190565b6001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620004fe575060408051601f3d908101601f19168201909252620004fb91810190620009ff565b60015b62000512576200050d620005be565b905090565b919050565b60006001600160d01b038211156200054d576040516306dfcc6560e41b815260d06004820152602481018390526044016200026c565b5090565b60008062000561858585620005cb565b915091505b935093915050565b80546000908015620005b4576200059a836200058c60018462000a1d565b600091825260209091200190565b54660100000000000090046001600160d01b0316620005b7565b60005b9392505050565b60006200050d4362000734565b825460009081908015620006d5576000620005ed876200058c60018562000a1d565b805490915065ffffffffffff80821691660100000000000090046001600160d01b03169088168211156200063457604051632520601d60e01b815260040160405180910390fd5b8765ffffffffffff168265ffffffffffff16036200067257825465ffffffffffff1666010000000000006001600160d01b03891602178355620006c6565b6040805180820190915265ffffffffffff808a1682526001600160d01b03808a1660208085019182528d54600181018f5560008f815291909120945191519092166601000000000000029216919091179101555b94508593506200056692505050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316660100000000000002919093161792019190915590508162000566565b600065ffffffffffff8211156200054d576040516306dfcc6560e41b815260306004820152602481018390526044016200026c565b6001600160a01b03811681146200077f57600080fd5b50565b805165ffffffffffff811681146200051257600080fd5b60008060008060008060c08789031215620007b357600080fd5b8651620007c08162000769565b6020880151909650620007d38162000769565b9450620007e36040880162000782565b9350606087015163ffffffff81168114620007fd57600080fd5b809350506080870151915060a087015190509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200084457607f821691505b6020821081036200086557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620008b957600081815260208120601f850160051c81016020861015620008945750805b601f850160051c820191505b81811015620008b557828155600101620008a0565b5050505b505050565b81516001600160401b03811115620008da57620008da62000819565b620008f281620008eb84546200082f565b846200086b565b602080601f8311600181146200092a5760008415620009115750858301515b600019600386901b1c1916600185901b178555620008b5565b600085815260208120601f198616915b828110156200095b578886015182559484019460019091019084016200093a565b50858210156200097a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083528351808285015260005b81811015620009b9578581018301518582016040015282016200099b565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620008655760001960209190910360031b1b16919050565b60006020828403121562000a1257600080fd5b620005b78262000782565b81810381811115620001d957634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516101605161448f62000ac860003960008181610a9c01528181610f0e0152818161148101528181611562015281816121df0152612470015260006121aa0152600061217d01526000612aa901526000612a81015260006129dc01526000612a0601526000612a30015261448f6000f3fe6080604052600436106102e85760003560e01c80637ecebe0011610190578063c01f9e37116100dc578063deaaa7cc11610095578063ece40cc11161006f578063ece40cc114610a2d578063f23a6e6114610a4d578063f8ce560a14610a6d578063fc0c546a14610a8d57600080fd5b8063deaaa7cc146109b9578063e540d01d146109ed578063eb9019d414610a0d57600080fd5b8063c01f9e37146108e2578063c28bc2fa14610902578063c59057e414610915578063d33219b414610935578063d4a8dd9814610953578063dd4e2ba51461097357600080fd5b80639a802a6d11610149578063a9a9529411610123578063a9a9529414610855578063ab58fb8e14610875578063b58131b0146108ad578063bc197c81146108c257600080fd5b80639a802a6d14610800578063a7713a7014610820578063a890c9101461083557600080fd5b80637ecebe001461072257806384b0196e146107585780638d73b031146107805780638ff262e3146107a057806391ddadf4146107c057806397c3d334146107ec57600080fd5b8063438596321161024f5780635b8d0e0d1161020857806360c4247f116101e257806360c4247f146106a257806379051887146106c25780637b3c71d3146106e25780637d5e81e21461070257600080fd5b80635b8d0e0d146106355780635c573d44146106555780635f398a141461068257600080fd5b80634385963214610517578063452115d6146105615780634bf5d7e914610581578063544ffc9c1461059657806354fd4d50146105eb578063567813881461061557600080fd5b8063160cbed7116102a1578063160cbed71461044e5780632656227d1461046e5780632d63f693146104815780632fe3e261146104a15780633932abb1146104d55780633e4f49e6146104ea57600080fd5b806301ffc9a71461032457806302a251a31461035957806306f3f9e61461038557806306fdde03146103a5578063143489d0146103c7578063150b7a021461041557600080fd5b3661031f57306102f6610ac0565b6001600160a01b03161461031d57604051637485328f60e11b815260040160405180910390fd5b005b600080fd5b34801561033057600080fd5b5061034461033f3660046133cd565b610ad9565b60405190151581526020015b60405180910390f35b34801561036557600080fd5b50600854600160301b900463ffffffff165b604051908152602001610350565b34801561039157600080fd5b5061031d6103a03660046133f7565b610b2b565b3480156103b157600080fd5b506103ba610b3f565b6040516103509190613460565b3480156103d357600080fd5b506103fd6103e23660046133f7565b6000908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610350565b34801561042157600080fd5b50610435610430366004613553565b610bd1565b6040516001600160e01b03199091168152602001610350565b34801561045a57600080fd5b5061037761046936600461372a565b610c14565b61037761047c36600461372a565b610ce3565b34801561048d57600080fd5b5061037761049c3660046133f7565b610e57565b3480156104ad57600080fd5b506103777f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a81181565b3480156104e157600080fd5b50610377610e78565b3480156104f657600080fd5b5061050a6105053660046133f7565b610e8b565b60405161035091906137f1565b34801561052357600080fd5b506103446105323660046137ff565b60008281526009602090815260408083206001600160a01b038516845260030190915290205460ff1692915050565b34801561056d57600080fd5b5061037761057c36600461372a565b610e96565b34801561058d57600080fd5b506103ba610f0a565b3480156105a257600080fd5b506105d06105b13660046133f7565b6000908152600960205260409020805460018201546002909201549092565b60408051938452602084019290925290820152606001610350565b3480156105f757600080fd5b506040805180820190915260018152603160f81b60208201526103ba565b34801561062157600080fd5b50610377610630366004613840565b610fcc565b34801561064157600080fd5b506103776106503660046138b4565b610ff5565b34801561066157600080fd5b506103776106703660046133f7565b6001600160601b03193060601b161890565b34801561068e57600080fd5b5061037761069d36600461396e565b611154565b3480156106ae57600080fd5b506103776106bd3660046133f7565b6111a9565b3480156106ce57600080fd5b5061031d6106dd366004613a05565b611237565b3480156106ee57600080fd5b506103776106fd366004613a22565b611248565b34801561070e57600080fd5b5061037761071d366004613a7b565b611290565b34801561072e57600080fd5b5061037761073d366004613b2f565b6001600160a01b031660009081526002602052604090205490565b34801561076457600080fd5b5061076d611349565b6040516103509796959493929190613b87565b34801561078c57600080fd5b5061034461079b3660046133f7565b61138f565b3480156107ac57600080fd5b506103776107bb366004613bf7565b6113ab565b3480156107cc57600080fd5b506107d561147d565b60405165ffffffffffff9091168152602001610350565b3480156107f857600080fd5b506064610377565b34801561080c57600080fd5b5061037761081b366004613c48565b611505565b34801561082c57600080fd5b5061037761151c565b34801561084157600080fd5b5061031d610850366004613b2f565b611536565b34801561086157600080fd5b506103446108703660046133f7565b611547565b34801561088157600080fd5b506103776108903660046133f7565b60009081526004602052604090206001015465ffffffffffff1690565b3480156108b957600080fd5b50610377611550565b3480156108ce57600080fd5b506104356108dd366004613ca0565b611642565b3480156108ee57600080fd5b506103776108fd3660046133f7565b611686565b61031d610910366004613d33565b6116c9565b34801561092157600080fd5b5061037761093036600461372a565b611749565b34801561094157600080fd5b50600b546001600160a01b03166103fd565b34801561095f57600080fd5b5061034461096e3660046133f7565b611783565b34801561097f57600080fd5b506040805180820190915260208082527f737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e908201526103ba565b3480156109c557600080fd5b506103777ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d781565b3480156109f957600080fd5b5061031d610a08366004613d76565b61178e565b348015610a1957600080fd5b50610377610a28366004613d9c565b61179f565b348015610a3957600080fd5b5061031d610a483660046133f7565b6117c0565b348015610a5957600080fd5b50610435610a68366004613dc8565b6117d1565b348015610a7957600080fd5b50610377610a883660046133f7565b611815565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103fd565b6000610ad4600b546001600160a01b031690565b905090565b60006001600160e01b031982166332a2ad4360e11b1480610b0a57506001600160e01b03198216630271189760e51b145b80610b2557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610b33611820565b610b3c8161189a565b50565b606060038054610b4e90613e30565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7a90613e30565b8015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b820191906000526020600020905b815481529060010190602001808311610baa57829003601f168201915b5050505050905090565b600030610bdc610ac0565b6001600160a01b031614610c0357604051637485328f60e11b815260040160405180910390fd5b50630a85bd0160e11b949350505050565b600080610c2386868686611749565b9050610c3881610c336004611930565b611953565b506000610c488288888888611992565b905065ffffffffffff811615610cc057600082815260046020908152604091829020600101805465ffffffffffff191665ffffffffffff85169081179091558251858152918201527f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892910160405180910390a1610cd9565b604051634844252360e11b815260040160405180910390fd5b5095945050505050565b600080610cf286868686611749565b9050610d1281610d026005611930565b610d0c6004611930565b17611953565b506000818152600460205260409020805460ff60f01b1916600160f01b17905530610d3b610ac0565b6001600160a01b031614610dcd5760005b8651811015610dcb57306001600160a01b0316878281518110610d7157610d71613e6a565b60200260200101516001600160a01b031603610dbb57610dbb858281518110610d9c57610d9c613e6a565b60200260200101518051906020012060056119a190919063ffffffff16565b610dc481613e96565b9050610d4c565b505b610dda8187878787611a03565b30610de3610ac0565b6001600160a01b031614158015610e0f57506005546001600160801b03808216600160801b9092041614155b15610e1a5760006005555b6040518181527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f906020015b60405180910390a195945050505050565b600090815260046020526040902054600160a01b900465ffffffffffff1690565b6000610ad460085465ffffffffffff1690565b6000610b2582611a17565b600080610ea586868686611749565b9050610eb581610c336000611930565b506000818152600460205260409020546001600160a01b03163314610ef45760405163233d98e360e01b81523360048201526024015b60405180910390fd5b610f0086868686611b56565b9695505050505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa925050508015610f8b57506040513d6000823e601f3d908101601f19168201604052610f889190810190613eaf565b60015b610fc7575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b600080339050610fed84828560405180602001604052806000815250611b6d565b949350505050565b6000806110d8876110d27f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a8118c8c8c61104a8e6001600160a01b0316600090815260026020526040902080546001810190915590565b8d8d60405161105a929190613f1c565b60405180910390208c805190602001206040516020016110b79796959493929190968752602087019590955260ff9390931660408601526001600160a01b03919091166060850152608084015260a083015260c082015260e00190565b60405160208183030381529060405280519060200120611b90565b85611bbd565b905080611103576040516394ab6c0760e01b81526001600160a01b0388166004820152602401610eeb565b61114789888a89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b9250611c31915050565b9998505050505050505050565b60008033905061119e87828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611c31915050565b979650505050505050565b600a805460009182906111bd600184613f2c565b815481106111cd576111cd613e6a565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316858211611210576001600160d01b031695945050505050565b61122461121c87611d13565b600a90611d4a565b6001600160d01b03169695505050505050565b61123f611820565b610b3c81611dff565b600080339050610f0086828787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b6d92505050565b60003361129d8184611e65565b6112c55760405163d9b3955760e01b81526001600160a01b0382166004820152602401610eeb565b60006112cf611550565b9050801561133c5760006112fe8360016112e761147d565b6112f19190613f3f565b65ffffffffffff1661179f565b90508181101561133a57604051636121770b60e11b81526001600160a01b03841660048201526024810182905260448101839052606401610eeb565b505b61119e8787878786611f56565b60006060806000806000606061135d612176565b6113656121a3565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000818152600960205260408120805460019091015411610b25565b600080611437846110d27ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d78989896114008b6001600160a01b0316600090815260026020526040902080546001810190915590565b60408051602081019690965285019390935260ff90911660608401526001600160a01b0316608083015260a082015260c0016110b7565b905080611462576040516394ab6c0760e01b81526001600160a01b0385166004820152602401610eeb565b610f0086858760405180602001604052806000815250611b6d565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114f9575060408051601f3d908101601f191682019092526114f691810190613f65565b60015b610fc757610ad46121d0565b60006115128484846121db565b90505b9392505050565b6000611528600a612271565b6001600160d01b0316905090565b61153e611820565b610b3c816122aa565b60006001610b25565b60008061155c60075490565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638e539e8c600161159961147d565b6115a39190613f3f565b6040516001600160e01b031960e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156115e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160a9190613f82565b9050670de0b6b3a764000061161f8284613f9b565b61163190670de0b6b3a763ffff613fb2565b61163b9190613fdb565b9250505090565b60003061164d610ac0565b6001600160a01b03161461167457604051637485328f60e11b815260040160405180910390fd5b5063bc197c8160e01b95945050505050565b6000818152600460205260408120546116bb90600160d01b810463ffffffff1690600160a01b900465ffffffffffff16613ffd565b65ffffffffffff1692915050565b6116d1611820565b600080856001600160a01b03168585856040516116ef929190613f1c565b60006040518083038185875af1925050503d806000811461172c576040519150601f19603f3d011682016040523d82523d6000602084013e611731565b606091505b50915091506117408282612313565b50505050505050565b60008484848460405160200161176294939291906140aa565b60408051601f19818403018152919052805160209091012095945050505050565b6000610b258261232f565b611796611820565b610b3c81612366565b600061151583836117bb60408051602081019091526000815290565b6121db565b6117c8611820565b610b3c81612404565b6000306117dc610ac0565b6001600160a01b03161461180357604051637485328f60e11b815260040160405180910390fd5b5063f23a6e6160e01b95945050505050565b6000610b2582612445565b33611829610ac0565b6001600160a01b031614611852576040516347096e4760e01b8152336004820152602401610eeb565b3061185b610ac0565b6001600160a01b031614611898576000803660405161187b929190613f1c565b604051809103902090505b8061189160056124ef565b0361188657505b565b6064808211156118c75760405163243e544560e01b81526004810183905260248101829052604401610eeb565b60006118d161151c565b90506118f06118de61147d565b6118e78561255e565b600a9190612592565b505060408051828152602081018590527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a1505050565b6000816007811115611944576119446137b9565b600160ff919091161b92915050565b60008061195f84610e8b565b905060008361196d83611930565b1603611515578381846040516331b75e4d60e01b8152600401610eeb939291906140f5565b6000610f0086868686866125ad565b81546001600160801b03600160801b8204811691811660018301909116036119cd576119cd6041612753565b6001600160801b03808216600090815260018086016020526040909120939093558354919092018216600160801b029116179055565b611a108585858585612765565b5050505050565b600080611a23836127f6565b90506005816007811115611a3957611a396137b9565b14611a445792915050565b6000838152600c60205260409081902054600b549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015611a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac19190614117565b15611ad0575060059392505050565b600b54604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015611b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3d9190614117565b15611b4c575060079392505050565b5060029392505050565b6000611b6485858585612930565b95945050505050565b6000611b6485858585611b8b60408051602081019091526000815290565b611c31565b6000610b25611b9d6129cf565b8360405161190160f01b8152600281019290925260228201526042902090565b6000836001600160a01b03163b600003611c1f57600080611bde8585612afa565b5090925090506000816003811115611bf857611bf86137b9565b148015611c165750856001600160a01b0316826001600160a01b0316145b92505050611515565b611c2a848484612b47565b9050611515565b6000611c4186610c336001611930565b506000611c5786611c5189610e57565b856121db565b90506000611c688888888588612c22565b90508351600003611cbf57866001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda489888489604051611cb29493929190614139565b60405180910390a261119e565b866001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb87128988848989604051611d00959493929190614161565b60405180910390a2979650505050505050565b600065ffffffffffff821115611d46576040516306dfcc6560e41b81526030600482015260248101839052604401610eeb565b5090565b815460009081816005811115611da9576000611d6584612d25565b611d6f9085613f2c565b60008881526020902090915081015465ffffffffffff9081169087161015611d9957809150611da7565b611da4816001613fb2565b92505b505b6000611db787878585612e7e565b90508015611df257611ddc87611dce600184613f2c565b600091825260209091200190565b54600160301b90046001600160d01b031661119e565b6000979650505050505050565b6008546040805165ffffffffffff928316815291831660208301527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93910160405180910390a16008805465ffffffffffff191665ffffffffffff92909216919091179055565b80516000906034811015611e7d576001915050610b25565b82810160131901516001600160a01b031981166b046e0e4dee0dee6cae47a60f60a31b14611eb057600192505050610b25565b600080611ebe602885613f2c565b90505b83811015611f3557600080611ef5888481518110611ee157611ee1613e6a565b01602001516001600160f81b031916612ee0565b9150915081611f0d5760019650505050505050610b25565b8060ff166004856001600160a01b0316901b179350505080611f2e90613e96565b9050611ec1565b50856001600160a01b0316816001600160a01b031614935050505092915050565b6000611f6b8686868680519060200120611749565b905084518651141580611f8057508351865114155b80611f8a57508551155b15611fbf57855184518651604051630447b05d60e41b8152600481019390935260248301919091526044820152606401610eeb565b600081815260046020526040902054600160a01b900465ffffffffffff161561200a5780611fec82610e8b565b6040516331b75e4d60e01b8152610eeb9291906000906004016140f5565b6000612014610e78565b61201c61147d565b65ffffffffffff1661202e9190613fb2565b9050600061204960085463ffffffff600160301b9091041690565b600084815260046020526040902080546001600160a01b0319166001600160a01b03871617815590915061207c83611d13565b815465ffffffffffff91909116600160a01b0265ffffffffffff60a01b199091161781556120a982612f72565b815463ffffffff91909116600160d01b0263ffffffff60d01b1990911617815588517f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e090859087908c908c906001600160401b0381111561210c5761210c613488565b60405190808252806020026020018201604052801561213f57816020015b606081526020019060019003908161212a5790505b508c8961214c8a82613fb2565b8e6040516121629998979695949392919061419b565b60405180910390a150505095945050505050565b6060610ad47f00000000000000000000000000000000000000000000000000000000000000006000612fa3565b6060610ad47f00000000000000000000000000000000000000000000000000000000000000006001612fa3565b6000610ad443611d13565b60007f0000000000000000000000000000000000000000000000000000000000000000604051630748d63560e31b81526001600160a01b038681166004830152602482018690529190911690633a46b1a890604401602060405180830381865afa15801561224d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115129190613f82565b805460009080156122a15761228b83611dce600184613f2c565b54600160301b90046001600160d01b0316611515565b60009392505050565b600b54604080516001600160a01b03928316815291831660208301527f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401910160405180910390a1600b80546001600160a01b0319166001600160a01b0392909216919091179055565b606082612328576123238261304e565b610b25565b5080610b25565b6000818152600960205260408120600281015460018201546123519190613fb2565b61235d610a8885610e57565b11159392505050565b8063ffffffff166000036123905760405163f1cfbf0560e01b815260006004820152602401610eeb565b6008546040805163ffffffff600160301b9093048316815291831660208301527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a16008805463ffffffff909216600160301b0269ffffffff00000000000019909216919091179055565b60075460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461910160405180910390a1600755565b60006064612452836111a9565b604051632394e7a360e21b8152600481018590526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638e539e8c90602401602060405180830381865afa1580156124b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124db9190613f82565b6124e59190613f9b565b610b259190613fdb565b80546000906001600160801b0380821691600160801b9004168103612518576125186031612753565b6001600160801b038181166000908152600185810160205260408220805492905585546fffffffffffffffffffffffffffffffff19169301909116919091179092555090565b60006001600160d01b03821115611d46576040516306dfcc6560e41b815260d0600482015260248101839052604401610eeb565b6000806125a0858585613077565b915091505b935093915050565b600080600b60009054906101000a90046001600160a01b03166001600160a01b031663f27a0c926040518163ffffffff1660e01b8152600401602060405180830381865afa158015612603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126279190613f82565b905060003060601b6001600160601b0319168418600b5460405163b1c5f42760e01b81529192506001600160a01b03169063b1c5f42790612675908a908a908a906000908890600401614272565b602060405180830381865afa158015612692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b69190613f82565b6000898152600c602052604080822092909255600b5491516308f2a0bb60e41b81526001600160a01b0390921691638f2a0bb091612701918b918b918b919088908a906004016142c0565b600060405180830381600087803b15801561271b57600080fd5b505af115801561272f573d6000803e3d6000fd5b5050505061274782426127429190613fb2565b611d13565b98975050505050505050565b634e487b71600052806020526024601cfd5b600b546001600160a01b031663e38335e53486868660003060601b6001600160601b03191688186040518763ffffffff1660e01b81526004016127ac959493929190614272565b6000604051808303818588803b1580156127c557600080fd5b505af11580156127d9573d6000803e3d6000fd5b50505060009687525050600c602052505060408320929092555050565b6000818152600460205260408120805460ff600160f01b8204811691600160f81b900416811561282b57506007949350505050565b801561283c57506002949350505050565b600061284786610e57565b90508060000361286d57604051636ad0607560e01b815260048101879052602401610eeb565b600061287761147d565b65ffffffffffff169050808210612895575060009695505050505050565b60006128a088611686565b90508181106128b757506001979650505050505050565b6128c08861232f565b15806128e057506000888152600960205260409020805460019091015411155b156128f357506003979650505050505050565b60008881526004602052604090206001015465ffffffffffff1660000361292257506004979650505050505050565b506005979650505050505050565b60008061293f868686866131cb565b6000818152600c60205260409020549091508015610cd957600b5460405163c4d252f560e01b8152600481018390526001600160a01b039091169063c4d252f590602401600060405180830381600087803b15801561299d57600080fd5b505af11580156129b1573d6000803e3d6000fd5b5050506000838152600c602052604081205550509050949350505050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612a2857507f000000000000000000000000000000000000000000000000000000000000000046145b15612a5257507f000000000000000000000000000000000000000000000000000000000000000090565b610ad4604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60008060008351604103612b345760208401516040850151606086015160001a612b268882858561327c565b955095509550505050612b40565b50508151600091506002905b9250925092565b6000806000856001600160a01b03168585604051602401612b69929190614318565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b17905251612b9e9190614331565b600060405180830381855afa9150503d8060008114612bd9576040519150601f19603f3d011682016040523d82523d6000602084013e612bde565b606091505b5091509150818015612bf257506020815110155b8015610f0057508051630b135d3f60e11b90612c179083016020908101908401613f82565b149695505050505050565b60008581526009602090815260408083206001600160a01b03881684526003810190925282205460ff1615612c75576040516371c6af4960e01b81526001600160a01b0387166004820152602401610eeb565b6001600160a01b03861660009081526003820160205260409020805460ff1916600117905560ff8516612cc15783816000016000828254612cb69190613fb2565b90915550612d1a9050565b60001960ff861601612ce15783816001016000828254612cb69190613fb2565b60011960ff861601612d015783816002016000828254612cb69190613fb2565b6040516303599be160e11b815260040160405180910390fd5b509195945050505050565b600060018211612d33575090565b816001600160801b8210612d4c5760809190911c9060401b5b680100000000000000008210612d675760409190911c9060201b5b6401000000008210612d7e5760209190911c9060101b5b620100008210612d935760109190911c9060081b5b6101008210612da75760089190911c9060041b5b60108210612dba5760049190911c9060021b5b60048210612dc65760011b5b600302600190811c90818581612dde57612dde613fc5565b048201901c90506001818581612df657612df6613fc5565b048201901c90506001818581612e0e57612e0e613fc5565b048201901c90506001818581612e2657612e26613fc5565b048201901c90506001818581612e3e57612e3e613fc5565b048201901c90506001818581612e5657612e56613fc5565b048201901c9050612e75818581612e6f57612e6f613fc5565b04821190565b90039392505050565b60005b81831015612ed8576000612e95848461334b565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115612ec457809250612ed2565b612ecf816001613fb2565b93505b50612e81565b509392505050565b60008060f883901c602f81118015612efb5750603a8160ff16105b15612f1057600194602f199091019350915050565b8060ff166040108015612f26575060478160ff16105b15612f3b576001946036199091019350915050565b8060ff166060108015612f51575060678160ff16105b15612f66576001946056199091019350915050565b50600093849350915050565b600063ffffffff821115611d46576040516306dfcc6560e41b81526020600482015260248101839052604401610eeb565b606060ff8314612fbd57612fb683613366565b9050610b25565b818054612fc990613e30565b80601f0160208091040260200160405190810160405280929190818152602001828054612ff590613e30565b80156130425780601f1061301757610100808354040283529160200191613042565b820191906000526020600020905b81548152906001019060200180831161302557829003601f168201915b50505050509050610b25565b80511561305e5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b82546000908190801561317057600061309587611dce600185613f2c565b805490915065ffffffffffff80821691600160301b90046001600160d01b03169088168211156130d857604051632520601d60e01b815260040160405180910390fd5b8765ffffffffffff168265ffffffffffff160361311157825465ffffffffffff16600160301b6001600160d01b03891602178355613162565b6040805180820190915265ffffffffffff808a1682526001600160d01b03808a1660208085019182528d54600181018f5560008f81529190912094519151909216600160301b029216919091179101555b94508593506125a592505050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816125a5565b6000806131da86868686611749565b9050613228816131ea6007611930565b6131f46006611930565b6131fe6002611930565b600161320b60078261434d565b61321690600261444a565b6132209190613f2c565b181818611953565b506000818152600460205260409081902080546001600160f81b0316600160f81b179055517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90610e469083815260200190565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156132b75750600091506003905082613341565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561330b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661333757506000925060019150829050613341565b9250600091508190505b9450945094915050565b600061335a6002848418613fdb565b61151590848416613fb2565b60606000613373836133a5565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060ff8216601f811115610b2557604051632cd44ac360e21b815260040160405180910390fd5b6000602082840312156133df57600080fd5b81356001600160e01b03198116811461151557600080fd5b60006020828403121561340957600080fd5b5035919050565b60005b8381101561342b578181015183820152602001613413565b50506000910152565b6000815180845261344c816020860160208601613410565b601f01601f19169290920160200192915050565b6020815260006115156020830184613434565b6001600160a01b0381168114610b3c57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156134c6576134c6613488565b604052919050565b60006001600160401b038211156134e7576134e7613488565b50601f01601f191660200190565b6000613508613503846134ce565b61349e565b905082815283838301111561351c57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261354457600080fd5b611515838335602085016134f5565b6000806000806080858703121561356957600080fd5b843561357481613473565b9350602085013561358481613473565b92506040850135915060608501356001600160401b038111156135a657600080fd5b6135b287828801613533565b91505092959194509250565b60006001600160401b038211156135d7576135d7613488565b5060051b60200190565b600082601f8301126135f257600080fd5b81356020613602613503836135be565b82815260059290921b8401810191818101908684111561362157600080fd5b8286015b8481101561364557803561363881613473565b8352918301918301613625565b509695505050505050565b600082601f83011261366157600080fd5b81356020613671613503836135be565b82815260059290921b8401810191818101908684111561369057600080fd5b8286015b848110156136455780358352918301918301613694565b600082601f8301126136bc57600080fd5b813560206136cc613503836135be565b82815260059290921b840181019181810190868411156136eb57600080fd5b8286015b848110156136455780356001600160401b0381111561370e5760008081fd5b61371c8986838b0101613533565b8452509183019183016136ef565b6000806000806080858703121561374057600080fd5b84356001600160401b038082111561375757600080fd5b613763888389016135e1565b9550602087013591508082111561377957600080fd5b61378588838901613650565b9450604087013591508082111561379b57600080fd5b506137a8878288016136ab565b949793965093946060013593505050565b634e487b7160e01b600052602160045260246000fd5b600881106137ed57634e487b7160e01b600052602160045260246000fd5b9052565b60208101610b2582846137cf565b6000806040838503121561381257600080fd5b82359150602083013561382481613473565b809150509250929050565b803560ff81168114610fc757600080fd5b6000806040838503121561385357600080fd5b823591506138636020840161382f565b90509250929050565b60008083601f84011261387e57600080fd5b5081356001600160401b0381111561389557600080fd5b6020830191508360208285010111156138ad57600080fd5b9250929050565b600080600080600080600060c0888a0312156138cf57600080fd5b873596506138df6020890161382f565b955060408801356138ef81613473565b945060608801356001600160401b038082111561390b57600080fd5b6139178b838c0161386c565b909650945060808a013591508082111561393057600080fd5b61393c8b838c01613533565b935060a08a013591508082111561395257600080fd5b5061395f8a828b01613533565b91505092959891949750929550565b60008060008060006080868803121561398657600080fd5b853594506139966020870161382f565b935060408601356001600160401b03808211156139b257600080fd5b6139be89838a0161386c565b909550935060608801359150808211156139d757600080fd5b506139e488828901613533565b9150509295509295909350565b65ffffffffffff81168114610b3c57600080fd5b600060208284031215613a1757600080fd5b8135611515816139f1565b60008060008060608587031215613a3857600080fd5b84359350613a486020860161382f565b925060408501356001600160401b03811115613a6357600080fd5b613a6f8782880161386c565b95989497509550505050565b60008060008060808587031215613a9157600080fd5b84356001600160401b0380821115613aa857600080fd5b613ab4888389016135e1565b95506020870135915080821115613aca57600080fd5b613ad688838901613650565b94506040870135915080821115613aec57600080fd5b613af8888389016136ab565b93506060870135915080821115613b0e57600080fd5b508501601f81018713613b2057600080fd5b6135b2878235602084016134f5565b600060208284031215613b4157600080fd5b813561151581613473565b600081518084526020808501945080840160005b83811015613b7c57815187529582019590820190600101613b60565b509495945050505050565b60ff60f81b8816815260e060208201526000613ba660e0830189613434565b8281036040840152613bb88189613434565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501529050613be98185613b4c565b9a9950505050505050505050565b60008060008060808587031215613c0d57600080fd5b84359350613c1d6020860161382f565b92506040850135613c2d81613473565b915060608501356001600160401b038111156135a657600080fd5b600080600060608486031215613c5d57600080fd5b8335613c6881613473565b92506020840135915060408401356001600160401b03811115613c8a57600080fd5b613c9686828701613533565b9150509250925092565b600080600080600060a08688031215613cb857600080fd5b8535613cc381613473565b94506020860135613cd381613473565b935060408601356001600160401b0380821115613cef57600080fd5b613cfb89838a01613650565b94506060880135915080821115613d1157600080fd5b613d1d89838a01613650565b935060808801359150808211156139d757600080fd5b60008060008060608587031215613d4957600080fd5b8435613d5481613473565b93506020850135925060408501356001600160401b03811115613a6357600080fd5b600060208284031215613d8857600080fd5b813563ffffffff8116811461151557600080fd5b60008060408385031215613daf57600080fd5b8235613dba81613473565b946020939093013593505050565b600080600080600060a08688031215613de057600080fd5b8535613deb81613473565b94506020860135613dfb81613473565b9350604086013592506060860135915060808601356001600160401b03811115613e2457600080fd5b6139e488828901613533565b600181811c90821680613e4457607f821691505b602082108103613e6457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201613ea857613ea8613e80565b5060010190565b600060208284031215613ec157600080fd5b81516001600160401b03811115613ed757600080fd5b8201601f81018413613ee857600080fd5b8051613ef6613503826134ce565b818152856020838501011115613f0b57600080fd5b611b64826020830160208601613410565b8183823760009101908152919050565b81810381811115610b2557610b25613e80565b65ffffffffffff828116828216039080821115613f5e57613f5e613e80565b5092915050565b600060208284031215613f7757600080fd5b8151611515816139f1565b600060208284031215613f9457600080fd5b5051919050565b8082028115828204841417610b2557610b25613e80565b80820180821115610b2557610b25613e80565b634e487b7160e01b600052601260045260246000fd5b600082613ff857634e487b7160e01b600052601260045260246000fd5b500490565b65ffffffffffff818116838216019080821115613f5e57613f5e613e80565b600081518084526020808501945080840160005b83811015613b7c5781516001600160a01b031687529582019590820190600101614030565b600081518084526020808501808196508360051b8101915082860160005b8581101561409d57828403895261408b848351613434565b98850198935090840190600101614073565b5091979650505050505050565b6080815260006140bd608083018761401c565b82810360208401526140cf8187613b4c565b905082810360408401526140e38186614055565b91505082606083015295945050505050565b8381526060810161410960208301856137cf565b826040830152949350505050565b60006020828403121561412957600080fd5b8151801515811461151557600080fd5b84815260ff84166020820152826040820152608060608201526000610f006080830184613434565b85815260ff8516602082015283604082015260a06060820152600061418960a0830185613434565b82810360808401526127478185613434565b60006101208b8352602060018060a01b038c16818501528160408501526141c48285018c61401c565b915083820360608501526141d8828b613b4c565b915083820360808501528189518084528284019150828160051b850101838c0160005b8381101561422957601f19878403018552614217838351613434565b948601949250908501906001016141fb565b505086810360a088015261423d818c614055565b9450505050508560c08401528460e08401528281036101008401526142628185613434565b9c9b505050505050505050505050565b60a08152600061428560a083018861401c565b82810360208401526142978188613b4c565b905082810360408401526142ab8187614055565b60608401959095525050608001529392505050565b60c0815260006142d360c083018961401c565b82810360208401526142e58189613b4c565b905082810360408401526142f98188614055565b60608401969096525050608081019290925260a0909101529392505050565b8281526040602082015260006115126040830184613434565b60008251614343818460208701613410565b9190910192915050565b60ff8181168382160190811115610b2557610b25613e80565b600181815b808511156143a157816000190482111561438757614387613e80565b8085161561439457918102915b93841c939080029061436b565b509250929050565b6000826143b857506001610b25565b816143c557506000610b25565b81600181146143db57600281146143e557614401565b6001915050610b25565b60ff8411156143f6576143f6613e80565b50506001821b610b25565b5060208310610133831016604e8410600b8410161715614424575081810a610b25565b61442e8383614366565b806000190482111561444257614442613e80565b029392505050565b600061151560ff8416836143a956fea2646970667358221220f57721fcd41c51ed29de5666546d315810a0f33cc5044218ed54441034104d6064736f6c63430008140033",
1704
- "deployedBytecode": "0x6080604052600436106102e85760003560e01c80637ecebe0011610190578063c01f9e37116100dc578063deaaa7cc11610095578063ece40cc11161006f578063ece40cc114610a2d578063f23a6e6114610a4d578063f8ce560a14610a6d578063fc0c546a14610a8d57600080fd5b8063deaaa7cc146109b9578063e540d01d146109ed578063eb9019d414610a0d57600080fd5b8063c01f9e37146108e2578063c28bc2fa14610902578063c59057e414610915578063d33219b414610935578063d4a8dd9814610953578063dd4e2ba51461097357600080fd5b80639a802a6d11610149578063a9a9529411610123578063a9a9529414610855578063ab58fb8e14610875578063b58131b0146108ad578063bc197c81146108c257600080fd5b80639a802a6d14610800578063a7713a7014610820578063a890c9101461083557600080fd5b80637ecebe001461072257806384b0196e146107585780638d73b031146107805780638ff262e3146107a057806391ddadf4146107c057806397c3d334146107ec57600080fd5b8063438596321161024f5780635b8d0e0d1161020857806360c4247f116101e257806360c4247f146106a257806379051887146106c25780637b3c71d3146106e25780637d5e81e21461070257600080fd5b80635b8d0e0d146106355780635c573d44146106555780635f398a141461068257600080fd5b80634385963214610517578063452115d6146105615780634bf5d7e914610581578063544ffc9c1461059657806354fd4d50146105eb578063567813881461061557600080fd5b8063160cbed7116102a1578063160cbed71461044e5780632656227d1461046e5780632d63f693146104815780632fe3e261146104a15780633932abb1146104d55780633e4f49e6146104ea57600080fd5b806301ffc9a71461032457806302a251a31461035957806306f3f9e61461038557806306fdde03146103a5578063143489d0146103c7578063150b7a021461041557600080fd5b3661031f57306102f6610ac0565b6001600160a01b03161461031d57604051637485328f60e11b815260040160405180910390fd5b005b600080fd5b34801561033057600080fd5b5061034461033f3660046133cd565b610ad9565b60405190151581526020015b60405180910390f35b34801561036557600080fd5b50600854600160301b900463ffffffff165b604051908152602001610350565b34801561039157600080fd5b5061031d6103a03660046133f7565b610b2b565b3480156103b157600080fd5b506103ba610b3f565b6040516103509190613460565b3480156103d357600080fd5b506103fd6103e23660046133f7565b6000908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610350565b34801561042157600080fd5b50610435610430366004613553565b610bd1565b6040516001600160e01b03199091168152602001610350565b34801561045a57600080fd5b5061037761046936600461372a565b610c14565b61037761047c36600461372a565b610ce3565b34801561048d57600080fd5b5061037761049c3660046133f7565b610e57565b3480156104ad57600080fd5b506103777f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a81181565b3480156104e157600080fd5b50610377610e78565b3480156104f657600080fd5b5061050a6105053660046133f7565b610e8b565b60405161035091906137f1565b34801561052357600080fd5b506103446105323660046137ff565b60008281526009602090815260408083206001600160a01b038516845260030190915290205460ff1692915050565b34801561056d57600080fd5b5061037761057c36600461372a565b610e96565b34801561058d57600080fd5b506103ba610f0a565b3480156105a257600080fd5b506105d06105b13660046133f7565b6000908152600960205260409020805460018201546002909201549092565b60408051938452602084019290925290820152606001610350565b3480156105f757600080fd5b506040805180820190915260018152603160f81b60208201526103ba565b34801561062157600080fd5b50610377610630366004613840565b610fcc565b34801561064157600080fd5b506103776106503660046138b4565b610ff5565b34801561066157600080fd5b506103776106703660046133f7565b6001600160601b03193060601b161890565b34801561068e57600080fd5b5061037761069d36600461396e565b611154565b3480156106ae57600080fd5b506103776106bd3660046133f7565b6111a9565b3480156106ce57600080fd5b5061031d6106dd366004613a05565b611237565b3480156106ee57600080fd5b506103776106fd366004613a22565b611248565b34801561070e57600080fd5b5061037761071d366004613a7b565b611290565b34801561072e57600080fd5b5061037761073d366004613b2f565b6001600160a01b031660009081526002602052604090205490565b34801561076457600080fd5b5061076d611349565b6040516103509796959493929190613b87565b34801561078c57600080fd5b5061034461079b3660046133f7565b61138f565b3480156107ac57600080fd5b506103776107bb366004613bf7565b6113ab565b3480156107cc57600080fd5b506107d561147d565b60405165ffffffffffff9091168152602001610350565b3480156107f857600080fd5b506064610377565b34801561080c57600080fd5b5061037761081b366004613c48565b611505565b34801561082c57600080fd5b5061037761151c565b34801561084157600080fd5b5061031d610850366004613b2f565b611536565b34801561086157600080fd5b506103446108703660046133f7565b611547565b34801561088157600080fd5b506103776108903660046133f7565b60009081526004602052604090206001015465ffffffffffff1690565b3480156108b957600080fd5b50610377611550565b3480156108ce57600080fd5b506104356108dd366004613ca0565b611642565b3480156108ee57600080fd5b506103776108fd3660046133f7565b611686565b61031d610910366004613d33565b6116c9565b34801561092157600080fd5b5061037761093036600461372a565b611749565b34801561094157600080fd5b50600b546001600160a01b03166103fd565b34801561095f57600080fd5b5061034461096e3660046133f7565b611783565b34801561097f57600080fd5b506040805180820190915260208082527f737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e908201526103ba565b3480156109c557600080fd5b506103777ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d781565b3480156109f957600080fd5b5061031d610a08366004613d76565b61178e565b348015610a1957600080fd5b50610377610a28366004613d9c565b61179f565b348015610a3957600080fd5b5061031d610a483660046133f7565b6117c0565b348015610a5957600080fd5b50610435610a68366004613dc8565b6117d1565b348015610a7957600080fd5b50610377610a883660046133f7565b611815565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103fd565b6000610ad4600b546001600160a01b031690565b905090565b60006001600160e01b031982166332a2ad4360e11b1480610b0a57506001600160e01b03198216630271189760e51b145b80610b2557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610b33611820565b610b3c8161189a565b50565b606060038054610b4e90613e30565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7a90613e30565b8015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b820191906000526020600020905b815481529060010190602001808311610baa57829003601f168201915b5050505050905090565b600030610bdc610ac0565b6001600160a01b031614610c0357604051637485328f60e11b815260040160405180910390fd5b50630a85bd0160e11b949350505050565b600080610c2386868686611749565b9050610c3881610c336004611930565b611953565b506000610c488288888888611992565b905065ffffffffffff811615610cc057600082815260046020908152604091829020600101805465ffffffffffff191665ffffffffffff85169081179091558251858152918201527f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892910160405180910390a1610cd9565b604051634844252360e11b815260040160405180910390fd5b5095945050505050565b600080610cf286868686611749565b9050610d1281610d026005611930565b610d0c6004611930565b17611953565b506000818152600460205260409020805460ff60f01b1916600160f01b17905530610d3b610ac0565b6001600160a01b031614610dcd5760005b8651811015610dcb57306001600160a01b0316878281518110610d7157610d71613e6a565b60200260200101516001600160a01b031603610dbb57610dbb858281518110610d9c57610d9c613e6a565b60200260200101518051906020012060056119a190919063ffffffff16565b610dc481613e96565b9050610d4c565b505b610dda8187878787611a03565b30610de3610ac0565b6001600160a01b031614158015610e0f57506005546001600160801b03808216600160801b9092041614155b15610e1a5760006005555b6040518181527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f906020015b60405180910390a195945050505050565b600090815260046020526040902054600160a01b900465ffffffffffff1690565b6000610ad460085465ffffffffffff1690565b6000610b2582611a17565b600080610ea586868686611749565b9050610eb581610c336000611930565b506000818152600460205260409020546001600160a01b03163314610ef45760405163233d98e360e01b81523360048201526024015b60405180910390fd5b610f0086868686611b56565b9695505050505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa925050508015610f8b57506040513d6000823e601f3d908101601f19168201604052610f889190810190613eaf565b60015b610fc7575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b600080339050610fed84828560405180602001604052806000815250611b6d565b949350505050565b6000806110d8876110d27f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a8118c8c8c61104a8e6001600160a01b0316600090815260026020526040902080546001810190915590565b8d8d60405161105a929190613f1c565b60405180910390208c805190602001206040516020016110b79796959493929190968752602087019590955260ff9390931660408601526001600160a01b03919091166060850152608084015260a083015260c082015260e00190565b60405160208183030381529060405280519060200120611b90565b85611bbd565b905080611103576040516394ab6c0760e01b81526001600160a01b0388166004820152602401610eeb565b61114789888a89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b9250611c31915050565b9998505050505050505050565b60008033905061119e87828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611c31915050565b979650505050505050565b600a805460009182906111bd600184613f2c565b815481106111cd576111cd613e6a565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316858211611210576001600160d01b031695945050505050565b61122461121c87611d13565b600a90611d4a565b6001600160d01b03169695505050505050565b61123f611820565b610b3c81611dff565b600080339050610f0086828787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b6d92505050565b60003361129d8184611e65565b6112c55760405163d9b3955760e01b81526001600160a01b0382166004820152602401610eeb565b60006112cf611550565b9050801561133c5760006112fe8360016112e761147d565b6112f19190613f3f565b65ffffffffffff1661179f565b90508181101561133a57604051636121770b60e11b81526001600160a01b03841660048201526024810182905260448101839052606401610eeb565b505b61119e8787878786611f56565b60006060806000806000606061135d612176565b6113656121a3565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000818152600960205260408120805460019091015411610b25565b600080611437846110d27ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d78989896114008b6001600160a01b0316600090815260026020526040902080546001810190915590565b60408051602081019690965285019390935260ff90911660608401526001600160a01b0316608083015260a082015260c0016110b7565b905080611462576040516394ab6c0760e01b81526001600160a01b0385166004820152602401610eeb565b610f0086858760405180602001604052806000815250611b6d565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114f9575060408051601f3d908101601f191682019092526114f691810190613f65565b60015b610fc757610ad46121d0565b60006115128484846121db565b90505b9392505050565b6000611528600a612271565b6001600160d01b0316905090565b61153e611820565b610b3c816122aa565b60006001610b25565b60008061155c60075490565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638e539e8c600161159961147d565b6115a39190613f3f565b6040516001600160e01b031960e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156115e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160a9190613f82565b9050670de0b6b3a764000061161f8284613f9b565b61163190670de0b6b3a763ffff613fb2565b61163b9190613fdb565b9250505090565b60003061164d610ac0565b6001600160a01b03161461167457604051637485328f60e11b815260040160405180910390fd5b5063bc197c8160e01b95945050505050565b6000818152600460205260408120546116bb90600160d01b810463ffffffff1690600160a01b900465ffffffffffff16613ffd565b65ffffffffffff1692915050565b6116d1611820565b600080856001600160a01b03168585856040516116ef929190613f1c565b60006040518083038185875af1925050503d806000811461172c576040519150601f19603f3d011682016040523d82523d6000602084013e611731565b606091505b50915091506117408282612313565b50505050505050565b60008484848460405160200161176294939291906140aa565b60408051601f19818403018152919052805160209091012095945050505050565b6000610b258261232f565b611796611820565b610b3c81612366565b600061151583836117bb60408051602081019091526000815290565b6121db565b6117c8611820565b610b3c81612404565b6000306117dc610ac0565b6001600160a01b03161461180357604051637485328f60e11b815260040160405180910390fd5b5063f23a6e6160e01b95945050505050565b6000610b2582612445565b33611829610ac0565b6001600160a01b031614611852576040516347096e4760e01b8152336004820152602401610eeb565b3061185b610ac0565b6001600160a01b031614611898576000803660405161187b929190613f1c565b604051809103902090505b8061189160056124ef565b0361188657505b565b6064808211156118c75760405163243e544560e01b81526004810183905260248101829052604401610eeb565b60006118d161151c565b90506118f06118de61147d565b6118e78561255e565b600a9190612592565b505060408051828152602081018590527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a1505050565b6000816007811115611944576119446137b9565b600160ff919091161b92915050565b60008061195f84610e8b565b905060008361196d83611930565b1603611515578381846040516331b75e4d60e01b8152600401610eeb939291906140f5565b6000610f0086868686866125ad565b81546001600160801b03600160801b8204811691811660018301909116036119cd576119cd6041612753565b6001600160801b03808216600090815260018086016020526040909120939093558354919092018216600160801b029116179055565b611a108585858585612765565b5050505050565b600080611a23836127f6565b90506005816007811115611a3957611a396137b9565b14611a445792915050565b6000838152600c60205260409081902054600b549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015611a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac19190614117565b15611ad0575060059392505050565b600b54604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015611b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3d9190614117565b15611b4c575060079392505050565b5060029392505050565b6000611b6485858585612930565b95945050505050565b6000611b6485858585611b8b60408051602081019091526000815290565b611c31565b6000610b25611b9d6129cf565b8360405161190160f01b8152600281019290925260228201526042902090565b6000836001600160a01b03163b600003611c1f57600080611bde8585612afa565b5090925090506000816003811115611bf857611bf86137b9565b148015611c165750856001600160a01b0316826001600160a01b0316145b92505050611515565b611c2a848484612b47565b9050611515565b6000611c4186610c336001611930565b506000611c5786611c5189610e57565b856121db565b90506000611c688888888588612c22565b90508351600003611cbf57866001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda489888489604051611cb29493929190614139565b60405180910390a261119e565b866001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb87128988848989604051611d00959493929190614161565b60405180910390a2979650505050505050565b600065ffffffffffff821115611d46576040516306dfcc6560e41b81526030600482015260248101839052604401610eeb565b5090565b815460009081816005811115611da9576000611d6584612d25565b611d6f9085613f2c565b60008881526020902090915081015465ffffffffffff9081169087161015611d9957809150611da7565b611da4816001613fb2565b92505b505b6000611db787878585612e7e565b90508015611df257611ddc87611dce600184613f2c565b600091825260209091200190565b54600160301b90046001600160d01b031661119e565b6000979650505050505050565b6008546040805165ffffffffffff928316815291831660208301527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93910160405180910390a16008805465ffffffffffff191665ffffffffffff92909216919091179055565b80516000906034811015611e7d576001915050610b25565b82810160131901516001600160a01b031981166b046e0e4dee0dee6cae47a60f60a31b14611eb057600192505050610b25565b600080611ebe602885613f2c565b90505b83811015611f3557600080611ef5888481518110611ee157611ee1613e6a565b01602001516001600160f81b031916612ee0565b9150915081611f0d5760019650505050505050610b25565b8060ff166004856001600160a01b0316901b179350505080611f2e90613e96565b9050611ec1565b50856001600160a01b0316816001600160a01b031614935050505092915050565b6000611f6b8686868680519060200120611749565b905084518651141580611f8057508351865114155b80611f8a57508551155b15611fbf57855184518651604051630447b05d60e41b8152600481019390935260248301919091526044820152606401610eeb565b600081815260046020526040902054600160a01b900465ffffffffffff161561200a5780611fec82610e8b565b6040516331b75e4d60e01b8152610eeb9291906000906004016140f5565b6000612014610e78565b61201c61147d565b65ffffffffffff1661202e9190613fb2565b9050600061204960085463ffffffff600160301b9091041690565b600084815260046020526040902080546001600160a01b0319166001600160a01b03871617815590915061207c83611d13565b815465ffffffffffff91909116600160a01b0265ffffffffffff60a01b199091161781556120a982612f72565b815463ffffffff91909116600160d01b0263ffffffff60d01b1990911617815588517f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e090859087908c908c906001600160401b0381111561210c5761210c613488565b60405190808252806020026020018201604052801561213f57816020015b606081526020019060019003908161212a5790505b508c8961214c8a82613fb2565b8e6040516121629998979695949392919061419b565b60405180910390a150505095945050505050565b6060610ad47f00000000000000000000000000000000000000000000000000000000000000006000612fa3565b6060610ad47f00000000000000000000000000000000000000000000000000000000000000006001612fa3565b6000610ad443611d13565b60007f0000000000000000000000000000000000000000000000000000000000000000604051630748d63560e31b81526001600160a01b038681166004830152602482018690529190911690633a46b1a890604401602060405180830381865afa15801561224d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115129190613f82565b805460009080156122a15761228b83611dce600184613f2c565b54600160301b90046001600160d01b0316611515565b60009392505050565b600b54604080516001600160a01b03928316815291831660208301527f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401910160405180910390a1600b80546001600160a01b0319166001600160a01b0392909216919091179055565b606082612328576123238261304e565b610b25565b5080610b25565b6000818152600960205260408120600281015460018201546123519190613fb2565b61235d610a8885610e57565b11159392505050565b8063ffffffff166000036123905760405163f1cfbf0560e01b815260006004820152602401610eeb565b6008546040805163ffffffff600160301b9093048316815291831660208301527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a16008805463ffffffff909216600160301b0269ffffffff00000000000019909216919091179055565b60075460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461910160405180910390a1600755565b60006064612452836111a9565b604051632394e7a360e21b8152600481018590526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638e539e8c90602401602060405180830381865afa1580156124b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124db9190613f82565b6124e59190613f9b565b610b259190613fdb565b80546000906001600160801b0380821691600160801b9004168103612518576125186031612753565b6001600160801b038181166000908152600185810160205260408220805492905585546fffffffffffffffffffffffffffffffff19169301909116919091179092555090565b60006001600160d01b03821115611d46576040516306dfcc6560e41b815260d0600482015260248101839052604401610eeb565b6000806125a0858585613077565b915091505b935093915050565b600080600b60009054906101000a90046001600160a01b03166001600160a01b031663f27a0c926040518163ffffffff1660e01b8152600401602060405180830381865afa158015612603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126279190613f82565b905060003060601b6001600160601b0319168418600b5460405163b1c5f42760e01b81529192506001600160a01b03169063b1c5f42790612675908a908a908a906000908890600401614272565b602060405180830381865afa158015612692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b69190613f82565b6000898152600c602052604080822092909255600b5491516308f2a0bb60e41b81526001600160a01b0390921691638f2a0bb091612701918b918b918b919088908a906004016142c0565b600060405180830381600087803b15801561271b57600080fd5b505af115801561272f573d6000803e3d6000fd5b5050505061274782426127429190613fb2565b611d13565b98975050505050505050565b634e487b71600052806020526024601cfd5b600b546001600160a01b031663e38335e53486868660003060601b6001600160601b03191688186040518763ffffffff1660e01b81526004016127ac959493929190614272565b6000604051808303818588803b1580156127c557600080fd5b505af11580156127d9573d6000803e3d6000fd5b50505060009687525050600c602052505060408320929092555050565b6000818152600460205260408120805460ff600160f01b8204811691600160f81b900416811561282b57506007949350505050565b801561283c57506002949350505050565b600061284786610e57565b90508060000361286d57604051636ad0607560e01b815260048101879052602401610eeb565b600061287761147d565b65ffffffffffff169050808210612895575060009695505050505050565b60006128a088611686565b90508181106128b757506001979650505050505050565b6128c08861232f565b15806128e057506000888152600960205260409020805460019091015411155b156128f357506003979650505050505050565b60008881526004602052604090206001015465ffffffffffff1660000361292257506004979650505050505050565b506005979650505050505050565b60008061293f868686866131cb565b6000818152600c60205260409020549091508015610cd957600b5460405163c4d252f560e01b8152600481018390526001600160a01b039091169063c4d252f590602401600060405180830381600087803b15801561299d57600080fd5b505af11580156129b1573d6000803e3d6000fd5b5050506000838152600c602052604081205550509050949350505050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612a2857507f000000000000000000000000000000000000000000000000000000000000000046145b15612a5257507f000000000000000000000000000000000000000000000000000000000000000090565b610ad4604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60008060008351604103612b345760208401516040850151606086015160001a612b268882858561327c565b955095509550505050612b40565b50508151600091506002905b9250925092565b6000806000856001600160a01b03168585604051602401612b69929190614318565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b17905251612b9e9190614331565b600060405180830381855afa9150503d8060008114612bd9576040519150601f19603f3d011682016040523d82523d6000602084013e612bde565b606091505b5091509150818015612bf257506020815110155b8015610f0057508051630b135d3f60e11b90612c179083016020908101908401613f82565b149695505050505050565b60008581526009602090815260408083206001600160a01b03881684526003810190925282205460ff1615612c75576040516371c6af4960e01b81526001600160a01b0387166004820152602401610eeb565b6001600160a01b03861660009081526003820160205260409020805460ff1916600117905560ff8516612cc15783816000016000828254612cb69190613fb2565b90915550612d1a9050565b60001960ff861601612ce15783816001016000828254612cb69190613fb2565b60011960ff861601612d015783816002016000828254612cb69190613fb2565b6040516303599be160e11b815260040160405180910390fd5b509195945050505050565b600060018211612d33575090565b816001600160801b8210612d4c5760809190911c9060401b5b680100000000000000008210612d675760409190911c9060201b5b6401000000008210612d7e5760209190911c9060101b5b620100008210612d935760109190911c9060081b5b6101008210612da75760089190911c9060041b5b60108210612dba5760049190911c9060021b5b60048210612dc65760011b5b600302600190811c90818581612dde57612dde613fc5565b048201901c90506001818581612df657612df6613fc5565b048201901c90506001818581612e0e57612e0e613fc5565b048201901c90506001818581612e2657612e26613fc5565b048201901c90506001818581612e3e57612e3e613fc5565b048201901c90506001818581612e5657612e56613fc5565b048201901c9050612e75818581612e6f57612e6f613fc5565b04821190565b90039392505050565b60005b81831015612ed8576000612e95848461334b565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115612ec457809250612ed2565b612ecf816001613fb2565b93505b50612e81565b509392505050565b60008060f883901c602f81118015612efb5750603a8160ff16105b15612f1057600194602f199091019350915050565b8060ff166040108015612f26575060478160ff16105b15612f3b576001946036199091019350915050565b8060ff166060108015612f51575060678160ff16105b15612f66576001946056199091019350915050565b50600093849350915050565b600063ffffffff821115611d46576040516306dfcc6560e41b81526020600482015260248101839052604401610eeb565b606060ff8314612fbd57612fb683613366565b9050610b25565b818054612fc990613e30565b80601f0160208091040260200160405190810160405280929190818152602001828054612ff590613e30565b80156130425780601f1061301757610100808354040283529160200191613042565b820191906000526020600020905b81548152906001019060200180831161302557829003601f168201915b50505050509050610b25565b80511561305e5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b82546000908190801561317057600061309587611dce600185613f2c565b805490915065ffffffffffff80821691600160301b90046001600160d01b03169088168211156130d857604051632520601d60e01b815260040160405180910390fd5b8765ffffffffffff168265ffffffffffff160361311157825465ffffffffffff16600160301b6001600160d01b03891602178355613162565b6040805180820190915265ffffffffffff808a1682526001600160d01b03808a1660208085019182528d54600181018f5560008f81529190912094519151909216600160301b029216919091179101555b94508593506125a592505050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816125a5565b6000806131da86868686611749565b9050613228816131ea6007611930565b6131f46006611930565b6131fe6002611930565b600161320b60078261434d565b61321690600261444a565b6132209190613f2c565b181818611953565b506000818152600460205260409081902080546001600160f81b0316600160f81b179055517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90610e469083815260200190565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156132b75750600091506003905082613341565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561330b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661333757506000925060019150829050613341565b9250600091508190505b9450945094915050565b600061335a6002848418613fdb565b61151590848416613fb2565b60606000613373836133a5565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060ff8216601f811115610b2557604051632cd44ac360e21b815260040160405180910390fd5b6000602082840312156133df57600080fd5b81356001600160e01b03198116811461151557600080fd5b60006020828403121561340957600080fd5b5035919050565b60005b8381101561342b578181015183820152602001613413565b50506000910152565b6000815180845261344c816020860160208601613410565b601f01601f19169290920160200192915050565b6020815260006115156020830184613434565b6001600160a01b0381168114610b3c57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156134c6576134c6613488565b604052919050565b60006001600160401b038211156134e7576134e7613488565b50601f01601f191660200190565b6000613508613503846134ce565b61349e565b905082815283838301111561351c57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261354457600080fd5b611515838335602085016134f5565b6000806000806080858703121561356957600080fd5b843561357481613473565b9350602085013561358481613473565b92506040850135915060608501356001600160401b038111156135a657600080fd5b6135b287828801613533565b91505092959194509250565b60006001600160401b038211156135d7576135d7613488565b5060051b60200190565b600082601f8301126135f257600080fd5b81356020613602613503836135be565b82815260059290921b8401810191818101908684111561362157600080fd5b8286015b8481101561364557803561363881613473565b8352918301918301613625565b509695505050505050565b600082601f83011261366157600080fd5b81356020613671613503836135be565b82815260059290921b8401810191818101908684111561369057600080fd5b8286015b848110156136455780358352918301918301613694565b600082601f8301126136bc57600080fd5b813560206136cc613503836135be565b82815260059290921b840181019181810190868411156136eb57600080fd5b8286015b848110156136455780356001600160401b0381111561370e5760008081fd5b61371c8986838b0101613533565b8452509183019183016136ef565b6000806000806080858703121561374057600080fd5b84356001600160401b038082111561375757600080fd5b613763888389016135e1565b9550602087013591508082111561377957600080fd5b61378588838901613650565b9450604087013591508082111561379b57600080fd5b506137a8878288016136ab565b949793965093946060013593505050565b634e487b7160e01b600052602160045260246000fd5b600881106137ed57634e487b7160e01b600052602160045260246000fd5b9052565b60208101610b2582846137cf565b6000806040838503121561381257600080fd5b82359150602083013561382481613473565b809150509250929050565b803560ff81168114610fc757600080fd5b6000806040838503121561385357600080fd5b823591506138636020840161382f565b90509250929050565b60008083601f84011261387e57600080fd5b5081356001600160401b0381111561389557600080fd5b6020830191508360208285010111156138ad57600080fd5b9250929050565b600080600080600080600060c0888a0312156138cf57600080fd5b873596506138df6020890161382f565b955060408801356138ef81613473565b945060608801356001600160401b038082111561390b57600080fd5b6139178b838c0161386c565b909650945060808a013591508082111561393057600080fd5b61393c8b838c01613533565b935060a08a013591508082111561395257600080fd5b5061395f8a828b01613533565b91505092959891949750929550565b60008060008060006080868803121561398657600080fd5b853594506139966020870161382f565b935060408601356001600160401b03808211156139b257600080fd5b6139be89838a0161386c565b909550935060608801359150808211156139d757600080fd5b506139e488828901613533565b9150509295509295909350565b65ffffffffffff81168114610b3c57600080fd5b600060208284031215613a1757600080fd5b8135611515816139f1565b60008060008060608587031215613a3857600080fd5b84359350613a486020860161382f565b925060408501356001600160401b03811115613a6357600080fd5b613a6f8782880161386c565b95989497509550505050565b60008060008060808587031215613a9157600080fd5b84356001600160401b0380821115613aa857600080fd5b613ab4888389016135e1565b95506020870135915080821115613aca57600080fd5b613ad688838901613650565b94506040870135915080821115613aec57600080fd5b613af8888389016136ab565b93506060870135915080821115613b0e57600080fd5b508501601f81018713613b2057600080fd5b6135b2878235602084016134f5565b600060208284031215613b4157600080fd5b813561151581613473565b600081518084526020808501945080840160005b83811015613b7c57815187529582019590820190600101613b60565b509495945050505050565b60ff60f81b8816815260e060208201526000613ba660e0830189613434565b8281036040840152613bb88189613434565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501529050613be98185613b4c565b9a9950505050505050505050565b60008060008060808587031215613c0d57600080fd5b84359350613c1d6020860161382f565b92506040850135613c2d81613473565b915060608501356001600160401b038111156135a657600080fd5b600080600060608486031215613c5d57600080fd5b8335613c6881613473565b92506020840135915060408401356001600160401b03811115613c8a57600080fd5b613c9686828701613533565b9150509250925092565b600080600080600060a08688031215613cb857600080fd5b8535613cc381613473565b94506020860135613cd381613473565b935060408601356001600160401b0380821115613cef57600080fd5b613cfb89838a01613650565b94506060880135915080821115613d1157600080fd5b613d1d89838a01613650565b935060808801359150808211156139d757600080fd5b60008060008060608587031215613d4957600080fd5b8435613d5481613473565b93506020850135925060408501356001600160401b03811115613a6357600080fd5b600060208284031215613d8857600080fd5b813563ffffffff8116811461151557600080fd5b60008060408385031215613daf57600080fd5b8235613dba81613473565b946020939093013593505050565b600080600080600060a08688031215613de057600080fd5b8535613deb81613473565b94506020860135613dfb81613473565b9350604086013592506060860135915060808601356001600160401b03811115613e2457600080fd5b6139e488828901613533565b600181811c90821680613e4457607f821691505b602082108103613e6457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201613ea857613ea8613e80565b5060010190565b600060208284031215613ec157600080fd5b81516001600160401b03811115613ed757600080fd5b8201601f81018413613ee857600080fd5b8051613ef6613503826134ce565b818152856020838501011115613f0b57600080fd5b611b64826020830160208601613410565b8183823760009101908152919050565b81810381811115610b2557610b25613e80565b65ffffffffffff828116828216039080821115613f5e57613f5e613e80565b5092915050565b600060208284031215613f7757600080fd5b8151611515816139f1565b600060208284031215613f9457600080fd5b5051919050565b8082028115828204841417610b2557610b25613e80565b80820180821115610b2557610b25613e80565b634e487b7160e01b600052601260045260246000fd5b600082613ff857634e487b7160e01b600052601260045260246000fd5b500490565b65ffffffffffff818116838216019080821115613f5e57613f5e613e80565b600081518084526020808501945080840160005b83811015613b7c5781516001600160a01b031687529582019590820190600101614030565b600081518084526020808501808196508360051b8101915082860160005b8581101561409d57828403895261408b848351613434565b98850198935090840190600101614073565b5091979650505050505050565b6080815260006140bd608083018761401c565b82810360208401526140cf8187613b4c565b905082810360408401526140e38186614055565b91505082606083015295945050505050565b8381526060810161410960208301856137cf565b826040830152949350505050565b60006020828403121561412957600080fd5b8151801515811461151557600080fd5b84815260ff84166020820152826040820152608060608201526000610f006080830184613434565b85815260ff8516602082015283604082015260a06060820152600061418960a0830185613434565b82810360808401526127478185613434565b60006101208b8352602060018060a01b038c16818501528160408501526141c48285018c61401c565b915083820360608501526141d8828b613b4c565b915083820360808501528189518084528284019150828160051b850101838c0160005b8381101561422957601f19878403018552614217838351613434565b948601949250908501906001016141fb565b505086810360a088015261423d818c614055565b9450505050508560c08401528460e08401528281036101008401526142628185613434565b9c9b505050505050505050505050565b60a08152600061428560a083018861401c565b82810360208401526142978188613b4c565b905082810360408401526142ab8187614055565b60608401959095525050608001529392505050565b60c0815260006142d360c083018961401c565b82810360208401526142e58189613b4c565b905082810360408401526142f98188614055565b60608401969096525050608081019290925260a0909101529392505050565b8281526040602082015260006115126040830184613434565b60008251614343818460208701613410565b9190910192915050565b60ff8181168382160190811115610b2557610b25613e80565b600181815b808511156143a157816000190482111561438757614387613e80565b8085161561439457918102915b93841c939080029061436b565b509250929050565b6000826143b857506001610b25565b816143c557506000610b25565b81600181146143db57600281146143e557614401565b6001915050610b25565b60ff8411156143f6576143f6613e80565b50506001821b610b25565b5060208310610133831016604e8410600b8410161715614424575081810a610b25565b61442e8383614366565b806000190482111561444257614442613e80565b029392505050565b600061151560ff8416836143a956fea2646970667358221220f57721fcd41c51ed29de5666546d315810a0f33cc5044218ed54441034104d6064736f6c63430008140033",
1705
- "linkReferences": {},
1706
- "deployedLinkReferences": {}
49
+ ]
1707
50
  }