@seqyuan/annovibe 0.8.136 → 0.8.138

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 (437) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +11 -15
  3. package/.next/build-manifest.json +6 -6
  4. package/.next/diagnostics/framework.json +1 -1
  5. package/.next/prerender-manifest.json +33 -3
  6. package/.next/react-loadable-manifest.json +60 -60
  7. package/.next/required-server-files.js +45 -10
  8. package/.next/required-server-files.json +45 -10
  9. package/.next/routes-manifest.json +0 -30
  10. package/.next/server/app/_global-error/page.js +6 -3
  11. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/_global-error.html +1 -1
  13. package/.next/server/app/_global-error.meta +24 -5
  14. package/.next/server/app/_global-error.rsc +19 -12
  15. package/.next/server/app/_global-error.segments/_full.segment.rsc +19 -12
  16. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +25 -4
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +3 -1
  18. package/.next/server/app/_not-found/page.js +5 -2
  19. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/_not-found.html +1 -1
  21. package/.next/server/app/_not-found.meta +24 -5
  22. package/.next/server/app/_not-found.rsc +24 -16
  23. package/.next/server/app/_not-found.segments/_full.segment.rsc +24 -16
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +30 -4
  25. package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -2
  26. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  27. package/.next/server/app/api/agent/[id]/prepare/route.js +1 -1
  28. package/.next/server/app/api/agent/[id]/route.js +1 -1
  29. package/.next/server/app/api/agent/new/route.js +2 -2
  30. package/.next/server/app/api/agent/running/events/route.js +2 -2
  31. package/.next/server/app/api/agent/running/route.js +1 -1
  32. package/.next/server/app/api/agent/runtime/route.js +1 -1
  33. package/.next/server/app/api/apps/[id]/[[...path]]/route.js +2 -2
  34. package/.next/server/app/api/apps/route.js +2 -2
  35. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  36. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  37. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  38. package/.next/server/app/api/auth/login/route.js +1 -1
  39. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  40. package/.next/server/app/api/auth/providers/route.js +1 -1
  41. package/.next/server/app/api/auth/status/route.js +1 -1
  42. package/.next/server/app/api/auth/totp/route.js +1 -1
  43. package/.next/server/app/api/debug-models/route.js +1 -1
  44. package/.next/server/app/api/default-cwd/route.js +1 -1
  45. package/.next/server/app/api/file-index/route.js +1 -1
  46. package/.next/server/app/api/file-tree/delete/route.js +1 -1
  47. package/.next/server/app/api/file-tree/mkdir/route.js +1 -1
  48. package/.next/server/app/api/file-tree/rename/route.js +1 -1
  49. package/.next/server/app/api/file-tree/reveal/route.js +1 -1
  50. package/.next/server/app/api/file-tree/write/route.js +1 -1
  51. package/.next/server/app/api/file-watch/route.js +3 -3
  52. package/.next/server/app/api/files/[...path]/route.js +1 -1
  53. package/.next/server/app/api/harness/route.js +1 -1
  54. package/.next/server/app/api/home/route.js +1 -1
  55. package/.next/server/app/api/im/cancel/route.js +1 -1
  56. package/.next/server/app/api/im/gateway-status/route.js +1 -1
  57. package/.next/server/app/api/im/project/route.js +1 -1
  58. package/.next/server/app/api/im/projects/route.js +1 -1
  59. package/.next/server/app/api/im/session-ids/route.js +1 -1
  60. package/.next/server/app/api/im/turn/route.js +3 -3
  61. package/.next/server/app/api/images/upload/route.js +1 -1
  62. package/.next/server/app/api/internal/runtime/route.js +1 -1
  63. package/.next/server/app/api/memory/dismiss/route.js +3 -3
  64. package/.next/server/app/api/memory/promote/route.js +3 -3
  65. package/.next/server/app/api/models/route.js +1 -1
  66. package/.next/server/app/api/models-config/discover/route.js +1 -1
  67. package/.next/server/app/api/models-config/route.js +1 -1
  68. package/.next/server/app/api/models-config/test/route.js +1 -1
  69. package/.next/server/app/api/plot-kernels/route.js +1 -1
  70. package/.next/server/app/api/plot-kernels/save/route.js +1 -1
  71. package/.next/server/app/api/plot-kernels/status/route.js +1 -1
  72. package/.next/server/app/api/plot-kernels/stop/route.js +1 -1
  73. package/.next/server/app/api/plugins/route.js +1 -1
  74. package/.next/server/app/api/project-trust/route.js +1 -1
  75. package/.next/server/app/api/projects/browse/route.js +1 -1
  76. package/.next/server/app/api/projects/route.js +1 -1
  77. package/.next/server/app/api/search/route.js +1 -1
  78. package/.next/server/app/api/session-index/events/route.js +2 -2
  79. package/.next/server/app/api/sessions/[id]/auto-name/route.js +7 -8
  80. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  81. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  82. package/.next/server/app/api/sessions/[id]/media/route.js +1 -1
  83. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  84. package/.next/server/app/api/sessions/[id]/shadowed/route.js +1 -1
  85. package/.next/server/app/api/sessions/new/route.js +1 -1
  86. package/.next/server/app/api/sessions/route.js +1 -1
  87. package/.next/server/app/api/settings/route.js +1 -1
  88. package/.next/server/app/api/skills/check/route.js +1 -1
  89. package/.next/server/app/api/skills/install/route.js +5 -5
  90. package/.next/server/app/api/skills/route.js +5 -5
  91. package/.next/server/app/api/skills/search/route.js +1 -1
  92. package/.next/server/app/api/skills/update/route.js +2 -2
  93. package/.next/server/app/api/smoke/prompt-admission/route.js +1 -1
  94. package/.next/server/app/api/soul/route.js +1 -1
  95. package/.next/server/app/api/subagents/status/route.js +1 -1
  96. package/.next/server/app/api/version/route.js +1 -1
  97. package/.next/server/app/favicon.ico/route.js +1 -1
  98. package/.next/server/app/favicon.ico.meta +1 -1
  99. package/.next/server/app/icon.svg/route.js +1 -1
  100. package/.next/server/app/icon.svg.meta +1 -1
  101. package/.next/server/app/index.html +1 -1
  102. package/.next/server/app/index.meta +19 -4
  103. package/.next/server/app/index.rsc +33 -15
  104. package/.next/server/app/index.segments/__PAGE__.segment.rsc +38 -5
  105. package/.next/server/app/index.segments/_full.segment.rsc +33 -15
  106. package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
  107. package/.next/server/app/login/page.js +5 -2
  108. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  109. package/.next/server/app/login.html +1 -1
  110. package/.next/server/app/login.meta +24 -5
  111. package/.next/server/app/login.rsc +29 -20
  112. package/.next/server/app/login.segments/_full.segment.rsc +29 -20
  113. package/.next/server/app/login.segments/_tree.segment.rsc +4 -2
  114. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +35 -8
  115. package/.next/server/app/page.js +14 -37
  116. package/.next/server/app/page_client-reference-manifest.js +1 -1
  117. package/.next/server/app/smoke/page.js +5 -6
  118. package/.next/server/app/smoke/page_client-reference-manifest.js +1 -1
  119. package/.next/server/app/smoke/session-stream/page.js +1 -2
  120. package/.next/server/app/smoke/session-stream/page_client-reference-manifest.js +1 -1
  121. package/.next/server/app/smoke/session-stream.html +1 -1
  122. package/.next/server/app/smoke/session-stream.meta +29 -6
  123. package/.next/server/app/smoke/session-stream.rsc +36 -20
  124. package/.next/server/app/smoke/session-stream.segments/_full.segment.rsc +36 -20
  125. package/.next/server/app/smoke/session-stream.segments/_tree.segment.rsc +5 -2
  126. package/.next/server/app/smoke/session-stream.segments/smoke/session-stream/__PAGE__.segment.rsc +43 -8
  127. package/.next/server/app/smoke.html +2 -2
  128. package/.next/server/app/smoke.meta +24 -5
  129. package/.next/server/app/smoke.rsc +37 -20
  130. package/.next/server/app/smoke.segments/_full.segment.rsc +37 -20
  131. package/.next/server/app/smoke.segments/_tree.segment.rsc +4 -2
  132. package/.next/server/app/smoke.segments/smoke/__PAGE__.segment.rsc +43 -8
  133. package/.next/server/app-paths-manifest.json +11 -15
  134. package/.next/server/chunks/1367.js +1 -1
  135. package/.next/server/chunks/1681.js +1 -1
  136. package/.next/server/chunks/1688.js +3 -3
  137. package/.next/server/chunks/1761.js +1 -1
  138. package/.next/server/chunks/1813.js +23 -1
  139. package/.next/server/chunks/2242.js +1 -1
  140. package/.next/server/chunks/2325.js +28 -28
  141. package/.next/server/chunks/2671.js +2 -2
  142. package/.next/server/chunks/2970.js +46 -0
  143. package/.next/server/chunks/402.js +1 -1
  144. package/.next/server/chunks/42.js +44 -44
  145. package/.next/server/chunks/4367.js +1 -1
  146. package/.next/server/chunks/4406.js +1 -1
  147. package/.next/server/chunks/4779.js +1 -0
  148. package/.next/server/chunks/4980.js +1 -1
  149. package/.next/server/chunks/5193.js +3 -3
  150. package/.next/server/chunks/5715.js +1 -1
  151. package/.next/server/chunks/5851.js +1 -1
  152. package/.next/server/chunks/6346.js +1 -1
  153. package/.next/server/chunks/6429.js +15 -15
  154. package/.next/server/chunks/6644.js +108 -0
  155. package/.next/server/chunks/707.js +1 -1
  156. package/.next/server/chunks/716.js +1 -1
  157. package/.next/server/chunks/7307.js +1 -1
  158. package/.next/server/chunks/7365.js +1 -1
  159. package/.next/server/chunks/7603.js +1 -0
  160. package/.next/server/chunks/7765.js +1 -1
  161. package/.next/server/chunks/7890.js +1 -1
  162. package/.next/server/chunks/8305.js +264 -0
  163. package/.next/server/chunks/8363.js +1 -1
  164. package/.next/server/chunks/8797.js +1 -1
  165. package/.next/server/chunks/8973.js +1 -1
  166. package/.next/server/chunks/9868.js +1 -1
  167. package/.next/server/chunks/static/media/pdf.worker.min.94f8ceaf.mjs +6 -0
  168. package/.next/server/functions-config-manifest.json +1 -1
  169. package/.next/server/middleware-build-manifest.js +1 -1
  170. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  171. package/.next/server/middleware.js +54 -6
  172. package/.next/server/pages/404.html +1 -1
  173. package/.next/server/pages/500.html +1 -1
  174. package/.next/server/prefetch-hints.json +86 -1
  175. package/.next/server/preview-props.json +5 -0
  176. package/.next/server/server-reference-manifest.json +1 -1
  177. package/.next/static/chunks/{0b9a0da7-9075af772487e743.js → 0b9a0da7-373b544740862358.js} +1 -1
  178. package/.next/static/chunks/{1209.6d037cb2674eafa2.js → 1209.4f7491c863d512f0.js} +1 -1
  179. package/.next/static/chunks/2170a4aa.4301f7c49f3f0a6e.js +1 -0
  180. package/.next/static/chunks/2254-db22997b60e1dc27.js +1 -0
  181. package/.next/static/chunks/2619.8f686be8e2479c20.js +1 -0
  182. package/.next/static/chunks/{2623.d20fabd8e18197c6.js → 2623.a6bf38491c50cb6e.js} +2 -2
  183. package/.next/static/chunks/2693-421c2e9d9c92a666.js +173 -0
  184. package/.next/static/chunks/{2774.0811cda036dfeb94.js → 2774.ba50ba9e8b3ebf4a.js} +1 -1
  185. package/.next/static/chunks/2821.d15f14bd03d9d290.js +1 -0
  186. package/.next/static/chunks/{291-bfdfc8bcf5d0a962.js → 291-e0c3c616f67fe126.js} +1 -1
  187. package/.next/static/chunks/{3307.e638f7fa43f28bac.js → 3307.c87aab94f4464604.js} +1 -1
  188. package/.next/static/chunks/363642f4-a09fcaca7af039e5.js +1 -0
  189. package/.next/static/chunks/{3689.0336d97dde6c9084.js → 3689.93592a22c737d185.js} +1 -1
  190. package/.next/static/chunks/3794-fba3f76785a3c234.js +52 -0
  191. package/.next/static/chunks/{425.9a3434a28926566a.js → 425.8fe80c34648b01ec.js} +1 -1
  192. package/.next/static/chunks/{4453.91a357dc43c21745.js → 4453.ba05c4805425ceeb.js} +1 -1
  193. package/.next/static/chunks/4936-799f05324bb5c236.js +1 -0
  194. package/.next/static/chunks/4bd1b696-8cd12253b448cc13.js +1 -0
  195. package/.next/static/chunks/51fb665c.b01d5a04c27e9091.js +45 -0
  196. package/.next/static/chunks/{547.902a733488cfe3f7.js → 547.0f08d4931c0f04a2.js} +1 -1
  197. package/.next/static/chunks/{5567.540d7fc108ad6ee5.js → 5567.6674301d1337d738.js} +1 -1
  198. package/.next/static/chunks/5618-8aecfc54df369be5.js +22 -0
  199. package/.next/static/chunks/{58bb9007.1ccb6bba34b4c635.js → 58bb9007.3d4e7356b1e96b6a.js} +28 -28
  200. package/.next/static/chunks/6121.333d793734b9abf7.js +1 -0
  201. package/.next/static/chunks/6586.775a449050e0e9cc.js +138 -0
  202. package/.next/static/chunks/{6696.a41aec266e657d54.js → 6696.345b3cd62db13cb6.js} +1 -1
  203. package/.next/static/chunks/{7874.8db6929b94cdf697.js → 7874.7faccf8fab087120.js} +1 -1
  204. package/.next/static/chunks/8489.514938fd5e801cf7.js +36 -0
  205. package/.next/static/chunks/{8863.8b769013468d83d4.js → 8863.2ae457485a63aa22.js} +1 -1
  206. package/.next/static/chunks/90542734.6b9fbcabf095d1a0.js +1 -0
  207. package/.next/static/chunks/9867-1b73c62e8b604095.js +260 -0
  208. package/.next/static/chunks/app/_global-error/page-ebf7ae60150d40d4.js +1 -0
  209. package/.next/static/chunks/app/api/agent/[id]/events/route-ebf7ae60150d40d4.js +1 -0
  210. package/.next/static/chunks/app/api/agent/[id]/prepare/route-ebf7ae60150d40d4.js +1 -0
  211. package/.next/static/chunks/app/api/agent/[id]/route-ebf7ae60150d40d4.js +1 -0
  212. package/.next/static/chunks/app/api/agent/new/route-ebf7ae60150d40d4.js +1 -0
  213. package/.next/static/chunks/app/api/agent/running/events/route-ebf7ae60150d40d4.js +1 -0
  214. package/.next/static/chunks/app/api/agent/running/route-ebf7ae60150d40d4.js +1 -0
  215. package/.next/static/chunks/app/api/agent/runtime/route-ebf7ae60150d40d4.js +1 -0
  216. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-ebf7ae60150d40d4.js +1 -0
  217. package/.next/static/chunks/app/api/apps/route-ebf7ae60150d40d4.js +1 -0
  218. package/.next/static/chunks/app/api/auth/all-providers/route-ebf7ae60150d40d4.js +1 -0
  219. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-ebf7ae60150d40d4.js +1 -0
  220. package/.next/static/chunks/app/api/auth/login/[provider]/route-ebf7ae60150d40d4.js +1 -0
  221. package/.next/static/chunks/app/api/auth/login/route-ebf7ae60150d40d4.js +1 -0
  222. package/.next/static/chunks/app/api/auth/logout/[provider]/route-ebf7ae60150d40d4.js +1 -0
  223. package/.next/static/chunks/app/api/auth/providers/route-ebf7ae60150d40d4.js +1 -0
  224. package/.next/static/chunks/app/api/auth/status/route-ebf7ae60150d40d4.js +1 -0
  225. package/.next/static/chunks/app/api/auth/totp/route-ebf7ae60150d40d4.js +1 -0
  226. package/.next/static/chunks/app/api/debug-models/route-ebf7ae60150d40d4.js +1 -0
  227. package/.next/static/chunks/app/api/default-cwd/route-ebf7ae60150d40d4.js +1 -0
  228. package/.next/static/chunks/app/api/file-index/route-ebf7ae60150d40d4.js +1 -0
  229. package/.next/static/chunks/app/api/file-tree/delete/route-ebf7ae60150d40d4.js +1 -0
  230. package/.next/static/chunks/app/api/file-tree/mkdir/route-ebf7ae60150d40d4.js +1 -0
  231. package/.next/static/chunks/app/api/file-tree/rename/route-ebf7ae60150d40d4.js +1 -0
  232. package/.next/static/chunks/app/api/file-tree/reveal/route-ebf7ae60150d40d4.js +1 -0
  233. package/.next/static/chunks/app/api/file-tree/write/route-ebf7ae60150d40d4.js +1 -0
  234. package/.next/static/chunks/app/api/file-watch/route-ebf7ae60150d40d4.js +1 -0
  235. package/.next/static/chunks/app/api/files/[...path]/route-ebf7ae60150d40d4.js +1 -0
  236. package/.next/static/chunks/app/api/harness/route-ebf7ae60150d40d4.js +1 -0
  237. package/.next/static/chunks/app/api/home/route-ebf7ae60150d40d4.js +1 -0
  238. package/.next/static/chunks/app/api/im/cancel/route-ebf7ae60150d40d4.js +1 -0
  239. package/.next/static/chunks/app/api/im/gateway-status/route-ebf7ae60150d40d4.js +1 -0
  240. package/.next/static/chunks/app/api/im/project/route-ebf7ae60150d40d4.js +1 -0
  241. package/.next/static/chunks/app/api/im/projects/route-ebf7ae60150d40d4.js +1 -0
  242. package/.next/static/chunks/app/api/im/session-ids/route-ebf7ae60150d40d4.js +1 -0
  243. package/.next/static/chunks/app/api/im/turn/route-ebf7ae60150d40d4.js +1 -0
  244. package/.next/static/chunks/app/api/images/upload/route-ebf7ae60150d40d4.js +1 -0
  245. package/.next/static/chunks/app/api/internal/runtime/route-ebf7ae60150d40d4.js +1 -0
  246. package/.next/static/chunks/app/api/memory/dismiss/route-ebf7ae60150d40d4.js +1 -0
  247. package/.next/static/chunks/app/api/memory/promote/route-ebf7ae60150d40d4.js +1 -0
  248. package/.next/static/chunks/app/api/models/route-ebf7ae60150d40d4.js +1 -0
  249. package/.next/static/chunks/app/api/models-config/discover/route-ebf7ae60150d40d4.js +1 -0
  250. package/.next/static/chunks/app/api/models-config/route-ebf7ae60150d40d4.js +1 -0
  251. package/.next/static/chunks/app/api/models-config/test/route-ebf7ae60150d40d4.js +1 -0
  252. package/.next/static/chunks/app/api/plot-kernels/route-ebf7ae60150d40d4.js +1 -0
  253. package/.next/static/chunks/app/api/plot-kernels/save/route-ebf7ae60150d40d4.js +1 -0
  254. package/.next/static/chunks/app/api/plot-kernels/status/route-ebf7ae60150d40d4.js +1 -0
  255. package/.next/static/chunks/app/api/plot-kernels/stop/route-ebf7ae60150d40d4.js +1 -0
  256. package/.next/static/chunks/app/api/plugins/route-ebf7ae60150d40d4.js +1 -0
  257. package/.next/static/chunks/app/api/project-trust/route-ebf7ae60150d40d4.js +1 -0
  258. package/.next/static/chunks/app/api/projects/browse/route-ebf7ae60150d40d4.js +1 -0
  259. package/.next/static/chunks/app/api/projects/route-ebf7ae60150d40d4.js +1 -0
  260. package/.next/static/chunks/app/api/search/route-ebf7ae60150d40d4.js +1 -0
  261. package/.next/static/chunks/app/api/session-index/events/route-ebf7ae60150d40d4.js +1 -0
  262. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-ebf7ae60150d40d4.js +1 -0
  263. package/.next/static/chunks/app/api/sessions/[id]/context/route-ebf7ae60150d40d4.js +1 -0
  264. package/.next/static/chunks/app/api/sessions/[id]/export/route-ebf7ae60150d40d4.js +1 -0
  265. package/.next/static/chunks/app/api/sessions/[id]/media/route-ebf7ae60150d40d4.js +1 -0
  266. package/.next/static/chunks/app/api/sessions/[id]/route-ebf7ae60150d40d4.js +1 -0
  267. package/.next/static/chunks/app/api/sessions/[id]/shadowed/route-ebf7ae60150d40d4.js +1 -0
  268. package/.next/static/chunks/app/api/sessions/new/route-ebf7ae60150d40d4.js +1 -0
  269. package/.next/static/chunks/app/api/sessions/route-ebf7ae60150d40d4.js +1 -0
  270. package/.next/static/chunks/app/api/settings/route-ebf7ae60150d40d4.js +1 -0
  271. package/.next/static/chunks/app/api/skills/check/route-ebf7ae60150d40d4.js +1 -0
  272. package/.next/static/chunks/app/api/skills/install/route-ebf7ae60150d40d4.js +1 -0
  273. package/.next/static/chunks/app/api/skills/route-ebf7ae60150d40d4.js +1 -0
  274. package/.next/static/chunks/app/api/skills/search/route-ebf7ae60150d40d4.js +1 -0
  275. package/.next/static/chunks/app/api/skills/update/route-ebf7ae60150d40d4.js +1 -0
  276. package/.next/static/chunks/app/api/smoke/prompt-admission/route-ebf7ae60150d40d4.js +1 -0
  277. package/.next/static/chunks/app/api/soul/route-ebf7ae60150d40d4.js +1 -0
  278. package/.next/static/chunks/app/api/subagents/status/route-ebf7ae60150d40d4.js +1 -0
  279. package/.next/static/chunks/app/api/version/route-ebf7ae60150d40d4.js +1 -0
  280. package/.next/static/chunks/app/error-6309e3e4cdf79d40.js +3 -0
  281. package/.next/static/chunks/app/favicon.ico/route-ebf7ae60150d40d4.js +1 -0
  282. package/.next/static/chunks/app/global-error-7595c826cec2c048.js +3 -0
  283. package/.next/static/chunks/app/layout-31265427e43f6876.js +1 -0
  284. package/.next/static/chunks/app/page-2e2760a4cdaff534.js +22 -0
  285. package/.next/static/chunks/app/smoke/{page-32674afc320aa48b.js → page-82db33b4fdd2e0b4.js} +3 -3
  286. package/.next/static/chunks/framework-461b899b66554474.js +1 -0
  287. package/.next/static/chunks/main-4c5c62a3f03fc745.js +5 -0
  288. package/.next/static/chunks/main-app-a8a207cb34d209aa.js +1 -0
  289. package/.next/static/chunks/next/dist/client/components/builtin/app-error-ebf7ae60150d40d4.js +1 -0
  290. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-ebf7ae60150d40d4.js +1 -0
  291. package/.next/static/chunks/next/dist/client/components/builtin/not-found-ebf7ae60150d40d4.js +1 -0
  292. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-ebf7ae60150d40d4.js +1 -0
  293. package/.next/static/chunks/{webpack-0d1f7348ddb20bdc.js → webpack-36fa69ae1e15e7ce.js} +1 -1
  294. package/.next/static/css/{738b0b1c24aae500.css → d68ecb6695873888.css} +1 -1
  295. package/.next/static/media/pdf.worker.min.7a62f52c.mjs +6 -0
  296. package/.next/static/r3Awszl0kNf_sRFX-3vDi/_buildManifest.js +1 -0
  297. package/bin/annovibe-im-gateway.js +98 -21
  298. package/bin/pi-web.js +16 -9
  299. package/package.json +3 -3
  300. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +0 -5
  301. package/.next/server/app/_global-error.segments/_head.segment.rsc +0 -5
  302. package/.next/server/app/_global-error.segments/_index.segment.rsc +0 -5
  303. package/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
  304. package/.next/server/app/_not-found.segments/_index.segment.rsc +0 -7
  305. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -5
  306. package/.next/server/app/api/im/gateway-token/route.js +0 -1
  307. package/.next/server/app/api/im/gateway-token/route_client-reference-manifest.js +0 -1
  308. package/.next/server/app/api/sessions/[id]/kernel-state/route.js +0 -1
  309. package/.next/server/app/api/sessions/[id]/kernel-state/route_client-reference-manifest.js +0 -1
  310. package/.next/server/app/api/sessions/[id]/workbench-artifact/route.js +0 -1
  311. package/.next/server/app/api/sessions/[id]/workbench-artifact/route_client-reference-manifest.js +0 -1
  312. package/.next/server/app/api/sessions/[id]/workbench-review/route.js +0 -1
  313. package/.next/server/app/api/sessions/[id]/workbench-review/route_client-reference-manifest.js +0 -1
  314. package/.next/server/app/index.segments/_head.segment.rsc +0 -6
  315. package/.next/server/app/index.segments/_index.segment.rsc +0 -7
  316. package/.next/server/app/login.segments/_head.segment.rsc +0 -6
  317. package/.next/server/app/login.segments/_index.segment.rsc +0 -7
  318. package/.next/server/app/login.segments/login.segment.rsc +0 -5
  319. package/.next/server/app/smoke/session-stream.segments/_head.segment.rsc +0 -6
  320. package/.next/server/app/smoke/session-stream.segments/_index.segment.rsc +0 -7
  321. package/.next/server/app/smoke/session-stream.segments/smoke/session-stream.segment.rsc +0 -5
  322. package/.next/server/app/smoke/session-stream.segments/smoke.segment.rsc +0 -5
  323. package/.next/server/app/smoke.segments/_head.segment.rsc +0 -6
  324. package/.next/server/app/smoke.segments/_index.segment.rsc +0 -7
  325. package/.next/server/app/smoke.segments/smoke.segment.rsc +0 -5
  326. package/.next/server/chunks/2562.js +0 -12
  327. package/.next/server/chunks/4741.js +0 -18
  328. package/.next/server/chunks/63.js +0 -45
  329. package/.next/server/chunks/7303.js +0 -260
  330. package/.next/server/chunks/8304.js +0 -1
  331. package/.next/server/chunks/static/media/pdf.worker.min.c476e1a0.mjs +0 -6
  332. package/.next/static/chunks/2170a4aa.4213bb2183c9cdf9.js +0 -1
  333. package/.next/static/chunks/2254-fa3fcc88564ee18d.js +0 -1
  334. package/.next/static/chunks/2619.9aac8983f30c7c8a.js +0 -1
  335. package/.next/static/chunks/2693-52c358cf5d84b069.js +0 -173
  336. package/.next/static/chunks/2821.934bcf60fbdc28c6.js +0 -1
  337. package/.next/static/chunks/363642f4-dc35a7a659350f8e.js +0 -1
  338. package/.next/static/chunks/3794-123fdf632563f469.js +0 -32
  339. package/.next/static/chunks/4936-9558484c46c3ecc8.js +0 -1
  340. package/.next/static/chunks/4bd1b696-e356ca5ba0218e27.js +0 -1
  341. package/.next/static/chunks/51fb665c.e2bfdae35ef4d790.js +0 -45
  342. package/.next/static/chunks/5618-5e2e47e6ed401a75.js +0 -22
  343. package/.next/static/chunks/6121.f3f43f1896ea0cd9.js +0 -1
  344. package/.next/static/chunks/6586.8c2a88c2a55300d2.js +0 -138
  345. package/.next/static/chunks/8489.45f22859734f514f.js +0 -36
  346. package/.next/static/chunks/90542734.ecc36ada79772529.js +0 -1
  347. package/.next/static/chunks/9867-b1d15d9354f100e7.js +0 -260
  348. package/.next/static/chunks/app/_global-error/page-dcc4d4b28dc1e9eb.js +0 -1
  349. package/.next/static/chunks/app/api/agent/[id]/events/route-dcc4d4b28dc1e9eb.js +0 -1
  350. package/.next/static/chunks/app/api/agent/[id]/prepare/route-dcc4d4b28dc1e9eb.js +0 -1
  351. package/.next/static/chunks/app/api/agent/[id]/route-dcc4d4b28dc1e9eb.js +0 -1
  352. package/.next/static/chunks/app/api/agent/new/route-dcc4d4b28dc1e9eb.js +0 -1
  353. package/.next/static/chunks/app/api/agent/running/events/route-dcc4d4b28dc1e9eb.js +0 -1
  354. package/.next/static/chunks/app/api/agent/running/route-dcc4d4b28dc1e9eb.js +0 -1
  355. package/.next/static/chunks/app/api/agent/runtime/route-dcc4d4b28dc1e9eb.js +0 -1
  356. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-dcc4d4b28dc1e9eb.js +0 -1
  357. package/.next/static/chunks/app/api/apps/route-dcc4d4b28dc1e9eb.js +0 -1
  358. package/.next/static/chunks/app/api/auth/all-providers/route-dcc4d4b28dc1e9eb.js +0 -1
  359. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-dcc4d4b28dc1e9eb.js +0 -1
  360. package/.next/static/chunks/app/api/auth/login/[provider]/route-dcc4d4b28dc1e9eb.js +0 -1
  361. package/.next/static/chunks/app/api/auth/login/route-dcc4d4b28dc1e9eb.js +0 -1
  362. package/.next/static/chunks/app/api/auth/logout/[provider]/route-dcc4d4b28dc1e9eb.js +0 -1
  363. package/.next/static/chunks/app/api/auth/providers/route-dcc4d4b28dc1e9eb.js +0 -1
  364. package/.next/static/chunks/app/api/auth/status/route-dcc4d4b28dc1e9eb.js +0 -1
  365. package/.next/static/chunks/app/api/auth/totp/route-dcc4d4b28dc1e9eb.js +0 -1
  366. package/.next/static/chunks/app/api/debug-models/route-dcc4d4b28dc1e9eb.js +0 -1
  367. package/.next/static/chunks/app/api/default-cwd/route-dcc4d4b28dc1e9eb.js +0 -1
  368. package/.next/static/chunks/app/api/file-index/route-dcc4d4b28dc1e9eb.js +0 -1
  369. package/.next/static/chunks/app/api/file-tree/delete/route-dcc4d4b28dc1e9eb.js +0 -1
  370. package/.next/static/chunks/app/api/file-tree/mkdir/route-dcc4d4b28dc1e9eb.js +0 -1
  371. package/.next/static/chunks/app/api/file-tree/rename/route-dcc4d4b28dc1e9eb.js +0 -1
  372. package/.next/static/chunks/app/api/file-tree/reveal/route-dcc4d4b28dc1e9eb.js +0 -1
  373. package/.next/static/chunks/app/api/file-tree/write/route-dcc4d4b28dc1e9eb.js +0 -1
  374. package/.next/static/chunks/app/api/file-watch/route-dcc4d4b28dc1e9eb.js +0 -1
  375. package/.next/static/chunks/app/api/files/[...path]/route-dcc4d4b28dc1e9eb.js +0 -1
  376. package/.next/static/chunks/app/api/harness/route-dcc4d4b28dc1e9eb.js +0 -1
  377. package/.next/static/chunks/app/api/home/route-dcc4d4b28dc1e9eb.js +0 -1
  378. package/.next/static/chunks/app/api/im/cancel/route-dcc4d4b28dc1e9eb.js +0 -1
  379. package/.next/static/chunks/app/api/im/gateway-status/route-dcc4d4b28dc1e9eb.js +0 -1
  380. package/.next/static/chunks/app/api/im/gateway-token/route-dcc4d4b28dc1e9eb.js +0 -1
  381. package/.next/static/chunks/app/api/im/project/route-dcc4d4b28dc1e9eb.js +0 -1
  382. package/.next/static/chunks/app/api/im/projects/route-dcc4d4b28dc1e9eb.js +0 -1
  383. package/.next/static/chunks/app/api/im/session-ids/route-dcc4d4b28dc1e9eb.js +0 -1
  384. package/.next/static/chunks/app/api/im/turn/route-dcc4d4b28dc1e9eb.js +0 -1
  385. package/.next/static/chunks/app/api/images/upload/route-dcc4d4b28dc1e9eb.js +0 -1
  386. package/.next/static/chunks/app/api/internal/runtime/route-dcc4d4b28dc1e9eb.js +0 -1
  387. package/.next/static/chunks/app/api/memory/dismiss/route-dcc4d4b28dc1e9eb.js +0 -1
  388. package/.next/static/chunks/app/api/memory/promote/route-dcc4d4b28dc1e9eb.js +0 -1
  389. package/.next/static/chunks/app/api/models/route-dcc4d4b28dc1e9eb.js +0 -1
  390. package/.next/static/chunks/app/api/models-config/discover/route-dcc4d4b28dc1e9eb.js +0 -1
  391. package/.next/static/chunks/app/api/models-config/route-dcc4d4b28dc1e9eb.js +0 -1
  392. package/.next/static/chunks/app/api/models-config/test/route-dcc4d4b28dc1e9eb.js +0 -1
  393. package/.next/static/chunks/app/api/plot-kernels/route-dcc4d4b28dc1e9eb.js +0 -1
  394. package/.next/static/chunks/app/api/plot-kernels/save/route-dcc4d4b28dc1e9eb.js +0 -1
  395. package/.next/static/chunks/app/api/plot-kernels/status/route-dcc4d4b28dc1e9eb.js +0 -1
  396. package/.next/static/chunks/app/api/plot-kernels/stop/route-dcc4d4b28dc1e9eb.js +0 -1
  397. package/.next/static/chunks/app/api/plugins/route-dcc4d4b28dc1e9eb.js +0 -1
  398. package/.next/static/chunks/app/api/project-trust/route-dcc4d4b28dc1e9eb.js +0 -1
  399. package/.next/static/chunks/app/api/projects/browse/route-dcc4d4b28dc1e9eb.js +0 -1
  400. package/.next/static/chunks/app/api/projects/route-dcc4d4b28dc1e9eb.js +0 -1
  401. package/.next/static/chunks/app/api/search/route-dcc4d4b28dc1e9eb.js +0 -1
  402. package/.next/static/chunks/app/api/session-index/events/route-dcc4d4b28dc1e9eb.js +0 -1
  403. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-dcc4d4b28dc1e9eb.js +0 -1
  404. package/.next/static/chunks/app/api/sessions/[id]/context/route-dcc4d4b28dc1e9eb.js +0 -1
  405. package/.next/static/chunks/app/api/sessions/[id]/export/route-dcc4d4b28dc1e9eb.js +0 -1
  406. package/.next/static/chunks/app/api/sessions/[id]/kernel-state/route-dcc4d4b28dc1e9eb.js +0 -1
  407. package/.next/static/chunks/app/api/sessions/[id]/media/route-dcc4d4b28dc1e9eb.js +0 -1
  408. package/.next/static/chunks/app/api/sessions/[id]/route-dcc4d4b28dc1e9eb.js +0 -1
  409. package/.next/static/chunks/app/api/sessions/[id]/shadowed/route-dcc4d4b28dc1e9eb.js +0 -1
  410. package/.next/static/chunks/app/api/sessions/[id]/workbench-artifact/route-dcc4d4b28dc1e9eb.js +0 -1
  411. package/.next/static/chunks/app/api/sessions/[id]/workbench-review/route-dcc4d4b28dc1e9eb.js +0 -1
  412. package/.next/static/chunks/app/api/sessions/new/route-dcc4d4b28dc1e9eb.js +0 -1
  413. package/.next/static/chunks/app/api/sessions/route-dcc4d4b28dc1e9eb.js +0 -1
  414. package/.next/static/chunks/app/api/settings/route-dcc4d4b28dc1e9eb.js +0 -1
  415. package/.next/static/chunks/app/api/skills/check/route-dcc4d4b28dc1e9eb.js +0 -1
  416. package/.next/static/chunks/app/api/skills/install/route-dcc4d4b28dc1e9eb.js +0 -1
  417. package/.next/static/chunks/app/api/skills/route-dcc4d4b28dc1e9eb.js +0 -1
  418. package/.next/static/chunks/app/api/skills/search/route-dcc4d4b28dc1e9eb.js +0 -1
  419. package/.next/static/chunks/app/api/skills/update/route-dcc4d4b28dc1e9eb.js +0 -1
  420. package/.next/static/chunks/app/api/smoke/prompt-admission/route-dcc4d4b28dc1e9eb.js +0 -1
  421. package/.next/static/chunks/app/api/soul/route-dcc4d4b28dc1e9eb.js +0 -1
  422. package/.next/static/chunks/app/api/subagents/status/route-dcc4d4b28dc1e9eb.js +0 -1
  423. package/.next/static/chunks/app/api/version/route-dcc4d4b28dc1e9eb.js +0 -1
  424. package/.next/static/chunks/app/favicon.ico/route-dcc4d4b28dc1e9eb.js +0 -1
  425. package/.next/static/chunks/app/layout-101c4ccdf12880f0.js +0 -1
  426. package/.next/static/chunks/app/page-703d91d8bff67f70.js +0 -44
  427. package/.next/static/chunks/framework-594babcea68f40f6.js +0 -1
  428. package/.next/static/chunks/main-0371fd3122de9512.js +0 -5
  429. package/.next/static/chunks/main-app-8d81a93b58bb990f.js +0 -1
  430. package/.next/static/chunks/next/dist/client/components/builtin/app-error-dcc4d4b28dc1e9eb.js +0 -1
  431. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-dcc4d4b28dc1e9eb.js +0 -1
  432. package/.next/static/chunks/next/dist/client/components/builtin/global-error-a7f3f044c72f9137.js +0 -1
  433. package/.next/static/chunks/next/dist/client/components/builtin/not-found-dcc4d4b28dc1e9eb.js +0 -1
  434. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-dcc4d4b28dc1e9eb.js +0 -1
  435. package/.next/static/media/pdf.worker.min.29aaf158.mjs +0 -6
  436. package/.next/static/zeWki1Z47rqBkR2ph5H6N/_buildManifest.js +0 -1
  437. /package/.next/static/{zeWki1Z47rqBkR2ph5H6N → r3Awszl0kNf_sRFX-3vDi}/_ssgManifest.js +0 -0
@@ -59,15 +59,15 @@ for line in sys.stdin:
59
59
 
60
60
  sys.stdout.write("WARMPLOT_KERNEL_RESPONSE " + json.dumps(response) + "\n")
61
61
  sys.stdout.flush()
62
- `;class K{cwd;policy;process;pending=null;stdoutBuffer="";stderr="";stopped=!1;constructor(a,b){this.cwd=a,this.policy=b;const c=H(b,"python",J);this.process=(0,C.spawn)(c.command,c.args,{cwd:a,env:E(a),shell:!1,stdio:["pipe","pipe","pipe"]}),this.process.stdout.setEncoding("utf8"),this.process.stderr.setEncoding("utf8"),this.process.stdout.on("data",a=>this.handleStdout(a)),this.process.stderr.on("data",a=>{this.stderr=D(`${this.stderr}${a}`,this.policy.maxLogChars)}),this.process.on("error",a=>this.failPending(a.message)),this.process.on("exit",()=>{this.stopped=!0,this.failPending("Python plot kernel stopped")})}execute(a){return this.stopped||this.process.killed?Promise.resolve({stdout:"",stderr:this.stderr,exitCode:null,timedOut:!1,cancelled:!1,error:"Python plot kernel is not running"}):this.pending?Promise.resolve({stdout:"",stderr:"",exitCode:null,timedOut:!1,cancelled:!1,error:"Python plot kernel is busy"}):new Promise(b=>{this.pending={id:a.id,resolve:b},this.process.stdin.write(`${JSON.stringify({id:a.id,code:a.code,cwd:a.cwd,outputDir:a.outputDir,env:a.env,maxLogChars:this.policy.maxLogChars})}
62
+ `;class K{cwd;policy;process;pending=null;stdoutBuffer="";stderr="";stopped=!1;constructor(a,b){this.cwd=a,this.policy=b;let c=H(b,"python",J);this.process=(0,C.spawn)(c.command,c.args,{cwd:a,env:E(a),shell:!1,stdio:["pipe","pipe","pipe"]}),this.process.stdout.setEncoding("utf8"),this.process.stderr.setEncoding("utf8"),this.process.stdout.on("data",a=>this.handleStdout(a)),this.process.stderr.on("data",a=>{this.stderr=D(`${this.stderr}${a}`,this.policy.maxLogChars)}),this.process.on("error",a=>this.failPending(a.message)),this.process.on("exit",()=>{this.stopped=!0,this.failPending("Python plot kernel stopped")})}execute(a){return this.stopped||this.process.killed?Promise.resolve({stdout:"",stderr:this.stderr,exitCode:null,timedOut:!1,cancelled:!1,error:"Python plot kernel is not running"}):this.pending?Promise.resolve({stdout:"",stderr:"",exitCode:null,timedOut:!1,cancelled:!1,error:"Python plot kernel is busy"}):new Promise(b=>{this.pending={id:a.id,resolve:b},this.process.stdin.write(`${JSON.stringify({id:a.id,code:a.code,cwd:a.cwd,outputDir:a.outputDir,env:a.env,maxLogChars:this.policy.maxLogChars})}
63
63
  `,a=>{a&&this.failPending(a.message)})})}async shutdown(){this.stopped=!0,this.process.stdin.write(`${JSON.stringify({type:"shutdown"})}
64
- `,()=>{}),this.process.kill("SIGTERM"),setTimeout(()=>{this.process.killed||this.process.kill("SIGKILL")},1500).unref(),this.failPending("Python plot kernel stopped")}handleStdout(a){this.stdoutBuffer+=a;let b=this.stdoutBuffer.split(/\r?\n/);for(let a of(this.stdoutBuffer=b.pop()??"",b)){if(!a.startsWith(I))continue;let b=this.pending;if(b)try{let c=JSON.parse(a.slice(I.length));if(c.id!==b.id)continue;this.pending=null,b.resolve({stdout:c.stdout??"",stderr:c.stderr??"",exitCode:+("ok"!==c.status),timedOut:!1,cancelled:!1,error:"ok"===c.status?null:c.error??"Python plot kernel execution failed"})}catch(a){this.failPending(a instanceof Error?a.message:"Failed to parse Python kernel response")}}}failPending(a){let b=this.pending;b&&(this.pending=null,b.resolve({stdout:"",stderr:this.stderr,exitCode:null,timedOut:!1,cancelled:!1,error:a}))}}let L="WARMPLOT_KERNEL_RESPONSE ";function M(a){return`"${a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\r/g,"\\r").replace(/\n/g,"\\n")}"`}class N{cwd;policy;process;pending=null;stdoutBuffer="";stderr="";stopped=!1;constructor(a,b){this.cwd=a,this.policy=b;const c=H(b,"r");this.process=(0,C.spawn)(c.command,c.args,{cwd:a,env:E(a),shell:!1,stdio:["pipe","pipe","pipe"]}),this.process.stdout.setEncoding("utf8"),this.process.stderr.setEncoding("utf8"),this.process.stdout.on("data",a=>this.handleStdout(a)),this.process.stderr.on("data",a=>{this.stderr=D(`${this.stderr}${a}`,this.policy.maxLogChars)}),this.process.on("error",a=>this.failPending(a.message)),this.process.on("exit",()=>{this.stopped=!0,this.failPending("R plot kernel stopped")})}async execute(a){if(this.stopped||this.process.killed)return{stdout:"",stderr:this.stderr,exitCode:null,timedOut:!1,cancelled:!1,error:"R plot kernel is not running"};if(this.pending)return{stdout:"",stderr:"",exitCode:null,timedOut:!1,cancelled:!1,error:"R plot kernel is busy"};let b=`${a.stdoutPath}.kernel.tmp`,c=`${a.stderrPath}.kernel.tmp`,e=`${a.scriptPath}.kernel-control.R`,f={...a.env,WARMPLOT_OUTPUT_DIR:a.outputDir,PI_KERNEL_PLOT_OUTPUT_DIR:a.outputDir,OPENANNO_PLOT_OUTPUT_DIR:a.outputDir};return await d.promises.writeFile(e,['.warmplot_run_status <- "ok"','.warmplot_run_error <- ""',`.warmplot_run_stdout <- file(${M(b)}, open = "wt")`,`.warmplot_run_stderr <- file(${M(c)}, open = "wt")`,'.warmplot_old_output_sinks <- sink.number(type = "output")','.warmplot_old_message_sinks <- sink.number(type = "message")',".warmplot_old_wd <- getwd()","tryCatch({",` setwd(${M(a.cwd)})`,` do.call(Sys.setenv, list(
64
+ `,()=>{}),this.process.kill("SIGTERM"),setTimeout(()=>{this.process.killed||this.process.kill("SIGKILL")},1500).unref(),this.failPending("Python plot kernel stopped")}handleStdout(a){this.stdoutBuffer+=a;let b=this.stdoutBuffer.split(/\r?\n/);for(let a of(this.stdoutBuffer=b.pop()??"",b)){if(!a.startsWith(I))continue;let b=this.pending;if(b)try{let c=JSON.parse(a.slice(I.length));if(c.id!==b.id)continue;this.pending=null,b.resolve({stdout:c.stdout??"",stderr:c.stderr??"",exitCode:+("ok"!==c.status),timedOut:!1,cancelled:!1,error:"ok"===c.status?null:c.error??"Python plot kernel execution failed"})}catch(a){this.failPending(a instanceof Error?a.message:"Failed to parse Python kernel response")}}}failPending(a){let b=this.pending;b&&(this.pending=null,b.resolve({stdout:"",stderr:this.stderr,exitCode:null,timedOut:!1,cancelled:!1,error:a}))}}let L="WARMPLOT_KERNEL_RESPONSE ";function M(a){return`"${a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\r/g,"\\r").replace(/\n/g,"\\n")}"`}class N{cwd;policy;process;pending=null;stdoutBuffer="";stderr="";stopped=!1;constructor(a,b){this.cwd=a,this.policy=b;let c=H(b,"r");this.process=(0,C.spawn)(c.command,c.args,{cwd:a,env:E(a),shell:!1,stdio:["pipe","pipe","pipe"]}),this.process.stdout.setEncoding("utf8"),this.process.stderr.setEncoding("utf8"),this.process.stdout.on("data",a=>this.handleStdout(a)),this.process.stderr.on("data",a=>{this.stderr=D(`${this.stderr}${a}`,this.policy.maxLogChars)}),this.process.on("error",a=>this.failPending(a.message)),this.process.on("exit",()=>{this.stopped=!0,this.failPending("R plot kernel stopped")})}async execute(a){if(this.stopped||this.process.killed)return{stdout:"",stderr:this.stderr,exitCode:null,timedOut:!1,cancelled:!1,error:"R plot kernel is not running"};if(this.pending)return{stdout:"",stderr:"",exitCode:null,timedOut:!1,cancelled:!1,error:"R plot kernel is busy"};let b=`${a.stdoutPath}.kernel.tmp`,c=`${a.stderrPath}.kernel.tmp`,e=`${a.scriptPath}.kernel-control.R`,f={...a.env,WARMPLOT_OUTPUT_DIR:a.outputDir,PI_KERNEL_PLOT_OUTPUT_DIR:a.outputDir,OPENANNO_PLOT_OUTPUT_DIR:a.outputDir};return await d.promises.writeFile(e,['.warmplot_run_status <- "ok"','.warmplot_run_error <- ""',`.warmplot_run_stdout <- file(${M(b)}, open = "wt")`,`.warmplot_run_stderr <- file(${M(c)}, open = "wt")`,'.warmplot_old_output_sinks <- sink.number(type = "output")','.warmplot_old_message_sinks <- sink.number(type = "message")',".warmplot_old_wd <- getwd()","tryCatch({",` setwd(${M(a.cwd)})`,` do.call(Sys.setenv, list(
65
65
  ${Object.entries(f).map(([a,b])=>` ${a} = ${M(b)}`).join(`,
66
66
  `)}
67
67
  ))`,' sink(.warmplot_run_stdout, type = "output")',' sink(.warmplot_run_stderr, type = "message")',` source(${M(a.scriptPath)}, local = .GlobalEnv, echo = FALSE)`,"}, error = function(e) {",' .warmplot_run_status <<- "error"'," .warmplot_run_error <<- conditionMessage(e)"," message(conditionMessage(e))","}, finally = {",' while (sink.number(type = "output") > .warmplot_old_output_sinks) sink(type = "output")',' while (sink.number(type = "message") > .warmplot_old_message_sinks) sink(type = "message")'," try(setwd(.warmplot_old_wd), silent = TRUE)"," try(close(.warmplot_run_stdout), silent = TRUE)"," try(close(.warmplot_run_stderr), silent = TRUE)","})",`cat(${M(`${L}${a.id} `)}, .warmplot_run_status, "\\n", sep = "")`,"flush.console()",""].join(`
68
68
  `),{encoding:"utf8",flag:"wx",mode:384}),new Promise(f=>{this.pending={id:a.id,resolve:async a=>{let[g,h]=await Promise.all([d.promises.readFile(b,"utf8").catch(()=>""),d.promises.readFile(c,"utf8").catch(()=>"")]);await Promise.all([d.promises.rm(b,{force:!0}),d.promises.rm(c,{force:!0}),d.promises.rm(e,{force:!0})]),f({...a,stdout:D(g,this.policy.maxLogChars),stderr:D(h||a.stderr,this.policy.maxLogChars),error:a.error??(0===a.exitCode?null:D(h,this.policy.maxLogChars).trim()||"R plot kernel execution failed")})}},this.process.stdin.write(`source(${M(e)}, local = .GlobalEnv)
69
69
  `,a=>{a&&this.failPending(a.message)})})}async shutdown(){this.stopped=!0,this.process.stdin.write(`quit(save = "no", status = 0)
70
- `,()=>{}),this.process.kill("SIGTERM"),setTimeout(()=>{this.process.killed||this.process.kill("SIGKILL")},1500).unref(),this.failPending("R plot kernel stopped")}handleStdout(a){this.stdoutBuffer+=a;let b=this.stdoutBuffer.split(/\r?\n/);for(let a of(this.stdoutBuffer=b.pop()??"",b)){if(!a.startsWith(L))continue;let[,b,c]=a.match(/^WARMPLOT_KERNEL_RESPONSE\s+(\S+)\s+(\S+)/)??[],d=this.pending;d&&b===d.id&&(this.pending=null,d.resolve({stdout:"",stderr:"",exitCode:+("ok"!==c),timedOut:!1,cancelled:!1,error:null}))}}failPending(a){let b=this.pending;b&&(this.pending=null,b.resolve({stdout:"",stderr:this.stderr,exitCode:null,timedOut:!1,cancelled:!1,error:a}))}}class O{driver;idleTimeoutMs;onIdle;tail=Promise.resolve();idleTimer=null;constructor(a,b,c){this.driver=a,this.idleTimeoutMs=b,this.onIdle=c}execute(a){this.clearIdleTimer();let b=this.tail.then(()=>this.driver.execute(a));return this.tail=b.catch(()=>{}).finally(()=>this.armIdleTimer()),b}async shutdown(){this.clearIdleTimer(),await this.driver.shutdown()}armIdleTimer(){this.clearIdleTimer(),this.idleTimer=setTimeout(()=>{this.onIdle()},this.idleTimeoutMs),this.idleTimer.unref()}clearIdleTimer(){this.idleTimer&&(clearTimeout(this.idleTimer),this.idleTimer=null)}}class P{policy;kernels=new Map;constructor(a){this.policy=a}execute(a){let b=this.createRuntimeKey(a.ownerId,a.language),c=this.getOrCreateKernel({key:b,language:a.language,cwd:a.run.cwd});return this.executeWithTimeout({key:b,kernel:c,run:a.run})}async stopSession(a){let b=a.language?[a.language]:["python","r"];await Promise.all(b.map(b=>this.stopKernelByKey(this.createRuntimeKey(a.ownerId,b))))}async dispose(){await Promise.all([...this.kernels.keys()].map(a=>this.stopKernelByKey(a)))}getActiveKernelCount(){return this.kernels.size}createRuntimeKey(a,b){return`${a}:${b}`}getOrCreateKernel(a){var b;let c=this.kernels.get(a.key);if(c)return c;let d=new O("r"===(b={language:a.language,cwd:a.cwd,policy:this.policy}).language?new N(b.cwd,b.policy):new K(b.cwd,b.policy),this.policy.idleTimeoutMs,()=>{this.stopKernelByKey(a.key)});return this.kernels.set(a.key,d),d}async stopKernelByKey(a){let b=this.kernels.get(a);b&&(this.kernels.delete(a),await b.shutdown())}executeWithTimeout(a){let b=null;return new Promise(c=>{let d=!1,e=()=>{d||(d=!0,b&&clearTimeout(b),this.stopKernelByKey(a.key),c({stdout:"",stderr:"",exitCode:null,timedOut:!1,cancelled:!0,error:"Plot run cancelled"}))};((b=setTimeout(()=>{d||(d=!0,a.run.signal?.removeEventListener("abort",e),this.stopKernelByKey(a.key),c({stdout:"",stderr:"",exitCode:null,timedOut:!0,cancelled:!1,error:`Plot kernel timed out after ${Math.round(a.run.timeoutMs/1e3)}s`}))},a.run.timeoutMs)).unref(),a.run.signal?.addEventListener("abort",e,{once:!0}),a.run.signal?.aborted)?e():a.kernel.execute(a.run).then(f=>{d||(d=!0,b&&clearTimeout(b),a.run.signal?.removeEventListener("abort",e),c(f))})})}}async function Q(a){var b,c,d,e;let f=(b=a.policy,c=a.run.language,d=a.run.scriptPath,"r"===c?{command:b.rscriptCommand,args:[...b.rscriptArgs,d]}:{command:b.pythonCommand,args:[...b.pythonArgs,d]});return e={command:f.command,args:f.args,cwd:a.run.cwd,env:E(a.run.outputDir,a.run.env),timeoutMs:a.run.timeoutMs,maxLogChars:a.policy.maxLogChars,signal:a.run.signal,label:`${"r"===a.run.language?"R":"Python"} plot worker`},new Promise(a=>{let b="",c="",d=!1,f=!1,g=!1,h=(0,C.spawn)(e.command,e.args,{cwd:e.cwd,env:e.env,shell:!1,stdio:["ignore","pipe","pipe"]}),i=b=>{d||(d=!0,clearTimeout(j),e.signal?.removeEventListener("abort",k),a(b))},j=setTimeout(()=>{f=!0,F(h,()=>d)},e.timeoutMs);j.unref();let k=()=>{d||(g=!0,F(h,()=>d))};e.signal?.addEventListener("abort",k,{once:!0}),e.signal?.aborted&&k(),h.stdout.on("data",a=>{b=D(`${b}${a.toString("utf8")}`,e.maxLogChars)}),h.stderr.on("data",a=>{c=D(`${c}${a.toString("utf8")}`,e.maxLogChars)}),h.on("error",a=>{i({stdout:b,stderr:c,exitCode:null,timedOut:f,cancelled:g,error:a.message})}),h.on("close",(a,d)=>{let h=g?`${e.label} cancelled`:null,j=f?`${e.label} timed out after ${Math.round(e.timeoutMs/1e3)}s`:null,k=!d||j||h?null:`${e.label} exited via signal ${d}`,l="number"==typeof a&&0!==a?`${e.label} exited with code ${a}`:null;i({stdout:b,stderr:c,exitCode:g||f?null:a,timedOut:f,cancelled:g,error:h??j??k??l})})})}class R{policy;runController=new G;kernelRuntime;constructor(a={}){this.policy=function(a){return{...B,...a,pythonArgs:a?.pythonArgs??B.pythonArgs,rArgs:a?.rArgs??B.rArgs,rscriptArgs:a?.rscriptArgs??B.rscriptArgs}}(a.policy),this.kernelRuntime=new P(this.policy)}async run(a){let b;if(!this.policy.enabled)throw Error("Kernel plotting is disabled");var c,d,e,f=a.language;if("python"!==f&&"r"!==f)throw Error("language must be python or r");let g=a.runtime??this.policy.defaultRuntime;if(function(a){if("kernel-lite"!==a&&"worker"!==a)throw Error("runtime must be kernel-lite or worker")}(g),"string"!=typeof a.code||0===a.code.length)throw Error("code required");let h=(0,A.randomUUID)().replace(/-/g,"").slice(0,16),i=new Date().toISOString(),j=await l({cwd:a.cwd,archiveRoot:a.archiveRoot,ownerId:a.ownerId,runId:h,language:a.language,code:a.code}),k=this.runController.register({runId:h,ownerId:a.ownerId,language:a.language,runtime:g}),o=function(a,b){if(!a)return b;if(!b)return a;let c=new AbortController,d=()=>{c.signal.aborted||c.abort(a.reason??b.reason)};return a.addEventListener("abort",d,{once:!0}),b.addEventListener("abort",d,{once:!0}),(a.aborted||b.aborted)&&d(),c.signal}(a.signal,k.signal);try{let c={id:h,language:a.language,code:a.code,cwd:a.cwd,outputDir:j.outputDir,scriptPath:j.scriptPath,stdoutPath:j.stdoutPath,stderrPath:j.stderrPath,timeoutMs:a.timeoutMs??this.policy.timeoutMs,env:a.env??{},signal:o};b="worker"===g?await Q({run:c,policy:this.policy}):await this.kernelRuntime.execute({ownerId:a.ownerId,language:a.language,run:c})}catch(e){let d=e instanceof Error?e.message:"Plot run failed";b={stdout:"",stderr:"",exitCode:null,timedOut:!1,cancelled:!1,error:(c=Error(d)).message.includes("ENOENT")||c.message.includes("not found")?`Missing ${"r"===a.language?"R":"Python"} runtime`:d}}finally{k.unregister()}await m({stdoutPath:j.stdoutPath,stderrPath:j.stderrPath,stdout:b.stdout,stderr:b.stderr});let p=await r({archiveRoot:j.archiveRoot,outputDir:j.outputDir,maxArtifactBytes:this.policy.maxArtifactBytes,maxArtifactsPerRun:this.policy.maxArtifactsPerRun}),q=(d=b).cancelled?"cancelled":d.timedOut?"timed_out":0!==d.exitCode||d.error?"failed":"succeeded",s=new Date().toISOString();return{runId:(e=await n({archive:j,language:a.language,runtime:g,status:q,title:a.title,stdout:b.stdout,stderr:b.stderr,exitCode:b.exitCode,error:b.error,cancelled:b.cancelled,timedOut:b.timedOut,artifacts:p,createdAt:i,completedAt:s})).runId,ownerId:e.ownerId,language:e.language,runtime:e.runtime,status:e.status,title:e.title,stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode,error:e.error,cancelled:e.cancelled,timedOut:e.timedOut,scriptPath:e.scriptPath,stdoutPath:e.stdoutPath,stderrPath:e.stderrPath,outputDir:e.outputDir,artifacts:e.artifacts,createdAt:e.createdAt,completedAt:e.completedAt}}async stopSession(a){await this.kernelRuntime.stopSession(a)}async cancelRun(a,b){return this.runController.cancel(a,b)}async listArtifacts(a){return(await o(a)).flatMap(a=>a.artifacts).slice(0,a.limit??100)}async dispose(){await this.kernelRuntime.dispose()}getActiveRunCount(){return this.runController.count()}getActiveKernelCount(){return this.kernelRuntime.getActiveKernelCount()}}function S(a){return new R(a)}function T(a,b){return b.kernels[a]||null}async function U(a){var b,c,d;let e=await w(),f=await y(a.cwd);if(a.sessionKernelId){let b=T(a.sessionKernelId,e);if(b)return{command:b.command,args:b.args,env:b.env,source:"session",kernelId:a.sessionKernelId}}if(f?.selectedKernels[a.language]){let b=f.selectedKernels[a.language],c=T(b,e);if(c)return{command:c.command,args:c.args,env:c.env,source:"project",kernelId:b}}let g=e.defaultKernel[a.language];if(g){let a=T(g,e);if(a)return{command:a.command,args:a.args,env:a.env,source:"global",kernelId:g}}let h="python"===a.language?a.policy.pythonCommand:a.policy.rCommand;return"python3"!==h&&"R"!==h?(b=a.language,c=a.policy,"python"===b?{command:c.pythonCommand,args:c.pythonArgs,env:{},source:"policy"}:{command:c.rCommand,args:c.rArgs,env:{},source:"policy"}):{command:"python"===(d=a.language)?"python3":"R",args:"python"===d?["-u"]:["--slave","--vanilla"],env:{},source:"path"}}let V=(0,c(57975).promisify)(C.exec);async function W(a){try{return await (0,t.access)(a,t.constants.X_OK),!0}catch{return!1}}async function X(){let a=[],b=[];try{let{stdout:b}=await V("conda env list");for(let c of b.split(`
70
+ `,()=>{}),this.process.kill("SIGTERM"),setTimeout(()=>{this.process.killed||this.process.kill("SIGKILL")},1500).unref(),this.failPending("R plot kernel stopped")}handleStdout(a){this.stdoutBuffer+=a;let b=this.stdoutBuffer.split(/\r?\n/);for(let a of(this.stdoutBuffer=b.pop()??"",b)){if(!a.startsWith(L))continue;let[,b,c]=a.match(/^WARMPLOT_KERNEL_RESPONSE\s+(\S+)\s+(\S+)/)??[],d=this.pending;d&&b===d.id&&(this.pending=null,d.resolve({stdout:"",stderr:"",exitCode:+("ok"!==c),timedOut:!1,cancelled:!1,error:null}))}}failPending(a){let b=this.pending;b&&(this.pending=null,b.resolve({stdout:"",stderr:this.stderr,exitCode:null,timedOut:!1,cancelled:!1,error:a}))}}class O{driver;idleTimeoutMs;onIdle;tail=Promise.resolve();idleTimer=null;constructor(a,b,c){this.driver=a,this.idleTimeoutMs=b,this.onIdle=c}execute(a){this.clearIdleTimer();let b=this.tail.then(()=>this.driver.execute(a));return this.tail=b.catch(()=>{}).finally(()=>this.armIdleTimer()),b}async shutdown(){this.clearIdleTimer(),await this.driver.shutdown()}armIdleTimer(){this.clearIdleTimer(),this.idleTimer=setTimeout(()=>{this.onIdle()},this.idleTimeoutMs),this.idleTimer.unref()}clearIdleTimer(){this.idleTimer&&(clearTimeout(this.idleTimer),this.idleTimer=null)}}class P{policy;kernels=new Map;constructor(a){this.policy=a}execute(a){let b=this.createRuntimeKey(a.ownerId,a.language),c=this.getOrCreateKernel({key:b,language:a.language,cwd:a.run.cwd});return this.executeWithTimeout({key:b,kernel:c,run:a.run})}async stopSession(a){let b=a.language?[a.language]:["python","r"];await Promise.all(b.map(b=>this.stopKernelByKey(this.createRuntimeKey(a.ownerId,b))))}async dispose(){await Promise.all([...this.kernels.keys()].map(a=>this.stopKernelByKey(a)))}getActiveKernelCount(){return this.kernels.size}createRuntimeKey(a,b){return`${a}:${b}`}getOrCreateKernel(a){var b;let c=this.kernels.get(a.key);if(c)return c;let d=new O("r"===(b={language:a.language,cwd:a.cwd,policy:this.policy}).language?new N(b.cwd,b.policy):new K(b.cwd,b.policy),this.policy.idleTimeoutMs,()=>{this.stopKernelByKey(a.key)});return this.kernels.set(a.key,d),d}async stopKernelByKey(a){let b=this.kernels.get(a);b&&(this.kernels.delete(a),await b.shutdown())}executeWithTimeout(a){let b=null;return new Promise(c=>{let d=!1,e=()=>{d||(d=!0,b&&clearTimeout(b),this.stopKernelByKey(a.key),c({stdout:"",stderr:"",exitCode:null,timedOut:!1,cancelled:!0,error:"Plot run cancelled"}))};((b=setTimeout(()=>{d||(d=!0,a.run.signal?.removeEventListener("abort",e),this.stopKernelByKey(a.key),c({stdout:"",stderr:"",exitCode:null,timedOut:!0,cancelled:!1,error:`Plot kernel timed out after ${Math.round(a.run.timeoutMs/1e3)}s`}))},a.run.timeoutMs)).unref(),a.run.signal?.addEventListener("abort",e,{once:!0}),a.run.signal?.aborted)?e():a.kernel.execute(a.run).then(f=>{d||(d=!0,b&&clearTimeout(b),a.run.signal?.removeEventListener("abort",e),c(f))})})}}async function Q(a){var b,c,d,e;let f=(b=a.policy,c=a.run.language,d=a.run.scriptPath,"r"===c?{command:b.rscriptCommand,args:[...b.rscriptArgs,d]}:{command:b.pythonCommand,args:[...b.pythonArgs,d]});return e={command:f.command,args:f.args,cwd:a.run.cwd,env:E(a.run.outputDir,a.run.env),timeoutMs:a.run.timeoutMs,maxLogChars:a.policy.maxLogChars,signal:a.run.signal,label:`${"r"===a.run.language?"R":"Python"} plot worker`},new Promise(a=>{let b="",c="",d=!1,f=!1,g=!1,h=(0,C.spawn)(e.command,e.args,{cwd:e.cwd,env:e.env,shell:!1,stdio:["ignore","pipe","pipe"]}),i=b=>{d||(d=!0,clearTimeout(j),e.signal?.removeEventListener("abort",k),a(b))},j=setTimeout(()=>{f=!0,F(h,()=>d)},e.timeoutMs);j.unref();let k=()=>{d||(g=!0,F(h,()=>d))};e.signal?.addEventListener("abort",k,{once:!0}),e.signal?.aborted&&k(),h.stdout.on("data",a=>{b=D(`${b}${a.toString("utf8")}`,e.maxLogChars)}),h.stderr.on("data",a=>{c=D(`${c}${a.toString("utf8")}`,e.maxLogChars)}),h.on("error",a=>{i({stdout:b,stderr:c,exitCode:null,timedOut:f,cancelled:g,error:a.message})}),h.on("close",(a,d)=>{let h=g?`${e.label} cancelled`:null,j=f?`${e.label} timed out after ${Math.round(e.timeoutMs/1e3)}s`:null,k=!d||j||h?null:`${e.label} exited via signal ${d}`,l="number"==typeof a&&0!==a?`${e.label} exited with code ${a}`:null;i({stdout:b,stderr:c,exitCode:g||f?null:a,timedOut:f,cancelled:g,error:h??j??k??l})})})}class R{policy;runController=new G;kernelRuntime;constructor(a={}){var b;this.policy=(b=a.policy,{...B,...b,pythonArgs:b?.pythonArgs??B.pythonArgs,rArgs:b?.rArgs??B.rArgs,rscriptArgs:b?.rscriptArgs??B.rscriptArgs}),this.kernelRuntime=new P(this.policy)}async run(a){let b;if(!this.policy.enabled)throw Error("Kernel plotting is disabled");var c,d,e,f=a.language;if("python"!==f&&"r"!==f)throw Error("language must be python or r");let g=a.runtime??this.policy.defaultRuntime;if(function(a){if("kernel-lite"!==a&&"worker"!==a)throw Error("runtime must be kernel-lite or worker")}(g),"string"!=typeof a.code||0===a.code.length)throw Error("code required");let h=(0,A.randomUUID)().replace(/-/g,"").slice(0,16),i=new Date().toISOString(),j=await l({cwd:a.cwd,archiveRoot:a.archiveRoot,ownerId:a.ownerId,runId:h,language:a.language,code:a.code}),k=this.runController.register({runId:h,ownerId:a.ownerId,language:a.language,runtime:g}),o=function(a,b){if(!a)return b;if(!b)return a;let c=new AbortController,d=()=>{c.signal.aborted||c.abort(a.reason??b.reason)};return a.addEventListener("abort",d,{once:!0}),b.addEventListener("abort",d,{once:!0}),(a.aborted||b.aborted)&&d(),c.signal}(a.signal,k.signal);try{let c={id:h,language:a.language,code:a.code,cwd:a.cwd,outputDir:j.outputDir,scriptPath:j.scriptPath,stdoutPath:j.stdoutPath,stderrPath:j.stderrPath,timeoutMs:a.timeoutMs??this.policy.timeoutMs,env:a.env??{},signal:o};b="worker"===g?await Q({run:c,policy:this.policy}):await this.kernelRuntime.execute({ownerId:a.ownerId,language:a.language,run:c})}catch(e){let d=e instanceof Error?e.message:"Plot run failed";b={stdout:"",stderr:"",exitCode:null,timedOut:!1,cancelled:!1,error:(c=Error(d)).message.includes("ENOENT")||c.message.includes("not found")?`Missing ${"r"===a.language?"R":"Python"} runtime`:d}}finally{k.unregister()}await m({stdoutPath:j.stdoutPath,stderrPath:j.stderrPath,stdout:b.stdout,stderr:b.stderr});let p=await r({archiveRoot:j.archiveRoot,outputDir:j.outputDir,maxArtifactBytes:this.policy.maxArtifactBytes,maxArtifactsPerRun:this.policy.maxArtifactsPerRun}),q=(d=b).cancelled?"cancelled":d.timedOut?"timed_out":0!==d.exitCode||d.error?"failed":"succeeded",s=new Date().toISOString();return{runId:(e=await n({archive:j,language:a.language,runtime:g,status:q,title:a.title,stdout:b.stdout,stderr:b.stderr,exitCode:b.exitCode,error:b.error,cancelled:b.cancelled,timedOut:b.timedOut,artifacts:p,createdAt:i,completedAt:s})).runId,ownerId:e.ownerId,language:e.language,runtime:e.runtime,status:e.status,title:e.title,stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode,error:e.error,cancelled:e.cancelled,timedOut:e.timedOut,scriptPath:e.scriptPath,stdoutPath:e.stdoutPath,stderrPath:e.stderrPath,outputDir:e.outputDir,artifacts:e.artifacts,createdAt:e.createdAt,completedAt:e.completedAt}}async stopSession(a){await this.kernelRuntime.stopSession(a)}async cancelRun(a,b){return this.runController.cancel(a,b)}async listArtifacts(a){return(await o(a)).flatMap(a=>a.artifacts).slice(0,a.limit??100)}async dispose(){await this.kernelRuntime.dispose()}getActiveRunCount(){return this.runController.count()}getActiveKernelCount(){return this.kernelRuntime.getActiveKernelCount()}}function S(a){return new R(a)}function T(a,b){return b.kernels[a]||null}async function U(a){var b,c,d;let e=await w(),f=await y(a.cwd);if(a.sessionKernelId){let b=T(a.sessionKernelId,e);if(b)return{command:b.command,args:b.args,env:b.env,source:"session",kernelId:a.sessionKernelId}}if(f?.selectedKernels[a.language]){let b=f.selectedKernels[a.language],c=T(b,e);if(c)return{command:c.command,args:c.args,env:c.env,source:"project",kernelId:b}}let g=e.defaultKernel[a.language];if(g){let a=T(g,e);if(a)return{command:a.command,args:a.args,env:a.env,source:"global",kernelId:g}}let h="python"===a.language?a.policy.pythonCommand:a.policy.rCommand;return"python3"!==h&&"R"!==h?(b=a.language,c=a.policy,"python"===b?{command:c.pythonCommand,args:c.pythonArgs,env:{},source:"policy"}:{command:c.rCommand,args:c.rArgs,env:{},source:"policy"}):{command:"python"===(d=a.language)?"python3":"R",args:"python"===d?["-u"]:["--slave","--vanilla"],env:{},source:"path"}}let V=(0,c(57975).promisify)(C.exec);async function W(a){try{return await (0,t.access)(a,t.constants.X_OK),!0}catch{return!1}}async function X(){let a=[],b=[];try{let{stdout:b}=await V("conda env list");for(let c of b.split(`
71
71
  `)){if(c.startsWith("#")||!c.trim())continue;let b=c.trim().split(/\s+/);if(b.length<2)continue;let d=b[0],f=b[b.length-1],g=(0,e.join)(f,"bin","python");await W(g)&&a.push({language:"python",command:g,args:["-u"],displayName:`Python 3 (Conda ${d})`,env:{CONDA_DEFAULT_ENV:d}})}}catch(a){b.push(`Conda scan failed: ${a instanceof Error?a.message:String(a)}`)}return{kernels:a,errors:b}}async function Y(a){let b=[];for(let c of[".venv","venv","env"])try{let d=(0,e.join)(a,c,"bin","python");if(await W(d)){let c=(0,e.basename)(a);b.push({language:"python",command:d,args:["-u"],displayName:`Python 3 (Venv ${c})`,env:{}})}}catch{}return{kernels:b,errors:[]}}async function Z(){let a=[],b=[];try{let{stdout:b}=await V("pyenv versions --bare");for(let c of b.trim().split(`
72
72
  `)){if(!c.trim())continue;let b=(0,e.join)(process.env.HOME||"~",".pyenv","versions",c,"bin","python");await W(b)&&a.push({language:"python",command:b,args:["-u"],displayName:`Python ${c} (Pyenv)`,env:{}})}}catch(a){b.push(`Pyenv scan failed: ${a instanceof Error?a.message:String(a)}`)}return{kernels:a,errors:b}}async function $(){let a=[],b=[];try{let{stdout:b}=await V("poetry env list --full-path");for(let c of b.trim().split(`
73
73
  `)){let b=c.split(" ")[0];if(!b)continue;let d=(0,e.join)(b,"bin","python");if(await W(d)){let c=(0,e.basename)(b);a.push({language:"python",command:d,args:["-u"],displayName:`Python 3 (Poetry ${c})`,env:{}})}}}catch(a){b.push(`Poetry scan failed: ${a instanceof Error?a.message:String(a)}`)}return{kernels:a,errors:b}}async function _(){let a=[],b=[];try{let{stdout:b}=await V("which python3"),c=b.trim();if(c&&await W(c))try{let{stdout:b}=await V(`${c} --version`),d=b.trim().replace("Python ","");a.push({language:"python",command:"python3",args:["-u"],displayName:`Python ${d} (System)`,env:{}})}catch{a.push({language:"python",command:"python3",args:["-u"],displayName:"Python 3 (System)",env:{}})}}catch(a){b.push(`System Python scan failed: ${a instanceof Error?a.message:String(a)}`)}return{kernels:a,errors:b}}async function aa(a){let b=[],c=[],d=[X(),Z(),$(),_()];for(let{kernels:e,errors:f}of(a&&d.push(Y(a)),await Promise.all(d)))b.push(...e),c.push(...f);return{newKernels:b,errors:c}}async function ab(){let a=[],b=[];try{let{stdout:b}=await V("which R"),c=b.trim();if(c&&await W(c))try{let{stdout:b}=await V("R --version | head -1"),c=b.match(/R version ([\d.]+)/),d=c?c[1]:"";a.push({language:"r",command:"R",args:["--slave","--vanilla"],displayName:d?`R ${d} (System)`:"R (System)",env:{}})}catch{a.push({language:"r",command:"R",args:["--slave","--vanilla"],displayName:"R (System)",env:{}})}}catch(a){b.push(`System R scan failed: ${a instanceof Error?a.message:String(a)}`)}return{kernels:a,errors:b}}async function ac(a){let b=[];try{let c=(0,e.join)(a,"renv"),d=(0,e.join)(a,"renv.lock"),f=await W(c).catch(()=>!1),g=await (0,t.access)(d).then(()=>!0).catch(()=>!1);if(f||g){let c=(0,e.basename)(a);b.push({language:"r",command:"R",args:["--slave","--vanilla"],displayName:`R (Renv ${c})`,env:{RENV_PROJECT:a}})}}catch{}return{kernels:b,errors:[]}}async function ad(a){let b=[],c=[],d=[ab()];for(let{kernels:e,errors:f}of(a&&d.push(ac(a)),await Promise.all(d)))b.push(...e),c.push(...f);return{newKernels:b,errors:c}}async function ae(a){let b=await aa(a),c=await ad(a);return{newKernels:[...b.newKernels,...c.newKernels],errors:[...b.errors,...c.errors]}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=5715,exports.ids=[5715],exports.modules={55715:(a,b,c)=>{c.r(b),c.d(b,{go:()=>y,goLanguage:()=>w,localCompletionSource:()=>v,snippets:()=>o});var d=c(83386),e=c(43398);let f=new d.Lu((a,b)=>{for(let c=0,d=a.next;(b.context&&(d<0||10==d||13==d||47==d&&47==a.peek(c+1))||41==d||125==d)&&a.acceptToken(177),32==d||9==d;)d=a.peek(++c)},{contextual:!0}),g=new Set([95,184,20,12,17,144,145,142,148,13,53,25]),h=new d.Aj({start:!1,shift:(a,b)=>179==b?a:g.has(b)}),i=(0,e.pn)({"func interface struct chan map const type var":e._A.definitionKeyword,"import package":e._A.moduleKeyword,"switch for go select return break continue goto fallthrough case if else defer":e._A.controlKeyword,range:e._A.keyword,Bool:e._A.bool,String:e._A.string,Rune:e._A.character,Number:e._A.number,Nil:e._A.null,VariableName:e._A.variableName,DefName:e._A.definition(e._A.variableName),TypeName:e._A.typeName,LabelName:e._A.labelName,FieldName:e._A.propertyName,"FunctionDecl/DefName":e._A.function(e._A.definition(e._A.variableName)),"TypeSpec/DefName":e._A.definition(e._A.typeName),"CallExpr/VariableName":e._A.function(e._A.variableName),LineComment:e._A.lineComment,BlockComment:e._A.blockComment,LogicOp:e._A.logicOperator,ArithOp:e._A.arithmeticOperator,BitOp:e._A.bitwiseOperator,"DerefOp .":e._A.derefOperator,"UpdateOp IncDecOp":e._A.updateOperator,CompareOp:e._A.compareOperator,"= :=":e._A.definitionOperator,"<-":e._A.operator,'~ "*"':e._A.modifier,"; ,":e._A.separator,"... :":e._A.punctuation,"( )":e._A.paren,"[ ]":e._A.squareBracket,"{ }":e._A.brace}),j={__proto__:null,package:10,import:18,true:380,false:380,nil:383,struct:48,func:68,interface:78,chan:94,map:118,make:157,new:159,const:204,type:212,var:224,if:236,else:238,switch:242,case:248,default:250,for:260,range:266,go:270,select:274,return:284,break:288,continue:290,goto:292,fallthrough:296,defer:300},k=d.U1.deserialize({version:14,states:"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuO<uQQO'#ExO<|QQO'#FRO4cQQO'#FWO=WQQO'#FYO=]QRO'#F_O=jQRO'#FaO=uQQO'#FaOOQP'#Fe'#FeO4cQQO'#FgP=zOWO'#C^POOO)CAz)CAzOOQO'#G]'#G]OOQO,5<W,5<WOOQO-E9j-E9jO?TQTO'#CqOOQO'#C|'#C|OOQP,59g,59gO?tQQO'#D_O@fQSO'#FuO@kQQO'#C}O@pQQO'#D[O9XQQO'#FqO@uQRO,5=TOAyQQO,59yOCVQSO,5:[O@kQQO'#C}OCaQQO'#DjOOQP,59^,59^OOQO,5<a,5<aO?tQQO'#DeOOQO,5:e,5:eOOQO-E9s-E9sOOQP,59z,59zOOQP,59|,59|OCqQSO,5:QO(kQQO,5:ROC{QQO,5:RO&]QRO'#FxOOQO'#Fx'#FxOFjQQO'#GpOFwQQO,5:^OF|QQO,5:_OHdQQO,5:`OHlQQO,5:aOHvQRO'#FyOIaQRO,5=]OIuQQO'#DzOOQP,5:d,5:dOOQO'#EV'#EVOOQO'#EW'#EWOOQO'#EX'#EXOOQO'#EZ'#EZOOQO'#E['#E[O4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:wOOQP,5:x,5:xO?tQQO'#EOOOQP,5:g,5:gOOQP,5:k,5:kO9yQQO,59vO4cQQO,5:zO4cQQO,5:}OI|QRO,5;_OOQO,5<Y,5<YOOQO-E9l-E9lO]QQOOOOQP'#Cb'#CbOOQP,58z,58zOOQP'#Cf'#CfOJWQQO'#CfOJ]QSO'#CkOOQP,59O,59OOJkQQO'#DPOLZQQO,5<UOLbQQO,59iOLsQQO,5<TOMpQQO'#DUOOQP,59n,59nOOQP,59v,59vONfQQO,59vONmQQO'#CwOOQP,59_,59_O?tQQO,5:SONxQRO'#EgO! VQQO'#EhOOQP,5;P,5;PO! |QQO'#EkO!!WQQO'#EnOOQP,5;T,5;TO!!`QRO'#EqO!!mQQO'#ErOOQP,5;Z,5;ZO!!uQTO'#CbO!!|QTO,5;aO&]QRO,5;aO!#WQQO,5;jO!$yQTO,5;dO!%WQQO'#EzOOQP,5;d,5;dO&]QRO,5;dO!%cQSO,5;mO!%mQQO'#E`O!%uQQO'#EcO!%zQQO'#FTO!&UQQO'#FTOOQP,5;m,5;mO!&ZQQO,5;mO!&`QTO,5;rO!&mQQO'#F[OOQP,5;t,5;tO!&xQTO'#GqOOQP,5;y,5;yOOQP'#Et'#EtOOQP,5;{,5;{O!']QTO,5<RPOOO'#Fk'#FkP!'jOWO,58xPOOO,58x,58xO!'uQQO,59yO!'zQQO'#GgOOQP,59i,59iO(kQQO,59vOOQP,5<],5<]OOQP-E9o-E9oOOQP1G/e1G/eOOQP1G/v1G/vO!([QSO'#DlO!(lQQO'#DlO!(wQQO'#DkOOQO'#Go'#GoO!(|QQO'#GoO!)UQQO,5:UO!)ZQQO'#GnO!)fQQO,5:PPOQO'#Cq'#CqO(kQQO1G/lOOQP1G/m1G/mO(kQQO1G/mOOQO,5<d,5<dOOQO-E9v-E9vOOQP1G/x1G/xO!)kQSO1G/yOOQP'#Cy'#CyOOQP1G/z1G/zO?tQQO1G/}O!)xQSO1G/{O!*YQQO1G/|O!*gQTO,5<eOOQP-E9w-E9wOOQP,5:f,5:fO!+QQQO,5:fOOQP1G0[1G0[O!,vQTO1G0[O!.wQTO1G0[O!/OQTO1G0[O!0pQTO1G0[O!1QQTO1G0cO!1bQQO,5:jOOQP1G/b1G/bOOQP1G0f1G0fOOQP1G0i1G0iOOQP1G0y1G0yOOQP,59Q,59QO&]QRO'#FmO!1mQSO,59VOOQP,59V,59VOOQO'#DQ'#DQO?tQQO'#DQO!1{QQO'#DQOOQO'#Gh'#GhO!2SQQO'#GhO!2[QQO,59kO!2aQSO'#CqOJkQQO'#DPOOQP,5=R,5=RO@kQQO1G1pOOQP1G/w1G/wO.hQQO'#ElO!2rQRO1G1oO@kQQO1G1oO@kQQO'#DVO?tQQO'#DWOOQP'#Gk'#GkO!2}QRO'#GjOOQP'#Gj'#GjO&]QRO'#FsO!3`QQO,59pOOQP,59p,59pO!3gQRO'#CxO!3uQQO'#CxO!3|QRO'#CxO.hQQO'#CxO&]QRO'#FoO!4XQQO,59cOOQP,59c,59cO!4dQQO1G/nO4cQQO,5;RO!4iQQO,5;RO&]QRO'#FzO!4nQQO,5;SOOQP,5;S,5;SO!6aQQO'#DgO?tQQO,5;VOOQP,5;V,5;VO&]QRO'#F}O!6hQQO,5;YOOQP,5;Y,5;YO!6pQRO,5;]O4cQQO,5;]O&]QRO'#GOO!6{QQO,5;^OOQP,5;^,5;^O!7TQRO1G0{O!7`QQO1G0{O4cQQO1G1UO!8vQQO1G1UOOQP1G1O1G1OO!9OQQO'#GPO!9YQQO,5;fOOQP,5;f,5;fO4cQQO'#E{O!9eQQO'#E{O<uQQO1G1OOOQP1G1X1G1XO!9jQQO,5:zO!9jQQO,5:}O!9tQSO,5;oO!:OQQO,5;oO!:VQQO,5;oO!9OQQO'#GRO!:aQQO,5;vOOQP,5;v,5;vO!<PQQO'#F]O!<WQQO'#F]POOO-E9i-E9iPOOO1G.d1G.dO!<]QQO,5:VO!<gQQO,5=ZO!<tQQO,5=ZOOQP1G/p1G/pO!<|QQO,5=YO!=WQQO,5=YOOQP1G/k1G/kOOQP7+%W7+%WOOQP7+%X7+%XOOQP7+%e7+%eO!=cQQO7+%eO!=hQQO7+%iOOQP7+%g7+%gO!=mQQO7+%gO!=rQQO7+%hO!>PQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5<X,5<XOOQO-E9k-E9kOOQP1G.q1G.qOOQO,59l,59lO?tQQO,59lO!?cQQO,5=SO!?jQQO,5=SOOQP1G/V1G/VO!?rQQO,59yO!?}QRO7+'[O!@YQQO'#EmO!@dQQO'#HOO!@lQQO,5;WOOQP7+'Z7+'ZO!@qQRO7+'ZOOQP,59q,59qOOQP,59r,59rOOQO'#DZ'#DZO!@]QQO'#FtO!@|QRO,59tOOQO,5<_,5<_OOQO-E9q-E9qOOQP1G/[1G/[OOQP,59d,59dOHgQQO'#FpO!3uQQO,59dO!A_QRO,59dO!AjQRO,59dOOQO,5<Z,5<ZOOQO-E9m-E9mOOQP1G.}1G.}O(kQQO7+%YOOQP1G0m1G0mO4cQQO1G0mOOQO,5<f,5<fOOQO-E9x-E9xOOQP1G0n1G0nO!AxQQO'#GdOOQP1G0q1G0qOOQO,5<i,5<iOOQO-E9{-E9{OOQP1G0t1G0tO4cQQO1G0wOOQP1G0w1G0wOOQO,5<j,5<jOOQO-E9|-E9|OOQP1G0x1G0xO!B]QQO7+&gO!BeQSO7+&gO!CsQSO7+&pO!CzQQO7+&pOOQO,5<k,5<kOOQO-E9}-E9}OOQP1G1Q1G1QO!DRQQO,5;gOOQO,5;g,5;gO!DWQSO7+&jOOQP7+&j7+&jO!DbQQO7+&pO!7`QQO1G1[O!DgQQO1G1ZOOQO1G1Z1G1ZO!DnQSO1G1ZOOQO,5<m,5<mOOQO-E:P-E:POOQP1G1b1G1bO!DxQSO'#GqO!E]QQO'#F^O!EbQQO'#F^O!EgQQO,5;wOOQO,5;w,5;wO!ElQSO1G/qOOQO1G/q1G/qO!EyQSO'#DoO!FZQQO'#DoO!FfQQO'#DnOOQO,5<c,5<cO!FkQQO1G2uOOQO-E9u-E9uOOQO,5<b,5<bO!FxQQO1G2tOOQO-E9t-E9tOOQP<<IP<<IPOOQP<<IT<<ITOOQP<<IR<<IRO!GSQSO<<ISOOQP<<IS<<ISO4cQQO<<ISO!GaQSO<<ISOOQP7+%l7+%lO!GkQQO7+%lOOQP7+%p7+%pO!GpQQO7+%pO!GuQQO7+%pOOQO1G/W1G/WOOQO,5<^,5<^O!G}QQO1G2nOOQO-E9p-E9pOOQP<<Jv<<JvO.hQQO'#F{O!@YQQO,5;XOOQO,5;X,5;XO!HUQQO,5=jO!H^QQO,5=jOOQO1G0r1G0rOOQP<<Ju<<JuOOQP,5<`,5<`OOQP-E9r-E9rOOQO,5<[,5<[OOQO-E9n-E9nO!HfQRO1G/OOOQP1G/O1G/OOOQP<<Ht<<HtOOQP7+&X7+&XO!HqQQO'#DeOOQP7+&c7+&cOOQP<<JR<<JRO!HxQRO<<JRO!ITQQO<<J[O!I]QQO<<J[OOQO1G1R1G1ROOQP<<JU<<JUO4cQQO<<J[O!IbQSO7+&vOOQO7+&u7+&uO!IlQQO7+&uO4cQQO,5;xOOQO1G1c1G1cO!<]QQO,5:YP!<]QQO'#FwP?tQQO'#FvOOQPAN>nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<<IW<<IWOOQP<<I[<<I[O!I}QQO<<I[P!>nQQO'#FrOOQO,5<g,5<gOOQO-E9y-E9yOOQO1G0s1G0sOOQO,5<h,5<hO!JVQQO1G3UOOQO-E9z-E9zOOQP7+$j7+$jO!J_QQO'#GnO!B]QQOAN?mO!JjQQOAN?vO!JqQQOAN?vO!KzQSOAN?vOOQO<<Ja<<JaO!LRQSO1G1dO!L]QSO1G/tOOQO1G/t1G/tO!LjQSOG24YOOQPG24YG24YOOQPAN>vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5<l,5<lOOQO-E:O-E:OOOQP1G1V1G1VO!MzQQO,5;lOOQO,5;l,5;lO!NPQQO!$'NhOOQO1G1W1G1WO!JqQQO!)9DSOOQP!.K9n!.K9nO# {QTO'#CqO#!`QTO'#CqO##}QSO'#CqO#$XQSO'#CqO#&]QSO'#CqO#&gQQO'#FyO#&tQQO'#FyO#'OQQO,5=]O#'ZQQO,5=]O#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO!7`QQO,5:wO!7`QQO,5:zO!7`QQO,5:}O#(yQSO'#CbO#)}QSO'#CbO#*bQSO'#GqO#*rQSO'#GqO#+PQRO'#GgO#+yQSO,5<eO#,ZQSO,5<eO#,hQSO1G0[O#-rQTO1G0[O#-yQSO1G0[O#.TQSO1G0[O#0{QTO1G0[O#1SQSO1G0[O#2eQSO1G0[O#2lQTO1G0[O#2sQSO1G0[O#4XQSO1G0[O#4`QTO1G0[O#4jQSO1G0[O#4wQSO1G0cO#5dQTO'#CqO#5kQTO'#CqO#6bQSO'#GqO#'cQQO'#EPO!7`QQO'#EPOF|QQO'#EPO#8]QQO'#EPO#8gQQO'#EPO#8qQQO'#EPO#8{QQO'#E`O#9TQQO'#EcO@kQQO'#C}O?tQQO,5:RO#9YQQO,59vO#:iQQO,59vO?tQQO,59vO?tQQO1G/lO?tQQO1G/mO?tQQO7+%YO?tQQO'#C{O#:pQQO'#DgO#9YQQO'#D[O#:wQQO'#D[O#:|QSO,5:QO#;WQQO,5:RO#;]QQO1G/nO?tQQO,5:SO#;bQQO'#Dh",stateData:"#;m~O$yOSPOS$zPQ~OVvOX{O[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO$v%QP~OTzO~P]O$z!`O~OVeXZeX^eX^!TXj!TXnUXneX!QeX!WeX!W!TX!|eX#ReX#TeX#UeX#WUX$weX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O!a#hX~P$XOV!bO$w!bO~O[!wX^pX^!wXa!wXd!wXhpXh!wXrpXr!wXwpXw!wX!PpX!P!wX!QpX!Q!wX!WpX!W!wX!]pX!]!wX!p!wX!q!wX%OpX%O!wX%U!wX%V!wX%YpX%Y!wX%f!wX%g!wX%h!wX%i!wX%j!wX~O^!hOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%O!eO%Y!fO~On!lO#W%]XV%]X^%]Xh%]Xr%]Xw%]X!P%]X!Q%]X!W%]X!]%]X#T%]X$w%]X%O%]X%Y%]Xu%]X~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO~P*aOj!qO^%XX]%XXn%XX!V%XX~O!W!tOV%TXZ%TX^%TXn%TX!Q%TX!W%TX!|%TX#R%TX#T%TX#U%TX$w%TX%Y%TX%`%TX%f%TX%g%TX%i%TX%j%TX%k%TX%l%TX%m%TX%n%TX%o%TX%p%TX%q%TX]%TX!V%TXj%TXi%TX!a%TXu%TX~OZ!sO~P,^O%O!eO~O!W!tO^%WXj%WX]%WXn%WX!V%WXu%WXV%WX$w%WX%`%WX#T%WX[%WX!a%WX~Ou!{O!QnO!V!zO~P*aOV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlOi%dP~O^#QO~OZ#RO^#VOn#TO!Q#cO!W#SO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX$w`X~O!|#`O~P2gO^#VO~O^#eO~O!QnO~P*aO[oO^YOaoOdoOh!POr!pOw}O!QnO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!P#hO~P4jO#T#iO#U#iO~O#W#jO~O!a#kO~OVvO[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O$v%QX~P6hO%O#oO~OZ#rO[#qO^#sO%O#oO~O^#uO%O#oO~Oj#yO~O^!hOh!POr!jOw}O!P!OO!Q#|O!WaO!]!QO%O!eO%Y!fO~Oj#}O~O!W$PO~O^$RO%O#oO~O^$UO%O#oO~O^$XO%O#oO~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O$ZO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oj$`O~P;_OV$fOjcO~P;_Oj$kO~O!QnOV$RX$w$RX~P*aO%O$oOV$TX$w$TX~O%O$oO~O${$rO$|$rO$}$tO~OZeX^!TX!W!TXj!TXn!TXh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~O]!TX!V!TXu!TX#T!TXV!TX$w!TX%`!TX[!TX!a!TX~P>VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~",goto:"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l",nodeNames:"⚠ LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl",maxTerm:218,context:h,nodeProps:[["isolate",-3,2,12,20,""],["group",-18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,"Expr",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,"Statement",-12,23,31,33,38,46,49,50,51,52,56,57,58,"Type"],["openedBy",13,"(",25,"{",53,"["],["closedBy",14,")",26,"}",54,"]"]],propSources:[i],skippedNodes:[0,1,2,153],repeatNodeCount:23,tokenData:":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~",tokenizers:[f,1,2,new d.uC("j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~",25,181)],topRules:{SourceFile:[0,3]},dynamicPrecedences:{19:1,51:-1,55:2,69:-1,108:-1},specialized:[{term:184,get:a=>j[a]||-1}],tokenPrec:5451});var l=c(17680),m=c(6518),n=c(22751);let o=[(0,m.Gw)("func ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"declaration",type:"keyword"}),(0,m.Gw)("func (${receiver}) ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"method declaration",type:"keyword"}),(0,m.Gw)("var ${name} = ${value}",{label:"var",detail:"declaration",type:"keyword"}),(0,m.Gw)("type ${name} ${type}",{label:"type",detail:"declaration",type:"keyword"}),(0,m.Gw)("const ${name} = ${value}",{label:"const",detail:"declaration",type:"keyword"}),(0,m.Gw)("type ${name} = ${type}",{label:"type",detail:"alias declaration",type:"keyword"}),(0,m.Gw)("for ${init}; ${test}; ${update} {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),(0,m.Gw)("for ${i} := range ${value} {\n ${}\n}",{label:"for",detail:"range",type:"keyword"}),(0,m.Gw)("select {\n ${}\n}",{label:"select",detail:"statement",type:"keyword"}),(0,m.Gw)("case ${}:\n${}",{label:"case",type:"keyword"}),(0,m.Gw)("switch ${} {\n ${}\n}",{label:"switch",detail:"statement",type:"keyword"}),(0,m.Gw)("switch ${}.(${type}) {\n ${}\n}",{label:"switch",detail:"type statement",type:"keyword"}),(0,m.Gw)("if ${} {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),(0,m.Gw)("if ${} {\n ${}\n} else {\n ${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),(0,m.Gw)('import ${name} "${module}"\n${}',{label:"import",detail:"declaration",type:"keyword"})],p=new n.RY,q=new Set(["SourceFile","Block","FunctionDecl","MethodDecl","FunctionLiteral","ForStatement","SwitchStatement","TypeSwitchStatement","IfStatement"]);function r(a,b){return(c,d)=>{a:for(let e=c.node.firstChild,f=0,g=null;;){for(;!e;){if(!f)break a;f--,e=g.nextSibling,g=g.parent}b&&e.name==b||"SpecList"==e.name?(f++,g=e,e=e.firstChild):("DefName"==e.name&&d(e,a),e=e.nextSibling)}return!0}}let s={FunctionDecl:r("function"),VarDecl:r("var","VarSpec"),ConstDecl:r("constant","ConstSpec"),TypeDecl:r("type","TypeSpec"),ImportDecl:r("constant","ImportSpec"),Parameter:r("var"),__proto__:null},t=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,u=["String","LineComment","BlockComment","DefName","LabelName","FieldName",".","?."],v=a=>{let b=(0,l.mv)(a.state).resolveInner(a.pos,-1);if(u.indexOf(b.name)>-1)return null;let c="VariableName"==b.name||b.to-b.from<20&&t.test(a.state.sliceDoc(b.from,b.to));if(!c&&!a.explicit)return null;let d=[];for(let c=b;c;c=c.parent)q.has(c.name)&&(d=d.concat(function a(b,c){let d=p.get(c);if(d)return d;let e=[],f=!0;function g(a,c){let d=b.sliceString(a.from,a.to);e.push({label:d,type:c})}return c.cursor(n.Qj.IncludeAnonymous).iterate(c=>{if(f)f=!1;else if(c.name){let a=s[c.name];if(a&&a(c,g)||q.has(c.name))return!1}else if(c.to-c.from>8192){for(let d of a(b,c.node))e.push(d);return!1}}),p.set(c,e),e}(a.state.doc,c)));return{options:d,from:c?b.from:a.pos,validFor:t}},w=l.bj.define({name:"go",parser:k.configure({props:[l.Oh.add({IfStatement:(0,l.mz)({except:/^\s*({|else\b)/}),LabeledStatement:l._Y,"SwitchBlock SelectBlock":a=>{let b=a.textAfter,c=/^\s*\}/.test(b),d=/^\s*(case|default)\b/.test(b);return a.baseIndent+(c||d?0:a.unit)},Block:(0,l.Ay)({closing:"}"}),BlockComment:()=>null,Statement:(0,l.mz)({except:/^{/})}),l.b_.add({"Block SwitchBlock SelectBlock LiteralValue InterfaceType StructType SpecList":l.yd,BlockComment:a=>({from:a.from+2,to:a.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case\b|default\b|\})$/}}),x="interface struct chan map package go return break continue goto fallthrough else defer range true false nil".split(" ").map(a=>({label:a,type:"keyword"}));function y(){let a=o.concat(x);return new l.Yy(w,[w.data.of({autocomplete:(0,m.Ar)(u,(0,m.et)(a))}),w.data.of({autocomplete:v})])}}};
1
+ "use strict";exports.id=5715,exports.ids=[5715],exports.modules={55715:(a,b,c)=>{c.r(b),c.d(b,{go:()=>y,goLanguage:()=>w,localCompletionSource:()=>v,snippets:()=>o});var d=c(83386),e=c(43398);let f=new d.Lu((a,b)=>{for(let c=0,d=a.next;(b.context&&(d<0||10==d||13==d||47==d&&47==a.peek(c+1))||41==d||125==d)&&a.acceptToken(177),32==d||9==d;)d=a.peek(++c)},{contextual:!0}),g=new Set([95,184,20,12,17,144,145,142,148,13,53,25]),h=new d.Aj({start:!1,shift:(a,b)=>179==b?a:g.has(b)}),i=(0,e.pn)({"func interface struct chan map const type var":e._A.definitionKeyword,"import package":e._A.moduleKeyword,"switch for go select return break continue goto fallthrough case if else defer":e._A.controlKeyword,range:e._A.keyword,Bool:e._A.bool,String:e._A.string,Rune:e._A.character,Number:e._A.number,Nil:e._A.null,VariableName:e._A.variableName,DefName:e._A.definition(e._A.variableName),TypeName:e._A.typeName,LabelName:e._A.labelName,FieldName:e._A.propertyName,"FunctionDecl/DefName":e._A.function(e._A.definition(e._A.variableName)),"TypeSpec/DefName":e._A.definition(e._A.typeName),"CallExpr/VariableName":e._A.function(e._A.variableName),LineComment:e._A.lineComment,BlockComment:e._A.blockComment,LogicOp:e._A.logicOperator,ArithOp:e._A.arithmeticOperator,BitOp:e._A.bitwiseOperator,"DerefOp .":e._A.derefOperator,"UpdateOp IncDecOp":e._A.updateOperator,CompareOp:e._A.compareOperator,"= :=":e._A.definitionOperator,"<-":e._A.operator,'~ "*"':e._A.modifier,"; ,":e._A.separator,"... :":e._A.punctuation,"( )":e._A.paren,"[ ]":e._A.squareBracket,"{ }":e._A.brace}),j={__proto__:null,package:10,import:18,true:380,false:380,nil:383,struct:48,func:68,interface:78,chan:94,map:118,make:157,new:159,const:204,type:212,var:224,if:236,else:238,switch:242,case:248,default:250,for:260,range:266,go:270,select:274,return:284,break:288,continue:290,goto:292,fallthrough:296,defer:300},k=d.U1.deserialize({version:14,states:"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuO<uQQO'#ExO<|QQO'#FRO4cQQO'#FWO=WQQO'#FYO=]QRO'#F_O=jQRO'#FaO=uQQO'#FaOOQP'#Fe'#FeO4cQQO'#FgP=zOWO'#C^POOO)CAz)CAzOOQO'#G]'#G]OOQO,5<W,5<WOOQO-E9j-E9jO?TQTO'#CqOOQO'#C|'#C|OOQP,59g,59gO?tQQO'#D_O@fQSO'#FuO@kQQO'#C}O@pQQO'#D[O9XQQO'#FqO@uQRO,5=TOAyQQO,59yOCVQSO,5:[O@kQQO'#C}OCaQQO'#DjOOQP,59^,59^OOQO,5<a,5<aO?tQQO'#DeOOQO,5:e,5:eOOQO-E9s-E9sOOQP,59z,59zOOQP,59|,59|OCqQSO,5:QO(kQQO,5:ROC{QQO,5:RO&]QRO'#FxOOQO'#Fx'#FxOFjQQO'#GpOFwQQO,5:^OF|QQO,5:_OHdQQO,5:`OHlQQO,5:aOHvQRO'#FyOIaQRO,5=]OIuQQO'#DzOOQP,5:d,5:dOOQO'#EV'#EVOOQO'#EW'#EWOOQO'#EX'#EXOOQO'#EZ'#EZOOQO'#E['#E[O4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:wOOQP,5:x,5:xO?tQQO'#EOOOQP,5:g,5:gOOQP,5:k,5:kO9yQQO,59vO4cQQO,5:zO4cQQO,5:}OI|QRO,5;_OOQO,5<Y,5<YOOQO-E9l-E9lO]QQOOOOQP'#Cb'#CbOOQP,58z,58zOOQP'#Cf'#CfOJWQQO'#CfOJ]QSO'#CkOOQP,59O,59OOJkQQO'#DPOLZQQO,5<UOLbQQO,59iOLsQQO,5<TOMpQQO'#DUOOQP,59n,59nOOQP,59v,59vONfQQO,59vONmQQO'#CwOOQP,59_,59_O?tQQO,5:SONxQRO'#EgO! VQQO'#EhOOQP,5;P,5;PO! |QQO'#EkO!!WQQO'#EnOOQP,5;T,5;TO!!`QRO'#EqO!!mQQO'#ErOOQP,5;Z,5;ZO!!uQTO'#CbO!!|QTO,5;aO&]QRO,5;aO!#WQQO,5;jO!$yQTO,5;dO!%WQQO'#EzOOQP,5;d,5;dO&]QRO,5;dO!%cQSO,5;mO!%mQQO'#E`O!%uQQO'#EcO!%zQQO'#FTO!&UQQO'#FTOOQP,5;m,5;mO!&ZQQO,5;mO!&`QTO,5;rO!&mQQO'#F[OOQP,5;t,5;tO!&xQTO'#GqOOQP,5;y,5;yOOQP'#Et'#EtOOQP,5;{,5;{O!']QTO,5<RPOOO'#Fk'#FkP!'jOWO,58xPOOO,58x,58xO!'uQQO,59yO!'zQQO'#GgOOQP,59i,59iO(kQQO,59vOOQP,5<],5<]OOQP-E9o-E9oOOQP1G/e1G/eOOQP1G/v1G/vO!([QSO'#DlO!(lQQO'#DlO!(wQQO'#DkOOQO'#Go'#GoO!(|QQO'#GoO!)UQQO,5:UO!)ZQQO'#GnO!)fQQO,5:PPOQO'#Cq'#CqO(kQQO1G/lOOQP1G/m1G/mO(kQQO1G/mOOQO,5<d,5<dOOQO-E9v-E9vOOQP1G/x1G/xO!)kQSO1G/yOOQP'#Cy'#CyOOQP1G/z1G/zO?tQQO1G/}O!)xQSO1G/{O!*YQQO1G/|O!*gQTO,5<eOOQP-E9w-E9wOOQP,5:f,5:fO!+QQQO,5:fOOQP1G0[1G0[O!,vQTO1G0[O!.wQTO1G0[O!/OQTO1G0[O!0pQTO1G0[O!1QQTO1G0cO!1bQQO,5:jOOQP1G/b1G/bOOQP1G0f1G0fOOQP1G0i1G0iOOQP1G0y1G0yOOQP,59Q,59QO&]QRO'#FmO!1mQSO,59VOOQP,59V,59VOOQO'#DQ'#DQO?tQQO'#DQO!1{QQO'#DQOOQO'#Gh'#GhO!2SQQO'#GhO!2[QQO,59kO!2aQSO'#CqOJkQQO'#DPOOQP,5=R,5=RO@kQQO1G1pOOQP1G/w1G/wO.hQQO'#ElO!2rQRO1G1oO@kQQO1G1oO@kQQO'#DVO?tQQO'#DWOOQP'#Gk'#GkO!2}QRO'#GjOOQP'#Gj'#GjO&]QRO'#FsO!3`QQO,59pOOQP,59p,59pO!3gQRO'#CxO!3uQQO'#CxO!3|QRO'#CxO.hQQO'#CxO&]QRO'#FoO!4XQQO,59cOOQP,59c,59cO!4dQQO1G/nO4cQQO,5;RO!4iQQO,5;RO&]QRO'#FzO!4nQQO,5;SOOQP,5;S,5;SO!6aQQO'#DgO?tQQO,5;VOOQP,5;V,5;VO&]QRO'#F}O!6hQQO,5;YOOQP,5;Y,5;YO!6pQRO,5;]O4cQQO,5;]O&]QRO'#GOO!6{QQO,5;^OOQP,5;^,5;^O!7TQRO1G0{O!7`QQO1G0{O4cQQO1G1UO!8vQQO1G1UOOQP1G1O1G1OO!9OQQO'#GPO!9YQQO,5;fOOQP,5;f,5;fO4cQQO'#E{O!9eQQO'#E{O<uQQO1G1OOOQP1G1X1G1XO!9jQQO,5:zO!9jQQO,5:}O!9tQSO,5;oO!:OQQO,5;oO!:VQQO,5;oO!9OQQO'#GRO!:aQQO,5;vOOQP,5;v,5;vO!<PQQO'#F]O!<WQQO'#F]POOO-E9i-E9iPOOO1G.d1G.dO!<]QQO,5:VO!<gQQO,5=ZO!<tQQO,5=ZOOQP1G/p1G/pO!<|QQO,5=YO!=WQQO,5=YOOQP1G/k1G/kOOQP7+%W7+%WOOQP7+%X7+%XOOQP7+%e7+%eO!=cQQO7+%eO!=hQQO7+%iOOQP7+%g7+%gO!=mQQO7+%gO!=rQQO7+%hO!>PQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5<X,5<XOOQO-E9k-E9kOOQP1G.q1G.qOOQO,59l,59lO?tQQO,59lO!?cQQO,5=SO!?jQQO,5=SOOQP1G/V1G/VO!?rQQO,59yO!?}QRO7+'[O!@YQQO'#EmO!@dQQO'#HOO!@lQQO,5;WOOQP7+'Z7+'ZO!@qQRO7+'ZOOQP,59q,59qOOQP,59r,59rOOQO'#DZ'#DZO!@]QQO'#FtO!@|QRO,59tOOQO,5<_,5<_OOQO-E9q-E9qOOQP1G/[1G/[OOQP,59d,59dOHgQQO'#FpO!3uQQO,59dO!A_QRO,59dO!AjQRO,59dOOQO,5<Z,5<ZOOQO-E9m-E9mOOQP1G.}1G.}O(kQQO7+%YOOQP1G0m1G0mO4cQQO1G0mOOQO,5<f,5<fOOQO-E9x-E9xOOQP1G0n1G0nO!AxQQO'#GdOOQP1G0q1G0qOOQO,5<i,5<iOOQO-E9{-E9{OOQP1G0t1G0tO4cQQO1G0wOOQP1G0w1G0wOOQO,5<j,5<jOOQO-E9|-E9|OOQP1G0x1G0xO!B]QQO7+&gO!BeQSO7+&gO!CsQSO7+&pO!CzQQO7+&pOOQO,5<k,5<kOOQO-E9}-E9}OOQP1G1Q1G1QO!DRQQO,5;gOOQO,5;g,5;gO!DWQSO7+&jOOQP7+&j7+&jO!DbQQO7+&pO!7`QQO1G1[O!DgQQO1G1ZOOQO1G1Z1G1ZO!DnQSO1G1ZOOQO,5<m,5<mOOQO-E:P-E:POOQP1G1b1G1bO!DxQSO'#GqO!E]QQO'#F^O!EbQQO'#F^O!EgQQO,5;wOOQO,5;w,5;wO!ElQSO1G/qOOQO1G/q1G/qO!EyQSO'#DoO!FZQQO'#DoO!FfQQO'#DnOOQO,5<c,5<cO!FkQQO1G2uOOQO-E9u-E9uOOQO,5<b,5<bO!FxQQO1G2tOOQO-E9t-E9tOOQP<<IP<<IPOOQP<<IT<<ITOOQP<<IR<<IRO!GSQSO<<ISOOQP<<IS<<ISO4cQQO<<ISO!GaQSO<<ISOOQP7+%l7+%lO!GkQQO7+%lOOQP7+%p7+%pO!GpQQO7+%pO!GuQQO7+%pOOQO1G/W1G/WOOQO,5<^,5<^O!G}QQO1G2nOOQO-E9p-E9pOOQP<<Jv<<JvO.hQQO'#F{O!@YQQO,5;XOOQO,5;X,5;XO!HUQQO,5=jO!H^QQO,5=jOOQO1G0r1G0rOOQP<<Ju<<JuOOQP,5<`,5<`OOQP-E9r-E9rOOQO,5<[,5<[OOQO-E9n-E9nO!HfQRO1G/OOOQP1G/O1G/OOOQP<<Ht<<HtOOQP7+&X7+&XO!HqQQO'#DeOOQP7+&c7+&cOOQP<<JR<<JRO!HxQRO<<JRO!ITQQO<<J[O!I]QQO<<J[OOQO1G1R1G1ROOQP<<JU<<JUO4cQQO<<J[O!IbQSO7+&vOOQO7+&u7+&uO!IlQQO7+&uO4cQQO,5;xOOQO1G1c1G1cO!<]QQO,5:YP!<]QQO'#FwP?tQQO'#FvOOQPAN>nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<<IW<<IWOOQP<<I[<<I[O!I}QQO<<I[P!>nQQO'#FrOOQO,5<g,5<gOOQO-E9y-E9yOOQO1G0s1G0sOOQO,5<h,5<hO!JVQQO1G3UOOQO-E9z-E9zOOQP7+$j7+$jO!J_QQO'#GnO!B]QQOAN?mO!JjQQOAN?vO!JqQQOAN?vO!KzQSOAN?vOOQO<<Ja<<JaO!LRQSO1G1dO!L]QSO1G/tOOQO1G/t1G/tO!LjQSOG24YOOQPG24YG24YOOQPAN>vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5<l,5<lOOQO-E:O-E:OOOQP1G1V1G1VO!MzQQO,5;lOOQO,5;l,5;lO!NPQQO!$'NhOOQO1G1W1G1WO!JqQQO!)9DSOOQP!.K9n!.K9nO# {QTO'#CqO#!`QTO'#CqO##}QSO'#CqO#$XQSO'#CqO#&]QSO'#CqO#&gQQO'#FyO#&tQQO'#FyO#'OQQO,5=]O#'ZQQO,5=]O#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO!7`QQO,5:wO!7`QQO,5:zO!7`QQO,5:}O#(yQSO'#CbO#)}QSO'#CbO#*bQSO'#GqO#*rQSO'#GqO#+PQRO'#GgO#+yQSO,5<eO#,ZQSO,5<eO#,hQSO1G0[O#-rQTO1G0[O#-yQSO1G0[O#.TQSO1G0[O#0{QTO1G0[O#1SQSO1G0[O#2eQSO1G0[O#2lQTO1G0[O#2sQSO1G0[O#4XQSO1G0[O#4`QTO1G0[O#4jQSO1G0[O#4wQSO1G0cO#5dQTO'#CqO#5kQTO'#CqO#6bQSO'#GqO#'cQQO'#EPO!7`QQO'#EPOF|QQO'#EPO#8]QQO'#EPO#8gQQO'#EPO#8qQQO'#EPO#8{QQO'#E`O#9TQQO'#EcO@kQQO'#C}O?tQQO,5:RO#9YQQO,59vO#:iQQO,59vO?tQQO,59vO?tQQO1G/lO?tQQO1G/mO?tQQO7+%YO?tQQO'#C{O#:pQQO'#DgO#9YQQO'#D[O#:wQQO'#D[O#:|QSO,5:QO#;WQQO,5:RO#;]QQO1G/nO?tQQO,5:SO#;bQQO'#Dh",stateData:"#;m~O$yOSPOS$zPQ~OVvOX{O[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO$v%QP~OTzO~P]O$z!`O~OVeXZeX^eX^!TXj!TXnUXneX!QeX!WeX!W!TX!|eX#ReX#TeX#UeX#WUX$weX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O!a#hX~P$XOV!bO$w!bO~O[!wX^pX^!wXa!wXd!wXhpXh!wXrpXr!wXwpXw!wX!PpX!P!wX!QpX!Q!wX!WpX!W!wX!]pX!]!wX!p!wX!q!wX%OpX%O!wX%U!wX%V!wX%YpX%Y!wX%f!wX%g!wX%h!wX%i!wX%j!wX~O^!hOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%O!eO%Y!fO~On!lO#W%]XV%]X^%]Xh%]Xr%]Xw%]X!P%]X!Q%]X!W%]X!]%]X#T%]X$w%]X%O%]X%Y%]Xu%]X~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO~P*aOj!qO^%XX]%XXn%XX!V%XX~O!W!tOV%TXZ%TX^%TXn%TX!Q%TX!W%TX!|%TX#R%TX#T%TX#U%TX$w%TX%Y%TX%`%TX%f%TX%g%TX%i%TX%j%TX%k%TX%l%TX%m%TX%n%TX%o%TX%p%TX%q%TX]%TX!V%TXj%TXi%TX!a%TXu%TX~OZ!sO~P,^O%O!eO~O!W!tO^%WXj%WX]%WXn%WX!V%WXu%WXV%WX$w%WX%`%WX#T%WX[%WX!a%WX~Ou!{O!QnO!V!zO~P*aOV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlOi%dP~O^#QO~OZ#RO^#VOn#TO!Q#cO!W#SO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX$w`X~O!|#`O~P2gO^#VO~O^#eO~O!QnO~P*aO[oO^YOaoOdoOh!POr!pOw}O!QnO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!P#hO~P4jO#T#iO#U#iO~O#W#jO~O!a#kO~OVvO[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O$v%QX~P6hO%O#oO~OZ#rO[#qO^#sO%O#oO~O^#uO%O#oO~Oj#yO~O^!hOh!POr!jOw}O!P!OO!Q#|O!WaO!]!QO%O!eO%Y!fO~Oj#}O~O!W$PO~O^$RO%O#oO~O^$UO%O#oO~O^$XO%O#oO~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O$ZO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oj$`O~P;_OV$fOjcO~P;_Oj$kO~O!QnOV$RX$w$RX~P*aO%O$oOV$TX$w$TX~O%O$oO~O${$rO$|$rO$}$tO~OZeX^!TX!W!TXj!TXn!TXh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~O]!TX!V!TXu!TX#T!TXV!TX$w!TX%`!TX[!TX!a!TX~P>VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~",goto:"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l",nodeNames:"⚠ LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl",maxTerm:218,context:h,nodeProps:[["isolate",-3,2,12,20,""],["group",-18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,"Expr",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,"Statement",-12,23,31,33,38,46,49,50,51,52,56,57,58,"Type"],["openedBy",13,"(",25,"{",53,"["],["closedBy",14,")",26,"}",54,"]"]],propSources:[i],skippedNodes:[0,1,2,153],repeatNodeCount:23,tokenData:":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~",tokenizers:[f,1,2,new d.uC("j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~",25,181)],topRules:{SourceFile:[0,3]},dynamicPrecedences:{19:1,51:-1,55:2,69:-1,108:-1},specialized:[{term:184,get:a=>j[a]||-1}],tokenPrec:5451});var l=c(17680),m=c(6518),n=c(22751);let o=[(0,m.Gw)("func ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"declaration",type:"keyword"}),(0,m.Gw)("func (${receiver}) ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"method declaration",type:"keyword"}),(0,m.Gw)("var ${name} = ${value}",{label:"var",detail:"declaration",type:"keyword"}),(0,m.Gw)("type ${name} ${type}",{label:"type",detail:"declaration",type:"keyword"}),(0,m.Gw)("const ${name} = ${value}",{label:"const",detail:"declaration",type:"keyword"}),(0,m.Gw)("type ${name} = ${type}",{label:"type",detail:"alias declaration",type:"keyword"}),(0,m.Gw)("for ${init}; ${test}; ${update} {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),(0,m.Gw)("for ${i} := range ${value} {\n ${}\n}",{label:"for",detail:"range",type:"keyword"}),(0,m.Gw)("select {\n ${}\n}",{label:"select",detail:"statement",type:"keyword"}),(0,m.Gw)("case ${}:\n${}",{label:"case",type:"keyword"}),(0,m.Gw)("switch ${} {\n ${}\n}",{label:"switch",detail:"statement",type:"keyword"}),(0,m.Gw)("switch ${}.(${type}) {\n ${}\n}",{label:"switch",detail:"type statement",type:"keyword"}),(0,m.Gw)("if ${} {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),(0,m.Gw)("if ${} {\n ${}\n} else {\n ${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),(0,m.Gw)('import ${name} "${module}"\n${}',{label:"import",detail:"declaration",type:"keyword"})],p=new n.RY,q=new Set(["SourceFile","Block","FunctionDecl","MethodDecl","FunctionLiteral","ForStatement","SwitchStatement","TypeSwitchStatement","IfStatement"]);function r(a,b){return(c,d)=>{a:for(let e=c.node.firstChild,f=0,g=null;;){for(;!e;){if(!f)break a;f--,e=g.nextSibling,g=g.parent}b&&e.name==b||"SpecList"==e.name?(f++,g=e,e=e.firstChild):("DefName"==e.name&&d(e,a),e=e.nextSibling)}return!0}}let s={FunctionDecl:r("function"),VarDecl:r("var","VarSpec"),ConstDecl:r("constant","ConstSpec"),TypeDecl:r("type","TypeSpec"),ImportDecl:r("constant","ImportSpec"),Parameter:r("var"),__proto__:null},t=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,u=["String","LineComment","BlockComment","DefName","LabelName","FieldName",".","?."],v=a=>{let b=(0,l.mv)(a.state).resolveInner(a.pos,-1);if(u.indexOf(b.name)>-1)return null;let c="VariableName"==b.name||b.to-b.from<20&&t.test(a.state.sliceDoc(b.from,b.to));if(!c&&!a.explicit)return null;let d=[];for(let c=b;c;c=c.parent)q.has(c.name)&&(d=d.concat(function a(b,c){let d=p.get(c);if(d)return d;let e=[],f=!0;function g(a,c){let d=b.sliceString(a.from,a.to);e.push({label:d,type:c})}return c.cursor(n.Qj.IncludeAnonymous).iterate(c=>{if(f)f=!1;else if(c.name){let a=s[c.name];if(a&&a(c,g)||q.has(c.name))return!1}else if(c.to-c.from>8192){for(let d of a(b,c.node))e.push(d);return!1}}),p.set(c,e),e}(a.state.doc,c)));return{options:d,from:c?b.from:a.pos,validFor:t}},w=l.bj.define({name:"go",parser:k.configure({props:[l.Oh.add({IfStatement:(0,l.mz)({except:/^\s*({|else\b)/}),LabeledStatement:l._Y,"SwitchBlock SelectBlock":a=>{let b=a.textAfter,c=/^\s*\}/.test(b),d=/^\s*(case|default)\b/.test(b);return a.baseIndent+(c||d?0:a.unit)},Block:(0,l.Ay)({closing:"}"}),BlockComment:()=>null,Statement:(0,l.mz)({except:/^{/})}),l.b_.add({"Block SwitchBlock SelectBlock LiteralValue InterfaceType StructType SpecList":l.yd,BlockComment:a=>({from:a.from+2,to:a.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case\b|default\b|\})$/}}),x=("interface struct chan map package go return break continue goto fallthrough else defer range true false nil".split(" ")).map(a=>({label:a,type:"keyword"}));function y(){let a=o.concat(x);return new l.Yy(w,[w.data.of({autocomplete:(0,m.Ar)(u,(0,m.et)(a))}),w.data.of({autocomplete:v})])}}};